示波器观测RS485通信波形
RS485通信与示波器观测
RS485是一种广泛应用于工业现场的串行通信协议。它采用差分信号传输方式,具有抗干扰能力强、传输距离远(最远可达1200米)、可支持多个设备并联等优点。在自动化控制、仪表仪器、楼宇监控等领域,RS485几乎是标配接口。
当通信出现异常时,仅靠代码排查往往难以定位问题。此时,用示波器直接观测RS485总线的物理波形,是最直接、最有效的故障排查手段。通过波形分析,可以判断信号是否正常、波特率设置是否匹配、是否存在干扰或线路问题。
准备工作
硬件准备
- 数字示波器:带宽至少50MHz,建议100MHz以上。带宽过低会导致上升沿变形,影响测量精度。
- 示波器探头:选择衰减比为1:1的探头,或者使用10:1探头并将示波器设置为相应衰减。1:1探头更适合观测低速信号,能显示更完整的信号幅度。
- RS485设备:发送端设备和接收端设备各一台,或者使用RS485调试模块(如USB转RS485模块)配合电脑。
- 杜邦线或夹线:用于连接探头到RS485的A、B信号线。
软件准备
- 串口调试助手:用于在电脑上发送测试数据,激发RS485通信。
- 波特率计算:确认通信的波特率,以便正确设置示波器的时基。
接线方法
RS485总线有两根关键信号线:A线(也称为TX+/RX+)和B线(也称为TX-/RX-)。差分信号是指A线与B线之间的电压差。
步骤1:定位信号线
在RS485设备上找到A、B两个引脚。常见标注方式包括:
- A / B
- TX+ / TX-
- RX+ / RX-
- D+ / D-
步骤2:连接示波器探头
将示波器探头的地线夹连接到RS485设备的地(GND),如果没有专门的地引脚,可以连接到电源负极。
将探头的探针连接到RS485的A线。然后再拿一个探头(如果是双通道示波器),将第二个探头的探针连接到B线。
步骤3:选择观测方式
观测RS485波形有两种常用方式:
- 单通道观测A线或B线:相对于地线观测单端波形,可以看到逻辑电平变化。
- 双通道观测A线与B线:同时观测两根线,可以看到差分信号。如果示波器有数学运算功能,可以做A-B运算得到真正的差分波形。
对于初学者,建议先使用单通道观测A线,熟悉波形后再尝试双通道对比。
示波器参数设置
垂直 Scale(垂直刻度)
设置 为 1V/div 或 2V/div。RS485标准逻辑电平为:
- 逻辑“1”(隐性):A线电压低于B线电压,差分电压为
-200mV到-2000mV - 逻辑“0”(显性):A线电压高于B线电压,差分电压为
+200mV到+2000mV
由于是相对于地观测单端信号,实际波形幅值可能接近5V(取决于RS485芯片供电),所以 1V/div 或 2V/div 是合适的起始值。
耦合方式
选择 DC 耦合。DC耦合能够显示信号的完整直流分量,对于判断逻辑电平是否正确非常重要。
触发电平与触发方式
- 触发模式:选择
边沿触发(Edge Trigger)。 - 触发源:选择 接入信号的那个通道(如CH1)。
- 触发电平:设置 在逻辑高电平和低电平之间,大约
2.5V左右(如果使用单端观测方式)。调整触发电平,直到波形稳定触发。
如果通信是间歇性的,可以将触发模式改为单次触发(Single),等待异常信号出现。
时基 Scale(水平刻度)
时基的设置需要根据波特率来计算。一个位的宽度计算公式为:
$$ \text{位宽} = \frac{1}{\text{波特率}} \text{(秒)} $$
例如,波特率为9600bps时,一个位的宽度为:
$$ \frac{1}{9600} \approx 104 \mu\text{s} $$
设置 时基使得屏幕上显示3到5个完整的数据位。建议一个位占用了2到3个像素点,假设示波器水平有10个格,则时基应设置为:
$$ \text{时基} \approx \frac{\text{位宽} \times 5}{10} $$
对于9600波特率,时基可设为 50µs/div;对于115200波特率,时基可设为 2µs/div。
发送测试数据
步骤1:打开串口调试助手
在电脑上打开串口调试助手软件,选择 正确的COM端口,设置 与RS485设备匹配的波特率(如9600)、数据位(8位)、停止位(1位)、校验位(无)。
步骤2:发送固定数据
发送 一个固定的字符串,如 55(十六进制)或 AA(十六进制)。这些数据包含规律的0和1交替,便于观察波形。
步骤3:观察波形
示波器屏幕上应该能看到周期性的矩形波。如果看不到波形,检查接线是否正确、串口是否成功打开。
波形分析要点
逻辑电平判断
对于单端观测(A线对地):
- 逻辑“0”:电压接近高电平(通常为5V或3.3V)
- 逻辑“1”:电压接近0V
RS485采用反向逻辑,这一点与TTL电平相反,务必牢记。
起始位与停止位
一个完整的RS485数据帧结构为:起始位(1位,低电平) + 数据位(8位) + 停止位(1位,高电平)。
在波形上,起始位表现为一个位的低电平,停止位表现为一个位的高电平。观测时,确认 起始位和停止位都清晰可见。
数据位顺序
RS485采用LSB(最低位优先)发送方式,即先发送数据的最低位。观察波形时,数据位的顺序应与发送的数据一致。例如,发送 0x55(二进制01010101),波形应表现为:起始位 + 10101010(反序)+ 停止位。
波特率验证
测量 一个位的宽度,确认其与预期波特率一致。可以用示波器的光标测量功能,测量两个相邻上升沿之间的时间间隔。
差分信号观测(进阶)
如果使用双通道观测,可以将示波器设置为数学运算(A-B),得到真正的差分波形。理想情况下,差分波形的逻辑“0”应显示为正电压(约+200mV到+2V),逻辑“1”应显示为负电压(约-200mV到-2V)。
常见问题与排查
问题1:波形显示为一条直线
检查 示波器触发电平是否设置合理,确认 探头地线是否连接可靠,验证 串口是否正在发送数据。可以先将触发电平降低,看是否能触发成功。
问题2:波形噪声很大
检查 探头地线是否过长,过长的地线会引入额外噪声。尝试 将探头地线改为接地弹簧,或者 使用短地线夹。还要确认RS485线缆是否远离干扰源(如电机、变频器)。
问题3:波形占空比明显不对称
这可能是波特率误差导致,或者发送的数据中0和1的数量不平衡。用光标测量 高电平时间和低电平时间,确认每个位的宽度是否一致。
问题4:差分信号幅值过低
RS485标准要求差分电压大于200mV才能被正确识别。如果示长距离传输后幅值下降,检查 终端电阻是否匹配。RS485总线两端需要并联120欧姆终端电阻。
总结观测流程
- 确认 RS485设备的A、B信号线位置
- 连接 示波器探头到A线(或同时连接到A、B线)
- 设置 示波器垂直刻度为1V/div或2V/div,耦合为DC
- 设置 触发电平在高低电平之间,边沿触发
- 计算 波特率对应的位宽,设置合适的时基
- 发送 测试数据,观察波形
- 分析 起始位、数据位、停止位是否正确
- 异常 时,根据波形特征定位问题
通过以上步骤,即使是示波器初学者,也能逐步掌握RS485波形的观测方法,快速定位通信故障。

暂无评论,快来抢沙发吧!