LIN(Local Interconnect Network的简称,中译是區域互聯網路),是应用在汽车内零组件之间通讯的串列网络传输协议。由于汽车上的技术及设备渐渐增加,需要低价的串列网络,而控制器局域网络(CAN)的成本太高,无法在车上的每一个设备中都装设。欧洲汽车制造商开始使用不同的串列通讯技术,因此出现彼此无法相容的问题。

在1990年代末期,由BMW大众集团奥迪富豪汽车梅赛德斯-奔驰这五家车厂开始了LIN Consortium,也有从Volcano汽车集团及摩托罗拉而来的软件及硬件协助。第一个完全实现的新LIN协定(LIN version 1.3)是在2002年11月发布。在2003年9月发布了2.0版,增加了额外的诊断功能。若是配合特制的LIN over DC power line(DC-LIN)收发器,LIN也可以用在汽车车池的电力线通信

  • LIN over DC power line(DC-LIN)的相关标准是ISO/AWI 17987-8[1]
  • ISO技术管理委员会(ISO Technical Management Board,ISO TMB)已指定CAN in Automation英语CAN in Automation为依照ISO 17987的LIN供应商ID的注册机构。

网络拓朴

LIN是广播串行网络,其中包括16个设备(一台主站,15台从站)[2][3][4][5]

所有的讯息都是由主站开始,最多会有一台从站回复有特定识别码的讯息。主站节点也可能当作一个从站,回应自己发出的讯息。

因为所有的通讯都是由主站开始,不需要有碰撞英语Collision (telecommunications)侦测的方案[6]

主站和从站一般都是用单片机实现,不过为了节省成本、空间或是电源,也可以用特殊的硬件或是特殊应用集成电路来实现。

目前的应用会结合低价的LIN网络及小型感测器来建构小型网络。这些子系统之间可以用骨干网络连接(在汽车中可能是CAN)[7]

简介

LIN是低成本的串列通讯协定,可以有效支援车内网络的远程应用。

LIN特别适用在分散在汽车不同位置的机械式节点,也适用于工业应用。

LIN设计时是和CAN网络互补,组成车内的阶层式网络。

LIN Consortium是在1990代末期组成的,组成成员是五家欧洲车厂,以及明导国际(以前的Volcano车辆集团)及飞思卡尔(之前的摩托罗拉,现在已并入恩智浦半导体)。

新的LIN规范中,第一个完全实现的版本是在2002年11月发布的LIN 1.3版。在2003年9月提出了2.0版,扩充了组态能力,以及额外的诊断机能以及工具界面。


协定的主要特点如下:

  • 单一主站,最多16个从站(没有总线仲裁的过程)。这是LIN Consortium强调的特点,以达到确定性的时间反应[8]
    • 从站节点位置侦测(Slave Node Position Detection、SNPD),可以在送电后才指定节点的位址[9]
  • 单线通讯,在长度40米时,可以到19.2 kbit/s[8][10]。在LIN规范2.2中[9],速率最高可到20 kbit/s。
  • 可确保的延迟时间。
  • 可变长度的资料页框(2, 4及8字节)。
  • 可变动的组态。
  • 多播接收的时间同步。设备电路的时脉不需非常准确。不需要晶振(crystal)或是陶瓷振荡器英语ceramic resonator
  • 资料检查码以及错误检测。.
  • 可以检测故障的节点。
  • 以标准UART/SCI(串列通讯界面)为基础的电路,低成本的方案。
  • 可以建立阶层式的网络
  • 工作电压为12 V[8]

资料是透过可变长度,固定格式的讯息来在网络上传播。

主站会送出标头(header)资料,其中包括同步间隔(Synchronization break)信号,之后是同步栏位以及识别符(ID)栏位。从站回应资料页框(frame),其中包括2个、4个或8个字节的资料,再加上3个字节的控制资讯[9]

LIN讯息页框

讯息包括以下的栏位[9]

  • 同步间隔(Synchronization break)
  • 同步字节
  • 识别符(ID)字节
  • 资料字节
  • 检查码字节

页框种类

  1. 无条件页框(Unconditional frame):识别符会在0到59(0x3b)之内。
    会带有讯号,所有无条件页框的收听节点都要接收此页框,若没有错误的话,其应用程序需处理对应的内容。
  2. 事件驱动页框(Event-triggered frame):
    其目的是增加LIN节点的反应能力,不需要为了偶尔出现的讯号而用轮询的方式向各节点确认,消耗网络的带宽。
    无条件页框的第一个字节需和某个事件驱动页框的保护识别符(PID[11])相同。
    从站只有在其数值变化时才需要回应对应的无条件页框。若没有节点回应,该页框的剩余时间没有信号,会忽略该标头资料。
    若不止一个节点回复,此页框时间会出现资料碰撞,主站需处理碰撞的情形,在下一次提出事件驱动页框前需要先请求所有相关的无条件页框。
  3. 偶发页框(Sporadic frame):
    此页框是在主站有需要时,由主站发出,因此不会有碰撞。
    只有在主站知道某页框的资料有变化时,才会在对应的页框时间区间内送出偶发页框的标头。
    偶发页框的发送者需要回应标头的资料。
  4. 诊断页框(Diagnostic frame):识别符是60(0x3c)(主站请求页框)或61(0x3d)(从站回应页框)。
    其中包括诊断或是组态的资讯,长度8字节。
    主站在产生诊断页框的标头之前,需要先问诊断模组是否应送诊断资料,以及网络上是否应有资讯。
    从站也会接收这些资料,依照其诊断模组的讯息回应资讯,
  5. 自定页框(User-defined frame):识别符是62(0x3e)。
    可以包括任何资讯。当处理了指定给该页框的页框时间区间时,会送出指定页框的标头。
  6. 保留页框(Reserved frame):其识别符是63(0x3f)。
    LIN 2.0 cluster不会使用。

LIN硬件

LIN规范就是为了设计在网络中很低价的硬件节点所开发。LIN设备是以ISO 9191为基础的低成本、单线网络[12]

以现今的汽车网架构来看,会使用有UART能力,或是有专门LIN硬件的微控制器。

微控制器会产生通讯协定、同位元等LIN通讯需要的所有资料,透过LIN收发器(可能只是电压转换,再加上一些机能)

LIN的从站节点越便宜越好,因此其时脉可能不是用石英晶体谐振器或陶瓷谐振器,而是用RC振荡器产生时脉。为了确保LIN页框内波特率的稳定性,页框中会有SYNC(同步)的栏位。

LIN通讯协定

LIN主站会依照一个或是几个事先定义的排程英语I/O scheduling表,在LIN网络上开始传送或是接收讯息。排程表中至少会包括各讯息开始发送的相对时序。 LIN页面由两部分组成:标头(header)及回应(response)。标头是由LIN主站送出,回应可能由特定的LIN从站送出,或是由LIN主站本身送出。

LIN是用串列的方式传送资料,一个字节中有八个位元,一个起始位元,一个结束位元,无同位元检查(break栏位没有起始位元及停止位元)。位元率的范围最慢到1 kbit/s,最快到20 kbit/s。 在网络上的资料可以分为隐性(recessive,逻辑上的高准位)及显性(dominant,逻辑上的低准位) 其时间基础是由LIN主站的稳定时脉来源来决定,最小的单位是1位元时间英语bit time(52 µs @ 19.2 kbit/s)。

LIN协定上,有列出两种网络上的状态:睡眠状态及活跃状态。在LIN网络上有资料时,所有的LIN节点都进入活跃状态。在一定时间的逾时时间后,节点会进入睡眠状态,若有唤醒页框(WAKEUP frame)时才会回到活跃状态。 唤醒页框可以由网络上任何一个节点发起,可以是LIN主站依照其内部时程发起。也可以是LIN从站由其固件所产生。 在所有节点都活跃之后,主站会继续下一个识别符的排程。

标头 (Header)

包括五部分:

