LIN规范.docx

上传人:b****2 文档编号:23503542 上传时间:2023-05-17 格式:DOCX 页数:78 大小:369.31KB
下载 相关 举报
LIN规范.docx_第1页
第1页 / 共78页
LIN规范.docx_第2页
第2页 / 共78页
LIN规范.docx_第3页
第3页 / 共78页
LIN规范.docx_第4页
第4页 / 共78页
LIN规范.docx_第5页
第5页 / 共78页
点击查看更多>>
下载资源
资源描述

LIN规范.docx

《LIN规范.docx》由会员分享,可在线阅读,更多相关《LIN规范.docx(78页珍藏版)》请在冰豆网上搜索。

LIN规范.docx

LIN规范

LIN规范

LIN标准

LIN是低成本网络中的汽车通讯协议标准。

图1汽车中的主要网络协议

LIN概念

LIN(LocalInterconnectNetwork)是低成本的汽车网络,它是现有的汽车复用网络功能上的补充。

为了获得更多的质量提高和降低成本,LIN将是在汽车中使用汽车分级网络的启动因素。

LIN的标准化将减少重复使用现有的低端复用解决方案,而且将减低汽车电子的开发、生产、服务和后勤成本。

LIN标准包括传输协议规范、传输介质规范、开发工具接口规范和软件编程接口规范。

LIN在硬件和软件上保证了网络节点的互操作性,并能预测EMC。

这个规范包包括了3个主要部分:

LIN协议规范部分——介绍了LIN的物理层和数据链路层。

LIN配置语言描述部分——介绍了LIN配置文件的格式。

LIN配置文件用于配置整个网络并作为OEM和各种网络节点供应厂商的通用接口,以及作为开发和分析工具的输入。

LINAPI部分——介绍了网络和应用程序之间的接口。

这个概念可以实现开发和设计工具之间的无缝连接,并提高了开发的速度,增强了网络的可靠性。

图2LIN规范的范围

 

各部分链接

第一部分LIN协议规范

第二部分LIN配置语言规范

第三部分LINAPI操作规程建议

 

LIN协议规范

 

1.介绍

LIN(LocalInterconnectNetwork)是一个串行通讯协议,它有效地支持分布式汽车应用中机械电子节点的控制。

它的应用范围是带单主机节点的和一组从机节点的A类复用总线[1]。

LIN总线的主要特性有:

•单主机/多从机概念

•基于普通UART/SCI接口硬件、的低成本硅设备,低成本软件或作为纯状态机构

•从机节点不需要石英或陶瓷谐振器可以实现自同步

•保证信号传输的延迟时间

•用单线实现成本极低

•速度高达20kbit/s

本规范的目的是根据ISO/OSI参考模型的数据链路层和物理层实现任何两个LIN设备的互相兼容(见图2.1)。

LIN是一种划算的总线通信方式,它不要求有CAN的带宽和多功能性。

线的驱动器/接收器的规范遵守ISO9141标准[2],而且EMI性能有所提高。

1.1修订历史

1999年6月5日:

修订版1.0

2000年4月17日:

修订版1.1

2000年11月17日:

修订版1.2

•协议

-表2.1:

纠正传输速率单元

-第2章:

连接:

把终端阻抗从范围值该成典型值

-表3.1:

增加标称值列

-3.1.3节:

说明响应场的使用和校验和字节的功能

-3.2节:

为总体的命令和服务报文以及以后扩展的LIN修订版(向上兼容)保留额外的标识符;命令报文代替前面的睡眠模式报文。

-3.3节:

说明帧长度的计算

-表3.4:

增加标称值列

-6.1节:

标识符奇偶错误的错误处理

-6.1节:

纠正校验和错误

-表8.1:

指出带谐振器的主机和从机节点的时钟容差

•物理层

-表10.3:

指定最大的转换速率

-表10.4:

改变CSLAVE和CMASTER,使ESD和EMI性能更好

-10.4节:

修改ESD电压级的注释

•整个文档:

用“报文帧”或用更合适的词代替“数据帧”。

1.2投稿人

这个规范是由以下人员投稿:

J.Bauer,V.Riebeling,AudiAG,Ingolstadt.

