基于LIN2.1协议的车窗控制系统的应用
扫描二维码
随时随地手机看文章
LIN协会于1999年发布了第一版LIN协议,至今已有十几年了,在这十几年中,LIN总线不断发展,已经在以车身控制为主的许多场合得到了应用。LIN总线至今一共有7个版本,其中,LIN2.1协议于2006年11月发布,是目前较新的一个版本。它与最新的 LIN2.2协议几乎没有区别,却比它的前身LIN2.0协议有明显的改进,主要体现在加入了事件触发帧的竞争处理、完善了节点配置功能和进行了诊断分级三个方面。这些改进使用户可以更加方便和快速地组织LIN网络,可以根据自己的需求重新设置LIN网络,既保证了产品的稳定性,又满足了用户的个性化需求,是LIN总线自身发展过程中很有意义的一步。
1 LIN2.1协议的新特点
1.1 事件触发帧的竞争处理
如果有多于一个的从节点在同一个帧时隙里响应帧头,就会导致竞争,竞争处理都是由主节点完成的。LIN2.0的事件触发帧竞争处理机制如图1所示。某主节点的进度表中有无条件帧A、事件触发帧和无条件帧B。当竞争发生后,主节点会继续按照之前的进度表,在接收完所有与事件触发帧相关的无条件帧后,再发送事件触发帧帧头。LIN2.1对此作出了改进,它引入了竞争处理进度表,LIN2.1的事件触发帧竞争处理机制如图2所示。每个事件触发帧都有与之相对应的竞争处理进度表,主节点在竞争处理进度表里处理完竞争后,再返回执行普通的进度表。显然,LIN2.1的竞争处理机制需要花费的时间较短。
图1 LIN2.0的事件触发帧竞争处理机制 图2 LIN2.1的事件触发帧竞争处理机制
1.2 节点配置功能的完善
1.2.1 新增分配一系列帧ID的功能
将配置功能分配帧ID改为分配一系列帧ID。LIN2.0和LIN2.1协议中分配帧ID的格式如图3所示。在LIN2.0中,只有NAD和 Supplier ID都匹配的情况下,分配才能成功,但每次只能分配一个帧ID。而在LIN2.1中,只需要NAD匹配就可以了,每次可以分配最多4个帧ID,而 LIN2.0中的Message ID在LIN2.1中已经被取消了。这种改进的目的是提高LIN网络配置的效率,更改后分配帧ID的速度最快可达到原来的4倍。
图3 LIN2.0和LIN2.1协议中分配帧ID的格式
1.2.2 新增保存配置的功能
LIN2.1协议新增了保存从节点配置信息的功能,将从节点的配置信息存入到掉电不易失的存储空间中。这样,主节点对从节点的配置在复位后也不会丢失。
1.3 诊断分级
LIN2.1的另一大新特点是根据诊断功能将从节点分为3个级别。
(1) 诊断一级
诊断一级一般应用于智能传感器或执行器等一些不需要或只需要很少诊断功能的器件。诊断一级支持所有节点配置功能,并且只需要单帧传输。
(2) 诊断二级
与诊断一级相比,诊断二级的节点增加了节点辨识的功能。例如,用户可以获得产品的软、硬件版本号等。此外,诊断二级还支持读写软件内部的参数,比如温度、车速等。诊断二级支持多帧传输。
(3) 诊断三级
诊断三级的节点不仅包含了前面两级的所有功能,还支持内部Flash的擦写,用户可以通过LIN总线烧写程序。诊断三级支持多帧传输。