LIN总线技术及应用——协议规范(一)
1、信号报文
——信号位于帧的数据场中,以数字或数组的形式出现
——同一种信号在相同ID的报文数据场中的位置总是固定的
2、诊断报文
——诊断报文由两个保留ID来传输,用来传输节点的诊断信息
而这些数据在LIN总线上进行传送的实体就是帧。
下面是LIN报文传输的原理及方式:
通信原理:主任务发送报头,从任务用响应来补充报头形成完整的报文
系统灵活性:可以自由地增减从节点,而不需要改变其它从节点的软件和硬件
报文传输:报文的内容由ID来定义(跟CAN相似)
广播:所有节点都能够同时地接受和响应总线上的帧
现在让我们来了解一下LIN报文帧的结构。
帧由一个报头(由主机任务提供)和一个帧响应(由从机任务提供)组成。
报头包括同步间隔场、同步场和标识符场三个部分;标识符场位置在间隔场和同步场之后。标识符唯一定义了帧的目的。而用于提供与标识符相关的帧响应的从机任务就会输送该目的,过程如上文所示。
帧响应由于数据场和校验和场组成。如果从机任务对标识符有关的数据感兴趣,那么它就可以接收这个响应,核实校验和,并使用这些被传送过来的数据。
下图就是LIN报文帧的结构。
其中,除了间隔场以外,其余的场都遵循字节场的格式。
LIN总线是基于SCI的通信格式,字节场以起始位开始,以结束位结束,中间是8个位的数据,所以与CAN总线不同的是,在LIN总线通信中发送一个字节需要10个位时间。
字节场的格式如下图所示。
接下来我们会详细的介绍报头中每一个场的结构。
表示一帧报文的起始,由主节点发出
间隔信号至少由13个显性位组成,间隔界定符至少由1个隐性位组成
间隔场是唯一一个不符合字节场格式的场
从节点需要检测到至少连续11个显性位才认为是间隔信号
确保所有从节点使用与主节点相同的波特率发送和接收数据
一个字节,结构固定: 0X55
标识符即ID,起始位之后的6位数据为帧ID,帧ID的范围从0到63(0x3F)
奇偶校验符(Parity) P0,P1
字节间隔位于每个字节之间,响应间隔位于报头与响应之间。
留给MCU足够的处理时间
帧长度可能增长
最小值可以是0
数据场长度1到8个字节
低字节先发,低位先发
如果某一信号长度超过1个字节,采用低位在前的方式发送(小端)
用于校验接收的数据是否正确(1个字节)
经典校验(Classic Checksum):仅校验数据场(1.3)
增强校验(Enhance Checksum):校验标识符场与数据场内容(2.0)
标识符为0x3C(60)和0x3D(61)的帧只能使用经典校验
翻转八位和(inverted eight bit sum)
例:Data = 0x4A, 0x55, 0x93, 0xE5;Checksum = 0xE6。
LIN总线技术协议规 相关文章:
- LIN总线技术及应用——协议规范(三)(12-13)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)