作者:teemitop | 来源:互联网 | 2024-11-25 17:49
LIN(LocalInterconnectNetwork)总线是一种基于UART/SCI(通用异步收发器/串行接口)的低成本串行通信协议,主要用于汽车车身网络中智能传感器和执行器之间的通信。
LIN总线技术详解
概述
LIN(Local Interconnect Network)总线是一种基于UART/SCI(通用异步收发器/串行接口)的低成本串行通信协议。它主要用于汽车车身网络中的低端通信,特别是在智能传感器和执行器之间,这些应用场景不需要像CAN总线那样高的带宽和复杂的功能。
CAN与LIN总线的区别
在汽车网络中,LIN网络通常不单独使用,而是与上层的CAN网络结合,形成CAN-LIN网关节点,以实现更高效的网络架构。
LIN总线的主从架构
LIN总线采用单线传输,支持单主机多从机的架构,工作电压一般为12V,最大传输速率为20kbps。一个LIN网络最多可以连接16个节点。总线任务包括调度帧的传输顺序、监测数据、处理错误、提供标准时钟参考以及响应从机节点的唤醒命令。
从机节点不能主动发送数据,必须在接收到主机节点的帧头后,根据帧头信息决定是否发送应答、接收应答或忽略。
LIN总线的主要特点
LIN总线的特点包括:
1. 网络结构简单,由一个主节点和多个从节点组成。
2. 成本低廉,适合于低带宽需求的应用。
3. 传输具有确定性,传播时间可预测。
4. 具有良好的EMC(电磁兼容性)性能,最大传输速率为20kbps。
5. 支持信号配置、处理、识别和诊断功能。
LIN报文帧结构
LIN报文帧由帧头和应答两部分组成,主机负责发送帧头,从机负责接收帧头并解析,然后决定是否发送应答。帧头包括同步间隔段、同步段和PID段,应答部分包括数据段和校验和段。
同步间隔段由至少13位显性电平组成,用于标记帧的开始。同步段使用字节0x55(01010101b)进行同步,允许从机节点使用低精度时钟,并通过同步段调整时钟偏差。PID段的前6位表示帧ID,后两位为奇偶校验位。
根据帧ID的不同,LIN报文可分为信号帧、诊断帧和保留帧。
LIN总线波形分析
LIN总线通信波形
在LIN总线通信中,所有帧头均由主机节点发送。当主机节点发送数据时,整个帧由主机节点完成。当从机节点发送数据时,帧头由主机节点发送,应答部分由从机节点发送,确保所有节点都能接收到完整的报文帧。
帧类型及其应用
1. 无条件帧
无条件帧由一个固定的发布节点发送,无论信号是否变化,帧头都会被无条件应答。例如,帧ID=0x30用于从机节点向主机节点报告状态,帧ID=0x31用于主机节点向从机节点发送指令。
2. 事件触发帧
事件触发帧用于主机节点查询从机节点的信号变化。当信号变化频率较低时,使用事件触发帧可以减少带宽占用。如果多个从机节点同时变化,主机节点将通过冲突解决进度表来确定具体的从机节点。
3. 偶发帧
偶发帧用于主机节点在信号变化时发送数据。如果多个关联信号同时变化,将根据预设的优先级进行仲裁。
4. 诊断帧
诊断帧用于配置、识别和诊断,包括主机请求帧和从机应答帧。主机请求帧ID为0x3c,从机应答帧ID为0x3d,数据段固定为8字节,使用标准校验和。
5. 保留帧
保留帧ID为0x3e和0x3f,预留用于未来扩展。
进度表管理
进度表是LIN总线的调度表,定义了帧的传输顺序和时间。进度表存储在主机节点中,根据应用程序的需求进行调度。一个LIN网络可以有多个进度表,每个进度表的执行可以被中断并切换到其他进度表,例如事件触发帧的处理。
状态机实现
主机状态机
从机状态机
从机状态机负责处理帧的应答,包括同步间隔段和同步段的检查、帧处理。
从机任务状态机
帧处理任务状态机
结语
LIN总线与CAN总线是汽车网络中最重要的两种总线技术。LIN总线因其低成本和简单的架构,在车身电子控制单元(BCM)设计中广泛应用,是现代汽车电子系统的重要组成部分。