MCS-51 单片机多串口通讯应用初探

2014-08-15 00:43
电子测试 2014年7期
关键词:双机通信协议中断

王 敏

(东南大学吴健雄学院2011 级,南京,211189)

0 引言

单片机属于计算机的一个分支,是指一个集成在一块芯片上的小而完善的微型计算机系统,自产生之日起,就凭借小体积、多功能、低功耗、高性价比等优点在工业控制领域得到大量应用。随着电子技术的长足进步,单片机的应用领域日益拓宽,几乎所有电子产品中都会觅到它的“倩影”。单片机主要有专用和通用两类,通用类单片机能够符合多数系统的功能要求,如有需要,其功能还可以拓展,以满足特殊需要。MCS-51 单片机属于通用型,在现代通讯行业应用广泛。

1 实现单片机多串口通讯的途径

单机片与外界设备相连时,通常只有一个串行通讯接口,而工程任务日益复杂,常会遇到特殊需要,一个串行通讯接口难以满足要求,需要实现多串口通讯。其方法多种多样,以下几种较为常用:

1.1 多路模拟开关

该设计较为合理,技术要求低,操作简单,只需用相应软件对多路模拟开关进行控制,通过多路模拟开关和各路通讯线路分别建立连接,在多路通讯分时进行时较为适用,不会出现交叉的状况。

1.2 采用多串口单片机

随着技术的发展进步,具有多个串口的单片机已不罕见,当前常用的有68HC11P 和80C320 等。对于和MCS-51 单片机互相融合的单片机,新增串口和原来的串口在使用方法上有很大的相似性。在通讯方式上,多串口单片机不需要依赖于其他软件的支持,是当前自动控制领域很好的选择,但价格较贵。

1.3 多片机的协同工作

如果将多个单串口的单片机组合在一起,来完成多路通讯工作,与多串口单片机相比,价格要低,且技术上也容易实现。此方法多用于协议转换类工作,且每一个单片机只需处理一种协议数据,为软件编程提供了有利条件。单片机之间的数据交换必须通过一些特殊技术完成。对于双单片机系统,可利用并行口完成数据交换的工作,以MCS-51 单片机为例,两个该类单片机可借助P1 口来实现数据交换。

1.4 扩展串行通讯接口

实现多串口通讯还有一种可行的方法,就是对串行通讯接口进行扩展。从当前状况来看,MCS-51 单片机只有两类接口芯片可用,一是Intel8250,为DIP40 封装;二是Intel8251,属于DIP28 封装。该方法缺点是系统更为复杂,且扩展之后,芯片的体积有所增大。

2 MCS-51 单片机多串口通讯

2.1 通讯原理

在MCS-51 单片机工作时,每发送一帧数据为11 位,包括1位起始位、1 位停止位、8 位数据位,还有一个附加的第9 位数据(常以奇偶校验位的形式出现于非多机系统中)。为了避免通讯中出现差错,常会将“0”或“1”设置为区分数据帧(标志0)和地址帧(标志1)的标识。在主从式多级通信中,有以下几项需要注意:为保证准确地接收来自主机的信息,从机在其发送信息时一直保持在听命状态,假如接收到的信息为“1”,说明来自主机的信息属于地址信息,所有的从机此时都接收中断,反之则中断屏蔽。单个从机一旦出现中断,系统便会将本机地址和所接受地址进行比较,若两者相符,则发送本机地址作为对主机的回答,同时联通主机准备接收其他信息。若两者不符,从机则自动返回到中断服务程序。这样通过从机对主机地址帧数据和其他信息的隔离,信息更安全。

2.2 MCS-51 单片机多串口通讯现状

只有保证在MCS-51 单片机和PC 机间建立的串行接口对接的有效可行性,才能完成两者间良好的串行通信。由于RS-232使用的是EIA 电平,而MCS-51 单片机使用的是TTL 电平,为安全有效地完成数据传送工作,必须在两者间安装电平转换芯片。MAX232 芯片采用单电源供电,功耗较低,其自身带有电压电源变换器,能够和RS-232 输出的电压相转换,能满足其技术要求,所以,无论是从功能上考虑还是从经济上考虑,都比较适宜。

3 单片机之间的通信协议

3.1 单片机双机通信协议

