我是靠谱客的博主 眼睛大西装,最近开发中收集的这篇文章主要介绍LIN通信入门(一)LIN通信入门(一),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

LIN通信入门(一)

本连载作为嵌入式开发入门的一部分,将通过3个部分介绍LIN通信。

LIN的诞生

近年,随着汽车安全性、便利性的提升,以及环保要求等,汽车上的电子零件逐渐增加。而电子零件的增加催生出了局部网络,不仅在控制发动机等的动力系统和控制转向的底盘系统,就连控制车窗、车门、反光镜和座椅等的车身系统也开始广泛应用局部网络。

另一方面,这种局部网络的结构(传感器、执行器、电子控制器(ECU))也导致了配线的增加(图1)。当然,电子化导致的配线费用和原来的材料费、开发费,以及装配费等抵消,但是接线空间、接触不良等造成的电子故障增加,对于汽车的品质和可靠性有很大的影响。

图1 局域网中的电子零件配线增加 (参照vectorjapan资料作成)

作为解决此问题的对策,引入了多点通信协议。通过引入多点通信协议,可以在不增加配线的前提下接入更多的传感器和执行器。

一说到汽车的多点通信协议,大多数人应该首先想到的就是CAN了,而且已经在汽车上有很多实际的应用了,可以很简单的采用。

但是,对于传感器和执行器的局域网络通信不需要像动力系统和底盘系统那样对于通信速率和可靠性上有很高的要求,从成本来看未必是最合适的设计。

这里就可以提到本系列的主角LIN(Local Interconnect Network)了。对于不需要像动力系统和底盘系统那样的速率和可靠性的传感器和执行器,即车身系统,可以采用LIN来构筑简单、低成本的局域网络。

在这里插入图片描述

图2 LIN能够构筑简单廉价的局域网(参照VectorJapan资料作成)

本连载将从LIN的基础知识开始,到Frame构造和网络管理等LIN的标准协议进行详细介绍,最新的LIN2.0和LIN2.1的追加部分也会一并介绍。

第一讲将会介绍一些基础知识,比如协议特征,硬件和通信方式等。

适用领域

LIN的适用范围包括车窗、座椅、天窗、门锁、空调、照明等舒适性相关的领域。

今后随着舒适性产品的增加,以及新能源车型不同于传统车型的控制导致的通信需求增加,使用LIN的场景将越来越多。

基于OSI模型的LIN节点构造

LIN协议和OSI模型的比较如图3所示。

在这里插入图片描述

图3 LIN协议与OSI模型的比较(参照VectorJapan资料作成)

LIN协议不仅定义了物理层和数据链路层,应用层和LIN网络的API也有规定。2.0后的版本对传输层(TP)和诊断也进行了定义。

LIN协议的特征

LIN协议主要的特征如下所示:

l线形总线

l主从方式(一主多从)

l令牌方式

l报文地址寻址方式(所有节点可以接收LIN报文)

l基于时间表式的通信(时间触发方式)

l数据最大传送速度20kbit/sec

lUART接口(多数芯片都带有的串口通信装置)

l不需要晶振和陶瓷谐振的自我同期(从节点)

l短报文(最大8Byte)

l简单的数据保护(奇偶、和校验)

后面的内容将对上述特征进行详细的说明。

LIN的硬件

LIN节点由芯片和LIN收发器构成,一般通过多数芯片都搭载的UART功能来实现,如图4所示。

在这里插入图片描述

图4 LIN的构成(参照VectorJapan资料作成)

LIN采用UART功能进行传输时,需要传送包括1位起始位和1位停止位、共10位数据。传送按照LSB方式从最低位开始传输。

起始位和停止位用于判断报文的开始与结束。起始位的逻辑值为“0”,电压为GND,停止位的逻辑值为“1”,电压为电源电压。逻辑值“1”为隐性值,“0”被称为显性值。如图5所示。

在这里插入图片描述

图5 LIN报文的构成(参照VectorJapan资料作成)

LIN收发器按照ISO 9141标准,使用单线通信。LIN收发器控制着输入电压、信号振幅、以及节点的睡眠与唤醒。

最后对于通信速率,LIN因为EMC和时钟同期等原因,规定最大传输速率为20kbit/sec。一般常使用的传输速率为2.4kbit/sec、 9.6kbit/sec、 19.2kbit/sec

和CAN比起来不需要CAN Controller,节约了硬件的成本,同时配线也从2根变成了1根,也能够降低费用。

通信方式

LIN的通信方式如前所述,以“主从”和“基于时间表”的形式进行通信。这是和CAN比较,LIN最大的特征。

这边以电车作为例子介绍LIN通信的这些特征。

电车从始发站开始按照时刻表出发。这个时刻表是为了不让电车发生碰撞决定出发时间的。同时,乘客在车站等待电车,等待的电车到了后,上车,向目的地移动。

在这里插入图片描述

图6 以电车为例的LIN通信方式

LIN也是按照这种方式进行通信的。按照事先定义好的“传送时刻表”进行数据的发送。因此,不会发生冲突,各个节点按照一定的间隔进行数据的传送与接收。这样的方式也不会造成bus的过负载,实现稳定的通信。

同时,这样的通信方式就需要网络内有能够控制传输时刻的功能。LIN的话通过主节点控制传输时刻,主从节点的通信方式来实现这样的功能。

线形总线构造

LIN的网络拓扑为线形构造。一根LIN总线上会有一个主节点以及复数个从节点。LIN网络推荐的最大节点个数为16,最长总线长度为40米。
在这里插入图片描述

图7 LIN网络结构(参照VectorJapan资料作成)

主从方式

刚刚已经说过LIN通信的方式是主从方式。即,主节点控制整个网络的通信,从节点按照主节点的调度进行通信。

对于LIN节点任务来说,可分为“主任务”和“从任务”两种。

主任务:只有主节点才有的任务,按照事先决定的时刻在网络中发送令牌,从而实现网络的传输时刻管理。

从任务:主节点和从节点双方都有的任务,数据的传输,即,监视的主任务中发送的令牌,在主节点的令牌后发送数据。只要没收到令牌,绝不发送数据。

一个令牌和一条数据构成一条LIN报文。

在LIN的标准中,令牌被称为“header”,数据被称为“response”,报文被称为“Frame”。在“header”中含有表示报文身份的“ID”,各个节点根据“ID”决定是否发送“Response”。同时,LIN报文是地址寻址方式,总线上的所有节点都能收到报文。

时刻表

主任务发送“header”的时刻由事先定义好的时刻表决定。LIN的时刻表中定义了包括ID、传送的顺序、以及传送的间隔等信息。主节点根据此时刻表控制整个LIN网络的通信。

另外,LIN的时刻表可以定义多个,比如“启动时的初始化模式”、“通常模式”、“诊断模式”等,根据车辆的状态切换时刻表,可以改变数据传送的周期和内容等。

同步方法

LIN出于对成本削减的考虑没有专门布置用于时钟同步的配线,同时,对于LIN的从节点,同样出于对成本削减的考虑一般采用误差较大的CR时钟。这样如果什么都不做的话,LIN的各个节点间容易产生误差。

通过搭载高精度晶振的主节点,将同步信号在总线上发送给各个从节点,各个从节点再根据此信号进行误差补正,从而达到信号同步的目的。

这里提一下,LIN协议中对误差的要求是±14%,而一般高精度晶振的误差为±1.5%。

最后

以上就是眼睛大西装为你收集整理的LIN通信入门(一)LIN通信入门(一)的全部内容,希望文章能够帮你解决LIN通信入门(一)LIN通信入门(一)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部