基于LIN2.0规范的实用LIN协议驱动器设计

2 下载量 106 浏览量 更新于2024-09-01 收藏 94KB PDF 举报
一种实用的LIN协议驱动器的设计 LIN总线作为CAN总线的有效补充,在低端车身电子领域替代CAN总线,既能满足功能要求,又能节约成本,在对成本更加敏感的国产车上得到大规模应用。LIN总线没有专门的协议驱动器,一般需要在SCI模块的基础上用软件实现其底层通信。 1. LIN总线的功能 LIN规范定义了数据格式、报文格式以及基于时间片的调度通信机制,做为LIN主节点,需要实现的功能包括: * 报文的封装和发送、接收和解析,根据报文格式填充/提取ID和数据; * 通信管理,以调度表的方式控制时间片的轮转和相应帧的发送; * 网络管理,休眠和唤醒。 2. 协议驱动器的设计 协议驱动器在SCI的基础上以软件的形式实现。软件就是“数据+操作”,做为一个可复用、移植性强的软件模块,其数据结构和API函数的设计是软件模块设计的两个重要组成部分。 2.1 数据链路层 数据链路层主要实现LIN报文的发送及接收,报文格式如图1所示:LIN报文由报文头+响应组成,报文头包括同步间隔、同步字段和标识符三个部分,其中同步间隔为10bit0,同步场为0x55,标识符唯一标识该报文;响应包括数据和校验和两个部分,报文数据长度由应用层设计指定,也可以认为由标识符唯一指定,校验和包括经典校验和和增强型校验和两种方式,均采用带进位加法进行计算,不同之处在于经典校验和只对数据做校验,而增强型校验和的校验数据中含有标识符,诊断报文采用经典校验和,其它报文采用增强型校验和。 2.2 应用层 应用层主要实现LIN协议驱动器的应用接口,包括LIN报文的发送和接收、报文的解析和封装等功能。 3. 协议驱动器的关键设计技术 协议驱动器的关键设计技术包括: * LIN报文的封装和发送、接收和解析; * 通信管理,以调度表的方式控制时间片的轮转和相应帧的发送; * 网络管理,休眠和唤醒。 4. 结论 通过对LIN协议驱动器的设计,我们可以看到,LIN总线作为CAN总线的有效补充,在低端车身电子领域替代CAN总线,既能满足功能要求,又能节约成本,在对成本更加敏感的国产车上得到大规模应用。