在单片机通信中,双机通信是最为简单的一种通信模式,可直接和串口进行连接,操作起来方便简单,但两机之间的距离不能太远。使用RS-422 可延长通信距离,选择光电隔离方法,可相应地减轻干扰。在软件编程这一方面,需要建立相应的协议,用来对相同的晶振频率以及波特率做出相关规定,通过该协议,就可利用编程实现通信了。一般情况下,双机通信有查询和中断两种方法。

3.2 单片机多机通信协议

分布式集散控制系统应用范围较广,此系统的下位机需进行信号收集,常用多个单片机来代替,以方便对现场的有效控制。此时,控制整个系统运行的主机多是单片机,而从机则是多个单片机,主要负责对现场信号进行收集,并对局部加以控制。主机和从机依靠总线进行连接。由主机TXD 端口发出的信号,所有从机都可以接收;而由从机发出的信号,只有主机能对其接收。所以,每个从机都可以自由和主机通信,但从机与从机通信,一定要经过主机。在多机进行通信时,为使通信更加可靠,可引入寻址技术,由主机向各从机发送一个地址信息,用来验证身份。各从机接收后,与自身地址相比,如果一样,则可与主机通信;如果不一样,则可以不理会主机发来的数据。

用户判断收到的信息是数据帧还是地址帧,可通过改变TBB来实现,如此一来,当主机在发送寻址时,TBB 值设为一条;当发送的是数据时,需将TBB 清零。从机的识别主要依靠控制位SM2完成,该控制位位于串口控制寄存器中。从机接收到信息且是地址帧后,如果SM2 为1,则将数据进行保存,并将中断标志R 设为1,向CPU 发送中断信息;如果接受的不是地址帧,而是数据帧,则放弃信息,也不中断;但如果从机的SM2 为0,则不管是数据帧还是地址帧,都应将其数据进行保存,并将中断标志R 设置为1。

和双机通信相同,在通信软件开始编写之前,必须有相关协议,大致有以下规定:系统最多能够接入255 台从机;当主机传输0FFH 的地址时,每个从机都应恢复到SM2 值为1 的状态,做好再次接收地址的准备;主从机通信的程序大致为,主机将地址信息传输给各从机,各从机接收后将主机地址发送至主机,主机对其进行判断,若相同则发送控制命令,各从机据此将本身状态返回给主机;主机在要求各从机接收所发数据块时,需将控制命令00 发送到各从机;要求各从机发送自己所需的数据块时,需将控制命令FF 发送至各从机,其他一切命令都不可通。

另外,必须注意的是设计通信接口,要依据一定的标准进行设计。目前,有3 种通信接口应用比较广泛:一是RS-422,RS-449,RS-485,此类接口成本较高,但通信距离远,具有较快的传输速度;二是RS-232C,在距离较短的通信中比较常见;三是20mA的电流环,此类接口结构简单,具有较强的抗干扰能力。

4 结束语

MCS-51 单片机价格低,性能优越,在自动控制领域应用广泛。上述两种通信协议有利于对较为复杂的信号的有效控制和处理。对MCS-51 单片机多串口通讯技术的研究和探讨在提高自控效能的同时还能降低成本,使MCS-51 单片机得到进一步的革新和应用。

[1] 张英.MCS-51 单片机上实现多串口通讯的技术分析[J].信息系统工程,2013,38(2):125-127

[2] 孙建军.关于单片机技术应用的几点思考[J].科技致富向导,2011,18(3):243-245

[3] 徐小涛.基于MCS-51 单片机的串行通信实现[J].计算机与网络,2010,28(19):179-181

[4] 王富东.单片机多串口通讯技术及其应用.仪器仪表学报,2002,36(S1):105-107

[5] 杨顺景.MCS-51 单片机多串口通讯技术的应用探析[J].电子制作,2013,21(9):214-215

猜你喜欢
双机通信协议中断
双机、双桨轴系下水前的安装工艺
基于FPGA的中断控制器设计*
双机牵引ZDJ9道岔不同步问题的处理
基于Z-Stack通信协议栈的红外地温采集电路设计
跟踪导练(二)(5)
千里移防,卫勤保障不中断
Loader轴在双机桁架机械手上的应用
基于DMX512通信协议的多路转发器设计与研究
基于NS-3的PLC多频通信协议仿真平台设计与实现
RSSP-I、RSSP-Ⅱ及SAHARA三种安全通信协议实现技术简介