1、LIN 2.1LIN 2.1规范规范2012-03-092012-03-09概述概述协议规范协议规范物理层规范物理层规范传输层规范传输层规范节点配置和标识规范节点配置和标识规范诊断规范诊断规范应用程序层规范应用程序层规范节点能力语言规范节点能力语言规范配置语言规范配置语言规范概述概述Overview概述典型车载网络分布概述车用总线分级LIN(Local Interconnect Network)协会成立于协会成立于1998年年成立时的主要成员:成立时的主要成员:q5家整车厂:Audi, BMW, DaimlerChrysler, Volvo, VWq1家半导体制造商:Motorolaq1家工具
2、提供商:Mentor Graphics目前的主要成员:目前的主要成员:q5家整车厂:Audi, BMW, DaimlerChrysler, Volvo, VWq1家半导体制造商: Freescaleq1家工具提供商:Mentor Graphics主要目的:主要目的:qLIN总线的主要目的在于提供一种低成本的车用总线,从而形成对CAN总线的补充。qLIN总线已经广泛地被世界上的大多数汽车公司以及零配件厂商所接受,有望成为公认的A类网络标准。概述LIN总线的起源概述q功能简单,实时性低q成本低q传感器/执行器级的总线q基于UART数据格式、主从结构、单线12Vq串行通信q开放、不需要使用费和版税L
3、IN总线概念概述LIN 1.1 q1999年7月,底特律SAE大会q包括3部分q协议规范协议规范q配置语言规范配置语言规范qAPI规范规范LIN 1.2q2000年11月LIN 1.3q2002年11月q增加了物理层规范物理层规范LIN协议版本(1/2)LIN 1.1LIN 1.2LIN 1.3概述LIN 2.0 q2003年9月q适应当代和未来汽车工业发展趋势q为了实现节点的“即插即用”q增加了诊断规范诊断规范和节点能力语言规范节点能力语言规范LIN 2.1q2006年11月q目标是改进LIN 2.0规范的理解力q增加了传输层规范传输层规范和节点配置规范节点配置规范q形成了8个子规范LIN
4、1.1LIN 1.2LIN 1.3LIN 2.0LIN 2.1LIN协议版本(2/2)概述LIN规范组成(1/2)qLIN物理层规范物理层规范q描述了描述了LINLIN总线的物理层,包括位传输速率,时钟容错范围等总线的物理层,包括位传输速率,时钟容错范围等qLIN协议规范协议规范q描述了描述了LIN总线的数据链路层总线的数据链路层qLIN诊断和配置规范诊断和配置规范q描述了如何在数据链路层之上提供诊断信息和节点配置服务描述了如何在数据链路层之上提供诊断信息和节点配置服务qLIN应用程序接口(应用程序接口(API)q描述了网络和应用程序之间的接口,包括诊断模块描述了网络和应用程序之间的接口,包括
5、诊断模块qLIN配置语言规范(配置语言规范(LDF)q介绍了介绍了LIN配置文件的格式。配置文件的格式。LIN配置文件用于配置整个网络,并作为配置文件用于配置整个网络,并作为OEM和不同网络节点和不同网络节点的供应商之间的通用接口,同时可作为开发和分析工具的一个输入。的供应商之间的通用接口,同时可作为开发和分析工具的一个输入。qLIN节点能力描述语言规范(节点能力描述语言规范(NCF)q介绍了描述从机节点的语言格式,介绍了描述从机节点的语言格式,LIN集群设计工具可以使用集群设计工具可以使用NCF文件自动地生成文件自动地生成LIN描述描述文件文件概述LIN规范组成(2/2)qLIN传输层规范传
6、输层规范q描述了传输最高能达到描述了传输最高能达到40954095个字节数据的方法个字节数据的方法qLIN诊断规范诊断规范q描述了从机节点所支持的诊断服务类型,诊断服务都使用传输层描述了从机节点所支持的诊断服务类型,诊断服务都使用传输层概述q串行通信串行通信q线间干扰小,节省线束,传输距离长线间干扰小,节省线束,传输距离长q单线传输单线传输q单线单线 , 总线电压总线电压12Vq最高速率最高速率20Kbit/sq满足车身上大部分的应用需求满足车身上大部分的应用需求q单主多从结构单主多从结构q不存在冲突,无需仲裁不存在冲突,无需仲裁q基于通用基于通用UART/SCI的低成本接口硬件的低成本接口硬
7、件q几乎所有几乎所有MCU有具备有具备LIN总线的硬件基础总线的硬件基础q从节点无须晶振或陶瓷震荡器就可以实现同步从节点无须晶振或陶瓷震荡器就可以实现同步q利用报头里的同步场实现同步,大幅度降低成本利用报头里的同步场实现同步,大幅度降低成本LIN总线的特点(1/2)概述LIN总线的特点(2/2)q 可计算的信号传输的延迟时间可计算的信号传输的延迟时间q网络通信可预期性网络通信可预期性q 可灵活的增加或减少从节点可灵活的增加或减少从节点q无需改变其他节点的硬件电路无需改变其他节点的硬件电路q 一条总线最多可连接一条总线最多可连接16个节点个节点q由总线电气特性决定由总线电气特性决定q 支持多包报
8、文传输支持多包报文传输q基于基于ISO15765-2的传输层规范的传输层规范q 支持诊断功能支持诊断功能q支持支持ISO14229的诊断服务的诊断服务概述LIN网络拓扑结构q 一个一个LIN网络由一个主任务,若干个从任务组成网络由一个主任务,若干个从任务组成q 主节点既有主任务又有从任务主节点既有主任务又有从任务q 从节点只包含从任务从节点只包含从任务q 主任务负责决定总线上的报文,从任务提供每一帧的数据主任务负责决定总线上的报文,从任务提供每一帧的数据概述LIN报文帧q通信原理:通信原理:q主任务发送报头,从任务用响应来补充报头形成完整的报文。主任务发送报头,从任务用响应来补充报头形成完整的
9、报文。q系统灵活性:系统灵活性:q可以自由地增减从节点,而不需要改变其它从节点的软件和硬件可以自由地增减从节点,而不需要改变其它从节点的软件和硬件q报文传输:报文传输:q报文的内容由报文的内容由ID来定义来定义(跟跟CAN相似)相似)q广播:广播:q所有节点都能够同时地接受和响应总线上的帧所有节点都能够同时地接受和响应总线上的帧概述qLIN总线上可以传输两类数据q信号报文q信号位于帧的数据场中,以数字或数组的形式出现信号位于帧的数据场中,以数字或数组的形式出现q同一种信号在相同同一种信号在相同ID的报文数据场中的位置总是固定的的报文数据场中的位置总是固定的q诊断报文q诊断报文由两个保留诊断报文
10、由两个保留ID来传输,用来传输节点的诊断信息来传输,用来传输节点的诊断信息数据传输概述q负责调度网络各报文发送的顺序负责调度网络各报文发送的顺序q为每帧报文分配发送时隙(为每帧报文分配发送时隙(slot)q发送时隙:报文可以被发送的时间发送时隙:报文可以被发送的时间q不同报文的发送时隙可能不同不同报文的发送时隙可能不同q调度表在网络系统设计阶段确定调度表在网络系统设计阶段确定q调度表使得调度表使得LIN通信具有可预测性通信具有可预测性调度表概述q主任务可以拥有多个调度表,并在不同的调度表之间切换q增加通信的灵活性切换调度表决策决策大纲概述协议规范协议规范物理层规范传输层规范节点配置和标识规范诊
11、断规范应用程序层规范节点能力语言规范配置语言规范协议规范协议规范Protocol Specification协议规范显性间隔显性间隔同步场同步场响应间隔响应间隔标识符场标识符场数据场数据场校验和场校验和场报头(报头(Header)响应(响应(Response)间隔界定间隔界定间隔场间隔场字节间隔字节间隔D0D1Dn帧的结构(Frame Sturcture)q字节间隔位于每个字节之间,响应间隔位于报头与响应之间字节间隔位于每个字节之间,响应间隔位于报头与响应之间q留给留给MCU足够的处理时间足够的处理时间q帧长度可能增长帧长度可能增长q最小值可以是最小值可以是0协议规范字节场(Byte Fiel
12、d)报头(报头(Header)响应(响应(Response)D1DnD0起起始始位位结结束束位位07412356q基于基于SCI的通信格式的通信格式q发送一个字节需要发送一个字节需要10个位时间(个位时间(TBIT)协议规范间隔场(Break Field)q表示一帧报文的起始,由主节点发出表示一帧报文的起始,由主节点发出q间隔信号至少由间隔信号至少由13个显性位组成,间隔界定符至少由个显性位组成,间隔界定符至少由1个隐性位组成个隐性位组成q间隔场是唯一一个不符合字节场格式的场间隔场是唯一一个不符合字节场格式的场q从节点需要检测到至少连续从节点需要检测到至少连续11个显性位才认为是间隔信号个显性
13、位才认为是间隔信号间隔信号间隔信号报头(报头(Header)响应(响应(Response)间隔界定符间隔界定符间隔场间隔场D0D1Dn协议规范同步场(Sync Break Field)同步场同步场报头(报头(Header)响应(响应(Response)D0D1Dn起起始始位位结结束束位位0 x5510101001q确保所有从节点使用与主节点相同的波特率发送和接收数据确保所有从节点使用与主节点相同的波特率发送和接收数据q一个字节,结构固定一个字节,结构固定: 0X55协议规范标识符场(Identifier Field)起始位起始位ID0ID1ID2ID3ID5P0P1ID4结束位结束位标识符标识
14、符奇偶校验符奇偶校验符标识符场标识符场报头(报头(Header)响应(响应(Response)D0D1Dnq帧帧ID的范围从的范围从0到到63(Ox3f)q奇偶校验符奇偶校验符(Parity)P0,P1协议规范数据场(Data Field)报头(报头(Header)响应(响应(Response)D0D1Dn数据场数据场bit0bit7bit1bit2起始位起始位结束位结束位最低有效位先发送最低有效位先发送D0D1D2Dn(小于小于8)最低有效字节先发送最低有效字节先发送q数据场长度数据场长度1到到8个字节个字节q低字节先发,低位先发低字节先发,低位先发q如果某一信号长度超过如果某一信号长度超过
15、1个字节,采用低位在前的方式发送(小端)个字节,采用低位在前的方式发送(小端)协议规范校验和场(Checksum Field)(1/2)校验和场校验和场报头(报头(Header)响应(响应(Response)D0D1Dnq用于校验接收的数据是否正确用于校验接收的数据是否正确(1个字节)个字节)q经典校验(经典校验(Classic Checksum)q仅校验数据场仅校验数据场(1.3)q增强校验(增强校验(Enhance Checksum)q校验标识符场与数据场内容校验标识符场与数据场内容(2.0)q标识符为标识符为0 x3C(60)和)和0 x3D(61)的帧只能使用经典校验)的帧只能使用经典
16、校验协议规范校验和场(Checksum Field)(2/2)q翻转八位和翻转八位和(inverted eight bit sum)q例例:Data = 0 x4A, 0 x55, 0 x93, 0 xE5qChecksum = 0 xE6帧长度(Frame Length)q最小帧长度最小帧长度qTHEADER_NOMINAL=34*TBITqTRESPONSE_NOMINAL=10*(NDATA+1)*TBITqTFRAME_NOMINAL=THEADER_NOMINAL+TRESPONSE_NOMINALq最大帧长度最大帧长度qTHEADER_MAX=1.4*THEADER_NOMINAL
17、qTRESPONSE_MAX=1.4*TRESPONSE_NOMINALqTFRAME_MAX=THEADER_MAX+TRESPONSE_MAX协议规范协议规范帧类型(Frame Type)事件触发帧事件触发帧零星帧零星帧保留帧保留帧诊断帧诊断帧自定义帧自定义帧无条件帧无条件帧协议规范无条件帧(Unconditional Frame)q标识符标识符(ID)为为0到到59(0 x3b)q标准标准LIN帧类型,用于周期通信帧类型,用于周期通信q主任务发出报头,相应的从任务对报头提供响应帧。所主任务发出报头,相应的从任务对报头提供响应帧。所有节点接收有节点接收q三种情况三种情况协议规范事件触发帧(
18、Event Triggered Frame )(1/2)q目的目的:q增强了增强了LIN总线的响应能力,避免为了很少发生的事件,而对从节点进行总线的响应能力,避免为了很少发生的事件,而对从节点进行轮询,从而浪费了大量的带宽轮询,从而浪费了大量的带宽q传输一个或多个无条件帧的数据场,标识符:传输一个或多个无条件帧的数据场,标识符: 059(0 x3B)q事件触发帧必须有一个独立的事件触发帧必须有一个独立的ID,该,该ID与多个无条件帧的与多个无条件帧的ID相关联相关联 这些无条件帧必须满足以下条件:这些无条件帧必须满足以下条件:有相同的长度有相同的长度;相同的校验和模型相同的校验和模型;首个数据
19、字节不带信号首个数据字节不带信号q在事件触发帧时隙内发送帧头,只有当相关联的无条件帧内有信号被在事件触发帧时隙内发送帧头,只有当相关联的无条件帧内有信号被更新时,相关联的无条件帧的生产者才发送帧响应更新时,相关联的无条件帧的生产者才发送帧响应q帧响应的第一个数据字节等于帧响应的第一个数据字节等于PID,即响应最多可以传输,即响应最多可以传输7个字节的个字节的数据数据q帧响应可由多个节点发送,当有多个节点在同一帧时隙内响应报头时帧响应可由多个节点发送,当有多个节点在同一帧时隙内响应报头时会发生冲突,发生冲突时切换到会发生冲突,发生冲突时切换到“冲突解决调度表冲突解决调度表”,之后再切换回,之后再
20、切换回到原来的调度表到原来的调度表协议规范事件触发帧(Event Triggered Frame )(2/2)r假设与事件触发帧假设与事件触发帧0 x10相关联的两个普通帧相关联的两个普通帧r如果只有一个节点响应事件触发帧的报头如果只有一个节点响应事件触发帧的报头r如果同时有多个节点响应事件触发帧的报头如果同时有多个节点响应事件触发帧的报头总线产生冲突总线产生冲突r切换调度表,进行轮询切换调度表,进行轮询协议规范零星帧/偶发帧(Sporadic Frame)q一个或多个无条件帧共享一个帧时隙一个或多个无条件帧共享一个帧时隙q只发送信号报文,标识符:只发送信号报文,标识符:059(0 x3b)q
21、当且仅当其中的某个无条件帧有信号被更新时,主节点才发送该帧当且仅当其中的某个无条件帧有信号被更新时,主节点才发送该帧的帧头。的帧头。其其发布者发布者对帧头发送响应对帧头发送响应q若有多个无条件帧在同一时刻有信号被更新,则主节点根据这些无若有多个无条件帧在同一时刻有信号被更新,则主节点根据这些无条件帧的条件帧的优先级优先级裁定发送顺序裁定发送顺序q若没有无条件帧需要发送,则时隙保持空白若没有无条件帧需要发送,则时隙保持空白q诊断帧用来传输诊断帧用来传输诊断或配置诊断或配置信息,包含信息,包含8个字节数据。个字节数据。q标识符标识符q60(0 x3c):主请求帧;(首个数据字节标明具体的从节点),
22、也用于:主请求帧;(首个数据字节标明具体的从节点),也用于 “Go-toSleep”指令指令q61(0 x3d):从响应帧:从响应帧q传输方式:传输方式:协议规范诊断帧(Diagnostic Frame)0 x3CSyncBreak诊断服务诊断服务0 x3DSyncBreak根据诊断服务的响应根据诊断服务的响应主节点主节点从节点从节点协议规范保留帧(Reserved Frame)q用户自定义帧用户自定义帧(User-defined frame)q标识符:标识符:62(0 x3e)q可以传输任何信息可以传输任何信息(由用户自定义由用户自定义)q保留帧保留帧(Reserved frame)q标识符
23、:标识符:63(0 x3f)q在在LIN 2.1中未对保留帧进行定义中未对保留帧进行定义协议规范调度表(Schedule Table)q调度表可以保证总线永远不会过载,同时还可以保证信号的周期性。调度表可以保证总线永远不会过载,同时还可以保证信号的周期性。qLIN总线最小时间单位是时基总线最小时间单位是时基(Tbase)。q调度表中用来发送一帧报文的时间称为帧时隙调度表中用来发送一帧报文的时间称为帧时隙(Frame_Slot),帧时隙必,帧时隙必须是时基的整数倍,调度表是由帧时隙组成的。须是时基的整数倍,调度表是由帧时隙组成的。qTFrame_Slot = Tbase * nq偏移偏移(jit
24、ter)是指一帧报文实际开始发送的时刻与帧时隙起点的时间差。是指一帧报文实际开始发送的时刻与帧时隙起点的时间差。qTFrame_Slot jitter + TFrame_Maximum协议规范任务行为模型(Task Behavior Model)(1/2)r主任务行为模型主任务行为模型协议规范任务行为模型(Task Behavior Model)(2/2)r从任务行为模型从任务行为模型协议规范网络管理(Network Management)初始化初始化睡眠模式睡眠模式工作模式工作模式初始化结束初始化结束(1.5s协议规范状态管理(Status Management)r状态管理的目的是用来发现工
25、作状态中总线上产生的错误状态管理的目的是用来发现工作状态中总线上产生的错误response errorInterpretation 每一个从节点必须通过状态管理帧发送response error 信号(一个位长),当在响应帧中检测到错误时,这个信号由从节点的驱动器自动设定,发送完状态管理帧之后又将该位清除。 主节点接收状态信息位并识别从节点状态主节点接收状态信息位并识别从节点状态 : 大纲概述协议规范物理层规范物理层规范传输层规范节点配置和标识规范诊断规范应用程序层规范节点能力语言规范配置语言规范物理层规范物理层规范Physical Layer Specification物理层规范位速率容差(
26、Bit Rate Tolerance)节点类型节点类型符号符号F/FNOM主节点主节点FTOL_RES_MASTER0.5%不使用同步场同步的从节点不使用同步场同步的从节点FTOL_RES_SLAVE1.5%使用同步场同步的从节点(在同步之前)使用同步场同步的从节点(在同步之前)FTOL_UNSYNC14%相对于标称位速率相对于标称位速率相对于主节点位速率相对于主节点位速率节点类型节点类型符号符号F/FMASTER同步后从节点同步后从节点FTOL_SYNC2%物理层规范位定时(Bit Timing)r所有从节点的位定时必须以主节点的位定时为参考所有从节点的位定时必须以主节点的位定时为参考r同步
27、过程同步过程TBIT = (T1-T0)/8T0T1物理层规范位采样定时(Bit Sample Timing)rEBS = Early bit sample ( (前采样前采样) )rLBS = Lastest bit sample ( (后采样后采样) )rtEBS = 7/16 TBIT rtLBS = 10/16 TBIT tBFSrtBFS=1/16 TBITr采样点在采样点在EBS和和LBS之间之间物理层规范总线收发器(Line Driver/Reciever)rTxTx通过集电极开路电路连到总线,通过集电极开路电路连到总线,RxRx与总线之间有施密特触发器与总线之间有施密特触发器r
28、收发器内部有收发器内部有30K30K上拉电阻,如果作为主节点使用,必须外接上拉电阻,如果作为主节点使用,必须外接1K1K上拉电阻上拉电阻r上拉电阻与电源之间有二极管保护,防止在电源掉电的情况下总线电平被上拉电阻与电源之间有二极管保护,防止在电源掉电的情况下总线电平被拉低拉低物理层规范信号规范(Signal Specification)qVBAT: 818VqVSUP = VBAT - Vdiodeq显性位显性位(dominant)q逻辑逻辑0q发送:总线电平发送:总线电平20%VSUPq接收:总线电平接收:总线电平80%VSUPq接收:总线电平接收:总线电平60%VSUP20%80%物理层规范
29、总线特性(Line Characteristics)(1/2)物理层规范总线特性(Line Characteristics)(2/2)问题问题假设总线速率为假设总线速率为20K20K,网络中有,网络中有1111个从节点,总线长度个从节点,总线长度4040米,主节点、从节点的电阻和电容均为标准值,总线米,主节点、从节点的电阻和电容均为标准值,总线的电容也为标准值。总线特性如何的电容也为标准值。总线特性如何? ?解答解答CBUS = 22011220 40100 = 6640pFRBUS = 1 30 30 30 = 0.75K = CBUS RBUS = 4.98 s经过计算总线的时间常数为经过
30、计算总线的时间常数为 4.98 4.98 ss 物理层规范容错性能(Performance During Fault Modes)q电源或地线断路电源或地线断路q单个节点电源或地线断路,不影响剩余网络通信单个节点电源或地线断路,不影响剩余网络通信q排除故障后,节点可重新参与网络通信排除故障后,节点可重新参与网络通信q总线与电源或地线短路总线与电源或地线短路q总线通信可能无法进行,但总线通信可能无法进行,但ECU不可被损坏不可被损坏q排除故障后,总线恢复正常通信排除故障后,总线恢复正常通信大纲概述协议规范物理层规范传输层规范传输层规范节点配置和标识规范诊断规范应用程序层规范节点能力语言规范配置语
31、言规范传输层规范传输层规范Transport Layer Specification传输层规范概述(Overview)q传输层应用对象传输层应用对象q 诊断报文诊断报文q传输层功能传输层功能q传输层位于应用层与数据链路层之间,完成应用层的报文与数据链传输层位于应用层与数据链路层之间,完成应用层的报文与数据链路层的帧之间的相互转换。路层的帧之间的相互转换。q实现超过实现超过8个字节的数据传输,最多可达到个字节的数据传输,最多可达到4095个字节传输个字节传输传输层规范qPDU打包数据单元打包数据单元(Packet Data Unit)q一个一个PDU可以是一个完整的报文,也可以是一个完整报文的一
32、部分,由多个可以是一个完整的报文,也可以是一个完整报文的一部分,由多个PDU来组成一个完整的报文。来组成一个完整的报文。q请求:从客户端(如测试仪,主节点)发出的报文请求:从客户端(如测试仪,主节点)发出的报文q响应:从服务器端(如主节点,从节点)发出的报文响应:从服务器端(如主节点,从节点)发出的报文PDU结构(PDU Stucture)(1/2)传输层规范qPDU类型类型q单帧(单帧(SF):只用一个):只用一个PDU传输报文传输报文q首帧(首帧(FF):多):多PDU传输时,被发送的首个传输时,被发送的首个PDUq后续帧(后续帧(CF):多):多PDU传输时,在首传输时,在首PDU发送后
33、,紧接着发送的发送后,紧接着发送的PDUPDU结构(PDU Stucture)(2/2)Byte0 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7NADPCISIDD1D2D3D4D5SFNADPCILENSIDD1D2D3D4FFNADPCID1D2D3D4D5D6CFNADPCIRSIDD1D2D3D4D5SFNADPCILENRSIDD1D2D3D4FF请求请求响应响应传输层规范NAD(Node Address)qNAD 从节点地址从节点地址(Node Address)q睡眠指令:睡眠指令:0q物理地址:物理地址:0 x010 x7Dq访问访问一个一个
34、特定节点特定节点q功能地址:功能地址:0 x7Eq访问访问所有所有从节点从节点( (只在诊断报文中使用只在诊断报文中使用) )q从节点不允许响应(不允许用在节点配置)从节点不允许响应(不允许用在节点配置)q广播地址:广播地址:0 x7Fq访问访问所有所有从节点(广播发送)从节点(广播发送)q从节点不响应从节点不响应( (推荐推荐) )q用户自定义:用户自定义:0 x800 xFFNAD Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7传输层规范qPCI 协议控制信息协议控制信息(Protocol Control Information)qPCI包含包含PDU的
35、类型、编号和报文的有效数据长度等信息的类型、编号和报文的有效数据长度等信息q包编号:包编号:q在多个在多个PDU组成的报文中,在每个连续帧组成的报文中,在每个连续帧CF中必须加入包编号,第一个中必须加入包编号,第一个CF的包的包编号是编号是1,第二个,第二个CF的包编号是的包编号是2以此类推,如果包编号超过以此类推,如果包编号超过15则重新从则重新从0开开始计数始计数PCI(Protocol Control Information)PCI类型信息类型信息附加信息附加信息B7B6B5B4B3B2B1B0SF0000有效数据长度有效数据长度FF0001有效数据长度有效数据长度高高4位位CF0010
36、包编号包编号NADPCIByte2 Byte3 Byte4 Byte5 Byte6 Byte7传输层规范LEN(Length)qLEN 帧长度帧长度(Length)q只存在于多只存在于多PDU报文的第一帧中(报文的第一帧中(FF中)中)q表示报文的有效数据长度的表示报文的有效数据长度的低低8位位,有效数据长度的,有效数据长度的高高4位位在在PCI的低的低4位中位中q由于要发送由于要发送SID和和RSID,所以,所以有效数据长度有效数据长度 = 数据总长度数据总长度+1Byte0 Byte1LENByte3 Byte4 Byte5 Byte6 Byte7FF传输层规范SID和RSID(Servi
37、ce ID & Response Service ID)qSID(Service Identifier)q服务标识符,在请求帧中发送服务标识符,在请求帧中发送q0-0 xAF和和0 xB8-0 xFE表示诊断,表示诊断,0 xB0-0 xB7表示节点配置表示节点配置RSID(Response Service Identifier)q对应于对应于SID的响应服务标识符,在响应帧中发送的响应服务标识符,在响应帧中发送qRSID = SID + 0 x40传输层规范单帧传输(Singal Frame Transmission)q单帧传输单帧传输q有效数据长度少于六个字节(包括有效数据长度少于六个字节
38、(包括SID)q功能寻址(功能寻址(0 x7E)只能用单帧传输)只能用单帧传输0 x3C诊断设备诊断设备主节点主节点请求请求发送数据发送数据SF0 x3C0 x3D接收数据接收数据诊断设备诊断设备主节点主节点从节点从节点请求请求响应响应SFSF从节点从节点传输层规范多帧传输(Multiple Frame Transmission)q多帧传输多帧传输q74095字节(包括字节(包括SID)q起始于起始于FF,后续多条,后续多条CF0 x3C0 x3C诊断工具诊断工具主节点主节点FF发送数据发送数据FFCF0 x3CCFFCCFCF接收数据接收数据0 x3C0 x3D诊断工具诊断工具主节点主节点请
39、求请求FFFFFC0 x3DCFCF从节点从节点从节点从节点传输层规范时间限制(Timing Contraint)(1/2)N_AsN_Cs开始发送开始发送发送成功发送成功发送成功确认发送成功确认请求发送诊断帧请求发送诊断帧(FF或或CF)请求发送下一诊断帧请求发送下一诊断帧(CF)传输层传输层t收发器收发器t总线总线tq发送时间限制发送时间限制qN_As最大超时最大超时1000ms传输层规范时间限制(Timing Contraint)(2/2)q接收时间限制接收时间限制qN_Cr最大超时最大超时1000msq(N_Cs + N_As)6q忽略该报文忽略该报文qLength_FFBufferS
40、izeq中止接收报文中止接收报文q节点处于发送状态,接收到节点处于发送状态,接收到SF或或FF(NAD0 x7E)q中止发送报文,开始接收新报文中止发送报文,开始接收新报文qCF编号错误编号错误q放弃之前所接收的放弃之前所接收的CF与与FFqAs时间超时时间超时q中止发送报文中止发送报文qCr时间超时时间超时q放弃所接收的报文放弃所接收的报文错误处理(Fault Handling)大纲概述协议规范物理层规范传输层规范节点配置和标识规范节点配置和标识规范诊断规范应用程序层规范节点能力语言规范配置语言规范节点配置和标识规范节点配置和标识规范Node configuration and Identi
41、fication Specification节点配置和标识规范介绍(Introduction)目的目的r避免网络避免网络NAD或或PID冲突冲突 网络引入新节点可能导致网络引入新节点可能导致NAD或或Product ID冲突冲突配置内容配置内容rNADrProduct ID服务标识符(服务标识符(SID)r0 xB00 xB7节点配置只能用节点配置只能用单帧通信单帧通信节点配置和标识规范LIN产品标识(LIN Production Identification)q标识了节点的供应商和功能标识了节点的供应商和功能q类似于条形码类似于条形码q供应商供应商ID是一个是一个1616位的数字,最高位是位
42、的数字,最高位是0 0,由,由LINLIN协会规定协会规定q功能功能ID是一个是一个1616位的数字,由各供应商规定位的数字,由各供应商规定q变量变量ID是一个是一个8 8位的数字,用于区分同网络中相同功能的节点位的数字,用于区分同网络中相同功能的节点qPID保存在各节点的保存在各节点的ROM中,不进行更改中,不进行更改q序列号序列号(Serial Number)变量变量ID功能功能ID高字节高字节功能功能ID低字节低字节供应商供应商ID高字节高字节供应商供应商ID低字节低字节D5D4D3D2D1高字节高字节低字节低字节D4D3D2D1节点配置和标识规范通配符(Wildcards)属性属性通配
43、符通配符NAD0 x7F供应商供应商ID0 x7FFF功能功能ID0 xFFFFqNAD的通配符的通配符0 x7F用来访问所有节点的地址用来访问所有节点的地址q供应商供应商ID和功能和功能ID可以代表所有未定义的供应商与功能可以代表所有未定义的供应商与功能节点配置和标识规范与配置相关的服务(Service Associated with Configuration)r服务标识符(服务标识符(SID)r 0 xB00 xB7r节点配置只能用节点配置只能用单帧通信单帧通信服务服务服务服务00 xAF00 xAFReservedReserved0 xB00 xB0Assign NADAssign N
44、AD0 xB10 xB1Assign frame identifierAssign frame identifier0 xB20 xB2Read by IdentifierRead by Identifier(根据标识进行读取服务)(根据标识进行读取服务)0 xB30 xB3Conditional Change NADConditional Change NAD0 xB40 xB4Data DumpData Dump(数据转存)(数据转存)0 xB50 xB5Assign NAD via SNPDAssign NAD via SNPD0 xB60 xB6Save ConfigurationSa
45、ve Configuration(保存配置)(保存配置)0 xB70 xB7Assign frame identifier rangeAssign frame identifier range0 xB80 xFF0 xB80 xFFReservedReserved节点配置和标识规范分配NAD服务(Assign NAD)NAD列表列表初始初始NAD值值NAD设置值设置值初始化选择初始化选择网络分配网络分配q分配从节点分配从节点NAD服务服务(Assign NAD,0 xB0)q网络分配网络分配NAD实例实例q主节点首先发送主节点首先发送0 xB0服务主请求帧服务主请求帧(0 x3C)q主节点然后
46、发送从请求帧主节点然后发送从请求帧(0 x3D),如从节点修改,如从节点修改NAD成功,从节点发送响应成功,从节点发送响应新新NAD功能功能ID高字节高字节功能功能ID低字节低字节供应商供应商ID高字节高字节供应商供应商ID低字节低字节0 xB00 x06初始初始NADD5D4D3D2D1SIDPCINAD0 x3C0 xFF0 xFF0 xFF0 xFF0 xFF0 xF00 x01初始初始NADD5D4D3D2D1RSIDPCINAD0 x3D节点配置和标识规范根据条件改变NAD服务(Conditional Change NAD)(1/2)q根据条件改变根据条件改变NAD服务服务 (Con
47、ditional Change NAD,0 xB3)q主节点首先发送主节点首先发送0 xB3服务主请求帧服务主请求帧(0 x3C)q从节点收到请求后分从节点收到请求后分4 4步走步走:q1.1.提取提取BYTE位对应位对应产品标识产品标识中的字节中的字节q2.2.将该字节与将该字节与INVERT中的字节逐位中的字节逐位异或异或q3.3.将异或的结果与将异或的结果与MASK中的字节逐位中的字节逐位与与q4.4.如果最后的结果是如果最后的结果是0,就将,就将NAD改变为新改变为新NADq然后发送从请求帧然后发送从请求帧(0 x3D),如有从节点满足条件并修改成功,则发送响应,如有从节点满足条件并修
48、改成功,则发送响应新新NADINVERTMASKBYTEid0 xB30 x06初始初始NADD5D4D3D2D1SIDPCINAD0 x3C0 xFF0 xFF0 xFF0 xFF0 xFF0 xF30 x01新新NADD5D4D3D2D1RSIDPCINAD0 x3D节点配置和标识规范根据条件改变NAD服务(Conditional Change NAD)(2/2)主节点主节点从节点从节点BYTEN根据条件改变根据条件改变NAD服务服务MASKINVERT0q根据条件改变根据条件改变NAD服务服务实例实例q假设网络中有假设网络中有2 2个未知个未知NAD的节点,主节点只知道它们的功能的节点,
49、主节点只知道它们的功能ID需要根据他们的功能需要根据他们的功能ID给他们分配新的给他们分配新的NAD现在决定给功能现在决定给功能ID的的BIT0为为1的节点分配的节点分配NAD为为1,给给BIT1为为1的节点分配的节点分配NAD为为2以下两条服务可以实现该功能:以下两条服务可以实现该功能:新新NAD发送响应发送响应0 x010 xFF0 x010 x030 x010 xB30 x060 x7FD5D4D3D2D1SIDPCINAD0 x3C0 x020 xFF0 x020 x030 x010 xB30 x060 x7F0 x3C节点配置和标识规范保存配置服务(Save Configuratio
50、n)q保存设置服务保存设置服务 (Save Configuration,0 xB6)q主节点首先发送主节点首先发送0 xB6服务主请求帧服务主请求帧(0 x3C)q从节点将当前配置保存入从节点将当前配置保存入FLASH中中,并响应从请求帧并响应从请求帧(0 x3D)0 xFF0 xFF0 xFF0 xFF0 xFF0 xB60 x01NADD5D4D3D2D1SIDPCINAD0 x3C0 xFF0 xFF0 xFF0 xFF0 xFF0 xF60 x01NADD5D4D3D2D1RSIDPCINAD0 x3D主节点主节点从节点从节点保存配置服务保存配置服务发送响应发送响应保存配置保存配置节点