J.Fröschl,M.Kaindl,Dr.J.Krammer,BMWAG,Munich.

C.Bracklo,W.Welja,DaimlerChryslerAG,Stuttgart.

R.Erckert,Dr.J.Krücken,Dr.A.Krüger,Dr.W.Specks,H.-C.Wense,MotorolaGmbH,Munich.

I.Horváth,A.Rajnák,VolcanoCommunicationsTechnologies,Gothenburg.

J.Ende,T.Zawade,VolkswagenAG

L.Casparsson,VolvoCarCorporation,Gothenburg.

使用这个规范的任何应用都受到知识产权法例保护。

2.基本概念

LIN协议有下面的特性:

•单主机多从机结构(即无总线仲裁)

•保证信号传输的延迟时间

•可选的报文帧长度:

2,4和8字节

•配置灵活

•带时间同步的多播(multicast)接收,从机节点没有石英晶振或陶瓷谐振器

•数据校验和的安全性和错误检测

•检测网络中的故障节点

•使用成本最低的半导体元件(小型电路板,单芯片系统)

根据OSI参考模型的LIN层次结构在图2.1中显示。

•物理层定义了信号如何在总线介质上传输。

本规范中定义了物理层的驱动器/接收器特性。

•MAC(媒体访问控制)子层是LIN协议的核心。

它引入从LLC子层接收到的报文,也接受发送到LLC子层的报文。

MAC子层由故障界定这个管理实体监控。

•LLC(逻辑链路控制)子层负责报文滤波和恢复管理。

LLC=逻辑链路层

MAC=媒体访问控制

图2.1OSI参考模型

这个规范的范围是定义数据链路层和物理层以及周围几层的LIN协议的结果。

报文

在总线上发送的信息,有长度可选的固定格式(见第3章)。

每个报文帧都包含2、4或8字节的数据以及3字节的控制和安全信息。

总线的通讯由单主机控制。

每个报文帧都以一个间隔信号开始,接着是一个同步场和一个标识符场,这些都由主机任务发送。

从机的任务则是发回数据场和校验场(见图2.2)。

通过主机控制单元中的从机任务,数据可以被主机控制单元发送到任何从机控制单元。

主机通过相应的报文ID可以触发从机-从机通信。

图2.2LIN的通讯概念

信息路由

LIN系统中,节点不使用有关系统配置的任何信息,除了单主机节点的命名。

系统灵活性:

不需要改变任何其他从机节点的软件或硬件就可以在LIN网络中直接添加节点。

报文路由:

报文的内容由识别符命名。

识别符不指出报文的目的地,但解释数据的含义。

最大的标识符号码是64,其中4个保留用于专用的通讯,譬如软件升级或诊断。

多播:

由于引入了报文滤波的概念,任何数目的节点都可以同时接收报文,并同时对此报文做出反应。

位速率

最大的波特率是20kbit/s,它是由单线传输介质的EMI限制指定。

最小的波特率是1kbit/s,可以避免和实际应用的超时周期冲突。

为使用低成本的LIN器件,建议使用下面的位速率:

表2.1建议的位速率

低速

中速

高速

2400bit/s

9600bit/s

19200bit/s

单主机-无仲裁

只有包含主机任务的控制器节点可以传输报头,一个从机任务对这个报头作出响应。

由于没有仲裁的过程,如果多于一个从机响应就会产生错误。

这种情况下的错误界定可以由用户按照应用的要求指定。

安全性

错误检测

-监控,发送器比较总线“应当”的值和“现在”的值

-数据场相加将MSB的进位加到LSB,得到的和模256并取反,这个结果就是校验和

-标识符场的双重奇偶校验保护

错误检测的性能

-发送器可以检测到所有的本地错误

-对整个协议的错误有高的错误覆盖率

错误标定和恢复时间

在单主机概念中不能进行直接的错误标定。

错误在本地被检测到,并用请求诊断的形式提供(见第6章)。

故障界定

LIN节点可以区分短时扰动和永久故障,它还能对故障作出合适的本地诊断并采取合适的行动(见第7章)。

连接

LIN网络节点的最大数量不仅由标识符的数量限制(见上面的信息路由)也由总线的物理特性限制。

-建议:

LIN网络的节点数量不应超过16。

