0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于RS-485总线电平异常解决方案解析

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 作者:黄工的嵌入式技术 2020-01-15 17:05 次阅读

不知道大家是否会遇到这样的情况,测试单个RS-485设备数据无异常,但设备组网后,就出现通讯数据异常或连接失败等情况。出错的原因是什么?

RS-485总线是具有结构简单、通信距离远、通信速度高、成本低等优点,广泛应用于工业通讯、电力监控以及仪器仪表等行业。若总线上接有终端电阻,则在总线空闲状态时,RS-485总线AB差分电压可能处于门限电平(±200mV)之内,这时可能会导致通信出错,那么,出错的原因是什么?MCU接收到的数据会发生什么样的变化?

数据出错的原因

如图1所示为8位数据位无校验位的UART时序图,当使用UART进行通信时,MCU在检测到起始位后开始接收其后的数据。

图1无校验位,8位数据位,串口时序图

如图2所示为STM32串口外设检测到起始位的条件,当检测到下降沿(3个高电平+1个低电平)并且采样序列1和采样序列2均为0时,STM32检测到一个起始位。

每个位采样16次,采样点的间隔时间为tbit/16,tbit为每个位的时间,例如通信波特率为115.2kbps,则tbit=1/115.2k=8.68us,则采样点的间隔时间为8.68us/16=0.5425us。

图2 STM32串口外设检测到起始位的条件

下面以RSM485PCHT的门限电平为例进行说明,当AB差分电压处于±200mV之内时,模块RXD引脚输出状态不确定。

当总线变为空闲时,若RXD引脚输出低电平,则可能导致MCU接收到错误数据或MCU在正常数据后误接收1个0x00。

图3RSM485PCHT门限电平

数据发生了什么变化?

如图4所示,收发器1在AB差分电压处于±200mV门限电平之内时输出高电平,收发器2在AB差分电压处于±200mV门限电平之内时输出低电平,可以看出,收发器2可能导致MCU接收到错误的数据,并且在数据后误接收到1个0x00数据。

图4数据后多0x00

如图5所示,若总线上持续存在数据信号或连续发送多个字节数据,在数据之间存在的空闲状态可能会被收发器2识别为1个起始位,从而导致数据连续错误。

图5 数据连续错误

解决方案

总线空闲时若AB差分电压处于门限电平之内,则可能导致数据出错,可以使用如下方法避免总线空闲时AB差分电压处于门限电平之内。

方案一:组网距离不长,总线信号无反射问题或反射较小,此时可不增加终端电阻以提升总线幅值电平,具体的幅值变化如下图6所示。

图6终端电阻对总线电平影响

方案二:组网距离偏长,总线信号当前已存在反射需增加终端电阻解决反射问题,面对此类应用可使用致远电子RSM(3)485PCHT模块,RS-485接口设计时可通过外置一个较小值的上下拉电阻调节空闲状态时的电压值,使电平处于门限电平外,具体的幅值变化如下图7所示。

图7RSM(3)485PCHT实物及应用连接图

方案三:组网距离偏长,总线信号当前已存在反射需增加终端电阻解决反射问题,面对此类应用同样可使用致远电子RSM(3)485ECHT模块,RSM(3)485ECHT具备极高的总线兼容性门限电平为-40mV~-20mV,具体如下图8所示,在总线电平被终端电阻拉低时(最坏情况总线高电平幅值为0V)仍可识别总线电平,保证通讯的稳定性。

图8RSM(3)485ECHT实物图及门限电平参数

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电平
    +关注

    关注

    5

    文章

    338

    浏览量

    39532
  • 总线
    +关注

    关注

    10

    文章

    2680

    浏览量

    87048
  • 终端电阻
    +关注

    关注

    1

    文章

    85

    浏览量

    11577
