基于LIN2.0规范的实用LIN协议驱动器设计
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总线,既能满足功能要求,又能节约成本,在对成本更加敏感的国产车上得到大规模应用。
111 浏览量
2020-08-29 上传
2022-07-15 上传
2011-09-09 上传
2015-09-04 上传
2020-08-11 上传
2022-09-24 上传
2019-04-08 上传
2014-07-22 上传
weixin_38593701
- 粉丝: 5
- 资源: 907
最新资源
- WordPress作为新闻管理面板的实现指南
- NPC_Generator:使用Ruby打造的游戏角色生成器
- MATLAB实现变邻域搜索算法源码解析
- 探索C++并行编程:使用INTEL TBB的项目实践
- 玫枫跟打器:网页版五笔打字工具,提升macOS打字效率
- 萨尔塔·阿萨尔·希塔斯:SATINDER项目解析
- 掌握变邻域搜索算法:MATLAB代码实践
- saaraansh: 简化法律文档,打破语言障碍的智能应用
- 探索牛角交友盲盒系统:PHP开源交友平台的新选择
- 探索Nullfactory-SSRSExtensions: 强化SQL Server报告服务
- Lotide:一套JavaScript实用工具库的深度解析
- 利用Aurelia 2脚手架搭建新项目的快速指南
- 变邻域搜索算法Matlab实现教程
- 实战指南:构建高效ES+Redis+MySQL架构解决方案
- GitHub Pages入门模板快速启动指南
- NeonClock遗产版:包名更迭与应用更新