汽车LIN总线协议设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
总线有两种状态: 睡眠模式:从主节点发送睡眠模式命令后到总线上出现唤醒信号结束, 没有任何总线活动的这种模式。 唤醒模式:被唤醒信号唤醒之后的总线处于唤醒模式,可以有总线活 动。 睡眠模式命令: 是第一个数据字节为0x00的命令帧 总线的睡眠模式可以通过任何节点的从任务发送一个唤醒帧来终止。
通信确定性。
报文的数据长度可变。
采用奇偶校验和求和校验相结合的双重校验机制。
LIN网络由数据链路层和物理层构成 数据链路层
逻辑链路控制子层(LLC) 报文滤波、恢复管理、报文确认等 媒体访问控制子层(MAC) 是LIN的核心 对来自LLC的报文封装串行化; 对来自物理层的数据进行解串、错误 检测、错误标定等操作; 由故障界定管理实体进行监控;
同步机制简单
LIN通信中的从节点采用简单的自我同步机制(不需要晶体或陶瓷共 鸣器)。 主节点在报文帧的头部发送同步间隙,标记报文帧的开始。 从节点根据此间隙与总线同步,无需专门的时钟同步装臵,降低硬 件成本。 主节点控制整个网络的通信,控制不同节点的传输时间; 每个报文帧的长度是预知的; 采用调度表,可保证信号的周期性传输、保证总线不会出现超负载 现象 LIN应答帧报文的数据域长度可在0~8个字节之间变化,便于不同任 务的通信应用。
1
1
8
2.3
LIN 的报文传输—报文结构
报文头(HEADER FIELDS) 标识符场(IDENTIFIER FIELD)
引入奇偶校验位。其中 ID6 是 ID0、ID1、ID2、ID4 的奇校验,ID7 是 ID1、 ID3、ID4、ID5 的偶校验。校验公式如下,其中“⊕”代表“异或”运算,“¬”代 表“取非”运算。 P0 = ID0 ⊕ ID1 ⊕ ID2 ⊕ ID4 P1 = ¬ (ID1 ⊕ ID3 ⊕ ID4 ⊕ ID5) 由公式可以看出,PID不会出现全0或全1的情况,因此,如果从机节点收到了 “0xFF”或“0x00”,可判断为传输错误。
报文传输是由报文帧的格式表示和控制。 报文帧格式:
一个主机节点发送的报文头; 一个主机或从机节点发送的响应组成。
Fra Baidu bibliotek.3
LIN 的报文传输
•报文头包含同步间隙、同步字节和报文标识符(0~63)。 •响应报文由1-9个字节构成: •其中2、4或8个字节的数据场和 •1个校验和场。 •报文帧之间有帧间间隔分隔; •报文与响应之间有帧内响应空间分隔; •最小帧间间隔和帧内响应空间均为0; •最大长度收到报文帧的最大长度FRAME_max限制。
字节场
格式:
说明: 每一个字节场的长度由10个定时位定时(BIT TIME); 起始位(START BIT)是一个“显性”位,标志字节的开始; 8为数据位,先发送最低位; 停止位(STOP BIST)是一个“隐性”位,标志着字节场的结束。
报文头(HEADER FIELDS)
(二)报文帧类型:有6种类型
无条件帧:携带数据信息; 事件触发帧:处理偶发的事件; 偶发帧: 保证在调度表确定性的条件下为系统动态行为的灵活性而设定的。 上述3中帧的报文标识符的范围为0~59(0x3b) 诊断帧(命令帧、应答帧): 携带8个字节的诊断信息或组态信息,主节点诊断请求帧的标识符 为60(0x3c),从节点诊断应答帧的标识符为61(0x3d) 用户自定义帧: 可携带用户自定义的任何信息,标识符为62(0x3e),在调度时可 给用户自定义帧分配报文帧时隙,每当时隙到来时发送用户自定义 帧的帧头。 保留帧: 保留帧标识符63(0x3f),在LIN2.0中没有被使用。
汽车LIN 通讯协议编写资料
王晓辉 wxh_haust@126.com
LIN 总线原理与应用
LIN的主要技术特点 LIN的通信任务和报文帧类型 LIN的报文通信 标准LIN协议的格式
www.huat.edu.cn
2.1
LIN 概述
LIN ( Local Interconnect Network 局部互联网) 是面向汽车低端分布式 应用的低成本(0.5美元)、低速率(20kbps)、串行通信总线。
LIN通信:
• 在总线上发送的信息,有长度可选的固定格式。 • 每个报文帧都包括2、4或8个字节的数据以及3个字节的控制、 安全信息(同步场、标识符场和校验场)。 • 通过主机控制单元中的从机任务,数据可以被主机控制单元 发送到任何从机控制单元。 • 相应的主机报文ID可以触发从机-从机通信。
低成本
低传输速率。小于20kb/s 采用NRZ编码。
单主/多从媒体访问、无需仲裁。
在总线拓扑结构的LIN网络中,由主节点控制对传输介质的访问,从节点只 是应答主节点的命令。不需要仲裁和冲突管理机制。
LIN总线的网络节点数不能超过16,否则,节点增加将 会减少网络阻抗,导致环境条件变差。每增加一个节 点,就会降低3%的阻抗
发送数据时,节点:
School of Electrical and Information
School of Electrical and Information
LIN协议是一主多从结构,通信只能由主节点中的主任务发 起,一个完整的LIN报文帧的传输是由主任务和从任务共同实 现的,主任务发送“报头”,从任务发送或接收“响应”。
LIN实现了一种具有成本效益的智能传感器和执行器的通讯方式。
2.1
LIN 概述
为现有的汽车网络(CAN网络)提供辅助功能 在不需要CAN总线的带宽和多功能的场合使用,降低成本。 将开关、执行元件和传感器从子总线连接到主总线(如CAN总线)。
LIN的目标
Lin总线广泛应用的原因:
2.3
LIN 的报文传输—报文结构
同步场(SYNCH FIELD) 包含了时钟的同步信息。格式为0x55,表现为8个位定时中有5 个下降沿(隐性到显性的跳变)
报文头(HEADER FIELDS)
报文头(HEADER FIELDS) 标识符场(IDENTIFIER FIELD) 定义了报文的内容和长度。
6个标识符位(ID0~ID5)和2个标识符奇偶校验位(P0 P1); ID4和ID5定义了数据场的数据长度;
报文头(HEADER FIELDS) 标识符场(IDENTIFIER FIELD)
ID4和ID5与数据长度的关系数据长度;
ID5 0 0 1 ID4 0 1 0 数据场的数量 2 2 4
LIN 起源和发展 LIN联盟成立于1999年,并发布了LIN 1.0版本。 最初的成员有 奥迪, 宝马, 克莱斯勒, 摩托罗拉, 博世, 大众和 沃尔沃 等 2000年,LIN联盟再次发布了1.1版本。 2001年,第一辆采用LIN1.1版本的量产汽车面世。 2003年,2.0版本出现。 2006年,2.1版本面世并沿用至今。 LIN的市场 LIN总线产品已经成为汽车总线的第二大市场; 第一大市场是CAN总线,其在2006年已经达到顶峰。
2.3
LIN 的报文传输—报文结构
由多个8位的字节场组成,传输由LSB开始
数据场(DATE FIELDS)
2.3
校验和场(CHECK SUM FIELDS)
LIN 的报文传输—报文结构
校验和域是数据域所有字节的和的反码。
校验和按“带进位加(ADDC)”方式计算,每个进位都被加到本次结果 的最低位(LSB)。这就保证了数据字节的可靠性。 所有数据字节的和的补码与校验和字节之加的和必须是“0xFF”。
同步间隔(synchronisation break) 作用:标识报文的开始,由主节点发送;使得所有的从机任务 和总线时钟信号同步。
同步间隔:至少13bit的显性位,之后紧随至少1bit隐性值的同 步界定符。 同步界定符的作用:
用来检测接下来的同步域(Synch Field)的起始位。
2.1
LIN 概述
LIN ( Local Interconnect Network 局部互联网) 是面向汽车低 端分布式应用的低成本(0.5美元)、低速率(20kbps)、 串行通信总线。
由汽车行业开发,用作经济高效的子总线系统;
是CAN的下层网络; 属于SAE规范的汽车A类网络; 是CAN总线的补充,适用于对总线性能要求不高的车身系统,如车门、 车窗、灯光等智能传感器、执行器的连接和控制。
目前,高/低速CAN和J1850总线已经成为标准的车用网络总线。 这些总线速度极高,具有高抗电磁干扰性和高传输可靠性等优越 的性能,但价格也较高。 大量的车身和安全性能方面的应用对车用网络总线的性能要求并 不太高,只需要一种性价比更高的标准车用网络总线,而LIN总线 正好可以满足这一需求。因此,目前LIN总线技术正被越来越广泛 的应用到车身电子中。
TX
LIN节点
线路接口: (1)负责将LIN总线的信号 翻译成无干扰的RX信号传 入LIN协议控制器; (2)或将协议控制器的RX 信号进行翻译传入LIN总线
物理层采用单线连接,两个电控单元间的最大传输距离为40m
其总线驱动器和接收器的规范遵从改进的ISO 9141 单线标准。 LIN是基于SCI/UART( 通用异步收发接口的单总线串行通信)协议; 目前几乎所有的微控制器芯片上都有SCI/UART接口。 •LIN总线融合了I2C和 RS232的特性:像I2C总 线那样,LIN总线通过一 个电阻上拉到高电平,而 每一个节点又都可以通过 集电极开路驱动器将总线 拉低;像RS232那样通过 起始位和停止位标识出每 一个字节,每一位在时钟 上异步传输。
8bit
4bit
唤醒过程 某一个节点的从任务发送唤醒信号后,所有的节点都运行启动过程 并等待主机任务发送一个同步间隔场和同步场; 若等待超时(TIME_OUT),请求第一个唤醒信号的节点再一次发送 新的唤醒信号; 上述情况最多出现3次,此后,若还没将总线唤醒,则等待3个 TIME_OUT时间,再发送唤起信号。
物理层
定义了信号如何在总线媒体上传输; 定义物理层的驱动器/接收器特性。
几个概念
主机节点:控制网络中各节点通信的节点 一个LIN网络上的通讯总是由主发送任务所发起的
在主节点上可执行主通信任务和从通信任务
可控制整个总线网络和协议; 主通信任务: 在主节点上运行的,用于控制总线上所有的通信,负责报文的进度表、 发送报文头的任务称为主任务。 常见主任务:如定义传输速率,发送同步时间间隔、同步场、标识符ID 场,监控并通过检查校验和(check sum)验证数据的有效性。
几个概念 从节点:是总线上的2-16个成员,它们在主节点发送适当的ID后接收 或发送数据 从通信任务 从节点从事的任务都称为从通信任务;但主节点也会执行从任务 节点接收来自主通信任务的ID 节点根据ID决定做什么。
– 接收数据 – 或发送数据 – 或什么都不做 – 发送2、4或8个数据字节 – 发送检验字节
>=4bit 8bit
►0x3C(ID 60)表示主节点请求帧(诊断帧),以便从主节点向从节 点发送命令和数据。 ►0x3D(ID 61)表示从响应帧,该帧触发从节点向主节点发送数据。 过程: 标识符为0x3c一个的“主机请求帧”,主机向从机发送数据和命令; 标志符为0x3dD的“从机相应帧”触发一个从机向主机发送数据。 命令帧中的第一个数剧场为0x00~0x7F, 其用法由LIN协会定义; 剩下的命令帧用户可以自行分配.
LIN接口由两部分组成: 协议控制器、线路接口
LIN
通信媒介(铜线)
RX
LIN 线路接口
采用 + UARTLIN
协议控制器
协议控制器集成在微控制器 中的一个标准UART上实现, 微控制器软件负责管理LIN 协议,实现以下功能: (1)发送/接收8位字节; (2)构成请求帧,接收为 应帧; (3)发送帧