RS485 的速率与接线
实测日期:2026-10-25;整理:2026-10-26。当前底板两路均焊接。
两路各是什么
| 通道 | UART / 节点 | 接口说明 |
|---|---|---|
| RS48_1 | UART4M2 / /dev/ttyS4 |
J52 / J53 / J54 并联在同一路 |
| RS48_2 | UART7M2 / /dev/ttyS7 |
备用通道,是否焊接和实际引出由硬件确认 |
J52 与 J53 对插不能当作两路独立串口验证。第二路旧板默认不焊时使用 --rs485-2 off,本次新板两路均焊接后做了对插。J71 是自定义 Type-C 信号路由,不能按标准 USB 串口理解。
RS48_1:2=A、3=B、4=GND、1=5V。台架只连接两路 A↔A、B↔B、GND↔GND,电源脚不接。完整接线、第二路路由及装配边界见 接口说明。
能跑到多大速率
1.5M baud 是目前持续测试通过的最高已测档位,不是已经证明的物理极限。短测最高到 3.5M,但持续测试暴露了丢字节。
| 测试 | 结果 |
|---|---|
| 短测:双向各 32KiB + 50 次换向 | 至 3.5M 通过,4M 失败 |
| 长测:双向各 1MiB,10 轮 | 2M 丢4字节、2.5M 丢18、3M 丢27、3.5M 丢2;均失败 |
| 1.5M 长测 | 双向累计20MiB + 1000次换向237,000字节;逐字节/哈希一致,错误无增量 |
| DMA 4M 试验 | 丢73,728字节而错误计数为0;已回退 |
1.5M 测得有效载荷约 132.55kB/s。8N1 每字节至少需要起始位、8个数据位和停止位,baud 不等于有效字节每秒;换向和软件间隔还会降低吞吐。这里没有细扫 1.5M 到 2M 之间的所有档位,也没有测多设备、长线或 EMC。
证据:速率测试摘要。
为什么默认仍是 115200
通信双方必须约定相同波特率、8N1 等格式。默认115200方便对接常见业务设备;1.5M是此台架结果,不能擅自用在未知对端。MAX13488 自动方向方案和当前 BSP 暂不启用 UART DMA;DMA 试验失败已经完整回退。
怎样判断真实通过
停止业务、正确连接两个独立 UART 后运行物理验证。仅“串口能打开”或错误计数为0不足以验收,需要同时检查对端逐字节数据、长度、哈希和换向。物理自回显只代表本地收到自己的发送,成功统计只看另一路接收。
# 不发帧的检查
sudo ./board/verify.sh
# 只有停止业务、正确接线后才运行物理收发
sudo ./board/verify.sh --physical
验证工具临时调整 termios 并在结束时恢复;它不自动把业务配置提到1.5M。当前两路默认115200/8N1。