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

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

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

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


    多个单片机系统共享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四二或门电路构成。


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


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

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


    每一帧信息为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校对地址码不是本机地址后则退出,保持接收状态。
3.2 上位机通信程序
    上位机与下位机采用应答式通信方式,上位机向某一下位机发送呼叫码后启动定时查询串口定时器,等待下位机执行命令并按命令要求返回信息,若定时时间到后能查询到该单片机返回的信息,则取出信息进行处理,否则认为该单片机出错。上位机通信流程如图3所示。


    图4为上位机与3个单片机通信的时序图。


3.3 下位机通信程序
    下位机接收到命令后,执行命令与返回信息的时间必须小于上位机的等待查询时间,否则将被当作出错处理。下位机通信流程如图5所示。



4 结语
    采用防止竞争控制电路和应答式编程,使得多单片机共用RS 232接口时,每个单片机分时占用RS 232总线发送通道,有效地避免了串行总线的竞争。控制电路采用普通的74HC系列芯片构成,电路简单、实现容易、通信可靠。笔者在研制“信号微机监测系统板卡故障定位仪”项目中采用了这一电路,3个下位机(51系列单片机)控制板安装在同一个机箱中,嵌入式平板电脑作为上位机与3个下位机进行串行通信,实践证明该电路可以稳定可靠的工作。文中仅讨论了3个单片机的情形,若单片机多于3个,可以对控制电路进行适当扩展,以满足需要。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