首页 » 技术文章 » 基于单片机的多机并行通讯系统

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

作者:  时间:2010-11-22 10:55  来源:EDN

  2.3 应用时的注意事项

  两个单片机之间的握手方式如果采用中断,由于U2_H向外部发送数据比U1_L接收外部数据快,Ul_LU2_H传送数据时,无需考虑U2_H的状态,而U2_HU1_L传送数据时,由于U2_H接收外部数据比U1_L向外部发送数据快,U2_H必须查询Ul_L的状态,即U1_L是否处于接收U2_H数据的状态,否则,U2_H就不能向Ul_L传送数据。

  若作为RS_485通信接口使用,只需对图2中的电路稍做改动,增加对75176芯片的读写控制,同时两个单片机中与主通信设备相连的单片机作为主机,通过P2口的一位来协调两个单片机是接收数据还是发送数据。

  值得注意的是,该波特率变换器在不同的应用中会受到一定的限制,在使用时要注意下面几点:

  波特率很高时,要考虑单片机串行口能否实现;

  从波特率高的向波特率低的变换时,要考虑波特率低的单片机能否实现不丢数据的发送;

  当双向变换时,既要考虑上述情况,还有考虑程序的大小,以及执行时间对双向传送数据的影响,计算两个单片机能否实现不丢数据的变换,在时间上要留有余量;

  在查询时,要注意握手信号的关系,不要对同一数据产生重复读取,以至于数据重复;

  波特率不同时,单片机可以选用不同的晶振频率。

  2.4 实例及源程序

  在实际使用中若碰到如图1所示的情况,需要波特率变换器将坡特率为172.8kbps的通信数据转换成波特率为115.2kbps,再向上位机传送。实际使用的电路如图2所示。在该实例中,为了防止局部时刻接收数据比发送快而丢失数据,再U2_H单片机的程序中,加入了8个数据区作为接收数据存放缓冲区。

  3 结论

  通过长时间的通信实验和实际应用,设计的波特率变换器方案可行,通信可靠,没有出现数据丢失的情况。在一些系统中,由于通信波特率特殊,在设备之间通信存在波特率不匹配时,通过波特率变换器,可以实现不同波特率设备之间的通信。通过更改单片机的晶频振率,可以满足各种波特率(在单片机允许的范围内)的转换。

相关推荐

飞思卡尔CEO:新战略初现成效 未来更关注中国市场

飞思卡尔  单片机  2013-04-28

飞思卡尔携手周立功单片机 共同拓展中国MCU市场

飞思卡尔  MCU  单片机  2012-12-19

英飞凌为提高XMC4000单片机生产率免费提供DAVE 3

英飞凌  单片机  2012-04-20

英飞凌XMC4500工业单片机现已量产供货

英飞凌  单片机  XMC4500  2012-03-19

ZLG成为Energy Micro中国区合作伙伴

周立功  Energy  Micro  单片机  2011-12-19

Microchip第100亿颗PIC单片机交付三星电子

微芯科技  单片机  PIC32  2011-09-21
在线研讨会
焦点