2、物理层基础:RS-485总线特性、差分信号原理、总线拓扑结构与终端匹配

各位工程师朋友,咱们今天聊聊地铁车门通信的物理层。说白了,就是信号在线上怎么跑、怎么保证它不跑偏。我做了十几年轨道交通通信,发现很多现场问题都出在物理层——协议写得再漂亮,线没布好,一切白搭。

2.1 RS-485总线特性:为什么是它?

地铁车门系统为什么选RS-485?不是没有原因的。我参与的第一个车门项目,当时有人提议用CAN总线,后来发现成本压不住。RS-485的优势很明显:

  • 差分传输:抗干扰能力强,适合地铁这种电磁环境复杂的地方
  • 多节点能力:一条总线上最多挂32个节点(标准负载),车门系统一般8-12个门,绰绰有余
  • 传输距离:1200米以内没问题,一节车厢才20多米,留足了余量
  • 成本低廉:一对双绞线就能干活,接口芯片几块钱

关键参数速查表

参数典型值说明
工作电压5V / 3.3V视驱动芯片而定
差分电压±1.5V ~ ±5VA-B 电压差
共模电压范围-7V ~ +12V抗共模干扰能力
数据速率最高10Mbps车门系统常用9600~115200bps
节点数32(标准)可扩展至256(半负载)

嗯,这里要注意:地铁车厢里电机启停、逆变器开关都会产生强干扰。RS-485的共模抑制能力正好派上用场。我记得有一次在调试现场,示波器一挂上去,共模噪声有8V多,但差分信号纹丝不动——这就是差分传输的魅力。

2.2 差分信号原理:两根线怎么传数据?

RS-485用两根线:A线(非反相)和B线(反相)。数据不是靠对地电压,而是靠A和B之间的电压差。

  • 逻辑1:A - B > +200mV(通常A高B低)
  • 逻辑0:A - B < -200mV(通常A低B高)

为什么会这样设计?你想想看,如果外界来了一个共模干扰,两根线上同时抬高了5V,但它们的差值没变。这就好比两个人同时被风吹了一下,但他们的相对位置没变——信息还在。

我的经验:在车门控制器设计时,A和B线一定要等长、等距布线。我曾经见过一个板子,A线走了10cm,B线走了15cm,结果信号反射严重,波特率一上38400就丢包。后来改成等长走线,问题解决。

差分信号的另一个好处是:不需要公共地。两根线自成回路,这对地铁这种长距离传输特别友好。你想想,一节车厢到另一节车厢,地电位可能差好几伏,单端信号根本没法用。

2.3 总线拓扑结构:怎么连才靠谱?

RS-485推荐的是手拉手(菊花链)拓扑。每个节点从总线引出分支,分支线越短越好。

避坑指南:千万不要用星型拓扑!我曾经在一个项目中,现场施工图省事,把8个车门控制器用星型接法连到主控器。结果信号反射得一塌糊涂,1200bps都跑不稳。后来全部改成手拉手,9600bps稳如老狗。

正确的拓扑结构是这样的:

主控器 ──┬── 门控器1 ──┬── 门控器2 ──┬── ... ──┬── 门控器N
         │             │             │                  │
         └─────────────┴─────────────┴──────────────────┘
         (双绞线贯穿所有节点,分支尽量短)

分支线长度建议控制在30cm以内。如果实在没办法,分支超过1米,就要考虑加中继器或降低波特率。

2.4 终端匹配:为什么要在两头加电阻?

信号在线上跑,遇到阻抗突变就会反射。反射回来的信号和原信号叠加,轻则波形畸变,重则误码丢包。

终端匹配电阻的作用,就是把线路末端的阻抗匹配到特性阻抗,让信号「吃」掉而不是「弹」回来。

匹配电阻计算

RS-485常用双绞线的特性阻抗约为120Ω。所以终端匹配电阻也取120Ω,跨接在A和B之间。

公式:Rterm = Z0(特性阻抗)

实际取值:120Ω ± 1%

注意:只在总线两端各加一个,中间节点不要加。我见过有人每个节点都焊了120Ω电阻,结果总线负载太重,驱动芯片发热严重,信号幅度也掉下来了。

我的习惯:在项目初期,我会用示波器看总线波形。如果信号上升沿有振铃,或者下降沿有台阶,十有八九是终端匹配没做好。调好匹配电阻后,波形应该干净利落,像刀切一样。

2.5 偏置电阻:让总线空闲时有个确定状态

RS-485总线空闲时,所有驱动器都处于高阻态。这时候总线电压是浮空的,很容易被外界干扰误触发。

解决办法:在总线上加偏置电阻,让空闲时A线比B线高200mV以上,保证逻辑1状态。

典型偏置电路:
VCC ── R1 ──┬── A线
             │
            Rterm (120Ω)
             │
GND ── R2 ──┴── B线

R1 = R2 ≈ 680Ω ~ 1kΩ(视VCC和节点数调整)

偏置电阻一般加在主控器端,和终端匹配电阻配合使用。我建议在项目调试阶段先不加偏置,等波形调好了再加,这样能分清问题是出在匹配还是偏置上。

2.6 接地问题:屏蔽层怎么接?

地铁车门系统用的通常是屏蔽双绞线。屏蔽层怎么接地,这是个老生常谈的问题。

  • 单点接地:屏蔽层只在主控器端接地,其他节点不接
  • 避免多点接地:如果两端都接地,地环路会引入工频干扰
  • 接地电阻:通过1MΩ电阻和0.1μF电容并联接地,既泄放静电,又阻断地环路

我曾经踩过的坑:在某地铁线路调试时,车门偶尔会莫名其妙地开关一次。查了三天,最后发现是屏蔽层在两端都接了地,地环路感应了50Hz工频干扰,被误识别成数据信号。改成单点接地后,再也没出现过。

2.7 实际项目中的检查清单

每次做车门通信系统调试,我都会按这个清单过一遍:

  1. 拓扑检查:是不是手拉手?分支线有没有超过30cm?
  2. 终端匹配:两端各有一个120Ω电阻吗?中间节点有没有误加?
  3. 偏置电阻:空闲时A-B电压在200mV以上吗?
  4. 屏蔽接地:是单点接地吗?接地点选对了吗?
  5. 波形检查:用示波器看,信号上升沿有没有振铃?下降沿有没有台阶?
  6. 共模电压:A线和B线对地的共模电压在-7V~+12V范围内吗?

嗯,物理层的东西看着简单,但往往是整个系统最薄弱的环节。我见过太多协议栈写得完美、物理层一塌糊涂的项目。记住一句话:物理层稳了,上层协议才有意义

下一章咱们聊聊数据链路层,看看报文是怎么组帧、怎么保证不丢包的。到时候再细聊。