新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于单片机的多机并行通讯系统

基于单片机的多机并行通讯系统

作者:时间:2010-11-12来源:网络收藏

在一些复杂的系统中,系统与分系统、分系统与设备等之间存在数据的传递问题,往往采用通信的方式来解决。由于分系统、没备等通信波特率的不同,特别是一些特殊波特率设备的存在,使得系统中设备间的相互通信不易实现。例如,在一个系统中,上位机接收某一设备的数据,如图1所示,设备l和设备2采用的是172.8 kbps的波特率,而上位机用VB编程,其通信波特率为115.2 kbps、128 kbps或256 kbps,等,这样设备之间就不能相互通信,给设计带来困难。为了解决上述问题,采用双电路,设计了波特率变换器,将接收波特率为172.8 kbps的数据,转换成波特率为115.2 kbps的输出,从而使不同波特率设备之间的通信成为可能。



1 波特率变换电路

波特率变换电路如图2所示。电路采用2片89C5l作为电路的核心,利用的UART串行口与相关设备通信。单片机u1_L.(接波特率低的设备)与波特率为115.2 kbps的设备通信,单片机U2_H(接波特率高的设备)与波特率为172.8 kbps的设备通信。Ul_I,与U2_H的通信采用口方式,以加快Ul_I。与U2_H之间数据传递的速率。U1_L与U2_H的通信可以采用中断查询的方式,也可以采用握手查询的方式进行数据传递。



电路采用2片75176接口驱动芯片组成一个RS-422通信接口。U3和U4组成的通信接口与115.2 kbps的设备相连,U5和U6组成的通信接口与172.8 kbps的设备相连,通信接口采用中断技术。波特率变换器工作原理如下:U1_I。从串行口收到设备的数据后,从Pl口输出数据,并通知U2_H取数,U2_H取到数据后向设备发出数据,同时通知Ul_I.已取走数据,为U1一L下一次输出数据做准备。当U2_H从串行口收到设备的数据后,查询U1_I,是否允许接收数据,如允许接收数据,U2_H从P1口输出数据,并通知Ul_L取数,Ul_L取到数据后向设备发出数据,同时通知U2_H已取走数据,为U2_H下一次输出数据做准备;如Ul_L不允许接收数据,则U2_H暂缓送数。

2 波特率变换器的应用

波特率变换器在应用中,根据使用情况可以分为单向传送和双向传送。两单片机之间的数据传递可以采用中断方式.也可以采用查询方式。如采用查询方式,编程时利用P2口的几位作为查询信号,实现单向或双向传送。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