论文部分内容阅读
【摘 要】在科学技术高速发展的今天,人们可以利用单片机串口扩展技术,对其进行接口扩展,从而得以使单片机多串口通讯技术被广泛的应用。本文从单片机串口扩展设计出发,对单片机多串口通讯机是及其应用进行了详细的介绍,并提出了个人看法,希望能够抛砖引玉。
【关键词】单片机;多串口;通讯技术;应用
0.引言
单片机多串口通讯技术是一种基于单片机单串口基础之上而进行扩展的一种通讯技术。其以独具的高性能和高性价比优势,得到了几乎所有智能化产品的青睐。在目前的智能化产品的应用中,可以将单片机分为两类,一类是应用在移动通讯等设备中的专用单片机,另一类是能够在各类设备中应用的通用单片机,其中MCS-51就是通用单片机。随着科学技术的日新月异,信息技术的水平也不断提高,传统的单串口单片机已经不能满足计算机信息技术的发展要求,从而限制了它们在计算机信息技术中的应用。本文通过对多串口单片机的深入理解,并对单片机多串口通讯技术和应用进行了深入的探讨。
1.单片机串口扩展设计
1.1单片机串口扩展的硬件总体设计
单片机串口扩展的硬件总体设计单片机串口扩展的硬件总体设计单片机串口扩展的硬件总体设计单片机与PC机或外设的串行通信一般采用RS232/RS422/RS485总线标准接口。为保证通信可靠,在选择接口时必须注意通信的速率、通信距离、抗干扰能力、电平匹配和通信方式。本文为了解决在单片机串行通信时遇到的串口问题,以MCS51系列单片机8751为例,进行串口扩展,包括通过通信接口芯片8251再扩展一个独立串口,通过16×1的多路切换器CD4067实现一点对多点分时串口通信,以及通过电平转换器MAX232,MAX488,MAX485实现单片机与不同类型接口源供电,驱动能力强。MAX232芯片内置两个TTL到RS232和两个RS232到TTL驱动电路,即具有两个发送器和两个接收器,只需外置4个011μF电容以供内部电路产生RS232电压。MAX232的发送器的发送输入为T1IN/T2IN,发送输出为T1OUT/T2OUT;接收器的接收输入为R1IN/R2IN,接收输出为R1OUT/R2OUT。RS232接口也普遍使用9芯插头座,在许多场合下仅将发送端TXD数据和接收端RXD交叉连接,加上信号地GND共使用三根线,只给出了一路TTL电平接口到RS232电平接口的串行通信电路设计。
1.2单片机与不同类型串口的通信扩展
电路的设计单片机与不同类型串口的通信扩展电路的设计单片机与不同类型串口的通信擴展电路的设计单片机与不同类型串口的通信扩展电路的设计单片机CPU8751的串口是TTL电平,要实现8751与不同类型串口进行通信,需要用电平转换器完成不同类型串口的转换,才能成功进行通信。下面对单片机8751与RS232/RS422/RS485的串行通信进行接口扩展。
2.单片机多串口通讯的实现技术
2.1采用多串口单片机
目前只有少数单片机具有两个以上的串行通讯接口,有些单片机与MCS-51系列单片机兼容,新增加的串口与原有的串口在使用上基本相同。
采用多串口单片机实现多串口通讯无需额外的软件硬件支持,因而是最为理想的方案,只是这些单片机不太容易买到,价格也比较高。
扩展串行通讯接口在基本系统上扩展串行通讯接口是另外一种可行的方案。目前对于MCS-51系列单片机只有intel8250和intel8251两种接口芯片可供选择。前者为DIP40封装,后者为DIP28封装。两者在使用上有着很大的区别,不能互换使用。
扩展接口方法的缺点是增加了系统的复杂性,扩展芯片的体积也嫌太大。
2.2采用多路模拟开关
该方法是将串口通过多路模拟开关分别与各路通讯线路连接,适用于多路通讯分时进行,没有交叉的情形。这种方法工作比较可靠,技术上也比较容易实现,只需利用软件控制多路模拟开关的切换即可。
2.3多单片机协同工作
由于单片机的价格低廉,采用多个廉价的单串口单片机实现多路通讯可能比其它的方案成本更低,技术上也比较容易实现。这种方案比较适合协议转换一类的工作,这样每个单片机只需要负责一种协议数据的处理,便于软件编程。
多单片机协同工作必然要涉及到各个单片机之间的数据交换,这需要一些特殊的通讯技术支持。
2.4利用HSI和HSO功能
在现代的单片机应用中,其具备的主要功能就是高速输入以及高速输出。在实际的应用过程中,通常是将这些功能串行通讯。在数据接收的过程中通常会应用到高速输出功能,应用高速输出功能首先是根据单片机的通讯波特频率确定定时时间,然后在对检测接收数据的起始位用高速输出检测。如果检测到起始位时,就对其进行中断,在中断过后对读入的数据进行拼装,在完成此项工作过后必须储存所有接收的数据。
在利用高速输出进行数据处理时,可以通过向寄存器写入相关的命令,然后就可以直接进行数据处理,并且根据波特率对时间间隔进行处理。发送多位数据则对应多条命令,也可以利用高速输出中断实现。
2.5软件模拟
对于不具备高速输入和高速输出功能,又不能进行扩展的单片机,软件模拟是一种增加串口的可行方案。软件模拟是利用软件模拟串行通讯的时序,因此需要占用较多的软件资源。具体实现时可以利用定时器辅助进行,下面将给出实现该方案的技术细节。
3.串行通讯的软件模拟实现
利用软件模拟发送的基本思想是,首先根据通讯速率确定发送每一位的间隔时间,然后根据数据格式和内容进行逐位操作。间隔时间的控制可以用软件延时,也可以使用定时器。例如,对于11.0592MHz的系统时钟和9600波特率,对于MCS-51系列单片机,可以计算出8位定时器的定时时间常数初值。
若使用MCS-51系列单片机定时器0的工作方式2作为定时控制,9600波特率,使用Pl.0作为发送线模拟串行通讯方式1。
软件模拟接收的基本思想是,利用外部中断检测起始位,一旦检测到起始位即进入中断服务程序,在中断服务程序中延时半个数据位时间后再次检测端口状态,以防止干扰的影响。检测无误后关闭外部中断,同时打开定时器中断。在定时器中断服务程序中接收数据位并进行拼装,接收完毕后即可关闭定时器中断。待主程序处理完接收数据后再打开外部中断以便开始下一个数据的接收。
若使用定时器0的工作方式2作为定时控制9600波特率,使用P3.3作为接收线模拟串行通讯方式1。
4.结束语
随着科学技术的日新月异,人们对各种新型技术的应用更为广泛,其中多串口通讯技术是一种比较特殊的应用。多串口通讯技术可以应用在现代的各种设备中,极大的提高了人们的生产和工作效率。目前由于计算机信息的高速发展,传统的单片机串口不能进行同步通讯,而单片机多串口则可以进行同步通讯,尽管它要比传统的单片机占用更多的软件资源,但是它能够提供更多的灵活性,从而提高单片机的整体性能。本文通过对单片机多串口通讯技术及其应用进行了详细的阐述,相信读者对其也有了进一步的了解。总而言之,随着科学记得的发展,可以预见,单片机多串口通讯技术在今后的应用中必定更加完善成熟,应用方面也更加广泛。
【关键词】单片机;多串口;通讯技术;应用
0.引言
单片机多串口通讯技术是一种基于单片机单串口基础之上而进行扩展的一种通讯技术。其以独具的高性能和高性价比优势,得到了几乎所有智能化产品的青睐。在目前的智能化产品的应用中,可以将单片机分为两类,一类是应用在移动通讯等设备中的专用单片机,另一类是能够在各类设备中应用的通用单片机,其中MCS-51就是通用单片机。随着科学技术的日新月异,信息技术的水平也不断提高,传统的单串口单片机已经不能满足计算机信息技术的发展要求,从而限制了它们在计算机信息技术中的应用。本文通过对多串口单片机的深入理解,并对单片机多串口通讯技术和应用进行了深入的探讨。
1.单片机串口扩展设计
1.1单片机串口扩展的硬件总体设计
单片机串口扩展的硬件总体设计单片机串口扩展的硬件总体设计单片机串口扩展的硬件总体设计单片机与PC机或外设的串行通信一般采用RS232/RS422/RS485总线标准接口。为保证通信可靠,在选择接口时必须注意通信的速率、通信距离、抗干扰能力、电平匹配和通信方式。本文为了解决在单片机串行通信时遇到的串口问题,以MCS51系列单片机8751为例,进行串口扩展,包括通过通信接口芯片8251再扩展一个独立串口,通过16×1的多路切换器CD4067实现一点对多点分时串口通信,以及通过电平转换器MAX232,MAX488,MAX485实现单片机与不同类型接口源供电,驱动能力强。MAX232芯片内置两个TTL到RS232和两个RS232到TTL驱动电路,即具有两个发送器和两个接收器,只需外置4个011μF电容以供内部电路产生RS232电压。MAX232的发送器的发送输入为T1IN/T2IN,发送输出为T1OUT/T2OUT;接收器的接收输入为R1IN/R2IN,接收输出为R1OUT/R2OUT。RS232接口也普遍使用9芯插头座,在许多场合下仅将发送端TXD数据和接收端RXD交叉连接,加上信号地GND共使用三根线,只给出了一路TTL电平接口到RS232电平接口的串行通信电路设计。
1.2单片机与不同类型串口的通信扩展
电路的设计单片机与不同类型串口的通信扩展电路的设计单片机与不同类型串口的通信擴展电路的设计单片机与不同类型串口的通信扩展电路的设计单片机CPU8751的串口是TTL电平,要实现8751与不同类型串口进行通信,需要用电平转换器完成不同类型串口的转换,才能成功进行通信。下面对单片机8751与RS232/RS422/RS485的串行通信进行接口扩展。
2.单片机多串口通讯的实现技术
2.1采用多串口单片机
目前只有少数单片机具有两个以上的串行通讯接口,有些单片机与MCS-51系列单片机兼容,新增加的串口与原有的串口在使用上基本相同。
采用多串口单片机实现多串口通讯无需额外的软件硬件支持,因而是最为理想的方案,只是这些单片机不太容易买到,价格也比较高。
扩展串行通讯接口在基本系统上扩展串行通讯接口是另外一种可行的方案。目前对于MCS-51系列单片机只有intel8250和intel8251两种接口芯片可供选择。前者为DIP40封装,后者为DIP28封装。两者在使用上有着很大的区别,不能互换使用。
扩展接口方法的缺点是增加了系统的复杂性,扩展芯片的体积也嫌太大。
2.2采用多路模拟开关
该方法是将串口通过多路模拟开关分别与各路通讯线路连接,适用于多路通讯分时进行,没有交叉的情形。这种方法工作比较可靠,技术上也比较容易实现,只需利用软件控制多路模拟开关的切换即可。
2.3多单片机协同工作
由于单片机的价格低廉,采用多个廉价的单串口单片机实现多路通讯可能比其它的方案成本更低,技术上也比较容易实现。这种方案比较适合协议转换一类的工作,这样每个单片机只需要负责一种协议数据的处理,便于软件编程。
多单片机协同工作必然要涉及到各个单片机之间的数据交换,这需要一些特殊的通讯技术支持。
2.4利用HSI和HSO功能
在现代的单片机应用中,其具备的主要功能就是高速输入以及高速输出。在实际的应用过程中,通常是将这些功能串行通讯。在数据接收的过程中通常会应用到高速输出功能,应用高速输出功能首先是根据单片机的通讯波特频率确定定时时间,然后在对检测接收数据的起始位用高速输出检测。如果检测到起始位时,就对其进行中断,在中断过后对读入的数据进行拼装,在完成此项工作过后必须储存所有接收的数据。
在利用高速输出进行数据处理时,可以通过向寄存器写入相关的命令,然后就可以直接进行数据处理,并且根据波特率对时间间隔进行处理。发送多位数据则对应多条命令,也可以利用高速输出中断实现。
2.5软件模拟
对于不具备高速输入和高速输出功能,又不能进行扩展的单片机,软件模拟是一种增加串口的可行方案。软件模拟是利用软件模拟串行通讯的时序,因此需要占用较多的软件资源。具体实现时可以利用定时器辅助进行,下面将给出实现该方案的技术细节。
3.串行通讯的软件模拟实现
利用软件模拟发送的基本思想是,首先根据通讯速率确定发送每一位的间隔时间,然后根据数据格式和内容进行逐位操作。间隔时间的控制可以用软件延时,也可以使用定时器。例如,对于11.0592MHz的系统时钟和9600波特率,对于MCS-51系列单片机,可以计算出8位定时器的定时时间常数初值。
若使用MCS-51系列单片机定时器0的工作方式2作为定时控制,9600波特率,使用Pl.0作为发送线模拟串行通讯方式1。
软件模拟接收的基本思想是,利用外部中断检测起始位,一旦检测到起始位即进入中断服务程序,在中断服务程序中延时半个数据位时间后再次检测端口状态,以防止干扰的影响。检测无误后关闭外部中断,同时打开定时器中断。在定时器中断服务程序中接收数据位并进行拼装,接收完毕后即可关闭定时器中断。待主程序处理完接收数据后再打开外部中断以便开始下一个数据的接收。
若使用定时器0的工作方式2作为定时控制9600波特率,使用P3.3作为接收线模拟串行通讯方式1。
4.结束语
随着科学技术的日新月异,人们对各种新型技术的应用更为广泛,其中多串口通讯技术是一种比较特殊的应用。多串口通讯技术可以应用在现代的各种设备中,极大的提高了人们的生产和工作效率。目前由于计算机信息的高速发展,传统的单片机串口不能进行同步通讯,而单片机多串口则可以进行同步通讯,尽管它要比传统的单片机占用更多的软件资源,但是它能够提供更多的灵活性,从而提高单片机的整体性能。本文通过对单片机多串口通讯技术及其应用进行了详细的阐述,相信读者对其也有了进一步的了解。总而言之,随着科学记得的发展,可以预见,单片机多串口通讯技术在今后的应用中必定更加完善成熟,应用方面也更加广泛。