分层验证的思路
串口故障可能出在驱动、端口、引脚、线缆、终端或设备本身,逐个试错成本很高。回环测试的做法是把链路分段:先在本地把发送与接收短接或对接,发一段数据看是否原样返回,能返回说明本机端口与驱动正常,问题在外部;再把实际线缆串进来用两个端口对接,判断线缆与连接器;最后接入目标设备并按手册核对参数。测试数据用固定的可见字符串,例如一串递增的字母数字,这样从返回内容能直接看出是错位、乱码还是完全不通。
基本信息
| 分层顺序 | 本地回环 → 线缆对接 → 接入设备 |
|---|---|
| 单端接口 | 把收发针脚短接即可回环 |
| 差分接口 | 两台转换器背靠背或用回环插头,注意方向控制 |
| 测试数据 | 固定可见字符串,便于判断错位与乱码 |
| 观测方式 | 读取返回内容并与发送内容逐字符比对 |
| 安全提示 | 先确认针脚定义,不要把电源或输出短接到地 |
| 记录 | 保存每次测试的配置与结果,便于复现 |
典型使用场景
- 新装设备调试:先确认本机端口正常,再排查现场链路
- 现场排错:把故障范围从整条链路缩小到单一线缆或端口
- 批量验收:在安装前对每根线缆做工装测试
- 脚本自检:启动时做一次回环,确认端口可用
- 交叉验证:用两台不同设备互测,判断是设备还是线缆问题
- 故障复发:保留测试记录,便于判断是否为同一处硬件问题
结果判读
| 现象 | 结论 | 下一步 |
|---|---|---|
| 原样返回 | 本机端口与驱动正常 | 接入线缆继续测 |
| 收到但内容乱码 | 帧参数不一致 | 核对波特率与校验位 |
| 完全收不到 | 驱动、引脚或接线问题 | 检查配置与接线定义 |
| 本地通过、接设备失败 | 线缆、终端或设备侧参数问题 | 换线缆后再核对参数 |
| 偶发错字符 | 线路干扰或终端不匹配 | 按布线要求整改 |
回环测试示例
回环测试示例
# 1 先设置参数,再用回环读回
stty -F /dev/ttyUSB0 9600 cs8 -parenb -cstopb raw -echo
# 2 一个终端持续读取
cat /dev/ttyUSB0
# 3 另一个终端写入固定字符串
printf 'ABCDEFGH12345\n' > /dev/ttyUSB0
# 4 对比返回内容:逐字符一致说明本机正常
# Windows:用 PowerShell 打开串口,先写后读,比较内容是否一致
# 注意:差分半双工需确认方向控制方式,避免自发自收冲突回环只是把范围切开,不能证明外部链路合格:本地通过之后仍要串入真实线缆与设备做完整验证。
不要凭针脚编号猜定义:不同设备的引脚定义差异很大,短接错误可能把输出信号接到电源上,直接损坏端口。