串口

TTL RS232 RS485

Posted by LXG on January 10, 2025

TTL

状态 空载电平(无负载时) 传输电平(信号传输时)
TX(发送端)高电平 2.4V 至 5V 2.4V 至 5V
TX(发送端)低电平 0V 至 0.8V 0V 至 0.8V
RX(接收端)高电平 2.4V 至 5V 2.4V 至 5V
RX(接收端)低电平 0V 至 0.8V 0V 至 0.8V

RS232

状态 空载电平(无负载时) 传输电平(信号传输时)
TX(发送端)高电平 -12V 至 -3V -12V 至 -3V
TX(发送端)低电平 +3V 至 +15V +3V 至 +15V
RX(接收端)高电平 -12V 至 -3V -12V 至 -3V
RX(接收端)低电平 +3V 至 +15V +3V 至 +15V

RS485

状态 空载电平(无负载时) 传输电平(信号传输时)
TX(发送端)高电平 +1.5V 至 +5V +1.5V 至 +5V
TX(发送端)低电平 -1.5V 至 -5V -1.5V 至 -5V
RX(接收端)高电平 +1.5V 至 +5V +1.5V 至 +5V
RX(接收端)低电平 -1.5V 至 -5V -1.5V 至 -5V

原理对比

特性 RS232 TTL RS485
信号类型 单端信号(与地电位相比) 单端信号(与地电位相比) 差分信号(通过 A 和 B 线的电压差传输)
电平标准 +12V 至 -12V 0V 至 5V +1.5V 至 +5V(高电平);-1.5V 至 -5V(低电平)
信号传输 电压信号,参考地线 电压信号,参考地线 电压差(A 和 B 之间的电压差)
通信方式 点对点(单一发送与接收) 点对点或点对多(需要额外电路支持) 多点通信(支持一主多从)
传输方式 串行数据传输 串行数据传输 差分串行数据传输
适用场景 计算机与外设(如调制解调器、打印机) 短距离通信(常见于嵌入式应用、开发板) 长距离、多设备通信(常见于工业控制、自动化)
信号控制 需要多个信号线(如 TX, RX, GND) 需要两根信号线(如 TX, RX) 需要两根信号线(A 和 B)

优缺点对比

特性 RS232 TTL RS485
传输距离 较短(通常为10米以内) 通常为几米,取决于电缆长度与电流 可支持较长距离(最大1200米)
通信模式 点对点(最多两个设备) 通常为点对点,少数板上连接 支持多点通信(最多32个设备)
抗干扰能力 较弱,易受电磁干扰 较差,适合短距离应用 强,适用于电磁噪声较大的环境
电平要求 正负电压(+12V 至 -12V) 0V 至 5V 差分电压(+1.5V 至 +5V为高电平,-1.5V 至 -5V为低电平)
设备连接数量 仅支持点对点连接 通常一对一(需要额外电路支持多点连接) 支持一主多从设备连接,最多32个设备(标准)
数据传输速率 低(通常最大115200 bps,但有较低限制) 高,取决于具体实现,一般最大1Mbps以上 可达到较高的传输速率(最大10Mbps)
成本 较高(需要额外的电缆和电路支持) 较低,常用于低成本设备 中等,支持多设备通信,但比 TTL 贵
连接线数 需要多条信号线(TX、RX、GND等) 仅需两条信号线(TX、RX) 需要两条信号线(A 和 B)
使用复杂度 较为简单,广泛支持 简单,适合嵌入式开发和单板计算机应用 稍复杂,需要差分驱动器和控制器
适用场景 计算机与调制解调器、打印机等设备通信 嵌入式设备、开发板与外围设备通信 工业控制、楼宇自动化、远程数据采集系统

常见的USB转串口芯片

芯片型号 制造商 接口类型 最大传输速率 应用场景 优缺点
FTDI FT232R FTDI USB 转 RS232/TLL 3 Mbps 工业设备、嵌入式系统、开发板 优:稳定性高,驱动支持广泛,可靠性强;缺:价格较贵
Prolific PL2303 Prolific USB 转 RS232 12 Mbps 仿真调试、老旧设备通讯、POS机等 优:价格较低,驱动支持较广;缺:部分设备可能不兼容
CH340 WCH USB 转 RS232/TLL 2 Mbps 开发板、Arduino、DIY项目 优:价格低廉,适用于多数应用;缺:兼容性差,驱动支持较差
CP2102 Silicon Labs USB 转 RS232 1 Mbps 工业应用、传感器、调试工具 优:稳定性较好,兼容性强;缺:支持的传输速率较低
PL3605 Prolific USB 转 RS232/TLL 115200 bps GPS设备、串口通信 优:稳定性较高,兼容性较强;缺:传输速率较低
FT2232H FTDI USB 转 RS232/TLL 12 Mbps 调试器、工业控制系统、通信设备 优:多功能支持、传输速率高;缺:价格偏高

RS485 故障原因分析

rs485_exception

  1. 红色框是485串口收到异常时的数据,绿色框是485收到正常时的数据
  2. 红框比绿色框收到的数据前边多了0 后边多了6

分析方法


实验方法:在空闲(不发数据)时,用万用表测量“好口”和“坏口”的 A、B 线电压差

好口:A-B 压差通常应在 $+200mV$ $+500mV$ 之间。
坏口:如果压差接近 $0V$(比如只有几十 $mV$),说明该口的偏置能力不足,极易产生那个多出来的 0(干扰起始位)。

测量结果

同一个主板上的两个485口

  • 正常的485串口A/B压差是2.9V
  • 异常的485串口A/B压差是0.18V

这组数据直接锁定了问题的根源:异常串口的偏置电路(Biasing Circuit)已经失效或发生了物理损坏。

为什么 0.18mV 会导致“多出 0 和 6”?


你的异常串口压差只有 0.18mV,这几乎处于完全悬浮(Floating)的状态。

多出来的 0:由于压差极小,总线处于“逻辑 0”和“逻辑 1”的临界点。当发送端准备发数据,或者环境中有一点点电磁感应时,总线电平会轻易跌入逻辑 0 的区域。接收芯片会误认为这是一个起始位(Start Bit),从而开始采样,读入一串 00。

规律性移位:因为接收器被那个虚假的“起始位”提前唤醒了,当真正的 73 74... 数据流到达时,接收器的采样时钟已经走在了数据的前面。这种相位差导致它把原本属于一个字节的后几位和下一个字节的前几位拼接在了一起,产生了你看到的 07、37 等规律性乱码。

正常串口 2.9V 的含义

正常的 2.9V 说明该端口内部集成了强力的上下拉偏置电阻(通常是 $V_A$ 上拉到 $5V/3.3V$,$V_B$ 下拉到 $GND$)。这确保了在没有人发数据时,总线能稳定在逻辑 1,具备极强的抗干扰能力。

可能的硬件故障点

  1. 偏置电阻脱焊/烧毁:检查该串口附近的贴片电阻(通常是 $4.7k\Omega$ 或 $10k\Omega$)。如果这些电阻因为静电打击烧断了,压差就会塌陷到 $mV$ 级别。
  2. 485 收发器芯片局部损坏:收发器(如 SP3485/MAX485)内部的驱动管脚可能已经半失效,导致它无法维持正常的空闲电平,但还能勉强传输数据脉冲。
  3. 防静电/浪涌器件(TVS管)短路:如果 A、B 线之间的 TVS 保护管处于“半击穿”状态,会把 A、B 之间的压差强行拉低。