多单片机共用RS 232通信的防竞争电路与程序设计

时间:2011-05-17来源:网络

摘要:当多个单片机系统的安装位置较近时,上位机与下位机之间的1对多的多机通信,可以直接采用RS 232进行串口通信。虽然RS 232被定义为点对点的通信接口,但是可以设计专门的控制电路和通信时序来有效地防止竞争,可靠实现多机通信。
关键词:单片机;多机通信;RS 232;控制电路;通信程序

在单片机开发应用中,我们常常采用主从式控制结构,一台PC机作为上位机控制多个单片机系统进行工作,功能强大、资源丰富的PC机可以用来方便地进行人机界面的设计和数据库管理与输出,而单片机进行灵活的控制和测量。在某些应用场合,这些单片机系统紧靠在一起安装,因为单片机相互间的距离较近,通信接线很短,这时,PC机与单片机1对多的多机通信,就可以不采用需要特别转接设备的RS 485通信,或者复杂的CAN通信,而设计防止竞争控制电路和采用应答式通信程序,让多单片机直接共用一个RS 232接口与PC机实现可靠的异步串行通信。

1 多单片机通信结构
多单片机共用RS 232接口与PC机通信的结构如图1所示,由串行通信接口、防竞争电路以及下位机三部分组成。

a.JPG


多个单片机系统共享RS 232总线的关键是如何避免竞争。对于接收端,经RS 232电平转换芯片进行电平转换后,可以直接并接到全部单片机串口的Rxd端,PC机向单片机发送信息相当于向所有单片机进行广播,不存在竞争。但是不能直接将单片机的发送端并联到串口转换芯片MAX232的TnIN端,否则系统将极不可靠,无论何种原因,倘若有2个及以上的单片机系统同时向PC机发送信息,则将发生总线竞争,RS 232总线信号将发生混乱。因此图中的防竞争控制电路,是专为防止总线竞争而设计,以保证在任何时刻只有一个单片机系统占用RS 232的发送端口。

2 防止竞争的控制电路
防止竞争控制电路如图2所示,TxdA,TxdB,TxdC分别是单片机A、单片机B、单片机C的Txd端,接到带3态驱动器74HC125的3个输入端上,74HC125的3个输出端并接到RS 232电平转换芯片MAX232的T2IN端。A,B,C分别是3个单片机的串口输出控制端(低电平有效,假设均接P10端口),由74HC00四二与非门和74HC32四二或门电路构成。

d.JPG

1 2 3

关键词: 电路 程序设计 竞争 通信 共用 RS 单片机

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版