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

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

3天内不再提示

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

ZLG致远电子 2024-02-21 08:23 次阅读

RS-485总线应用中,时常会遇到不同的RS-485设备之间通讯,不同的设备间兼容性存在不同,有的设备很稳定,有的设备却时常收到异常数据,这是什么原因导致的呢?又应如何避免呢?

7cbdd968-d04f-11ee-9118-92fbcf53809c.jpg  RS-485应用异常

某储能客户在使用我司全隔离RS-485收发芯片SM4500过程中,时常会出现数据不稳定情况,如下图 1,客户设备与不同的RS-485设备通讯时,有的设备通讯稳定,有的设备则时不时会收到异常电平。

7cd2c88c-d04f-11ee-9118-92fbcf53809c.jpg

图1 SM4500应用简图

经过测试发现客户板卡RS-485通道在空闲时,总线电平处于0电位。如图 1所示,RS-485标准规定了当AB总线间电平处于-200mV~+200mV时,接收器端(RXD)会接收到不确定电平(为解释方便,下面统称“门限电平”)。而不同的RS-485设备,门限电平存在不同,SM4500门限电平为-10mV ~-200mV,当与门限电平为-200mV ~+200mV的设备通讯时,就有可能出现异常,那么如何避免这一问题发生?

7cded636-d04f-11ee-9118-92fbcf53809c.jpg

图2 RS-485接收电平示意图


7cee804a-d04f-11ee-9118-92fbcf53809c.jpg  总线电平不确定状态原因

1.少不了的上下拉电阻

如图 3、图 4,为SM4500通讯的总线波形,发送数据时(非空闲状态),总线电平最大值为3.28V,最小值为-2.96V;空闲状态时,总线电平最大值为240mV,最小值为-160mV,此时总线已经处于不确定状态。

7d024562-d04f-11ee-9118-92fbcf53809c.jpg

图3SM4500非空闲时2Mbps总线波形

7d1b9b52-d04f-11ee-9118-92fbcf53809c.jpg

图4SM4500空闲时总线波形

根据SM4500手册的典型连接电路图,在总线上增加上下拉电阻后,总线电平被拉高,此时已经远大于不确定状态电压,如图 6。可见在RS-485应用过程中,上下拉电阻是必不可少的。

7d2e0102-d04f-11ee-9118-92fbcf53809c.jpg图5SM4500典型连接电路图

7d447842-d04f-11ee-9118-92fbcf53809c.jpg

图6SM4500空闲时波形(设置上下拉电阻100kΩ)

2.“多余的”终端电阻

想必各位工程师都知道终端电阻的作用是消除信号反射,因此实际应用中往往都会默认设置,但其实并不是所有情况都需要终端电阻,有时终端电阻反而会引入一些问题。前面说到总线空闲处于不确定状态时,可以通过设置上下拉电阻避免,但在接入终端电阻后,总线电平又会进入到不确定状态,如图 7。这又怎么解决呢?

7d822566-d04f-11ee-9118-92fbcf53809c.jpg图7SM4500空闲时波形(设置上下拉电阻100kΩ、60Ω终端电阻)


7cee804a-d04f-11ee-9118-92fbcf53809c.jpg  如何使总线不处于门限电平内

我们先来看下为什么在接入终端电阻后,总线电平又会进入到不确定状态。SM4500总线端输入阻抗高达上百kΩ,在设置终端电阻后,忽略内阻的影响,假设总线上各节点的SM4500的输出电压VISOOUT相同,得到总线空闲时电平计算公式如下,通讯等效示意如图 8,其中R上、R下为总线的上下拉电阻,R为终端电阻。

7db0aa80-d04f-11ee-9118-92fbcf53809c.png

7dc37c6e-d04f-11ee-9118-92fbcf53809c.jpg

图8SM4500通讯等效示意图

根据上述公式,计算图 7总线空闲电压VAB=VISOOUT*60Ω/(100kΩ+100kΩ+60Ω),这里VISOOUT可取5.1V,可得VAB=1.53mV(与实测波形相符),处于RS-485标准规定的门限电平内。通过公式发现,只要减小上下拉电阻就能提高总线空闲时的电平,因此得到如下公式:

7de09682-d04f-11ee-9118-92fbcf53809c.png

所以只要上下拉电阻<735Ω,空闲时的总线电平就能>200mV。例如取R上=510Ω进行验证,此时计算VAB=283mV,实测总线电平如图 9,光标测量总线电平为276mV(考虑到有线阻和测量的误差,因此符合理论值)。另外,上下拉电阻是不是越小的话,会越好呢?其实不然,上下拉电阻越小总线空闲状态差分电压保持的也越高,此时,终端电阻和上下拉电阻的功耗也越大,对RS-485收发器的驱动能力要求也越高,当超过RS-485收发器的驱动能力时,也会导致通信失败(详细分析可查看往期文章《详解RS-485上下拉电阻的选择》)。

