LIN2.1规范LIN(LocalInterconnectNetwork)Specification2.1大纲概述协议规范物理层规范概述Overview概述功能简单,实时性低成本低传感器/执行器级的总线与主干网(back-boneBUS)之间需要网关LIN总线是一个SUB-BUS子网(SUB-BUS)的概念概述典型车载网络分布概述车用总线分级概述LIN(LocalInterconnectNetwork)协会成立于1998年成立时的主要成员:5家整车厂:Audi,BMW,DaimlerChrysler,Volvo,VW1家半导体制造商:Motorola目前的主要成员:5家整车厂:Audi,BMW,Daimler,Volvo,VW1家半导体制造商:Freescale主要目的:LIN总线的主要目的在于提供一种低成本的车用总线,从而形成对CAN总线的补充。LIN总线已经广泛地被世界上的大多数汽车公司以及零配件厂商所接受,有望成为公认的A类网络标准。LIN总线的起源概述LIN1.11999年,底特律SAE大会包括3部分协议规范配置语言规范API规范LIN1.22000年11月LIN1.32002年11月增加了物理层规范LIN协议版本(1/2)LIN1.1LIN1.2LIN1.3概述LIN2.02003年9月适应当代和未来汽车工业发展趋势为了实现节点的“即插即用”增加了诊断规范和节点能力语言规范LIN2.12006年11月目标是改进LIN2.0规范的理解力增加了传输层规范和节点配置规范形成了8个子规范LIN1.1LIN1.2LIN1.3LIN2.0LIN2.1LIN协议版本(2/2)概述子规范内容物理层规范(PhysicalLayerSpecification)物理层兼容性波特率误差时间要求LINDriver/Receiver协议规范(ProtocolSpecification)信号管理帧传输调度表任务行为模型网络管理状态管理传输层规范(TransportLayerSpecification)PDU规范通信错误处理规定的请求时间约束LIN规范组成(1/2)概述子规范内容节点配置和标识规范(NodeConfigurationandIdentificationSpecification)LIN产品标识从节点模型PDU结构节点配置服务标识诊断规范(DiagnosticSpecification)诊断级别基于信号的诊断传输协议处理从节点发送句柄从节点诊断时间要求应用程序接口规范(APISpecification)主要API节点配置和标识传输层节点能力语言规范(NodeCapabilityLanguageSpecification)文件定义语法配置语言规范(ConfigurationLanguageSpecification)文件定义语法LIN规范组成(2/2)概述串行通信线间干扰小,节省线束,传输距离长单线传输增强的ISO9141,总线电压基于VBAT最高速率20Kbit/s满足车身上大部分的应用需求单主多从结构无需仲裁基于通用UART/SCI的低成本接口硬件几乎所有MCU有具备LIN总线的硬件基础从节点无须晶振或陶瓷震荡器就可以实现同步大幅度降低成本LIN总线的特点(1/2)概述LIN总线的特点(2/2)可计算的信号传输的延迟时间网络通信可预期性可灵活的增加或减少从节点无需改变其他节点的硬件电路一条总线最多可连接16个节点由总线电气特性决定支持多包报文传输基于ISO15765-2的传输层规范支持诊断功能支持基于ISO14229-1的诊断服务概述LINNodeCapabilityLanguage(*.ncf)对单个节点的描述LINConfigurationLanguage(*.ldf)在增加/减少从节点的情况下保证总线的安全起到LIN总线的数据库的作用,方便LIN总线的仿真和测试。LIN总线开发流程构架旨在实现开发设计工具之间的无缝衔接,提高开发的效率和可靠性LIN总线开发流程构架概述一个节点可以分为应用部分和通信部分报文不会以帧的结构到达应用部分在应用部分与通信部分之间加入一个基于信号的交互层传输层中进行长报文的处理LIN节点模型应用部分通信部分概述应用层表示层会话层传输层网络层数据链路层物理层应用功能接口报文内容数据范围/可信度检查错误处理网络状态状态切换收发策略报文格式容错策略网关/路由总线负载优先等级传输鲁棒性位定时中断拓扑结构传输介质接口电路电磁兼容性LIN和OSI模型LIN2.1概述帧总线上传输的实体,是作为一个完整单元传输的数据。帧的数据场中包含一个或多个信号注意:一帧并不代表只能由单一节点发送信号信号一般是反映真实世界的物理量或逻辑量,如发动机转速、电机的状态等信号由帧来传输,一个帧可以包含一个或多个信号每个信号由固定的节点产生,但可以由不同的节点接收信号的大小从一个位到多个字节帧与信号概述LIN网络拓扑结构一个主任务,多个从任务主节点同时包含主任务和从任务从节点只包含从任务主任务负责决定总线上的报文,从任务负责发送数据概述通信原理:主任务发送报头,从任务用响应来补充报头形成完整的报文。系统灵活性:可以自由地增减从节点,而不需要改变其它从节点的软件和硬件报文传输:报文的内容由ID来定义广播:所有节点都能够接受总线上的帧LIN帧概述LIN总线上可以传输的两类数据信号报文信号位于帧的数据场中,以数字或数组的形式出现同一种信号在相同ID的报文中的位置总是固定的诊断报文诊断报文由两个保留ID来传输,用来传输节点的诊断信息数据传输概述负责调度网络各报文发送的顺序为每帧报文分配发送时隙(slot)发送时隙:报文可以被发送的时间不同报文的发送时隙可能不同调度表在网络系统设计阶段确定调度表使得LIN通信具有可预测性调度表概述主任务可以拥有多个调度表,并在不同的调度表之间切换增加通信的灵活性切换调度表决策大纲概述协议规范物理层规范协议规范ProtocolSpecification协议规范字节间隔位于每个字节之间,响应间隔位于报头与响应之间留给MCU足够的处理时间帧长度可能增长显性间隔同步场响应间隔标识符场数据场校验和场报头(Header)响应(Response)间隔界定间隔场字节间隔D0D1Dn帧的结构(FrameSturcture)协议规范字节场(ByteField)报头(Header)响应(Response)D1DnD0起始位结束位07412356基于SCI的通信格式发送一个字节需要10个位时间(TBIT)协议规范间隔场(BreakField)表示一帧报文的起始,由主节点发出间隔信号至少由13个显性位组成,间隔界定符至少由1个隐形位组成间隔场是唯一一个不符合字节场格式的场从节点需要检测到至少连续11个显性位才认为是间隔信号间隔信号报头(Header)响应(Response)间隔界定符间隔场D0D1Dn协议规范同步场(SyncBreakField)同步场报头(Header)响应(Response)D0D1Dn起始位结束位0x5510101001确保所有从节点使用与节点相同的波特率发送和接收数据一个字节,结构固定:0X55协议规范标识符场(IdentifierField)起始位ID0ID1ID2ID3ID5P0P1ID4结束位标识符奇偶校验符标识符场报头(Header)响应(Response)D0D1DnID的范围从0到63(Ox3f)奇偶校验符(Parity)P0,P1协议规范数据场(DataField)报头(Header)响应(Response)D0D1Dn数据场bit0bit7bit1bit2…起始位结束位最低有效位先发送D0D1D2Dn(小于8)…最低有效字节先发送数据场长度1到8个字节低字节先发,低位先发如果某一信号长度超过1个字节,采用低位在前的方式发送(小端)协议规范校验和场(ChecksumField)(1/2)校验和场报头(Header)响应(Response)D0D1Dn用于校验接收的数据是否正确经典校验(ClassicChecksum)仅校验数据场(1.3)增强校验(EnhanceChecksum)校验标识符场与数据场内容(2.0)标识符为0x3C和0x3D的帧只能使用经典校验协议规范校验和场(ChecksumField)(2/2)翻转八位和(invertedeightbitsum)例:Data=0x4A,0x55,0x93,0xE5Checksum=0xE6帧长度(FrameLength)最小帧长度THEADER_NOMINAL=34*TBITTRESPONSE_NOMINAL=10*(NDATA+1)*TBITTFRAME_NOMINAL=THEADER_NOMINAL+TRESPONSE_NOMINAL最大帧长度THEADER_MAX=1.4*THEADER_NOMINALTRESPONSE_MAX=1.4*TRESPONSE_NOMINALTFRAME_MAX=THEADER_MAX+TRESPONSE_MAX协议规范协议规范帧类型(FrameType)无条件帧(Unconditionalframe)事件触发帧(Eventtriggeredframe)零星帧(Sporadicframe)诊断帧(Diagnosticframe)用户自定义帧(User-definedframe)保留帧(Reservedframe)协议规范无条件帧(UnconditionalFrame)标识符(ID)为0到59(0x3b)主任务发出报头,一个任务响应,一个或多个任务接收三种情况协议规范事件触发帧(EventTriggeredFrame)(1/2)目的:增强LIN总线的响应能力,避免为了很少发生的事件而对从节点进行轮询,从而浪费了大量的带宽标识符:0~59(0x3B)事件触发帧必须有一个独立的ID,该ID可以与多个普通帧相关联在事件触发帧时隙内发送帧头,只有当相关联的无条件帧内有信号被更新时才发送帧响应帧响应的第一个数据字节等于标识符,即响应最多可以传输7个字节的数据如果没有帧响应,帧头被忽略帧响应可由多个节点发送,发生冲突时切换到“冲突解决调度表”,之后再切换回到原来的调度表协议规范事件触发帧(EventTriggeredFrame)(2/2)CSD6D5D4D3D2D1D0CSD6D5D4D3D2D1D00x11SyncBreak0x11SyncBreak0x12SyncBreak0x12SyncBreakCSD6D5D4D3D2D1D0CSD6D5D4D3D2D1D0假设与事件触发帧0x10相关联的两个普通帧…如果只有一个节点响应事件触发帧的报头…CSD6D5D4D3D2D1D00x11CSD6D5D4D3D2D1D00x110x10SyncBreak0x10SyncBreak如果同时有多个节点响应事件触发帧的报头…CSD6D5D4D3D2D1D00x11CSD6D5D4D3D2D1D00x110x10SyncBreak0x10SyncBreakCSD6D5D4D3D2D1D00x12CSD6D5D4D3D2D1D00x12总线产生冲突CSD6D5D4D3D2D1D0CSD6D5D4D3D2D1D00x11SyncBreak0x11SyncBreak0x12SyncBreak0x12SyncBreakCSD6D5D4D3D2D1D0CSD6D5D4D3D2D1D0切换调度表,进行轮询…协议规范零星帧(SporadicFrame)表示共用一个时隙、在需要时才被发送的一组无条件帧目的将动态行为和实时性添加到调度表中,同时不影响调度表其余部分的