间隔(BREAK)
间隔栏位会活化所有的LIN从站,预备接收后续标头的内容。其栏位包括一个启始位元以及数个显性位元,长度至少是11个位元时间,目前使用的标准,其长度是13个位元时间,和基本的资料格式不同。间隔栏位是在主时脉可以和各LIN节点时脉不同时(但差异在一定范围内时),确保所有接收的LIN节点可以侦测到表示开始通讯的间隔栏位,这不是标准的资料格式,其数值均为0。
同步(SYNC)
同步栏位是标准的资料格式字节,数值是十六进制的0x55(高位元及低位元轮流变化) 。使用RC振荡器的LIN从站可以用一定数量上升缘及下降缘的时间差,计算网站上的位元时间(主站的time normal),并且重新计算内部的位元率。
字节间隔(INTER BYTE SPACE)
字节间隔是用来调整网络上的 jitter,是LIN规范中可选择的项目。若启动的话,所有LIN模组都要支援此一机能。字节间隔出现在间隔栏位和同步栏位之间、同步栏位和识别符栏位之间、同步栏位和识别符栏位之间、酬载(不考虑通讯协定,实际要传输的资料)栏位和检查码栏位之间。在酬载栏位的每一个字节之间也要有字节间隔。
识别符(IDENTIFIER)
识别符定义一个到多个LIN从站节点要进行的动作。网络设计者需在设计阶段实现故障树的机能。
  • 识别符再加上二位元的检查位元,即为 受保护的识别符(PID[11])。
回应间隔(RESPONSE SPACE)
是识别符栏位和LIN回应讯息中第一个字节之间的间隔时间。当特定的LIN页框(标头及回应)由LIN主站传送完毕,LIN主站会用完整的回应间隔间来计算何时要再送出回应资料。若回应是由另外一个LIN从站送出,主站及从站点会在其逾时时间的计算上,各自处理50%的回应间隔。


  • 若识别符(IDENTIFIER)让一个LIN从站(Slave Node)传送回应讯息,此识别符称为Rx识别符。若识别符让LIN从站送出任务讯息,此识别符称为Tx识别符。
  • 在一个页框时间内,只允许一个从站传送回复资料。
  • 标头(header)必定由Master Node 发起。

回应

回应是由LIN从站任务产生(可能是从站,也可能是主站的从站任务)[13],分为资料及校验和[9]

资料
回应的从站可以送零个到八个字节到网络上,资料数量由应用程序设计者决定,对应LIN从站应用程序中相关的资料。
检查码(CHECKSUM)
LIN有二种检查码模式:一种检查码只包括资料栏位(V1.3 之前的规范),又名classic checksum;另一种也包括识别符(V2.0之后的规范),又名enhanced checksum[14]。由应用程序的设计者事先定义要用的检查码模式。
  • 诊断讯息(ID=0x3C & 3D)使用classic checksum
  • 回应 Tx识别符的 又称为 Publisher 或 Sender,发布者,传送端,寄件者。
  • 回应 Rx识别符的 又称为 Subscriber 或 Receiver,订阅者,接收端,收件者。


从站节点位置侦测试(SNPD)或自动定址

从站节点位置侦测试(Slave node position detection, SNPD)或自动定址(autoaddressing)的技术可以侦测LIN网络上各从站节点的位置顺序,并给予节点不重复的节点位址(unique node address、NAD)[15],好处是可以让同一类或是类似的设备可以直接连接到网络,不需要另外修改程式

限制:

  • 所有需要自动定址的从站,需要在同一条网络线上(若是不需要自动定址的标准从站,接线就不受限制)。
SNPD方法 SNPD方法ID 公司
外部接线菊花链(Extra wire daisy chain) 0x01 恩智浦半导体(以前的菲利浦)
总线分流法(Bus shunt method) 0x02 Elmos Semiconductor英语Elmos Semiconductor
保留 0x03 还不确定
保留 0x04 还不确定
保留 0xFF 还不确定

外部接线菊花链

外部接线菊花链(Extra wire daisy chain,XWDC)的方案中,每一个从站设备需要多提供一个输入脚D1,以及一个输出脚D2

  • 第一个SNPD节点的输入脚D1接到GND,或是接到主站的输出脚。
  • 第一个SNPD节点的输出脚D2,接到第二个SNPD节点的输入脚D1,以及类推。

每一个组态脚Dx(x=1-2)有以下额外的机能来进行位置侦测:

  1. 可以切换的上拉电阻,电阻另一端连接Vbat
  2. 下拉到GND
  3. 有比较器,电压准位是Vbat/2

