LIN 入门
概要
本资料面向 LIN 总线初学者,对什么是 LIN,LIN 的特征,物理层、协议层及应用层相关规定进行说明。
本资料主要是针对 LIN2.1 讲解。
使用注意事项
本资料对 LIN 协会所提出的 LIN 总线的概要及协议进行了归纳,可作为实际应用的参考资料,对于具有
LIN 功能的产品不负任何责任。
R01AN0348CC0100_AUTOMOTIVE Rev.1.00
2010.10.25
Page 1 of 76
LIN 入门
目录
概要.......................................................................................................................................................... 1
使用注意事项............................................................................................................................................. 1
1. LIN是什么? ......................................................................................................................................... 4
1.1 LIN子网(Cluster)与节点(Node) ............................................................................................................ 5
1.2 主/从机节点与主/从机任务.................................................................................................................. 7
2. LIN的特点 ............................................................................................................................................. 8
3. LIN协议层 ............................................................................................................................................. 9
3.1 帧的结构 ............................................................................................................................................. 9
3.1.1 同步间隔段(Break Field) ................................................................................................................... 9
3.1.2 同步段(Sync Byte Field) .................................................................................................................. 10
3.1.3 受保护ID段(Protected Identifier Field).............................................................................................. 11
3.1.4 数据段(Data Field)........................................................................................................................... 12
3.1.5 校验和段(Checksum Field) .............................................................................................................. 13
3.1.6 帧传输时间的计算.......................................................................................................................... 14
3.1.7 帧在总线上的传输波形................................................................................................................... 15
3.2 帧的类型 ........................................................................................................................................... 16
3.2.1 无条件帧(Unconditional Frame) ....................................................................................................... 16
3.2.2 事件触发帧(Event Triggered Frame)................................................................................................. 16
3.2.3 偶发帧(Sporadic Frame)................................................................................................................... 17
3.2.4 诊断帧(Diagnostic Frame)................................................................................................................ 18
3.2.5 保留帧(Reserved Frame) .................................................................................................................. 18
3.3 进度表(Schedule)............................................................................................................................... 19
3.4 状态机(State Machine)实现 ................................................................................................................ 21
3.4.1 主机任务的状态机.......................................................................................................................... 21
3.4.2 从机任务的状态机.......................................................................................................................... 21
3.5 网络管理 ........................................................................................................................................... 23
3.5.1 唤醒................................................................................................................................................ 23
3.5.2 休眠................................................................................................................................................ 24
3.6 状态管理 ........................................................................................................................................... 25
3.6.1 网络报告 ........................................................................................................................................ 25
3.6.2 节点内部报告 ................................................................................................................................. 25
4. 帧收发的硬件实现 ............................................................................................................................... 26
4.1 组成 .................................................................................................................................................. 26
4.2 LIN的硬件特点 ................................................................................................................................. 27
4.3 协议控制器 ....................................................................................................................................... 28
4.3.1 实现方案 ........................................................................................................................................ 28
4.4 总线收发器 ....................................................................................................................................... 29
4.4.1 实现方案 ........................................................................................................................................ 29
4.5 LIN总线 ............................................................................................................................................ 30
4.6 时钟源............................................................................................................................................... 31
4.7 EMI及其控制 .................................................................................................................................... 32
4.8 设计电路时的注意事项 ..................................................................................................................... 33
4.8.1 工作环境对时钟的影响................................................................................................................... 33
R01AN0348CC0100_AUTOMOTIVE Rev.1.00
2010.10.25
Page 2 of 76
LIN 入门
4.8.2 端接阻抗和总线负载 ...................................................................................................................... 33
4.8.3 ESD防护......................................................................................................................................... 34
4.8.4 兼容性 ............................................................................................................................................ 34
4.9 参考资料 ........................................................................................................................................... 35
5. 信号处理、配置、识别和诊断 ............................................................................................................. 36
5.1 传输层............................................................................................................................................... 36
5.1.1 PDU结构 ........................................................................................................................................ 36
5.1.2 传输层通信..................................................................................................................................... 38
5.2 LIN应用层......................................................................................................................................... 39
5.2.1 概述................................................................................................................................................ 39
5.2.2 信号处理功能 ................................................................................................................................. 40
5.2.3 配置功能 ........................................................................................................................................ 40
5.2.4 识别功能 ........................................................................................................................................ 44
5.2.5 诊断功能 ........................................................................................................................................ 45
5.3 参考资料 ........................................................................................................................................... 48
6. LIN的API............................................................................................................................................. 49
6.1 什么是API? ..................................................................................................................................... 49
6.2 LIN的API .......................................................................................................................................... 50
6.3 核心API ............................................................................................................................................ 51
6.4 传输层API......................................................................................................................................... 52
6.5 配置与识别API.................................................................................................................................. 53
6.6 注意事项 ........................................................................................................................................... 54
6.6.1 兼容性 ............................................................................................................................................ 54
6.6.2 开发工具 ........................................................................................................................................ 54
6.7 API使用示例 ..................................................................................................................................... 56
6.7.1 从机节点初始化.............................................................................................................................. 56
6.7.2 从机节点主程序.............................................................................................................................. 57
6.8 参考资料 ........................................................................................................................................... 60
7. 工作流 ................................................................................................................................................. 61
7.1 节点性能文件.................................................................................................................................... 62
7.1.1 节点性能文件举例说明................................................................................................................... 63
7.2 LIN描述文件 ..................................................................................................................................... 65
7.2.1 LIN描述文件举例说明.................................................................................................................... 67
公司主页和咨询窗口 ................................................................................................................................ 75
修订记录 .................................................................................................................................................. 76
R01AN0348CC0100_AUTOMOTIVE Rev.1.00
2010.10.25
Page 3 of 76
LIN 入门
1. LIN 是什么?
LIN 是 Local Interconnect Network 的缩写,是基于 UART/SCI(Universal Asynchronous Receiver-Transmitter /
Serial Communication Interface,通用异步收发器/串行通信接口)的低成本串行通信协议。可用于汽车、家电、办
公设备等多种领域。本文主要针对 LIN 在分布式的汽车电子网络系统中的应用。
1996 年,Volvo和Volcano通讯(VCT)为Volvo S80 系列开发了一种基于UART/SCI的协议,即Volcano Lite。
1997 年,Motorola与Volvo和VCT合作,帮助它们改进Volcano Lite协议以满足各种不同需求(比如无需晶振的从
机设备自动同步),并制定可以支持各种半导体产品的开放标准。1998 年 12 月,Audi、BMW、Daimler Chrysler
和Volkswagen也加入进来,由此形成了LIN协会(http://www.lin-subbus.org)。开发LIN标准的目的在于适应分层次
车内网络在低端(速度和可靠性要求不高、低成本的场合)的需求。LIN经历了几个版本的发布和更新,如表 1.1
所示。
表 1.1 LIN 协议历史
发布时间
1999/07
2000/03
2000/11
2002/12
2003/09
2006/11
版本
1.0 版发布。
1.1 版发布。
1.2 版发布。
1.3 版发布,主要对物理层进行修改,提高了节点之间的兼容性。
2.0 版发布,支持配置和诊断的标准化,规定了节点性能文件等。
2.1 版发布,澄清了部分内容,修正了配置部分,将传输层和诊断部分独立成章。
图 1.1 为 LIN 在汽车中的应用,主要用于车身系统。
图 1.1 LIN 在汽车中的应用
R01AN0348CC0100_AUTOMOTIVE Rev.1.00
2010.10.25
Page 4 of 76
LIN 入门
1.1 LIN 子网(Cluster)与节点(Node)
图 1.2 LIN 的典型应用示例
图 1.2 为一典型的车载 LIN 通信子网(注 1),黄色方块为 LIN 的从机节点,蓝色方块为 LIN 的主机节点,
一个节点即一个 LIN 接口(注 2)。LIN 网络与主干线 CAN(Controller Area Network,控制器局域网)总线相连时,
需要加入 CAN-LIN 网关,一般由主机节点来充当。LIN 与上层网络相连时的示意图参照图 1.3。
注:1. 由于 LIN 网络在汽车中一般不独立存在,经常与上层网络(如 CAN)相连,因此子网的概念是相对于上层
网络而言。在不强调与上层网络相连的情况下,后面也称作 LIN 网络。
2. 一个节点不一定对应一个 ECU(Electronic Control Unit,电子控制单元),因为一个 ECU 可能提供多个
LIN 接口,并且这些接口可能连接到不同的 LIN 通信子网中。
CAN总线
CAN-LIN网关
(一般由主机节点充当)
LIN总线
从机节点1
从机节点2
从机节点3
图 1.3 LIN 与上层网络连接示意图
节点可以抽象为如图 1.4 所示。
R01AN0348CC0100_AUTOMOTIVE Rev.1.00
2010.10.25
Page 5 of 76
LIN 入门
API
协议层
物理层
节点
应用程序
传输层
信号处理
帧处理
LIN总线
图 1.4 LIN 节点的构成
节点应用层向下层传输信号和消息。信号和消息位于帧中的数据段,是节点向其他节点传达的实质信息。
它们之间的区别在于信号封装于信号携带帧 (帧 ID 范围在 0x00~0x3B 之间,参照 3.1.3 节表 3.1)中,用于在运
行状态传递上层发生的事件,如温度传感器的测量结果等。消息封装于诊断帧(帧 ID 为 0x3C 或 0x3D,参照 3.1.3
节表 3.1)中,是有固定格式、最大长度不超过 4095 字节的信息,例如第 5 章介绍的服务请求。应用程序通过信
号处理实现信号的传递,通过传输层实现消息的传递。
R01AN0348CC0100_AUTOMOTIVE Rev.1.00
2010.10.25
Page 6 of 76
LIN 入门
1.2 主/从机节点与主/从机任务
LIN 的拓扑结构为单线总线,应用了单一主机多从机的概念。总线电平为 12V,传输位速率(Bitrate)最高为
20kbps。由于物理层限制,一个 LIN 网络最多可以连接 16 个节点,典型应用一般都在 12 个节点以下,主机节
点有且只有一个,从机节点有 1 到 15 个。
主机节点(Master Node)包含主机任务(Master Task)和从机任务(Slave Task),从机节点(Slave Node)只包含从
机任务,如图 1.5 所示。
主机节点
主机任务
从机任务
从机节点
从机节点
从机节点
从机任务
从机任务
…
从机任务
1~15个从机节点
图 1.5 LIN 总线拓扑图
主机任务负责:
(1) 调度总线上帧的传输次序;
(2) 监测数据,处理错误;
(3) 作为标准时钟参考;
(4) 接收从机节点发出的总线唤醒命令。
从机任务不能够主动发送数据,需要接收主机发送的帧头(帧的起始部分,参照 3.1 节的图 3.1),根据帧头
所包含的信息(这里指帧 ID,详细内容参照 3.1.3 节)判断:
(1) 发送应答(帧中除帧头外剩下的部分,参照 3.1 节的图 3.1);
(2) 接收应答;
(3) 既不接收也不发送应答。
R01AN0348CC0100_AUTOMOTIVE Rev.1.00
2010.10.25
Page 7 of 76
LIN 入门
2. LIN 的特点
LIN 具有以下特点:
(1) 网络由一个主机节点和多个从机节点构成。
(2) 使用 LIN 可以大幅度的削减成本,表现在以下方面:
● 开放型规范:规范可以免费从官方网站获得。
● 硬件成本削减:基于普通 UART/SCI 接口的低成本硬件实现,无需单独的硬件模块支持;从机节点无需
高精度时钟就可以完成自同步;总线为一根单线电缆。
● 装配成本削减:LIN 采用了工作流(Work Flow)和现成节点(Off-the-shelf Node)的概念,将网络装配标准
化,并可通过 LIN 传输层进行再配置。
● 缩短软件开发周期:LIN 协议将 API(Application Programming Interface,应用编程接口)标准化。
(3) 信号传输具有确定性,传播时间可以提前计算出,参照 3.1.6 节。
(4) LIN 具有可预测的 EMC(ElectroMagnetic Compatibility,电磁兼容性)性能,参照 4.7 节。为了限制
EMI(ElectroMagnetic Interference,电磁干扰)强度,LIN 协议规定最大位速率为 20kbps。
(5) LIN 提供信号处理、配置、识别和诊断四项功能,参照 5.2.1 节的图 5.2。
R01AN0348CC0100_AUTOMOTIVE Rev.1.00
2010.10.25
Page 8 of 76