LIN(Local Interconnect Network)总线
Posted bobuddy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LIN(Local Interconnect Network)总线相关的知识,希望对你有一定的参考价值。
1、简介
1)LIN(Local Interconnect Network)总线是基于UART/SCI(通用异步收发器/串行接口)的低成本串行通讯协议。主要用于网络宽带、性能没有过高要求的汽车功能模块:如车窗,天窗等模块。
2) LIN网络在汽车中一般不独立存在,通常会与上层CAN网络相连,形成CAN-LIN网关节点。
3)LIN总线采用的是单线传输形式,应用了单主机多从机的概念,总线电平一般为12V,传输速率最高限制为20kbps。由于物理层的限制,一个LIN网络最多可以连接16个节点 。
4)从机任务不能直接向总线发送数据,需要接收到主节点发送的帧头后,根据帧头所包含的信息来判断是否回复响应。
2、特点
1)网络由一个主节点与若干个从节点构成
2)使用LIN总线可以大幅度削减成本
3)传输具有确定性,传播时间可以提前计算
4)为了限制EMC的强度,LIN协议规定最大传输速率为20kbps
5)LIN总线提供信号的配置、处理、识别和诊断功能
3、隐性电平和显性电平
其中值“0”为显性电平、“1”为隐性电平。其实为“与”的操作:
1)当总线有至少一个节点发送显性电平时,总线呈现显性电平
2)所有节点均发送隐性电平或者不发送信息时,总线呈隐性电平
3)帧中的所有间隙或者总线空闲时总线均保持隐性电平状态
4、LIN报文帧结构
1)LIN报文帧包括帧头(hearder)与应答(response)两部分。主机负责发送至帧头;从机负责接收帧头并作出解析,然后决定是发送应答,还是接收应答或不回复
2)帧头结构包括同步间隔段、同步段、PID段(受保护ID)段,应答部分包括数据段与效验和段。
a.同步间隔段:
1、所有节点均发送隐性电平或者不发送信息时,总线呈隐性电平
2、同步间隔段可以标志一个帧的开始
3、同步间隔段的间隔符至少为1位隐性电平
b.同步段:
LIN同步以下降沿为判断标志,采用字节0x55(01010101)进行同步
c.PID(帧ID):
LIN总线根据帧ID号的不同,把报文分为信号携带帧、诊断帧、保留帧。帧ID的取值范围为0x00~0x3f总共64个。
d.数据段:
1、包含1-8个字节,其中包含有两种数据类型,信号(singal)和诊断消息(diagnostic messages)
2、协议中并没有规定哪一部分显示数据长度码的信息(这点与CAN总线不同),数据的内容与长度均是由系统设计者根据帧ID事先约定好的
3、低字节先发,低位先发。如果某信号长度超过1个字节采用低位在前的LSB方式发送(小端)
e.效验和段
效验和段是为了对帧传输内容进行效验。效验分为标准型效验与增强型效验
5、LIN总线波形
1) 帧头总是由主机节点发送,当主机节点同时发送数据时,整个帧全部由主机节点发送
2)当从机节点发送数据时,帧头部分由主机节点发送,应答部分由从机节点发送
6、LIN总线报文帧类型
1)无条件帧(Unconditional Frame)
无任何发送条件,标识符(ID)为0到59(0x3B),由主任务发出报头,一个任务响应,一个或多个任务接收
2)事件帧(Event Frame)
3)诊断帧(Diagnostic Frames)
用来传输诊断或配置信息,一般包含8个字节。
60(0x3C):主节点请求(request)帧
61(0x3D):从节点响应(reponse)帧
4)零星帧(Sporadic Frame)
5)保留帧(Reserved Frame)
7、调度表
1)负责调度网络各报文发送的顺序
2)为每帧报文分配发送时隙(slot)
3)发送时隙:报文可以被发送的时间,不同报文的发送时隙可能不同
4)调度表在网络系统设计阶段确定,使得LIN通信具有可预测性
8、睡眠与唤醒
1)睡眠指令只有主节点可以发送,从节点在接到睡眠指令之后,也可以选择不进入睡眠状态而继续工作,这根据应用层协议而定
2)在一个处于睡眠状态的LIN网络中,任何一个节点都可以发送唤醒信号。唤醒信号是一个250us(在20Kbit/s波特率下的0x0F)到5ms(在1Kbit/s波特率下的0x0F)的显性电平
以上是关于LIN(Local Interconnect Network)总线的主要内容,如果未能解决你的问题,请参考以下文章
bzoj1417: Pku3156 Interconnect
bzoj1417: Pku3156 Interconnect