7df2ea30-d04f-11ee-9118-92fbcf53809c.jpg

图9SM4500空闲时总线波形(设置上下拉电阻510Ω、60Ω终端电阻)

如图 10,SM4500的门限电平为-10mV ~ -200mV,实际上要比RS-485标准规定的范围小,也就是说总线空闲时更不容易进入到门限电平内。根据上下拉电阻计算公式,当VAB电压趋近于0时,上下拉电阻会趋近于无穷大,换言之,SM4500理论上不设置上下拉电阻也能正常通讯。但实际上使用SM4500的设备往往会与不同的RS-485设备通讯,加上总线易受干扰产生波动,因此为了总线兼容性更好,设置上下拉电阻也是必须的。

7e0ab4f8-d04f-11ee-9118-92fbcf53809c.jpg

图10SM4500真值表

7cee804a-d04f-11ee-9118-92fbcf53809c.jpg  总结

  1. RS-485总线网络中设置上下拉电阻是必须的,这样可以避免总线空闲时进入门限电平内;
  2. 如果总线设置终端电阻,此时需要根据实际情况调整上下拉电阻大小,必要时适当加大终端电阻,以避免总线空闲时处于门限电平内;

SM4500门限电平范围小,总线空闲时更不容易进入门限电平内,兼容性好。

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

    关注

    14

    文章

    2214

    浏览量

    70668
  • 总线
    +关注

    关注

    10

    文章

    2706

    浏览量

    87214
  • 收发芯片
    +关注

    关注

    0

    文章

    34

    浏览量

    8914
收藏 人收藏

    评论

    相关推荐

    典型的RS-485组网结构

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

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

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

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

    电子发烧友网站提供《TIA/EIA RS-485总线电路笔记.pdf》资料免费下载
    发表于 11-29 09:49 1次下载
    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>标准笔记

    浅谈RS-485通讯协议

    RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议;因此,用户需要在RS-485应用网络的基础上建立自己的应用层通信协议。
    发表于 09-26 09:26 1207次阅读
    浅谈<b class='flag-5'>RS-485</b>通讯协议

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

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

    为什么车企都选择8155芯片呢?为什么比亚迪又是一个例外呢?

    不知道从什么时间开始,车机芯片不是8155都不好意思在发布会的时候拿出来说,这几个数字甚至成为了车机良好体验的招牌。
    发表于 08-09 16:07 1047次阅读
    为什么车企都选择8155芯片呢?为什么比亚迪又是一个例外呢?

    Clock Gating的特点、原理和初步实现

    当下这社会,没有几万个Clock Gating,出门都不好意思和别人打招呼!
    的头像 发表于 07-17 16:50 2634次阅读
    Clock Gating的特点、原理和初步实现

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

    RS-485是差分传输,如果用单片机控制RS-485接口的设备,需要用到收发器,这一点和CAN总线是类似的
    发表于 07-13 14:55 3014次阅读
    <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 1489次阅读
    <b class='flag-5'>RS-485</b><b class='flag-5'>总线</b>扫盲之物理层

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

    RS-485是一种多点差分总线,因此总线上的所有节点共用一个传输介质。随着节点总数的增加,每个驱动器上的负载也会增加。
    发表于 07-04 11:20 549次阅读
    如何计算<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 3417次阅读
    如何解决<b class='flag-5'>RS-485</b>自动收发电路应用异常的问题呢?

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

    在低数据速率下,RS-485总线上收发器和接收器的最大数量有一个实际限制,即接收器相对于其输入阈值电压的电压。RS-485接收器的输入阻抗在标准中不是固定的,并且可能因器件而异。本应用笔记解释了如何根据数据手册中的数据计算低数据
    的头像 发表于 06-16 10:06 927次阅读
    计算<b class='flag-5'>RS-485</b><b class='flag-5'>总线</b>上的最大节点数

    如何提高RS-485电快速脉冲群的抗干扰能力

    较小的能量就可以达到较高的电压,容易损坏RS-485收发器,影响RS-485总线通信可靠性。
    的头像 发表于 06-09 11:49 1537次阅读
    如何提高<b class='flag-5'>RS-485</b>电快速脉冲群的抗干扰能力

    CAN总线RS-485总线的主要区别

    CAN总线RS-485总线都是常用的工业通信总线,用于在不同设备之间传输数据。虽然它们都有类似的目的,但它们在很多方面有很大的不同。
    发表于 05-06 14:19 8192次阅读