大家好,本文章向大家介绍LIN总线的物理层。
LIN相对于CAN是一种低成本的通信总线。
出于成本原因与CAN相比,LIN通信线路为一根线。
(资料图片)
另外,LIN通信可以不需要通信控制器,它的物理通信可以通过UART接口也称为SCI接口实现。
这种接口几乎集成在所有的微控制器中,所以LIN是基于UART帧结构的通信。
通过右图我们可以看到真实LIN报纹与UART帧的对应关系。
图片源VECTOR
我们可以看到UART帧包括8个数据位加一个起始位和一个停止位。
起始位是一个固定的逻辑0,停止位是一个固定的逻辑1。
那么在LIN总线中,逻辑0与逻辑1和物理电瓶如何对应呢?
我们继续学习LIN的信号规范。
在LIN规范中,规定显信位是一个逻辑0。
对于发送节点,总线物理电瓶小于20%VSUP时即为0。
对于接收节点,总线物理电瓶小于40%VSUP时为0。
隐性位是一个逻辑1。
对于发送节点,总线物理电瓶大于80%VSUP时为1。
对于接收节点,总线物理电瓶大于60%VSUP时即为1。
以上规定了接收节点和发送节点的信号特征。
在数据传输过程中,发送节点和接收节点还需要进行同步,来保证数据传输的准确性。
下面我们介绍Lin总线的同步。
在LIN总线中,有初始同步和重同步两种同步方式。
首先我们介绍初始同步。
LIN主节点/重节点在每次报文传输开始时需要建立同步。
为了降低成本,LIN总线没有时钟线。
重节点一般采用低成本的RC振荡器,并允许最大14%的时钟偏差。
当总线处于空闲时,总线状态为逻辑1。
数据开始传输时,由LIN的主节点实现初始同步。
主节点会向总线发送同步间隔场和同步场数据。
同步间隔场至少由13个位的显信位和1个位的隐信位组成。
同步场数据为LIN(x)55。
当重节点接收到主节点发送的同步场数据后,
重节点测量同步场第一个和最后一个下降严之间的时间,并将此时间除以8。
由此计算出主节点的位时间。
同时,根据计算结果调整自身的位速率,从而使主节点和重节点的位速率一致。
初始同步实现了所有重节点时钟和主节点时钟同步。
但是,在实际应用中,各节点时钟精度是存在差异的。
在数据传输的过程中,由于这种时钟精度的差异可能会造成未传输的偏差。
在LIN总线中还有一种同步方式,为重同步。
LIN帧格式是基于UART的通行格式。
发送节点和接收节点可利用UART帧其实位的下降严进行同步。
尽量避免因时钟精度的差异而导致的传输偏差。
这个阶段的同步称之为重同步。
以上内容就是关于LIN总线物理层的介绍。
--LIN通信原理及帧结构--
请不吝点赞,关注并,转发,谢谢!
关键词: