1. 简介

        LIN(Local Interconnect Network)总线是一种车用低成本的串行通讯网络,用于实现汽车中的分布式电子系统控制。它主要用于智能传感器和执行器的通信,为车身电子系统提供灵活、可靠的解决方案。LIN总线基于SCI(UART)数据格式,采用单主多从的通信模式,通信速率较低,适用于对实时性要求不高的场合。


2. LIN总线特点

        (1)低成本:LIN总线采用简单的硬件结构,无需昂贵的传输介质,降低了系统成本。

        (2)低速率:LIN总线的通信速率最高20Kbit/s。

        (3)单主多从:LIN总线采用单主多从的通信模式,主机负责控制总线访问,从机负责响应主机请求。

        (4)基于UART:LIN总线基于通用异步收发器(UART)数据格式,易于实现和兼容,属于异步通讯。

        (5)可靠性:LIN总线采用差分信号传输,具有一定的抗干扰能力,保证了通信的可靠性。


3. LIN总线协议栈

        LIN总线协议栈包括物理层、数据链路层和应用层。

3.1 LIN总线的物理层

        LIN总线的物理层定义了信号的传输方式、电气特性和接口规范。

        LIN总线采用单线12V传输,在物理层中,信号的传输是基于电压的。

        在LIN规范中,显信位(也就是逻辑0)和隐信位(也就是逻辑1)与物理电瓶有对应关系。

        具体来说,对于发送节点,当总线物理电瓶小于20%Vsup时,信号被视为逻辑0;当总线物理电瓶大于80%Vsup时,信号被视为逻辑1。对于接收节点,当总线物理电瓶小于40%Vsup时为逻辑0,当总线物理电瓶大于60%Vsup时为逻辑1。

3.2 数据链路层

        数据链路层定义了数据的帧格式、错误检测、帧同步和流控制。LIN总线采用基于UART的数据帧格式,通过帧头、帧尾和校验位等信息确保数据的可靠传输。       

3.2.1 LIN网络拓扑结构

        在了解帧格式之前我们首先要知道LIN网络的拓扑结构,如下:

      

        LIN的网络拓扑结构里面分了主节点和从节点以及主任务和从任务

        主节点里面包含主任务和从任务程序

        从节点只包含从任务程序

        如下图所示挂在CAN总线和LIN总线之间的那个ECU就是主节点,最下面Low Cost Bus总线上挂的那排方框所代表的执行器和传感器就是从节点。

3.2.2 LIN的帧格式

        一帧LIN报文是由报头响应组成的,报头只能由主任务来发送(只能是主节点发),响应由从任务来发送(可以是主节点也可以是从节点发)。

可以看到报头是由间隔场、同步场以及标识符场组成。

(1)间隔场间隔场用于表示一帧报文的起始

        由主节点发出,并且其结构包括间隔信号和间隔界定符。间隔信号至少由13个显性位(0)组成,而间隔界定符至少由1个隐性位(1)组成。

        从节点需要连续检测到至少11个显性位才认为是间隔信号。间隔场的主要作用是确保报文起始的明确标识,以便从节点能够准确地捕捉到报文的开始。

        间隔场是唯一一个不符合UART字节格式的场。

(2)同步场同步场的作用是实现数据同步,确保所有从节点与主节点使用相同的波特率发送和接收数据。

        在LIN总线中,同步场采用一个固定的字节结构,通常为0x55。

        从节点通过接收主节点发出的同步段,计算出主节点的位速率,并根据计算结果对自身的位速率进行重新调整。这种同步机制确保了各个节点之间的数据传输速率的一致性,从而保证了通信的稳定性和可靠性。

(3)标识符场(PID场):标识符场用于识别报文的类型以及确定哪个节点应该对该报文进行响应

        在标识符场中,前6位用于放置标识符(ID),这个标识符是唯一标识报文类型的。通过不同的标识符,可以区分不同的报文以及报文所代表的功能或命令。这样,接收节点可以根据标识符来判断是否需要对这个报文进行响应。

        后2位则用于放置奇偶校验符。

        如上图所示,标识符场的帧ID有6个bit,表示范围为0x00到0x3f(0~63),0x3c和0x3d用于诊断。

        P0、P1为奇偶校验符号,P0为ID0、ID1、ID2、ID4进行异或运算的结果,P1为ID1、ID3、ID4、ID5进行异或运算后再进行非运算的结果。

(4)字节场:字节场场用于组成数据场传输实际的数据

        LIN通讯的字节场是报文帧的基本组成单位,其格式遵循“SCI”或“UART”串行数据格式(N81编码)。每个字节场由10个位构成:包括1个起始位、8个数据位、以及1个停止位。起始位是一个“显性”位,表示字节场的开始;接着的8个数据位用于传输实际的数据,首先发送的是最低位;停止位是一个“隐性”位,标志着字节场的结束。

(5)数据场:数据场用于传输实际的数据

        数据场的长度可以是1到8个字节,具体的长度可能会根据具体的通讯需求而变化。在数据传输时,采用的是低位在前的发送方式,也就是说,如果某个信号的长度超过一个字节,那么会先发送低位字节,再发送高位字节。

(5)校验和场:校验和场用于校验接收的数据是否正确,以提高数据的可靠性

        校验和方法有两种:经典校验和增强校验。经典校验只校验数据场,不校验标识符场(PID);而增强校验既校验数据场,又同时校验标识符场。通过这样的校验机制,LIN通讯能够确保数据的准确性和稳定性。

         校验和场的计算方式参看LIN规范2.2A的2.8.3

(6)字节间隔和响应间隔

        字节间隔是用于区分报文帧中的各个字段的。它位于每个字节之间,确保报文帧的各部分能够清晰地区分开来。

        响应间隔则位于报头与响应之间。它的作用是留给MCU足够的处理时间,确保微控制器能够充分处理接收到的信息,并准备好响应。


4. 总结

        LIN总线作为一种低成本、低速率的车用串行通讯网络,为车身电子系统提供了灵活可靠的解决方案。它通过简单的硬件结构和基于UART的数据格式实现了低成本的通信,同时满足车身电子系统对实时性要求不高的通信需求。

         本章介绍了LIN规范2.2A里面的第二章LIN协议规范,后续会总结LIN规范的第三章传输层规范。(LIN规范2.2A可在博客顶端下载。)

        

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