×
嵌入式开发 > 详情

单片机多机通信网络改进及数据通信容错技术

发布时间:2020-06-29 发布时间:
|

在目前单片机组成的嵌入式控制系统中,所谓的多机通信是指上位机与下位机之间的主从模式的通信,一个单片机系统为主机, n 个应用系统为从机,从机之间不能进行通信. 目前单片机通信存在通信网络模式简单,数据的通信速率低,没有容错技术等缺点.
MCS-51 单片机串行接口SBUF ,由SCON 控制为用于多机通信的工作方式2 ,3. 当SM2 = 1 ,出现两种情况:接收到第9 位数据为1 时,数据才装入SBUF ,并置RI = 1 ,向CPU 发出中断请求;如果接收到第9 位数据为0 时,则不发生中断,信息被丢失. 若SM2 = 0 ,则接收到的第9 位数据无论是0 还是1 ,都产生RI = 1 中断标志,接收到的数据装入SBUF 中. 多机通信过程安排如下:
1) 使所有的从机SM2 = 1 ,处于接收地址状态;
2) 主机发一帧地址信息,从机接收到地址帧后,将与本从机的地址进行比较. 是本机,使SM2 = 0 ,地址不符合的从机,保持SM2 = 1 ,退出本次通信;
3) 主机发送的数据或命令,以第九位为0 表示. 主从模式的多机通信的拓扑结构,主机的RXD 与所有从机的TXD 端相连,而主机的TXD 与所有的从机的RXD 端连接,如图1 所示.

图1 主从多机通信拓扑结构

1 网络结构的改进
主从模式的多机通信在拓扑结构中,主机只有一个且固定不变,从机是多个,它们之间不能通信.在新的多机通信网络中,没有真正的主机和从机之分,所有的结点都是平权的. 总线也是两条,一根作为主机发送信息,从机接收;另一根是从机发送信息,主机接收. 每一个结点的机器既是从机,又是潜在的主机. 非主动通信状态时,为从机状态. 需要通信时,改变连线的接法,并使自己变为主机状态. 主机状态:它的TXD 端与所有从机的RXD 连接,它的RXD 与所有从机的TXD 连接,以便发送从机地址,与从机建立通信联系,完成交流信息的目的. 本次通信完毕后,自动降为从机状态,并且线路的连接方式也变成从机连接. 从机状态:它的TXD 与所有从机的TXD 连载一条总线上,连接到主机的RXD 端,它的RXD 连接到主机的TXD.其拓扑结构如图2 所示.

图2 多机串行通信拓扑结构
说明:1) 任一个结点机器,不主动通信时,处于从机状态,要求通信时,跃迁为主机状态. 行使主机通信形式和权利;
2) 结点机器的TXD ,RXD 与总线的连接有两种方式:主机连接、从机连接. 由机器的状态来决定,也就是说,连接方式与机器的状态相适应,受机器状态的控制.
逻辑电路接口式连接:用三态门74HC126. 非门用74HC04 实现连接转换功能. 用P1. 0 控制三态门,当P1. 0 = 0 时,其TXD 接主机的RXD ,它的RXD 接主机的TXD ,结点成为从机状态;当P1. 0 = 1 时,其TXD 连接所有从机的RXD ,它的RXD 连接所有从机TXD ,该结点成为主机状态. 连接变换电路图如图3 所示.

图3 由三态门构成多机串行通信智能连接电路
多机通信协议: 1) 在初始化或复位时,每个结点都使P1. 0 = 0 ,SM2 = 1 ,处于只接收地址帧(串行帧的第9 位为1) ,对数据帧(串行口的第9 位为0) 则不做响应的从机状态.
2) 需要通信的结点机器,检测到总线空时,置SM2 = 0 ,P1. 0 = 1 ,跃迁为主机状态,发送一个地址帧,其中含8 位地址数据,第9 位为标志位.
3) 当从机接收到主机发来的地址帧后,将所接收的地址与本机地址相比较,若地址与本机地址相符,便使SM2 = 0 ,以便接收主机后发来的数据P命令,对于地址不相符合的从机,仍保持SM2 = 1 状态,故不能接收主机随后发来的数据信息.
4) 主机发送数据或控制指令,其数据帧第9 位置0 ,表示发送的是数据.
5) 当主机改为与另外从机联系时,可再发出地址帧来寻找其它从机. 而先前被寻址过的从机在分析出主机是对其它从机寻址时,恢复其SM2 = 1 ,等待主机的再一次寻址. 主机也可以通过发送一个复位指令,使所有从机处于等待寻址状态.
6) 通信结束后,置P1. 0 为0 ,SM2 位为1 ,退回到从机状态.

2 RS485 总线改善信道
RS485 串行接口和传统的RS232 串行接口相比有以下特点:RS485 的电气特性:逻辑“1”以两线间的电压差为+ 2~ + 6 V 表示,逻辑“0”以两线间的电压差为- 2~ - 6 V 表示. 接口信号电平比RS232C 低. 不易损坏接口电路的芯片,且该电平信号与TTL电平兼容,可方便的TTL 电路连接. RS485 的数据最高传输速率为10Mbps. RS485 接口是采用平衡驱动器、差分接收器的组合,抗共模干扰能力强,即抗噪声干扰性好.RS485 接口的最大传输距离为1219.5 m(标准值) ,实际上可达3000 m. RS485 接口在总线上允许连接多达128 个接收器,即具有多站能力,这样用户利用单一的RS485 接口方便的建立起设备网络. 因RS485 接口具有上述优点,使其得到广泛的应用.



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
寻找半导体产业未来10年的驱动力