2、LIN总线物理层:电平、拓扑、节点与收发器
好,咱们进入物理层。说实话,很多工程师觉得LIN的物理层太简单,不就是一根线和地嘛?但我在项目里吃过亏,才明白物理层才是整个系统稳定性的基石。你想想看,协议栈写得再好,物理层一塌糊涂,照样收不到数据。
2.1 LIN总线电平定义
LIN总线的电平,说白了就是基于12V车载蓄电池的。它不像CAN那样用差分信号,而是单线传输。我习惯把它的电平状态分成两种:
- 显性电平(Dominant):电压接近0V,代表逻辑'0'
- 隐性电平(Recessive):电压接近12V(实际是Vbat),代表逻辑'1'
这里有个关键点:总线空闲时,默认是隐性电平。也就是说,你不发数据时,这根线应该是高电平。我曾经遇到一个项目,从节点一上电就把总线拉低了,结果主节点以为一直在接收数据,整个网络直接瘫痪。
电平参数速查表(我常用的参考值)
| 参数 | 最小值 | 典型值 | 最大值 |
|---|---|---|---|
| 隐性电平 | 0.6 × Vbat | Vbat | Vbat |
| 显性电平 | -0.3V | 0V | 0.2 × Vbat |
| 接收阈值(隐性→显性) | 0.4 × Vbat | - | 0.6 × Vbat |
嗯,这里要注意:Vbat不是固定的12V。发动机启动时可能掉到9V,发电机工作时可能升到16V。所以收发器的设计必须能适应这个范围。
2.2 LIN总线拓扑结构
LIN总线用的是单主多从的拓扑。说白了就是一条线串起来,所有节点都挂在这根线上。我参与过一个天窗项目,用了1个主节点和3个从节点,线长不到2米,非常简洁。
拓扑的几个硬性要求:
- 节点数量:最多16个(1主+15从)
- 总线长度:不超过40米
- 终端电阻:主节点需要1个1kΩ上拉电阻到Vbat
- 从节点:不需要终端电阻
我的经验:虽然规范说可以到40米,但我建议控制在10米以内。线越长,寄生电容越大,信号边沿会变缓。有一次我在实验室用20米线测试,结果波特率从20kbps降到10kbps才能稳定通信。
拓扑结构其实很简单,就是一条总线,所有节点并联。但要注意星型连接要尽量避免。为什么?因为分支会产生反射,信号质量会变差。我见过一个车门项目,因为用了星型拓扑,导致远端节点经常丢帧。
2.3 LIN总线节点类型
LIN网络里只有两种角色:主节点和从节点。这个划分非常清晰,不像CAN那样可以多主。
主节点(Master)
主节点是整个网络的大脑。它负责:
- 发送同步间隔场(Sync Break)
- 发送同步场(Sync Byte 0x55)
- 发送标识符场(PID)
- 管理调度表
- 唤醒总线
说白了,没有主节点发号施令,从节点一个字都不能说。我刚开始做LIN时觉得这太霸道了,后来发现这种设计反而简单可靠——没有总线仲裁,没有冲突。
从节点(Slave)
从节点是听话的执行者。它只能:
- 等待主节点发问
- 根据PID决定是发送还是接收
- 在指定时隙内完成响应
避坑指南:我曾经遇到一个从节点,因为晶振偏差太大(超过±2%),导致同步场解析失败。LIN的从节点必须能根据主节点发送的同步场自动校准波特率。如果你的从节点用内部RC振荡器,一定要确保校准范围足够。
2.4 LIN总线收发器
收发器是物理层的关键器件。它负责把逻辑电平转换成总线电平,反过来也一样。市面上常见的LIN收发器有TJA1020、MCP2003等。
收发器的核心功能:
- 发送:将TXD引脚的逻辑信号转换为总线上的显性/隐性电平
- 接收:将总线电平转换为RXD引脚的逻辑信号
- 斜率控制:限制信号上升/下降时间,减少EMI
- 总线故障保护:对地短路、对电源短路、总线断线等
我习惯用一个表格来对比收发器的工作模式:
| 模式 | TXD | 总线状态 | RXD |
|---|---|---|---|
| 休眠 | 高阻 | 隐性 | 高阻 |
| 待机 | 高电平 | 隐性 | 反映总线状态 |
| 发送显性 | 低电平 | 显性(~0V) | 低电平 |
| 发送隐性 | 高电平 | 隐性(~Vbat) | 高电平 |
嗯,这里有个细节:斜率控制。LIN规范要求上升/下降时间在3.5μs到22.5μs之间(20kbps时)。太快了EMI超标,太慢了信号质量差。我一般选中间值,大概10μs左右。
选型建议:
- 如果节点在发动机舱(高温环境),选耐温125°C以上的收发器
- 如果对功耗敏感(如BCM模块),选带休眠模式的收发器
- 如果总线长度超过10米,选带增强型斜率控制的型号
最后说一句,收发器的布局也很重要。我建议收发器尽量靠近LIN总线连接器,走线要短而粗。曾经有个同事把收发器放在PCB角落,走线绕了大半个板子,结果辐射发射测试直接超标。
好了,物理层就讲到这里。下一节咱们进入数据链路层,看看帧结构是怎么组织的。