加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

【技术分享】没听过这个,都不好意思说自己做过RS-485总线开发!

02/20 14:50
3703
阅读需 7 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

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

RS-485应用异常 

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

图1 SM4500应用简图

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

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

  总线电平不确定状态原因

1. 少不了的上下拉电阻

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

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

图4 SM4500空闲时总线波形

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

图5 SM4500典型连接电路图

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

2. “多余的”终端电阻

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

图7 SM4500空闲时波形(设置上下拉电阻100kΩ、60Ω终端电阻)

  如何使总线不处于门限电平内

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

图8 SM4500通讯等效示意图

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

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

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

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

图10  SM4500真值表

  总结

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

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

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
KSZ8851SNLI-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, QCC32

ECAD模型

下载ECAD模型
$5.51 查看
TJA1055T/C,518 1 NXP Semiconductors TJA1055 - Enhanced fault-tolerant CAN transceiver SOIC 14-Pin
$2.67 查看
LAN9303I-ABZJ-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, QCC56
暂无数据 查看
致远电子

致远电子

广州致远电子股份有限公司成立于2001年,注册资金5000万元,国家级高新技术认证企业,广州市高端工控测量仪器工程技术研究开发中心,Intel ECA全球合作伙伴和微软嵌入式系统金牌合作伙伴。

广州致远电子股份有限公司成立于2001年,注册资金5000万元,国家级高新技术认证企业,广州市高端工控测量仪器工程技术研究开发中心,Intel ECA全球合作伙伴和微软嵌入式系统金牌合作伙伴。收起

查看更多

相关推荐

电子产业图谱