LIN总线物理层与LIN通信原理及帧结构

接口/总线/驱动

1116人已加入

描述

来源:晓超说

--lIN物理层--

大家好,本文章向大家介绍LIN总线的物理层。

LIN相对于CAN是一种低成本的通信总线。

出于成本原因与CAN相比,LIN通信线路为一根线。

另外,LIN通信可以不需要通信控制器,它的物理通信可以通过UART接口也称为SCI接口实现。

这种接口几乎集成在所有的微控制器中,所以LIN是基于UART帧结构的通信。

通过右图我们可以看到真实LIN报纹与UART帧的对应关系。

LIN通信

图片源VECTOR

我们可以看到UART帧包括8个数据位加一个起始位和一个停止位。

起始位是一个固定的逻辑0,停止位是一个固定的逻辑1。

那么在LIN总线中,逻辑0与逻辑1和物理电瓶如何对应呢?

我们继续学习LIN的信号规范。

在LIN规范中,规定显信位是一个逻辑0。

LIN通信

对于发送节点,总线物理电瓶小于20%VSUP时即为0。

对于接收节点,总线物理电瓶小于40%VSUP时为0。

隐性位是一个逻辑1。

对于发送节点,总线物理电瓶大于80%VSUP时为1。

对于接收节点,总线物理电瓶大于60%VSUP时即为1。

以上规定了接收节点和发送节点的信号特征。

在数据传输过程中,发送节点和接收节点还需要进行同步,来保证数据传输的准确性。

下面我们介绍Lin总线的同步。

在LIN总线中,有初始同步和重同步两种同步方式。

LIN通信

首先我们介绍初始同步。

LIN主节点/重节点在每次报文传输开始时需要建立同步。

为了降低成本,LIN总线没有时钟线。

重节点一般采用低成本的RC振荡器,并允许最大14%的时钟偏差。

当总线处于空闲时,总线状态为逻辑1。

数据开始传输时,由LIN的主节点实现初始同步。

主节点会向总线发送同步间隔场和同步场数据。

同步间隔场至少由13个位的显信位和1个位的隐信位组成。

同步场数据为LIN(x)55。

当重节点接收到主节点发送的同步场数据后,

LIN通信

重节点测量同步场第一个和最后一个下降严之间的时间,并将此时间除以8。

由此计算出主节点的位时间。

同时,根据计算结果调整自身的位速率,从而使主节点和重节点的位速率一致。

LIN通信

初始同步实现了所有重节点时钟和主节点时钟同步。

但是,在实际应用中,各节点时钟精度是存在差异的。

在数据传输的过程中,由于这种时钟精度的差异可能会造成未传输的偏差。

在LIN总线中还有一种同步方式,为重同步。

LIN帧格式是基于UART的通行格式。

LIN通信

发送节点和接收节点可利用UART帧其实位的下降严进行同步。

尽量避免因时钟精度的差异而导致的传输偏差。

这个阶段的同步称之为重同步。

以上内容就是关于LIN总线物理层的介绍。

--LIN通信原理及帧结构--

接下来向大家介绍LIN总线的通信原理以及LIN报文帧结构。

首先是LIN总先通信原理。

LIN通信

LIN网络采用的是主从结构。在这种主从结构中,有一个主节点和多个从节点。主节点包含主任务和从任务,从节点只包含从任务。

主任务根据在LIN调度表中确定的时间,负责向总先发送Header也称为"报头"。网络中的节点接收到Header后,从任务负责发送Response或接收Response或不发送也不接收。Response也称为"响应"。

Header和Response就组成了LIN报文。

我们这里可以看一个例子,来理解LIN总线的通信原理。

在这个例子中,网络有一个主节点和三个从节点。在LIN的调度表中定义了LIN报文的发送时间。

在T0发送Header1,在T1发送Header2,在T2发送Header3。那么,LIN的主节点就会按照定义好的时间去发送Header。

LIN通信

主节点在T0发送了Header1,接着从节点1发送了Response,从节点3接收了Response,从节点2不发送也不接收。

LIN通信

接着,主节点根据调度表发送了Header2、Header3,完成一个通信循环。由此我们可以看到,LIN报文的发送和接收时间都是预先确定并且可以预测的。

经过上面的介绍,我们了解到LIN报文是由Header和Response组成的。下面我们具体看一下LIN报文的帧结构。

首先是Header。Header是由主节点发送的。

LIN通信

header由sync break field的及同步间隔场、sync field的同步场和Protected Identifier及PID组成。同步间隔场由同步间隔和间隔界定符组成。同步间隔为至少持续13个位的显信位。

LIN通信

由于总线处于空闲时为隐信位,并且报文中除同步间隔场外的任何其他字段均符和UART真格式,也就不会发出大于9个位的显信位。

所以,同步间隔可以表示一帧报文的其实。间隔接订符至少包含一个隐信位。同步场为固定格式,数据为LINx55,用于初始同步。下面我们来详细看一下header中的PID。

LIN通信

PID由6位ID和P0,P1两位奇偶校验位组成。由于LIN的ID有6位,所以它的范围为0-63。在这些ID中,60和61及LINx3C和LINx3D用于诊断报文。

62和63为保留。P0,P1两位奇偶校验位组成,P0是ID0、ID1、ID2、ID4进行异或运算的结果。P1是ID1、ID3、ID4、ID5进行异或运算后取非的结果。

由此我们可以看出ID与PID是有一个确定的对应关系的。

我们接着看Response。

LIN通信

Response包含数据场和校验场。数据场长度为1-8个字节。校验场能够起到校验和保护传输内容的作用。我们具体来看一下。在另总线中有两种校验模型,分别是经典校验和增强校验。

那么它们有什么区别呢?经典校验范围为数据场内容,增强校验范围为PID和数据场内容。

在LIN规范1.1、1.2、1.3版本中没有增强校验。这里需要注意的是,对于ID为LINx3c和LINx3d的报纹,也就是整段报文,在所有版本的LIN规范中使用的都是经典校验。

  审核编辑:汤梓红
 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分