一、LIN总线概述
1、什么是LIN总线
LIN(Local Interconnect Network)即局部连接网络,也被称为“局域网子系统”即LIN总线是CAN总线网络下的子系统,车上各个LIN总线系统之间的数据交换是由控制单元通过CAN数据总线实现的
LIN总线是一种辅助的串行通信总线网络,多用于不需要CAN总线的带宽和多功能的场合,LIN的目标是为现有汽车网络(例如CAN总线)提供辅助功能
LIN典型的应用是车上传感器和执行器的联网,LIN属于汽车上的A级网络。
2、LIN总线的特点
(1)工作方式:LIN总线为单主/多从方式
(2)数据传输线:LIN总线为单线传输
(3)工作电压:LIN总线为12V
(4)传输速率:LIN总线最高为20kb/s,属于低速总线(A类)
(5)传输距离:LIN总线最长为40m
(6)LIN总线无需仲裁
(7)传输的数据长度:LIN总线一帧信息中数据长度为2、4或8B
(8)标识符的位数:LIN总线有6位标识符
(9)节点数:LIN总线一般不超过16个
(10)传输线的颜色:LIN总线主色为紫色
3、LIN总线的优点
(1)在LIN系统中,加入新节点时,不需要其它从节点作任何软件或硬件的改动
(2)整个网络的配置信息只包含在主节点中,从节点可以自由地接入或脱离网络而不会影响网络中的通信LIN的网络结构
(3)从节点不需振荡器就能实现同步,节省了多个控制器部件的硬件成本
(4)基于通用UART接口,几乎所有微控制器都具备LIN必需的硬件,价格低廉、结构简单
二、LIN总线的结构原理
1、LIN总线的网络结构
一个主节点,主节点可以执行主任务(引起LIN网络通信)也可以执行从任务,总线上的信息传送由主节点控制。主节点连接在CAN数据总线上
多个从节点,从节点只能执行从任务。
奥迪A6L轿车LIN总线内部组成示意图
2、主节点(主控制单元)
LIN总线主控单元监控数据传递及其速率,发送信息标题
主控制单元的软件内已设定了一个周期,这个周期用于决定何时将哪些信息发送到LIN数据总线上多少次
该控制单元在LIN数据总线与CAN总线之间起沟通作用(“翻译”),它是LIN总线系统中唯一与CAN数据总线相连的控制单元
通过LIN主控制单元进行与之相连的LIN从控制单元的自诊断
3、从节点(从控制单元)
接收、传递或忽略与从主节点接收到的主任务(起始报文/信息标题)相关的数据
可以通过一个“叫醒”信号,唤醒主节点
检查所接收数据总量和所发送数据的总量
同主节点的同步字节保持一致
只能按照主节点的要求同其他从节点进行数据交换
注意:只有当LIN主节点发送出主任务(起始报文或信息标题)后,从节点才会反应
奥迪A6L轿车CAN LIN总线与从控制器示意图
4、LIN总线的物理结构
三、LIN总线报文帧的类型
无条件帧:
携带数据信息;
事件触发帧:
处理偶发的事件
偶发帧:
保证在调度表确定性的条件下为系统动态行为的灵活性而设定的
上述3中帧的报文标识符的范围为0~59(0x3b)
诊断帧(命令帧、应答帧):
携带8个字节的诊断信息或组态信息,主节点诊断请求帧的标识符为60(0x3c),从节点诊断应答帧的标识符为61(0x3d)
用户自定义帧:
可携带用户自定义的任何信息,标识符为62(0x3e),在调度时可给用户自定义帧分配报文帧时隙,每当时隙到来时发送用户自定义帧的帧头
保留帧:
保留帧标识符63(0x3f),在LIN2.0中没有被使用
报文传输是由报文帧的格式表示和控制。
四、报文帧格式
一个主机节点发送的报文头;
一个主机或从机节点发送的响应组成。
报文头包含同步间隙、同步字节和报文标识符(0~63)
响应报文由1-9个字节构成:
其中2、4或8个字节的数据场和1个校验和场。
报文帧之间有帧间间隔分隔;
报文与响应之间有帧内响应空间分隔;
最小帧间间隔和帧内响应空间均为0;
最大长度收到报文帧的最大长度FRAME_max限制。
1、字节场
每一个字节场的长度由10个定时位定时(BIT TIME);
起始位(START BIT)是一个“显性”位,标志字节的开始;
8为数据位,先发送最低位;
停止位(STOP BIST)是一个“隐性”位,标志着字节场的结束。
2、报文头(HEADER FIELDS)
A、同步间隔(synchronisation break)
作用:
标识报文的开始,由主节点发送;使得所有的从机任务和总线时钟信号同步。
同步间隔:
至少13bit的显性位,之后紧随至少1bit隐性值的同步界定符。
同步界定符的作用:
用来检测接下来的同步域(Synch Field)的起始位。
B、同步场(SYNCH FIELD)
包含了时钟的同步信息。格式为0x55,表现为8个位定时中有5个下降沿(隐性到显性的跳变)
C、标识符场(IDENTIFIER FIELD)
6个标识符位(ID0~ID5)和2个标识符奇偶校验位(P0 P1);
ID4和ID5定义了数据场的数据长度;
3、数据场(DATE FIELDS)
由多个8位的字节场组成,传输由LSB开始
4、校验和场(CHECK SUM FIELDS)
校验和域是数据域所有字节的和的反码。
校验和按“带进位加(ADDC)”方式计算,每个进位都被加到本次结果的最低位(LSB)。这就保证了数据字节的可靠性。
所有数据字节的和的补码与校验和字节之加的和必须是“0xFF”。
五、命令帧
0x3C(ID 60)表示主节点请求帧(诊断帧),以便从主节点向从节点发送命令和数据。
0x3D(ID 61)表示从响应帧,该帧触发从节点向主节点发送数据。
过程:
标识符为0x3c一个的“主机请求帧”,主机向从机发送数据和命令;标志符为0x3dD的“从机相应帧”触发一个从机向主机发送数据。
命令帧中的第一个数剧场为0x00~0x7F, 其用法由LIN协会定义;
剩下的命令帧用户可以自行分配.
1、睡眠模式命令
总线有两种状态:
睡眠模式:从主节点发送睡眠模式命令后到总线上出现唤醒信号结束,没有任何总线活动的这种模式。
唤醒模式:被唤醒信号唤醒之后的总线处于唤醒模式,可以有总线活动。
睡眠模式命令:
是第一个数据字节为0x00的命令帧
总线的睡眠模式可以通过任何节点的从任务发送一个唤醒帧来终止。
2、唤醒过程
某一个节点的从任务发送唤醒信号后,所有的节点都运行启动过程
并等待主机任务发送一个同步间隔场和同步场;
若等待超时(TIME_OUT),请求第一个唤醒信号的节点再一次发送新的唤醒信号;
上述情况最多出现3次,此后,若还没将总线唤醒,则等待3个TIME_OUT时间,再发送唤起信号。
六、用户自定义帧
0x3E(ID 62)表示用户定义的扩展帧,后跟任意数量的数据字节。
0x3F(ID 63)预留供将来使用。
七、LIN总线的报文长度
报文帧以一个同步间隔作为开始,以校验和域作为结束。
报文帧中的字节域用字节间空间和帧内响应空间分隔。
字节间空间和帧内响应空间的长度没有定义,但限制了整个报文帧的长度。
最小的帧长度TFRAME_MIN是传输一个帧的所需要的最小时间(字节间空间和帧内响应空间应为0);
最大的帧长度TFRAME_MAX是传输一个帧的最大时间。
八、LIN的报文滤波和确认
1、报文滤波
LIN的报文滤波是基于标识符的,即每一个从机任务对应一个传送标识符。
说明:用户通过网络配置保证任务和标识符间的对应关系
2、报文确认
如果直到帧的末尾均没有检测到错误,则此报文对于发送器和接收器都有效。
如果报文发生错误,则主机和从机任务都认为报文没有发送。
注意:主机任务和从机任务在发送和接收到一个错误报文时所采取的措施,并没有在协议规范中定义。像主机重新发送或从机的后退操作都由用户按照应用要求在应用层程序中来实现,这些需要用户在应用层中说明
九、LIN错误和异常处理:
1、错误检测
A、位错误:
节点在发送时也监控总线,当监控到的位的值与发送的位的值不同时,则在这个位时间内检测到一个错误。
B、校验和错误:
所有数据字节的和的补码与校验和之和不是“0xFF”,则检测到校验和错误。
C、标识符奇偶错误
所有的从机节点都能区分 ID 场中 8 位都已知的标识 符和一个已知但错误的标识符。
D、从机不响应错误
如果任何主机任务在发送同步场和标识符后,在最大长度时间内TFRAME_MAX中没有完成报文帧 的发送,则产生一个不响应错误。
E、同步场不一致错误
当从机检测到同步场的边沿在给出的容差外,则检测到一个同步场不一致错误。
F、没有总线活动
如果在接收到最后的一个有效信息后,在Ttime_out时间内没有检测到有效的同步间隔场和字节场,则检测到一个没有总线活动错误。
2、故障界定
故障界定主要依靠主节点,使它可以处理尽量多的错误检测、错误回复和诊断。故障界定基于系统的要求,不是LIN协议内容。
主机控制单元要检测以下错误状态:
主机任务发送:
当回读自己的发送时,在同步或标识符字节中的位错误、标识符奇偶错误和没有总线活动错误需要被检测。
主机节点的从机任务:
当期望或读取来自总线上的数据时,从机不响应错误和校验和错误被检测。
从机控制单元需检测以下错误情况:
从机任务发送:当回读自己的发送时,数据或校验和场中的位错误被检测。
从机任务接受:当从总线读取数据时,标识符奇偶错误和校验和错误需被检测。
十、汽车上LIN总线的应用
现以车门LIN网络为例介绍LIN总线设计的一般方法。
车门控制LIN网络的结构及其在车门上的布置如右图所示,该网络由主机节点、后视镜从机节点、摇窗机从机节点、门锁从机节点构成。
车门控制LIN网络
主机节点
从机节点
主机节点采集本地各控制开关的状态并接受CAN总线上的远程信息,据此产生控制指令,并将指令转换为LIN报文帧通过LIN网络发送给相应从机节点,从机节点接收到与自己相关的报文帧后对报文帧进行拆封、解读,然后根据获得的指令控制相应的执行器动作,从而实现对车门各部件的控制。同时,在需要时从机节点分别将其控制部件所处状态反馈给主机节点,主机节点再将该状态信息通过指示灯或喇叭提供给驾驶员或通过CAN总线发送给其他控制单元。主机节点也作为本LIN网络与上层CAN网络连接的网关。
主机节点主要由控制器、电源、控制按钮、LIN接口、CAN接口和指示灯几部分组成。
后视镜从机节点主要由控制器、电源、LIN接口、执行器驱动单元和执行器如后视镜调整电机、除霜加热器等组成。