MCU、LIN收发器、LIN总线、节点,它们之间是如何协作的?
在LIN总线系统中,MCU(微控制器)、LIN收发器、LIN总线与节点通过分层协作实现数据通信。以下从硬件连接、通信流程、协议层级三方面解析它们的关系:
一、硬件连接:从个体到网络的物理架构
1. 基础单元:节点的内部组成
节点 = MCU + LIN收发器 + 外围电路
- MCU:运行应用程序,处理数据逻辑(如传感器采样、控制算法)。
- LIN收发器(如TJA1020):实现TTL/CMOS电平与LIN总线电平的转换。
- 外围电路:包括终端电阻(主节点内置1kΩ)、滤波电容、电源稳压器。
2. 网络拓扑:节点连接到LIN总线
主节点(MCU+收发器) ─── LIN总线(单线) ─── 从节点1(MCU+收发器) ─── 从节点2(...)
- 总线特性:
- 单线传输(LIN_H),通过上拉电阻连接到电源(通常12V)。
- 总线长度≤40米,支持最多16个节点(1主+15从)。
- 终端电阻:
仅主节点内置1kΩ电阻,用于匹配总线阻抗,确保信号质量。
二、通信流程:数据从产生到传输的完整路径
1. 主节点发送数据(控制命令)
2. 从节点响应数据(状态反馈)
三、协议层级:从比特到应用的分层协作
1. 物理层(LIN总线与收发器)
- 信号传输:
- 显性(逻辑0):LIN_H≈0V(收发器拉低)。
- 隐性(逻辑1):LIN_H≈VBAT/2(通过上拉电阻)。
- 波特率:标准19.2kbps,收发器负责将MCU的UART信号转换为总线电平。
2. 数据链路层(MCU与收发器协作)
- 帧格式处理:
- MCU生成/解析帧头(同步场+PID)、数据场、校验和。
- 收发器仅负责信号转换,不参与协议解析。
- 错误检测:
- MCU计算校验和,验证帧完整性;收发器检测总线显性超时等物理层错误。
3. 应用层(节点间的功能分工)
- 主节点职责:
- 管理调度表,按固定周期发送帧头。
- 接收从节点响应,协调网络通信。
- 从节点职责:
- 监听总线,识别属于自己的PID。
- 根据配置发送或接收数据(如温度传感器节点发送温度值)。
四、关键协作机制
1. 休眠与唤醒
- MCU控制收发器休眠:
发送低电平到收发器的STB引脚,进入低功耗模式(电流<1μA)。 - 唤醒流程:
- 任一节点的MCU拉高STB引脚,驱动LIN_H线显性电平≥250ms。
- 总线上所有收发器被唤醒,通知各自MCU。
- 主节点MCU重新启动调度表。
2. 错误处理
- 硬件保护:
收发器检测总线短路、过压等故障,自动断开或限制电流。 - 软件恢复:
MCU检测到校验和错误时,重发帧或设置故障标志(如OBD故障码)。
3. 时间同步
- 主节点调度:
主节点按调度表严格控制帧发送时间(如每10ms发送一帧)。 - 从节点跟随:
从节点通过接收同步场(0x55)校准本地时钟,确保位采样点准确。
五、实际应用示例
场景:汽车车门模块(从节点)与中央控制器(主节点)通信
- 数据采集:
车门MCU读取门锁状态(开/关)和车窗位置传感器数据。 - 帧封装:
车门MCU将数据封装到帧中(如PID=0x24),通过UART发送到LIN收发器。 - 总线传输:
收发器将数据转换为总线信号,在主节点调度的对应时隙发送。 - 中央控制器接收:
主节点MCU解析数据,更新仪表盘显示或触发其他动作(如防盗报警)。
六、总结:四层协作模型
- MCU:执行应用逻辑,实现协议栈(如生成帧、解析信号)。
- LIN收发器:实现电平转换、总线驱动与保护。
- LIN总线:提供物理传输介质,定义信号电平标准。
- 节点:作为独立通信实体,通过总线交换数据,共同构成分布式控制系统。