否则,网络阻抗降低会在很差的环境条件下禁止无错误通讯。

每一个额外的节点都可以降低大约3%的网络阻抗(30kΩ||~1kΩ)。

-网络中积累的“电”线长度应少于或等于40m。

-主机节点的总线端电阻典型值是1kΩ,从机节点是30kΩ。

单通道

总线有一个传送位的单通道。

从这里数据可以获得重同步信息。

物理层

物理层是一条单线线与总线,每个节点都连接上拉电阻,电源从汽车的电源网络获得(VBAT),见第10章。

与上拉电阻串联的二极管可以防止电子控制单元(ECU)在本地电池掉电的情况下通过总线上电。

信号的波形由EMI和时钟同步的要求定义。

图2.3物理层的示意图

总线值

总线有两个互补的逻辑值:

“显性”或“隐性”。

相应的位和电压值可参见表2.2。

表2.2总线的逻辑和物理值

逻辑值

位值

总线电压(见10.2章)

显性

0

隐性

1

电池

应答

正确接收报文后的应答过程在LIN协议中没有定义。

主机控制单元检查由主机任务初始化的报文和在自己的从机任务中接收到报文是否一致。

如果不一致(例如:

丢失从机响应,校验和不正确等等),主机任务可以改变报文的进度表。

如果从机检测到不一致,从机控制器将保存这个信息并将它用诊断信息的形式向主机控制单元请求。

诊断信息可以作为普通报文帧的数据发送。

命令帧和扩展帧

4个有8字节响应的标识符被保留用作特殊的报文帧:

两个命令帧和两个扩展帧。

两个命令帧都包括8字节响应,可以用于从主机向从机节点(或相反)上载和下载数据。

这个特征用于软件升级,网络配置和诊断。

帧的结构和普通的报文相同。

响应场包含用户定义的命令场而不是数据场,举个例子,命令场可以使从机节点进入服务模式或睡眠模式。

两个扩展帧标识符被保留用于将用户定义的报文格式和以后的LIN格式嵌入到现在的LIN协议中,而不需要改变当前的LIN规范。

这就保证了LIN从机向上兼容以后的LIN协议修订版。

扩展帧标识符向所有的总线成员声明了一个未定义的帧格式。

标识符后面紧跟着的是LIN字节场的仲裁号码。

接收到这个标识符的从机必须忽略后面的字节场,直到出现下一个同步间隔。

睡眠模式/唤醒

为了降低系统的功耗,LIN节点可以进入没有任何内部活动而且总线驱动器无源的睡眠模式。

用于广播睡眠模式的报文是一个专用的命令,在3.2节中定义。

睡眠模式期间,总线呈隐性。

任何总线活动或总线节点内部的任何情况都会使节点退出(唤醒)睡眠模式。

如果节点被内部唤醒,应利用基于使用唤醒信号的过程向主机通报这一消息。

唤醒帧是一个单调的显性位序列,参见3.4节。

唤醒时,内部活动重新启动,MAC子层等待系统的振荡器稳定,从机节点则在重新参与总线通讯前等待,直到(自己)和总线活动同步(等待显性的同步间隔)。

时钟恢复和SCI同步

每个报文帧都由一个同步间隔起始,接着是同步场,这个同步场在几倍的位定时长度中包含了5个下降沿(即:

“隐性”到“显性”的跳变)。

这个长度可以测量(即:

通过定时器的捕获功能)而且可以用于计算从机节点内部时基(见3.1节和第9章)。

同步间隔帧使丢失了同步的从机节点可以识别同步场(见3.1.2节)。

振荡器容差

位定时的要求允许在有容差的从机节点上使用预修剪的在片振荡器(参见表8.1)。

主机节点的时钟由石英或陶瓷谐振器发生,而且是“频率中心点”。

3.报文传输

3.1报文帧

报文传输是由报文帧的格式形成和控制。

报文帧由主机任务向从机任务传送同步和标识符信息并将一个从机任务的信息传送到所有其他从机任务。

主机任务位于主机节点内部,它负责报文的进度表:

发送报头。

从机任务位于所有的(即主机和从机)节点中,其中一个(主机节点或从机节点)发送报文的响应。

