2、电气特性详解:RS232电平标准(±12V)、RS485差分信号(±5V)、共模电压范围

好,咱们直接进入正题。电气特性这东西,说白了就是「信号长什么样」。你搞不清电平,示波器一挂上去就懵了。我见过不少工程师,拿着RS232的板子去接RS485的设备,结果冒烟了还一脸无辜。嗯,咱们今天就把这事彻底捋清楚。

2.1 RS232电平标准:±12V的「大嗓门」

RS232是早期串口的老大哥。它的电平标准,我习惯叫它「大摆幅」——逻辑1是-3V到-15V,逻辑0是+3V到+15V。实际应用中,大多数设备用±12V或±5V。为什么搞这么大?说白了就是为了抗干扰。早期工业环境里,电锯一开,干扰满天飞,信号幅度小了根本传不远。

关键参数速查:

  • 逻辑1(MARK):-3V ~ -15V(典型-12V)
  • 逻辑0(SPACE):+3V ~ +15V(典型+12V)
  • 噪声容限:2V(接收端门槛为±3V)
  • 最大传输距离:约15米(@9600bps)

我在项目中遇到过一件事。有个老设备,RS232口输出只有±5V,接了个长线跑到20米外,数据全乱。后来一查,线缆寄生电容太大,信号衰减到接收端已经低于±3V的门槛了。你想想看,接收器看到的是啥?全是毛刺。解决办法很简单——换成了±12V的驱动芯片,或者加个中继器。

我的个人习惯:设计RS232电路时,我会在TX和RX线上各串一个100Ω电阻。不是为了限流,而是为了匹配阻抗、抑制过冲。尤其是走线超过10厘米时,这个电阻能救你一命。

2.2 RS485差分信号:±5V的「平衡大师」

RS485跟RS232完全是两码事。它用的是差分信号——两根线(A和B)之间的电压差来决定逻辑状态。逻辑1:A-B > +200mV;逻辑0:A-B < -200mV。典型驱动电压是±5V,但实际在总线上测到的差模电压通常只有1.5V到5V之间。

为什么会这样?因为RS485是「电流型」驱动。驱动器输出的是电流,接收端看到的是经过终端电阻后的电压。我记得有一次调试一个485总线,示波器一看,A-B电压差只有0.8V,但通信完全正常。新手可能会慌,其实只要超过200mV的门槛,就没问题。

RS485差分信号核心参数:

  • 差模电压范围:±1.5V ~ ±6V(典型±5V)
  • 接收器输入灵敏度:±200mV
  • 共模电压范围:-7V ~ +12V(标准RS485)
  • 最大传输距离:约1200米(@100kbps)

这里有个坑,我踩过。RS485的A/B线如果接反了,通信会完全失败。但有些芯片有「极性自适应」功能,比如MAX13487E。不过我个人建议——别依赖这个。设计时老老实实在PCB上标清楚A和B,线缆也用颜色区分(我习惯A用绿、B用黄)。

注意:RS485的终端电阻不是随便加的。只有在总线两端才需要加120Ω电阻。中间节点加了反而会降低信号质量。我曾经见过一个项目,每个节点都焊了120Ω电阻,结果总线负载太重,驱动芯片直接过热保护。

2.3 共模电压范围:被忽视的「隐形杀手」

共模电压,说白了就是两根信号线相对于「地」的平均电压。RS232是单端信号,共模问题不明显。但RS485是差分信号,共模电压范围直接决定了系统的可靠性。

标准RS485的共模电压范围是-7V到+12V。什么意思?就是A线和B线对地的电压,不能超出这个范围。如果超出,接收器可能饱和,甚至烧毁。

我遇到过最典型的情况:两个设备距离200米,地电位差达到8V。结果RS485芯片虽然没烧,但通信时好时坏。示波器一看,A线对地电压已经到15V了,超出了12V的上限。解决办法?加隔离!用ADM2483这样的隔离型RS485芯片,或者用光耦+DC-DC隔离电源。

避坑指南:我曾经在一个项目中,为了省成本没加隔离,结果雷雨季节烧了3块主板的RS485芯片。从那以后,只要距离超过50米,或者两个设备用不同电源供电,我必加隔离。成本多20块钱,但省心一万倍。

2.4 RS232 vs RS485:一张表说清楚

参数 RS232 RS485
信号类型 单端(对地) 差分(A-B)
逻辑电平 ±3V ~ ±15V 差模±200mV ~ ±6V
共模范围 无明确要求 -7V ~ +12V
最大速率 115200bps(典型) 10Mbps(典型)
最大距离 15米 1200米
节点数 点对点(1收1发) 最多256节点(半双工)
抗干扰能力 强(共模抑制)

你想想看,RS232就像两个人面对面喊话,声音大但传不远。RS485就像两个人用对讲机,声音小但能传几公里。选哪个,看你的应用场景。

2.5 实际设计中的电平转换

现在很多MCU的UART口是3.3V或1.8V的TTL电平。要接RS232或RS485,必须加电平转换芯片。我常用的方案:

  • RS232:MAX3232(3.3V供电,自带电荷泵产生±5V)
  • RS485:MAX3485(3.3V供电,差模输出约±2V)

这里有个细节。MAX3232的电荷泵需要4个外部电容,我习惯用0.1μF的陶瓷电容。但有些廉价板子用10μF电解电容,也能工作,只是纹波大一点。嗯,能用,但不推荐。

电平转换电路设计要点:

  1. RS232的电荷泵电容尽量靠近芯片引脚,走线越短越好
  2. RS485的A/B线要加TVS管(比如SMBJ6.0A)防浪涌
  3. RS485的使能脚(RE/DE)不要悬空,否则芯片会进入不确定状态
  4. 如果总线有多个节点,建议在最后一个节点加偏置电阻(上拉A、下拉B)

好了,电气特性这块就讲这么多。记住一句话:RS232看幅度,RS485看差分,共模范围别忽视。下一节咱们聊硬件电路设计,到时候我会拿实际原理图出来拆解。