单片机多串口通讯技术及其的应用.docVIP

  • 1
  • 0
  • 约3千字
  • 约 7页
  • 2018-10-14 发布于福建
  • 举报
单片机多串口通讯技术及其的应用

单片机多串口通讯技术及其的应用   【摘 要】在科学技术高速发展的今天,人们可以利用单片机串口扩展技术,对其进行接口扩展,从而得以使单片机多串口通讯技术被广泛的应用。本文从单片机串口扩展设计出发,对单片机多串口通讯机是及其应用进行了详细的介绍,并提出了个人看法,希望能够抛砖引玉。   【关键词】单片机;多串口;通讯技术;应用   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功能   在现代的单片机应用中,其具备的主要功能就是高速输入以及高速输出。在实际的应用过程中,通常是将这些功能串行通讯。在数据接收的过程中通常会应用到高速输出功能,应用高速输出功能首先是根据单片机的通讯波特频率确定定时时间,然后在对检测接收数据的起始位用高速输出检测。如果检测到起始位时,就对其进行中断,在中断过后

文档评论(0)

1亿VIP精品文档

相关文档