TTL / RS232 / RS485 / CAN 怎么选
先给结论:同一块主控板上、线长半米内,选 TTL;连老设备或 PLC 的九针口,选 RS232;跨机柜、走线超过 10 米、要挂多块屏,选 RS485;节点多且要求实时仲裁(储能 BMS、电机、车载),选 CAN。 四种接口的差别不在"哪个更先进",而在电平、距离、拓扑三件事上的取舍。选错接口,后面所有调试时间都会花在查线路上。
一、四种接口的核心差别
| 对比项 | TTL(UART) | RS232 | RS485 | CAN |
|---|---|---|---|---|
| 电平 | 3.3V / 5V 单端,逻辑直连 | ±3~±15V 单端,负逻辑 | 差分 A/B,共模 -7~+12V | 差分 CAN_H / CAN_L |
| 典型距离 | 板内 < 0.5m | ≤ 15m @9600bps | ≤ 1200m @≤100kbps | 40m @1Mbps,1000m @50kbps |
| 常用速率 | 9600~921600bps | 9600~115200bps | 9600~115200bps | 125k / 250k / 500k / 1Mbps |
| 拓扑 | 点对点 | 点对点 | 总线手拉手,32~128 节点 | 总线,最多 110 节点 |
| 抗干扰 | 弱,易受串扰 | 弱 | 强(差分传输) | 强(差分 + 仲裁) |
| 终端匹配 | 不需要 | 不需要 | 首末端各 120Ω | 首末端各 120Ω |
| 典型场景 | 主控与屏同板、短排线 | 老 PLC、工控机九针串口 | 多屏组网、跨柜、强干扰现场 | 储能 BMS、电机、车载多节点 |
二、TTL:最短路径,但线一长就出事
TTL 是芯片引脚直接出来的电平,没有收发器,所以成本最低、延迟最小。代价是抗干扰能力差:一根 20cm 的排线贴着电机驱动走,就可能出现偶发乱码。
接线三条硬要求
- TX 接 RX、RX 接 TX,交叉连接。同名相接是最常见的"完全没反应"原因。
- 必须共地。只接 TX/RX 不接地,两边参考电平漂移,表现为时好时坏。
- 电平必须一致。3.3V 主控接 5V 屏(或反之)需加电平转换,直接接可能烧 UART。
排线长度建议控制在 30cm 以内,并远离继电器、电机、开关电源等干扰源;超过则改用 RS485 差分。
三、RS232:为老设备保留的通用语
RS232 用负逻辑、±3~±15V 电平,抗干扰比 TTL 好一些,但仍是单端传输,距离上限约 15 米 @9600bps。它的现实价值是兼容存量设备:大量 PLC、工控机、老仪表的九针口只有 RS232。
- 九针 DB9 上,2 脚是 RXD、3 脚是 TXD、5 脚是 GND,与屏连接时 2/3 仍需交叉。
- 部分设备只用三线(RXD/TXD/GND),硬件流控(RTS/CTS)不接也能通,但要在上位机里关掉流控。
- 长线时降低波特率比换线更有效:115200 降到 9600,距离可明显延长。
四、RS485:长距离、多机组的默认答案
RS485 用一对差分线(A/B)传输,共模范围 -7~+12V,因此在有地电位差、有变频器干扰的现场比 TTL 和 RS232 稳定得多。1200 米的距离上限是它被广泛用于电力、储能、楼宇的原因。
四个容易踩的坑
- 终端电阻:总线两端各加 120Ω,中间节点不加。线长超过 10m、速率高于 115200bps、节点超过 8 个时必须加,否则反射造成随机误码。
- A/B 定义不统一:不同厂商对 A/B 的正负定义相反,接上不通时先对调这两根线,比查协议快。
- 屏蔽层单点接地:屏蔽层两端都接地会形成地环流,反而引入干扰。只在一端接大地。
- 手拉手拓扑:必须一进一出串下去,不能星形分支,分支线超过 1m 就会产生反射。
节点数:标准收发器 32 个,1/8 负载可到 128 个。工程上建议一条总线不超过 16 块串口屏,并留 20% 余量——节点越多总线电容越大,上升沿变缓,长线高速时误码率上升。
五、CAN:多节点实时控制的选择
CAN 与 RS485 同为差分总线,但多了硬件仲裁:多节点同时发送时按 ID 优先级自动裁决,不会像 RS485 那样碰撞丢包。因此它适合"多个节点周期性上报 + 少量紧急指令"的场景,例如储能 BMS 的电压温度采集、电机驱动器状态回读。
- 终端电阻两端各 120Ω,与 RS485 同理,但 CAN 对阻抗更敏感,缺失时通信距离会明显缩短。
- 波特率与总线长度成反比:1Mbps 约 40m,500kbps 约 100m,125kbps 可到 500m。
- 节点数上限 110,但受收发器驱动能力与线缆电容限制,实际按 32~64 个规划更稳。
- 必须共地或使用隔离收发器,否则地电位差会击穿接口。
六、上板前的核对清单
| 检查项 | 验收标准 | 不通过的典型现象 |
|---|---|---|
| 供电 | 屏端电压在标称范围内(常见 5~24V),纹波 ≤ 50mV | 上电黑屏、反复重启 |
| 共地 | 主控地与屏地直通,压差 < 0.1V | 时通时不通、触摸漂移 |
| 电平 | TTL 双方同为 3.3V 或同为 5V | 完全无响应,或 UART 发热 |
| 串口参数 | 波特率、数据位、校验、停止位四项完全一致(常用 8N1) | 稳定乱码、可收到但内容错 |
| 线序 | TX↔RX 交叉;485 的 A/B 与对方一致 | 发得出去收不回来 |
| 终端电阻 | 485/CAN 总线两端各 120Ω,中间不加 | 短距正常、长线随机误码 |
| 连续运行 | 常温连续通信 24 小时无丢包、无花屏 | 偶发死机、需断电恢复 |
七、通信不通时的排查顺序
按"从物理到协议"的顺序查,比凭经验猜快得多:
- 量供电:万用表确认屏端电压与纹波。
- 量地:主控地与屏地是否直通。
- 看波形或换线:TTL 用示波器看是否有数据跳变;485 先对调 A/B。
- 核对四项串口参数:波特率、数据位、校验、停止位,逐项确认而不是"应该一样"。
- 抓发送:用串口助手替掉主控直接发指令,能通说明问题在主控侧。
- 查协议:指令结束符(常见
0xFF 0xFF 0xFF)、帧头、校验方式是否符合屏的指令集。 - 查干扰:把线远离变频器/继电器,或换屏蔽双绞线复测。
常见问题
TTL 串口能直接接 RS232 吗?
不能。TTL 是 3.3V 或 5V 单端电平,RS232 是 ±3~±15V 负逻辑,两者电平相差数倍,直连会损坏主控 UART。中间需要电平转换芯片(如 MAX3232、SP3232),或改用带 RS232 收发器的串口屏型号。
RS485 的 120Ω 终端电阻什么时候必须加?
总线长度超过 10 米、或波特率高于 115200bps、或多机并联节点超过 8 个时,应在总线物理两端各加一只 120Ω 电阻(中间节点不加)。短距、低速率、点对点临时调试可以不加,但长线不加会出现随机误码,表现为偶发乱码或通信超时。
串口屏通信乱码最常见的原因是什么?
按出现频率排序:一是波特率不一致(占多数,双方必须完全相同,不能"接近");二是数据位/校验位/停止位组合不一致(常见 8N1 与 8E1 混用);三是没有共地,TTL 与 RS232 尤甚;四是 TTL 电平不匹配(3.3V 主控接 5V 屏,或反之);五是 RS485 的 A/B 线序接反。
一条 RS485 总线上最多能挂几块串口屏?
标准 RS485 收发器支持 32 个节点,采用 1/8 负载收发器可扩展至 128 个。工程上建议一条总线不超过 16 块串口屏,并预留约 20% 节点余量:节点越多,总线电容越大,上升沿越缓,长线高速时误码率上升。超过则用中继器或改为多总线分片。
需要按你的主控板核对接口?
告诉我们主控型号、现场距离与节点数,我们给出型号与接线建议,并附对应规格书。


