【LIN】
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.。
ISO技术管理委员会（ISO Technical Management Board，ISO TMB）已指定CAN in Automation为依照ISO 17987的LIN供应商ID的注册机构。
== 网路拓朴 ==
LIN是广播串行网路，其中包括16个设备（一台主站，15台从站）
所有的讯息都是由主站开始，最多会有一台从站回复有特定识别码的讯息。主站节点也可能当作一个从站，回应自己发出的讯息。因为所有的通讯都是由主站开始，不需要有碰撞侦测的方案。
主站和从站一般都是用单片机实现，不过为了节省成本、空间或是电源，也可以用特殊的硬体或是特殊应用积体电路来实现。
目前的应用会结合低价的LIN网路及小型感测器来建构小型网路。这些子系统之间可以用骨干网路（在汽车中可能是CAN）。
== 简介 ==
LIN是低成本的串列通讯协定，可以有效支援车内网路的远程应用。LIN特别适用在分散在汽车不同位置的机械式节点，也适用于工业应用。LIN设计时是和CAN网路互补，组成车内的阶层式网路。
LIN Consortium是在1990代末期组成的，组成成员是五家欧洲车厂，以及明导国际（以前的Volcano车辆集团）及飞思卡尔（之前的摩托罗拉，现在已并入恩智浦半导体）。新的LIN规范中，第一个完全实现的版本是在2002年11月发布的LIN 1.3版。在2003年9月提出了2.0版，扩充了组态能力，以及额外的诊断机能以及工具介面。
协定的主要特点如下：
*单一主站，最多16个从站（没有总线仲裁的过程）。这是LIN Consortium强调的特点，以达到确定性的时间反应。
**从站节点位置侦测（Slave Node Position Detection、SNPD），可以在送电后才指定节点的位址。
* 单线通讯，在长度40公尺时，可以到19.2 kbit/s。在LIN规范2.2中，速率最高可到20 kbit/s。
* 可确保的延迟时间。
* 可变长度的资料页框（2, 4及8位元组）。
* 可变动的组态。
* 多播接收的时间同步。设备电路的时脉不需非常准确。不需要晶振（crystal）或是ceramic resonator。
* 资料检查码以及错误检测。.
* 可以检测故障的节点。
* 以标准UART/SCI（串列通讯介面）为基础的电路，低成本的方案。
* 可以建立阶层式的网路
* 工作电压为12 V。
资料是透过可变长度，固定格式的讯息来在网路上传播。主站会送出标头（header）资料，其中包括同步间隔（Synchronization break）信号，之后是同步栏位以及识别符（ID）栏位。从站回应资料页框（frame），其中包括2个、4个或8个位元组的资料，再加上3个位元组的控制资讯。
== LIN讯息页框 ==
讯息包括以下的栏位：
* 同步间隔（Synchronization break）
* 同步位元组
* 识别符（ID）位元组
* 资料位元组
* 检查码位元组
=== 页框种类 ===
# 无条件页框（Unconditional frame）：会带有讯号，其识别符会在0到59之内。所有无条件页框的收听节点都要接收此页框，若没有错误的话，其应用程式需处理对应的内容。
# 事件驱动页框（Event-triggered frame）：其目的是增加LIN节点的反应能力，不需要为了偶尔出现的讯号而用轮询的方式向各节点确认，消耗网路的频宽。无条件页框的第一个位元组需和某个事件驱动页框的保护识别符(PID)相同。从站只有在其数值变化时才需要回应对应的无条件页框。若没有节点回应，该页框的剩余时间没有信号，会忽略该标头资料。若不止一个节点回复，此页框时间会出现资料碰撞，主站需处理碰撞的情形，在下一次提出事件驱动页框前需要先请求所有相关的无条件页框。
# 偶发页框（Sporadic frame）：此页框是在主站有需要时，由主站发出，因此不会有碰撞。只有在主站知道某页框的资料有变化时，才会在对应的页框时间区间内送出偶发页框的标头。偶发页框的发送者需要回应标头的资料。
# 诊断页框（Diagnostic frame）：其中包括诊断或是组态的资讯，长度8位元组，识别符是60（主站请求页框）或61（从站回应页框）。主站在产生诊断页框的标头之前，需要先问诊断模组是否应送诊断资料，以及网路上是否应有资讯。从站也会接收这些资料，依照其诊断模组的讯息回应资讯，
# 自定页框（User-defined frame）：可以包括任何资讯。其识别符是62。当处理了指定给该页框的页框时间区间时，会送出指定页框的标头。
# 保留页框（Reserved frame）：LIN 2.0 cluster不会使用，其识别符是63。
== LIN硬体 ==
LIN规范就是为了设计在网路中很低价的硬体节点所开发。LIN设备是以ISO 9191为基础的低成本、单线网路。以现今的汽车网架构来看，会使用有UART能力，或是有专门LIN硬体的微控制器。
微控制器会产生通讯协定、同位元等LIN通讯需要的所有资料，透过LIN收发器（可能只是电压转换，再加上一些机能）
LIN的从站节点越便宜越好，因此其时脉可能不是用石英晶体谐振器或陶瓷谐振器，而是用RC振荡器产生时脉。为了确保LIN页框内波特率的稳定性，页框中会有SYNC（同步）的栏位。
== LIN通讯协定 ==
LIN主站会依照一个或是几个事先定义的排程表，在LIN网路上开始传送或是接收讯息。排程表中至少会包括各讯息开始发送的相对时序。
LIN页面由两部份组成：标头（header）及回应（response）。标头是由LIN主站送出，回应可能由特定的LIN从站送出，或是由LIN主站本身送出。
LIN是用串列的方式传送资料，一个位元组中有八个位元，一个启始位元，一个结束位元，无同位元检查（break栏位没有启始位元及停止位元)。位元率的范围最慢到1 kbit/s，最快到20 kbit/s。
在网路上的资料可以分为隐性(recessive，逻辑上的高准位)及显性(dominant，逻辑上的低准位)
其时间基础是由LIN主站的稳定时脉来源来决定，最小的单位是1bit 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）。若识别符让一个实体的LIN从站传送回应资讯，此识别符称为Rx识别符。若识别符让LIN主站的从站任务送出资讯，此识别符称为Tx识别符。
回应间隔（RESPONSE SPACE）: 是识别符栏位和LIN回应讯息中第一个位元组之间的间隔时间。当特定的LIN页框(标头及回应)由LIN主站传送完毕，LIN主站会用完整的回应间隔间来计算何时要再送出回应资料。若回应是由另外一个LIN从站送出，主站及从站点会在其逾时时间的计算上，各自处理50%的回应间隔。
===回应===
回应是由LIN从站任务产生（可能是实体从站，也可能是主站的从站任务），分为资料及校验和。
资料: 回应的从站可以送零个到八个位元组到网路上，资料数量由应用程式设计者决定，对应LIN从站应用程式中相关的资料。
检查码（CHECKSUM）: LIN有二种检查码模式，一种检查码只包括资料栏位（V1.3 之前的规范），另一种也包括识别符（V2.0之后的规范)。由应用程式的设计者事先定义要用的检查码模式。
== 从站节点位置侦测试（SNPD）或自动定址==
从站节点位置侦测试（Slave node position detection, SNPD）或自动定址（autoaddressing）的技术可以侦测LIN网路上各从站节点的位置顺序，并给予节点不重复的节点位址（unique node address、NAD），好处是可以让同一类或是类似的设备可以直接连接到网路，不需要另外修改程式
限制：
* 所有需要自动定址的从站，需要在同一条网路线上（若是不需要自动定址的标准从站，接线就不受限制）。
=== 外部接线菊花链 ===
外部接线菊花链（Extra wire daisy chain，XWDC）的方案中，每一个从站设备需要多提供一个输入脚D1，以及一个输出脚D2。
* 第一个SNPD节点的输入脚D1接到GND，或是接到主站的输出脚。
* 第一个SNPD节点的输出脚D2，接到第二个SNPD节点的输入脚D1，以及类推。
每一个组态脚Dx（x=1-2）有以下额外的机能来进行位置侦测：
# 可以切换的上拉电阻，电阻另一端连接Vbat
# 下拉到GND
# 有比较器，电压准位是Vbat/2
===总线分流法===
总线分流法（Bus shunt method，BSM）的从站设备中，有二个LIN节点
# bus_in
# bus_out
每一个节点需增加以下电路，进行位置侦测的机能。
# 可以切换的上拉电阻。
# 可以切换的，从Vbat提供的2 mA电流源。
# 分流电阻
# 差动放大器
# 类比—数位转换器
在EP 1490772 B1及US 7091876的专利中，有提到BSM的自动定址技术。
== LIN的优点 ==
* 方便使用
* 元件容易取得
* 比CAN或其他的通讯网路要便宜
* 减少线束
* 可以让车辆更可靠
* 网路延伸很容易
* 不需通讯协定的权利金
LIN的目的不是为了完全取代CAN网路。不过若价格是主要考量，较没有速度及频宽上的需求时，LIN是很适合的替代方案。一般来说，LIN会用在车辆中对性能或安全性较不要求的子系统，以下是一些例子。
== 应用 ==
== 位址 ==
LIN网路中的位址是透过NAD（Node ADdress、节点位址）来实现，NAD是PID（protected identifier、受保护识别码）的一部份。NAD的值有7位元，其范围从1到127 (0x7F)
==开发工具==
在开发LIN网路或是除错时，硬体讯号的检查格外的重要。逻辑分析仪及bus analyzer可以搜集、分析、解码通讯讯号并加以储存，方便开发及除错使用。
== 相关条目 ==
* List of network buses
* SAE J3068（LIN-CP）