总线分流法

总线分流法(Bus shunt method,BSM)的从站设备中,有二个LIN节点

  1. bus_in
  2. bus_out

每一个节点需增加以下电路,进行位置侦测的机能。

  1. 可以切换的上拉电阻。
  2. 可以切换的,从Vbat提供的2 mA电流源。
  3. 分流电阻
  4. 差动放大器
  5. 类比—数位转换器

在EP 1490772 B1及US 7091876的专利中,有提到BSM的自动定址技术。

LIN的优点

  • 方便使用
  • 元件容易取得
  • 比CAN或其他的通讯网络要便宜
  • 减少线束
  • 可以让车辆更可靠
  • 网络延伸很容易
  • 不需通讯协定的权利金

LIN的目的不是为了完全取代CAN网络。不过若价格是主要考量,较没有速度及带宽上的需求时,LIN是很适合的替代方案。一般来说,LIN会用在车辆中对性能或安全性较不要求的子系统,以下是一些例子。

应用

应用场合 LIN应用的例子
车顶 感测器、光感测器、光线控制、天窗
方向盘 巡航控制、刮水器、方向灯、温湿度控制、收音机,方向盘锁
座椅 座椅调整马达、乘员感测器、控制面板
引擎 感测器、小马达、冷却风扇马达
温湿度 小型马达、控制面板
后视镜、中控ECU、后视镜开关、车窗升降器、座椅控制开关、门锁
照明 窗台板的RGB LED照明

位址

LIN网络中的位址是透过NAD(Node ADdress、节点位址)来实现,NAD是PID(protected identifier、受保护识别码[11])的一部分。NAD的值有7位元,其范围从1到127 (0x7F)

开发工具

在开发LIN网络或是除错时,硬件讯号的检查格外的重要。逻辑分析仪通讯分析仪英语bus analyzer可以搜集、分析、解码通讯讯号并加以储存,方便开发及除错使用。

相关条目

参考资料

  1. ^ "ISO/AWI 17987-8"页面存档备份,存于互联网档案馆
  2. ^ Mary Tamar Tan, Brian Bailey, Han Lin. "Microchip AN2059: LIN Basics and Implementation of the MCC LIN Stack Library on 8-Bit PIC Microcontrollers"页面存档备份,存于互联网档案馆).
  3. ^ "ATAN0049: Two-wire LIN Networking"页面存档备份,存于互联网档案馆).
  4. ^ Steve Winder. "Power Supplies for LED Driving"页面存档备份,存于互联网档案馆). p. 284
  5. ^ "The LIN Short Story"页面存档备份,存于互联网档案馆).
  6. ^ Lin Concept. LIN Overview. LIN Administration. [28 October 2011]. (原始内容存档于2011-10-05). 
  7. ^ Target Applications. LIN Overview. LIN Administration. [28 October 2011]. (原始内容存档于2011-10-05). 
  8. ^ 8.0 8.1 8.2 Clemson Vehicular Electronics Laboratory: AUTOMOTIVE BUSES. [2009-01-14]. (原始内容存档于2012-04-14).  090114 cvel.clemson.edu
  9. ^ 9.0 9.1 9.2 9.3 9.4 LIN Specification Package Rev. 2.2a. [2020-04-22]. (原始内容存档于2008-04-26). 
  10. ^ LIN Bus Description, Automotive Bus, Local Interconnect Network. [2020-04-22]. (原始内容存档于2021-01-05).  090114 interfacebus.com
  11. ^ 11.0 11.1 11.2 LIN PID 線上計算機. [2023-12-06]. (原始内容存档于2021-04-17). 
  12. ^ LIN Technical Overview. [2020-04-22]. (原始内容存档于2011-07-19). 
  13. ^ LIN 通訊流程 動畫圖示(按▶播放). [2023-12-06]. (原始内容存档于2021-09-25). 
  14. ^ LIN CRC 線上計算機(按 ↵ 計算). [2023-12-06]. (原始内容存档于2021-04-17). 
  15. ^ Anand Gopalan, Akeem Whitehead. "Automatic Slave Node Position Detection (SNPD)".

外部链接