收藏 人收藏

    评论

    相关推荐

    典型的RS-485组网结构

    RS-485,是一种半双工的工作方式,即任何时候只有一点处于发送状态。RS-485支持总线型结构,总线长度可达上千米,节点数可以多达256个。
    的头像 发表于 03-08 17:24 507次阅读
    典型的<b class='flag-5'>RS-485</b>组网结构

    没听过这个,都不好意思说自己做过RS-485总线开发!

    RS-485总线应用中,时常会遇到不同的RS-485设备之间通讯,不同的设备间兼容性存在不同,有的设备很稳定,有的设备却时常收到异常数据,这是什么原因导致的呢?又应如何避免呢?
    的头像 发表于 02-21 08:23 102次阅读
    没听过这个,都不好意思说自己做过<b class='flag-5'>RS-485</b><b class='flag-5'>总线</b>开发!

    RS-485通信链路与电子护栏: 有关RS-485 EMC稳定性的演示

    RS-485通信链路与电子护栏: 有关RS-485 EMC稳定性的演示
    的头像 发表于 01-05 18:12 378次阅读
    <b class='flag-5'>RS-485</b>通信链路与电子护栏: 有关<b class='flag-5'>RS-485</b> EMC稳定性的演示

    盘点几种RS-485方向切换方案

    RS-485作为常见的总线之一,几乎每个工控设备都在用,其最大的特点就是需要进行方向控制,如果方向控制的时机不对,数据传输会出现错误。下面我们来讨论RS-485方向切换的几种方案。使用
    的头像 发表于 12-05 08:24 336次阅读
    盘点几种<b class='flag-5'>RS-485</b>方向切换<b class='flag-5'>方案</b>

    TIA/EIA RS-485总线电路笔记

    电子发烧友网站提供《TIA/EIA RS-485总线电路笔记.pdf》资料免费下载
    发表于 11-29 09:49 0次下载
    TIA/EIA <b class='flag-5'>RS-485</b><b class='flag-5'>总线</b>电路笔记

    RS-485总线标准笔记

    电子发烧友网站提供《RS-485总线标准笔记.pdf》资料免费下载
    发表于 11-28 10:47 0次下载
    <b class='flag-5'>RS-485</b><b class='flag-5'>总线</b>标准笔记

    RS485总线浪涌解决方案

    RS485总线浪涌解决方案!|深圳比创达EMC
    的头像 发表于 09-18 14:53 777次阅读
    <b class='flag-5'>RS485</b><b class='flag-5'>总线</b>浪涌<b class='flag-5'>解决方案</b>!

    隔离型RS-485的速度与长度相关性是什么

    1.何时必须隔离RS-485总线? 隔离可防止系统两个部分之间的直流电(DC)和异常的交流电(AC),但仍然支持两个部分之间的信号和电能传输。隔离通常能够阻止电气组件或人员遭受危险电压和电流
    的头像 发表于 08-24 15:42 560次阅读
    隔离型<b class='flag-5'>RS-485</b>的速度与长度相关性是什么

    RS-485总线之收发器与数据链路基础知识介绍

    RS-485是差分传输,如果用单片机控制RS-485接口的设备,需要用到收发器,这一点和CAN总线是类似的
    发表于 07-13 14:55 2548次阅读
    <b class='flag-5'>RS-485</b><b class='flag-5'>总线</b>之收发器与数据链路基础知识介绍

    RS-485总线扫盲之物理层

    RS-485RS-232一样,都是串行通信标准,现在的标准名称是TIA485/EIA-485-A,但是人们会习惯称为RS-485标准,
    发表于 07-13 14:29 1337次阅读
    <b class='flag-5'>RS-485</b><b class='flag-5'>总线</b>扫盲之物理层

    如何计算RS-485总线上的最大节点数?

    RS-485是一种多点差分总线,因此总线上的所有节点共用一个传输介质。随着节点总数的增加,每个驱动器上的负载也会增加。
    发表于 07-04 11:20 509次阅读
    如何计算<b class='flag-5'>RS-485</b><b class='flag-5'>总线</b>上的最大节点数?

    如何解决RS-485自动收发电路应用异常的问题呢?

    RS-485 总线是半双工的通信总线,因此通常需要MCU控制RS-485收发器的收发状态。为节省MCU的I/O资源,RS-485自动收发型收
    的头像 发表于 06-30 15:32 2914次阅读
    如何解决<b class='flag-5'>RS-485</b>自动收发电路应用<b class='flag-5'>异常</b>的问题呢?

    RS-485:处理空闲总线条件的两种常见方法

    消息前发生。在此期间,由于安装了端接电阻,总线将具有 0V 差分信号。电子工业协会 (EIA)-485 标准规定,当差分电压 ≥+200mV 时,RS-485 接收器的输入阈值为逻辑高电平
    发表于 05-30 09:12 1030次阅读
    <b class='flag-5'>RS-485</b>:处理空闲<b class='flag-5'>总线</b>条件的两种常见方法

    3个理由了解为什么CAN总线RS-485更好

    ”到CAN总线?  RS-485未能成为通信协议。它只是被证明是一个电气接口。它确实提供了多点通信功能,但仅适用于至少具有UART的设备。  01  一主多从系统  从技术上讲,它是一个半双工系统
    发表于 04-03 14:32

    在现场总线网络中使用RS-485/RS-422收发器

    由于RS-485收发器提供了一种在工业网络中实现物理层的简单方法,因此一些现场总线标准指定了用于通信的RS-485串行端口。本文介绍了几种现场总线技术。特别注意INTERBUS和PRO
    的头像 发表于 03-30 11:04 1378次阅读
    在现场<b class='flag-5'>总线</b>网络中使用<b class='flag-5'>RS-485</b>/<b class='flag-5'>RS</b>-422收发器