单片机UART一对多:同时读取多个传感器基于modbus协议

04-27 5647阅读 0评论

文章目录

  • 背景
  • MODBUS协议介绍
  • UART接口改一对多
  • 参考链接

    背景

    很多传感器现在都做成了串口模块,如激光测距传感器TOF050,在开发时使用串口功能模块不仅大大加快了我们的开发进度,还能降低功能模块直接的耦合度,专业是功能交给专业的模块做,也能保证质量。

    单片机UART一对多:同时读取多个传感器基于modbus协议 第1张图:TOF050激光测距模块

    以TOF050模块为例,当我们同时需要接4个激光测距模块时,显然需要使用4个UART串口,分别读取距离值,这限制了我们可以外接的模块数量。

    基于modbus协议,对UART串口进行改造,就可以实现单个串口同时外接多个UART设备,互不干扰。

    MODBUS协议介绍

    modbus介绍可以参考如下:https://cloud.tencent.com/developer/article/1540241

    简而言之,在串口中使用modbus协议,主机需要先发送要读取的设备编号,相应设备编号的设备回传主机要读取的数据,而不符合该设备编号的设备保持静默状态。在主设备读取从设备时,遵循下面的通信协议:

    单片机UART一对多:同时读取多个传感器基于modbus协议 第2张

    UART接口改一对多

    参考如下链接:https://blog.csdn.net/Ajisa_i/article/details/124731439

    UART为点对点通信,直接将多个从机的TX线接到主机的RX上,是不能通信的。原因如下:

    • 主机发送信息: 当主机发送信息时,由于主机TX上接了多个从机RX,每个RX都处于接收状态,因此都可以正常接收到TX发送的信息。
    • 从机发送信息: 当从机发送信息时,由于多个从机的TX连在了一起,当其中一个从机TX发送信息时,另一个从机的TX没发送信息,没发送信息的从机TX为空闲状态处于高电平,会影响发送信息的从机,导致从机TX无法发送信息到主机的RX。

      因此需要做如下改造:

      单片机UART一对多:同时读取多个传感器基于modbus协议 第3张

      这样改造后的原理是:

      • 当从机都不发送信息时,从机的TX端都为高电平,主机的RX端为弱上拉,因此主机RX处于等待接收状态。
      • 当从机1的TX发送信息时,从机1的TX会首先发送一个低电平起始位,由于从机1的二极管上端RX为高电平,下端从机1的TX发送了一个低电平的起始位,因此二极管导通,TX端电压为0V,则主机RX端收到的电压为0V加二极管压降0.26V。因此主机RX可以正确收到低电平信号。当从机1的TX发送高电平时,由于主机RX存在弱上拉,因此二极管不导通时,RX端会收到高电平。

        注意注意注意:

        上拉电阻1K必不可少,如果不上拉,115200波特率时RX总线上波形如下:

        单片机UART一对多:同时读取多个传感器基于modbus协议 第4张

        加上1K上拉电阻之后,115200波特率时,总线上电平如下:

        单片机UART一对多:同时读取多个传感器基于modbus协议 第5张

        这样,结合MODBUS协议,从机同时只会有1个在发送数据,不会互相干扰。

        其中,二极管的选型较为关键,如果选择的二极管压降较大,如为1.4V,则从机TX发送低电平时,主机RX收到的电压为1.4V,因此不能正常通信。二极管的速度也应当足够快,才能满足通信要求。

        结合以上要求,二极管可以选用肖特基二极管SS14,其压降只有0.26V,响应速度10ns,实际测试,可以支持2Mbps的串口波特率。

        参考链接

        MODBUS协议介绍

        UART改一对多


免责声明
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明。
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所
提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何
损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在
转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并白负版权等法律责任。

手机扫描二维码访问

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,5647人围观)

还没有评论,来说两句吧...

目录[+]