新闻中心

EEPW首页>嵌入式系统>设计应用> 多单片机共用RS 232通信的防竞争电路与程序设计

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

作者: 时间:2011-05-17 来源:网络 收藏

控制输出到74HC125的3个控制端信号分别定义为OEA,OEB,OEC,对应于3个串口控制信号A,B,C,逻辑关系为:
b.JPG
控制的真值表如表1所示。

本文引用地址://m.amcfsurvey.com/article/172787.htm

c.JPG


由真值表可见:防止控制保证在A有效时,仅允许TxdA通过74HC125而其他2路信号被禁止通过。同样,当B有效时,仅允许TxdB信号通过,C有效时,仅允许TxdC信号通过,其他2路信号被禁止。确保任意时刻只有一个的串口占用232发送通道,而其他不能占用232发送通道,有效地防止了的发生。

3 防止程序
3.1 多机协议.
多机协议是为了使单片机分时占用232发送通道,在防竞争控制电路的配合下,使得任一时刻PC机仅与1个单片机进行通信,保证通信的顺利进行。通信采用握手通信方式,通信协议如下:

e.JPG


每一帧信息为8个字节。其中,第一字节为特征字(这里为字符“L”),第二字节为地址码,第三字节为命令码,第四~七字节为数据字节,第八字节为校验和(从地址码开始计算字节的异或和)。
如PC机向单片机系统发出呼叫:“L”、“A”、01H、00H、00H、00H、00H、40H,其中的“A”(41H)表示呼叫单片机A,01H是命令,4个00H是命令的参数,40H为校验和。
单片机接收到特征码“L”后,开始接收后续的7字节信息,并对这7个字节计算校验和,完整的一帧呼叫码校验无误后,核对地址码。单片机A核对地址码为“A”,确认是对本机呼叫,立即响应,拉低P10(信号A),本机即可独占RS 232总线发送通道,按照通信协议与PC机进行串行通信,通信完毕恢复P10(信号A)使RS 232总线发送通道恢复空闲状态。而单片机B、单片机C校对地址码不是本机地址后则退出,保持接收状态。

DIY机械键盘相关社区:机械键盘DIY




评论


相关推荐

技术专区

关闭