一个报文帧(见图3.1)是由主机节点发送的报头和由主机或一个从机节点发送的响应组成。

报文帧的报头包括同步间隔场、同步场和标识符场。

报文帧的响应则由3个到9个字节场组成:

2、4或8字节的数据场和一个校验和场。

字节场由字节间空间分隔,报文帧的报头和响应是由一个帧内响应空间分隔。

最小的字节间空间和帧内响应空间是0。

这些空间的最大长度由报文帧的最大长度TFRAME_MAX限制,这个长度在表3.3中指出。

图3.1LIN报文帧

3.1.1字节场

字节场的格式(见图3.2)就是通常的“SCI”或“UART”串行数据格式(8N1编码)。

每个字节场的长度是10个位定时。

起始位是一个“显性”位,它标志着字节场开始。

接着是8个数据位,首先发送最低位。

停止位是一个“隐性”位,它标志着字节场结束。

图3.2LIN字节场

3.1.2报头场

同步间隔

为了能清楚识别报文帧的开始,报文帧的第一个场是一个同步间隔。

同步间隔场由主机任务发送。

它使从机任务有均等的机与总线时钟同步。

同步间隔场有两个不同的部分(见图3.3)。

第一个部分是由一个持续TSYNBRK或更长时间(即最小是TSYNBRK,不需要很严格)的显性总线电平。

接着的第二部分是最少持续TSYNDEL的隐性电平同步定界符。

第二个场使可以检测到接下来的同步场的起始位。

最大的间隔和定界符时间没有精确的定义,但必须符合整个报头THEADER_MAX的总体时间预算,THEADER_MAX在表3.3中定义。

图3.3同步间隔场

从机控制单元的同步间隔场的时序规范及其估计值是LIN网络中允许的时钟容差(见表8.1)。

如果显性电平持续的时间比在协议中定义的普通显性位序列(这里是:

“0x00”场,有9个显性位)还要长,此时认为这是一个同步间隔场。

如果这个间隔超过了用从机的位定时测量的间隔TSBRKTS,则从机节点将检测到这个间隔(见表3.1)。

这个“阀值”是从从机节点的最大本地时钟频率得出。

基于精确的本地时基,阀值TSBRKTS被指定了两个值。

同步间隔场的显性电平长度最小是TSYNBRK(可以更长),这个时间是用主机位定时来测量。

最小值是由要求的阀值连接从机节点指定的最小本地时钟频率得出(见表8.1)。

表3.1同步间隔场的定时

同步间隔场

逻辑

名字

最小值[Tbit]

通常值[Tbit]

最大值[Tbit]

同步间隔低相位

显性

TSYNBRK

13a

-

同步间隔界定符

隐性

TSYNDEL

1a

-

同步间隔从机阀值

显性

TSBRKTS

11b

9c

a.这个位定时基于主机的时基。

b.这个位定时基于本地从机的位时基。

它对时钟容差低于FTOL_UNSYNCH的节点有效(见表8.1),例如:

有RC振荡器的从机节点。

c.和b一样,但对时钟容差低于FTOL_SYNCH的节点有效,譬如带石英晶振或陶瓷谐振器的从机节点(见表8.1)。

同步场

同步场包含时钟的同步信息。

同步场的格式是“0x55”,特点是在8个位定时中有5个下降沿(即:

“隐性”到“显性”的跳变沿)(见图3.4)。

同步的过程在第9章定义。

图3.4同步场

标识符场

标识符场(ID场)定义了报文的内容和长度。

其中,内容是由6个标识符位和两个ID奇偶校验位表示(见图3.5)。

标识符位的第4和第5位(ID4和ID5)定义了报文数据场的数量NDATA(见表3.2)。

这将把64个标识符分成4个小组,每组16个标识符,这些标识符分别有2,4和8个数据场。

表3.2在报文帧中控制数据场数量

ID5

ID4

NDATA(数据场的数量)[字节]

0

0

2

0

1

2

1

0

4

1

1

8

ID位ID0~ID3相同但长度代码ID4、ID5不同的标识符可以表示不同的报文。

注意:

如果在对此技术问题有严格要求的(譬如:

在气象系统中)系统中,报文的长度代码可以和表3.2中规定的不同。

