深度剖析RS-485组网问题及总线测试
深度剖析RS-485组网问题及总线测试
RS-485总线因其高稳定性和远距离传输能力而被广泛应用,但实际组网时可能会遇到通信不稳定、错误甚至收发器损坏等问题。本文将深入剖析这些问题的成因,并提供具体的解决方案。
一、应用问题
当出现通信错误或者不能通信时,首先需要判断应用是否符合表1中的应用情况。
1. 终端电阻问题
若RS-485总线上接有终端电阻,且所用RS-485收发器门限电平是±200mV,则可能出现表2中所述的异常现象。
终端电阻导致异常的原因:RS-485收发器接收门限电平为±200mV,即AB之间差分电压大于+200mV,输出高电平;AB之间差分电压小于-200mV,输出低电平;AB之间电压在±200mV之间时,输出状态不确定,即有可能输出高电平(此时表现为通信正常),有可能输出低电平(此时表现为通信异常),因此若总线空闲状态时AB差分电压处于门限电平之内,则会出现一定概率的异常问题。
2. 上下拉电阻问题
上下拉电阻并联值过小可能引起的现象如表4所示。
3. 控制脚以及逻辑输入侧的问题
由于收发切换需要一定的延时,因此应在发送或者接收数据前增加一段延时(例如RSM485PCHT,需要增加至少25μs)来保证RS-485收发器已经处于发送或者接收状态。
MCU电平应与RS-485收发器输入逻辑电平匹配,即MCU为5V逻辑电平,应使用供电为5V的RSM系列隔离模块。
二、波形测试方法
当排除上面的问题后,可以通过测试总线波形的方法来找到通信异常的位置,判断异常原因。
1. 检查RS-485收发器发送功能
在通信异常时,测量RS-485总线AB差分电压与模块TXD、RXD引脚之间波形的对应关系可以判断异常位置。
2. 检查RS-485收发器接收功能
使用图6所示的测试方法得到如图7所示波形,A-B为高电平时,RXD为高电平,A-B为低电平时,RXD为低电平,并且模块RXD输出电平正常,可以判断模块接收功能正常。
3. 检查RS-485收发器控制引脚与TXD、RXD逻辑关系
使用如图8所示的方法分别测试TXD、RXD与CON逻辑关系,得到图9和图10所示波形,对于RSM485PCHT,发送或接收信号前,CON引脚应至少提前25μs置为低电平或高电平,并且数据发送或接收完成后再切换收发状态。
三、收发器损坏
1. 模块AB引脚超过共模电压范围导致的损坏
RS-485收发器AB引脚的共模电压范围一般要求在-7V~+12V范围内,当超过此范围内时会造成芯片损坏。由于工业现场大地经常会流过瞬时大电流,若收发器RGND引脚连接不当,则AB引脚的共模电压会超过其可承受的共模电压范围,导致模块损坏。
2. 高等级的静电和浪涌造成模块损坏
在应用环境中有较高等级的静电和浪涌时,如果只是单纯使用RS-485收发器芯片或者模块,可能会导致模块损坏,此时就需要增加外围保护电路来保护收发器。但保护电路需要可靠地接地才能将静电和浪涌能量泄放。