宿主节点发送一个包含同步中断、同步字节和消息识别码的消息报头。从属任务在收到和过滤识别码后被激活并开始消息响应的传输。响应包含两个、四个或八个数据字节和一个检查和(checksum)字节。报头和响应部分组成一个消息帧。
LIN总线上的所有通讯都由主机节点中的主机任务发起,主机任务根据进度表来确定当前的通讯内容,发送相应的帧头,并为报文帧分配帧通道。总线上的从机节点接收帧头之后,通过解读标识符来确定自己是否应该对当前通讯做出响应、做出何种响应。基于这种报文滤波方式,LIN可实现多种数据传输模式,且一个报文帧可以同时被多个节点接收利用。
LIN总线物理层采用单线连接,两个电控单元间的最大传输距离为40m。其总线驱动器和接收器的规范遵从改进的ISO 9141 单线标准。基于SCI/UART( 通用异步收发接口的单总线串行通信)协议;目前几乎所有的微控制器芯片上都有SCI/UART接口。低传输速率、小于20kb/s、采用NRZ编码。
LIN总线在汽车中的应用如下图所示。
CAN总线CAN(Controller Area Network)即控制器局域网,可以归属于工业现场总线的范畴,通常称为CAN bus,即CAN总线,是目前国际上应用最广泛的开放式现场总线之一。
CAN 最初出现在汽车工业中,80年代由德国Bosch公司最先提出。最初动机是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。
CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
CAN总线的工作原理可由下面两图来说明。