此时,数据字节的数量可以从0~8任意选择,而和标识符无关。

标识符的奇偶校验位通过下面的混合奇偶算法计算:

(奇校验)

(偶校验)

这种情况下,不可能所有的位都是隐性或显性。

标识符0x3C、0x3D、0x3E和0x3F以及它们各自的标识符场0x3C、0x7D、0xFE和0xBF(所有8字节报文)都保留用于命令帧(如:

睡眠模式)和扩展帧(见3.2节)。

图3.5标识符场

3.1.3响应场

根据应用,如果信息和控制单元无关,则可以不处理报文的响应场(数据和校验和),譬如不知道或错误的标识符。

在这种情况下,校验和的计算可以忽略(参见附录A.5)。

数据场

数据场由通过报文帧传输的有8位数据的字节场组成。

首先被传输的是LSB(见图3.6)。

图3.6数据场

校验和场

校验和场是所有数据字节相加得到的和模256后取反(图3.7)。

和用“带进位的加法”计算,每次加法的进位位都加到(和)结果的最低位(LSB)上。

这就保证了数据字节MSB的安全。

图3.7校验和场

所有数据字节的和模256后加上校验和字节得出的值必须是“0xFF”。

3.2保留的标识符

命令帧标识符

保留的两个命令帧标识符用于主机向所有总线成员为服务广播普通命令请求。

它的帧结构和普通的8位报文帧(见图3.8)相同,只由保留的标识符来区别。

“0x3C”ID场=0x3C;ID0,1,6,7=0;ID2,3,4,5=1是一个主机请求帧,和

“0x3D”ID场=0x7D;ID1,7=0;ID0,2,3,4,5,6=1是一个从机响应帧

(可参见附录A2)。

标识符“0x3C”是一个“主机请求帧”,它可以从主机向从机节点发送命令和数据。

标识符“0x3D”是一个“从机响应帧”,它触发一个从机节点(被以前的下载帧寻址)向主机节点发送数据。

命令帧的第一个数据场是一个0x00~0x7F的保留值,它的用法由LIN协会定义。

用户可以分配剩下的命令帧。

命令帧的第一个数据字节:

D7位=0:

保留使用

D7位=1:

自由使用

图3.8LIN命令帧

睡眠模式命令

睡眠模式命令用于向所有总线节点广播睡眠模式。

在这个报文结束后直到总线上出现唤醒信号退出睡眠模式前的时间内,没有总线活动(见3.4节)。

睡眠模式命令是第一个数据字节是0x00的下载命令帧。

扩展帧标识符

保留的两个扩展帧标识符允许在不改变现在的LIN规范情况下在LIN协议中嵌入用户定义的报文格式和以后的LIN格式。

这就保证了LIN从机可以向上兼容以后的LIN协议修订版。

扩展帧用保留的标识符场区别:

“0x3E”ID场=0xFE;ID0=0;ID1,2,3,4,5,6,7=1是用户定义的扩展帧,和

“0x3F”ID场=0xBF;ID6=0;ID0,1,2,3,4,5,7=1是以后的LIN扩展帧(参见附录A2)

标识符“0x3E”(标识符场=“0xFE”)表示一个用户定义的扩展帧,它可被自由使用。

标识符“0x3F”(标识符场=“0xBE”)直接保留给以后的LIN扩展版本,现在还不能使用。

标识符后面可以跟随任意数量的LIN字节场(见图3.9)。

帧的长度、通讯概念和数据内容这里没有定义。

ID场的长度码对这两个帧不起作用。

从机接收扩展帧标识符,但如果不使用它的内容,则必须忽略所有的后续LIN字节区直到接收到下一个同步间隔。

图3.9LIN扩展帧

3.3报文帧的长度和总线睡眠检测

报文帧用一个同步间隔场作为起始用校验和场作为结束。

报文帧中的字节场用字节间空间和帧内响应空间分隔。

字节间空间和帧内响应空间的长度没有定义,只限制了整个报文帧的长度。

最小的帧长度TFRAME_MIN是传输一个帧所需要的最小时间(字节间空间和帧内响应空间是0)。

最大的帧长度TFRAME_MAX是允许传输一个帧的最大时间。

时间值请看表3.3。

它们由都数据字节场NDATA的数量决定,并不包括系统固有的(譬如:

物理上)信号延时。

表3.3报文帧的定时

时间

名字

时间[Tbit]

最小报文帧长度

TFRAME_MIN

10*NDATA+44

最小报头长度

THEADER_MIN

34

最大报头长度

THEADER_MAX

(THEADER_MIN+1a)*1.4

最大报文帧长度

TFRAME_MAX

(TFRAME_MIN+1a)*1.4

总线空闲超时

TTIME_OUT

25,000

a.“+1”是使THEADER_MIN和TFRAME_MAX是一个整数值

如果从机在TTIME_OUT中检测到总线没有活动,它会假设总线处于睡眠模式。

这种情况会在譬如睡眠报文被破坏的时候出现。

3.4唤醒信号

总线的睡眠模式可以通过任何节点发生一个唤醒信号来中止。

唤醒信号可以通过任何从机任务发送,但只有总线之前处于睡眠模式而且节点内部请求被挂起时才有效。

唤醒信号是字符“0x80”。

当从机不与主机节点同步时,信号可以比精确时钟源的信号长或短15%。

主机可以检测到字符“0x80”并像“0xC0”、“0x80”或“0x00”一样将它当作有效的数据字节。

第一个场由TWUSIG的显性位序列规定,即8个显性位(包括起始位)。

接着的第二个场是持续了至少TWUDEL的隐性唤醒定界符,即至少4个位定时(包括停止位和一个隐性停止位)。

图3.10唤醒信号帧

在唤醒信号发送到总线上后,所有的节点都运行启动过程并等待主机任务发送一个同步间隔场和同步场。

如果在唤醒信号超时时间内没有检测到同步场,请求第一个唤醒信号的节点将再一次发送一个新的唤醒信号。

但这种情况将不超过3次。

然后唤醒信号的传输将被3个间隔超时挂起,详细情况请看表3.4和附录A.1。

只有有内部唤醒请求挂起的节点才允许重新发送唤醒信号。

在3个间隔超时后再重新发送3个唤醒信号,此后就可以决定是否要停止重新发送。

表3.4唤醒信号定时

唤醒

逻辑

名字

最小值[Tbit]

通常值[Tbit]

最大值[Tbit]

唤醒信号

显性

TWUSIG

8a

唤醒信号界定符

隐性

TWUDEL

4b

64

唤醒信号超时

隐性

TTOBRK

128

3个间隔超时

隐性

TT3BRK

15,000

a.这个位定时是基于各自的从机时钟。

b.要检查这个唤醒时间对所有网络节点是否足够。

如果没有其他的节点,位定时Tbit参照主机节点的SCI波特率(见第9章)。

4.报文滤波

报文滤波是基于整个标识符的。

它要通过网络配置来保证只有一个从机任务对所发送的一个标识符作出响应。

5.报文确认

如果直到帧的结尾都没有检测到错误,这个报文对发送器和接收器都有效。

如果报文被破坏,则主机和从机任务都认为报文没有被发送。

注意:

主机和从机任务在发送和接收到一个错误报文时所采取的行动并没有在协议规范中定义。

像主机重新发送或从机进入低效运行(fall-back)操作都由应用的要求来决定,而且要在应用层中说明。

在总线上传送的事件信息也可能丢失,而且这个丢失不能被检测到。

6.错误和异常处理

6.1错误检测

这里共定义了5个不同的报文错误类型。

产生错误的原因列在附录A.4:

位错误

向总线发送一个位的单元同时也在监控总线。

当监控到的位值和发送的位值不同时,则在这个位定时检测到一个位错误。

校验和错误

如果所有接收到的数据字节的和模256后取反与校验和相加得到的结果不是“0xFF”,则检测到一个校验和错误(见3.1节,校验和场)。

标识符奇偶错误

标识符的奇偶错误(即:

错误的标识符)不会被标出。

典型的LIN从机应用不能区分一个未知但有效的标识符和一个错误的标识符。

然而,我们强制所有的从机节点都要评估已知标识符ID场的8个位以及区分已知的和错误的标识符。

从机不响应错误

如果任何从机任务在发送SYNCH和标识符场前的最大

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1