《自动化技术与应用》2009年第28卷第4期
54 | T echniques of Automation & Applications
通信与信息处理
Communication and Information Processing
包装密封性测试基于R S 232协议的单片机多机通信网络研究 张志利
(天津光电通信技术有限公司 技术中心,天津 300211)
风扇网罩
摘 要:本文详细分析了传统单片机多机通信网络所存在的缺点,提出一种全新的基于FPGA的单片机多机串行通信网络。该网络可
以实现主机同时访问所有从机,从机之间可以互相访问等功能。 关键词:单片机;多机通信;FPGA;互相访问
中图分类号:TM571.61 文献标识码:B 文章编号:1003-7241(2009)04-0054-02
Multi-MCU Serial Communication Based on the RS-232 Protocol
ZHANG Zhi-li
( R&D Center of TOEC Technology CO.,LTD, TianJin 300211 China )
Abstract: In this paper, the problems of the multi-MCU serial communication network is analysed, and a new serial communication
network of multi-MCU is proposed based on the FPGA. The host computer can now access all the slave computers at the same time and the slaves can also intercommunicate with each other.
电石生产工艺Key words: microcontroller; serial communication of multi-MCU; FPGA; intercommunication
收稿日期:2008-11-17
1 引言
在测控领域,单片机以其集成度高、处理能力强、系统结构简单、价格低等优点发挥着越来越重要的作用[1]。但是随着测控技术的反展,尤其是集散型控制系统和监督计算机控制系统的提出,使得一片单片机不能满足整个系统的要求,需要多片单片机相互配合完成整个系统的测控。要协调好多个单片机之间的通信,需要对多个单片机进行组网,网络的类型直接决定整个系统的工作效率。
单片机多机通信一般是基于串行通信,目前,实现串行通信的主要方式有:基于RS232协议的串行通信、基于I2C协议的串行通信、基于SPI协议的串行通信等,其中以基于RS232协议的串行通信应用最为广泛。本文所阐述的多机通信网络主要基于RS232协议。
2 RS-232协议
RS-232协议是美国电子工业协会EIA(Electronic IndustryAssociation)制定的一种异步串行通信物理接口标准,RS232协议的最新版本为RS-232-C。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道。在多数情 况下主要使用主通道,对于一般双工通信,仅需三条信号线就可实现:发送线、接收线、地线。适合于数据传输速率在0~20kbps、传输距离小于20m的异步串行通信[2]。 在异步串行通信中,通信协议重要包括:起始位、数据位、校验位、停止位、波特率。通信线上没有数据时处于逻辑1状态,当准备发送一个字符数据时,首先发送一个逻辑0,这个逻辑0就是起始位;在起始位后紧跟的是数据位,数据位的个数可以是5、6、7或8。校验一般采用奇偶检验,校验位可以不发送。校验位之后为停止位,停止位
表示一个字符数据的结束,停止位可以是1位、1.5位或2位高电平。豆渣搅拌机
3 几种单片机通信网络
3.1 总线拓扑结构
在总线拓扑多机通信结构中,只有一个单片机为主机,其余的单片机为从机。主机的RXD与所有从机的TXD端相连,而主机的TXD与所有从机的RXD端连接[3]。系统为从机定义不同的地址用于主机区分从机,多机通信过程安排如下:
⑴ 使所有的从机SM2=1,处于只接收地址帧的状态。⑵ 主机发1帧地址信息,其中包含8位地址,第9位为地址、数据标志位。第9位为1表示发送的是地址。
⑶ 从机接收到地址帧后,将与本从机的地址进行比较。如果与本机地址相等,使SM2=0,以便接收主机随后发来的所有信息;地址不符合的从机,保持SM2=1,退出本次通信。
⑷ 主机发送的数据或命令,以第9位为0表示,使得相应的从机接收数据。
总线拓扑型多机通信的结构如图1所示。
基于该结构的单片机网络又称为主从式单片机网络。在通信网络中,只有一个主单片机,其余为从单片机,同一时刻,主机只能访问一个从机,从机之间不能通信。
图1 总线拓扑型多机通信的结构示意图
《自动化技术与应用》2009年第28卷第4期
短信通道Techniques of Automation & Applications | 55
通信与信息处理
Communication and Information Processing
3.2 改进型拓扑结构
在总线拓扑型网络的基础上,有文献对单片机和总线的连接
方式进行改进,形成新的单片机多机串行通信网络[4,5]。
在新的多机通信网络中,没有真正的主机和从机之分,所有单
片机的权利都是平等的。总线也是两条,一根作为主机发送信息,
从机接收;另一根是从机发送信息,主机接收。每一个结点的机器
既是从机,又是潜在的主机。非主动通信状态时,为从机状态;需
要通信时,改变连线的接法,并使自己变为主机状态。通信完毕
后,自动降为从机状态,并且改回线路的连接方式。
单片机和数据线的连接方式如图2。单片机的TXD和RXD
通过三态门与数据总线相连,三态门的控制信号EN由单片机本身
发出,以控制与总线的选通方式。
说明:⑴任一个结点机器,不主动通信时,处于从机状态。即
使能信号为0,此时单片机的TXD连接总线的RXD,单片机的
RXD连接总线的TXD。⑵单片机要求通信时,使EN=1,跃迁为
主机状态,行使主机通信形式和权利。此时单片机的TXD、RXD
分别与总线的TXD、RXD连接。
单片机的状态是由本身发出的状态控制信号EN决定,那么就
需要设置一个通信协议来管理总线上所有单片机的通信请求:⑴系
统上电时,所有单片机都出于从状态,即EN=0、SM2=1。⑵需要主
动通信的单片机在检测总线空闲时,置EN=1、SM2=0,成为主机,进
行对其它单片机的访问。其通信过程和本文2.1中描述一致。⑶完
成通信后,主机自动置EN=0、SM2=1,让出总线控制权,成为从机。
该网络结构成功解决了从单片机之间不能相互通信的问题,使得
网络更加灵活。但是,由于网络中单片机权利平等,都有可能申请成为
主机,存在总线竞争的问题。另外,通信方式仍为点对点,通信效率低。
3.3 基于FPGA的串行通信网络
随着电子技术和EDA技术的发展,FPGA(Field Program-
mable Gates Army,现场可编程门阵列)技术以其独有的优势,在
电子设计领域得到越来越广泛的应用。FPGA具有集成度高、体
积小等优点。而且还具有用户可编程能力,其强大的逻辑控制能
力非常适合应用于单片机的多机通信。
作者设计了一个基于FPGA的单片机多机通信网络,网络结
构如图3。
主单片机通过并口与FPGA相连,主机将FPGA视为外部RAM
进行读取操作。FPGA内部包含四个模块:SRAM控制模块、N个接收
数据缓冲区、N个发送数据缓冲区、N个异步串行通信模块(UART),
FPGA通过UART与从机相连。FPGA内部功能模块如图4:
接收数据缓冲模块划分成N个RAM区,每个RAM区分别
连接一个UART,当发送缓冲模块接收到主单片机下发的控制数
据后,启动UART将数据发送至从单片机;接受缓冲区同样分为N
个RAM区,发送控制控制数据后,UART周期性向从单片机发送
状态查询命令,从单片机将最新状态发送至UART模块,UART
模块将数据存入接受缓冲模块相应的RAM区。各个UART和
RAM独立工作,所以主单片机可以同时访问所有的单片机。
在该网路中,主单片机主要负责与上位机的通信、控制从单
片机的工作及协调从单片机相互访问。为了实现从单片机之间的
互相访问,在从单片机应答主机访问命令的应答数据中,设计了一
个请求主机协助访问其它从机的命令,格式如下:
D7:命令标志位,1表示请求主机协助,0表示无请求。
D6~D4:主机协助访问操作类型。
D3~D0:要访问从机的标志号,表示访问哪一个从机。
4 结束语
综上所述,作者所设计的基于FPGA的单片机多机串行通信
胶黏剂搅拌机系统,成功解决了基于总线拓扑结构和改进型总线拓扑结构中所
存在的问题。基于FPGA的单片机多机串行通信系统中主机可以
同时访问所有的从机,从机之间可以通过主机的协调进行通信,而
且不存在总线竞争问题,多组从机可以同时进行通信。该通信网
络通信效率高、性能可靠,非常适合应用于集散型控制系统和监
督计算机控制系统。
参考文献:
[1] 汪吉鹏.工业控制技术的应用现状和发展方向[J].潍坊学
院学报,2002(2):47-52.
[2] 李朝青.单片机原理及接口技术[M].北京:北京航空航天
大学出版社,1999.
[3] 董加强.提高单片机多机串行通信的一种新方法[J].电工
技术,2008(6):53-54.
[4] 陈寿元.单片机多机通信网络改进及数据通信容错技术
[J].山东师范大学学报,2006(2):33-35.
[5] 陈寿元.单片机多机通信的改进方案[J].单片机与嵌入式
系统应用,2004(5):63-64.
图2 单片机和总线的连接方式
图3 基于FPGA的单片机多机通信网络
图4 FPGA内部功能模块示意图
作者简介:张志利(1978-),男,硕士研究生,工程师,主要从
事光通信和测控技术的研发工作。