微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 基于LIN总线的车灯控制系统

基于LIN总线的车灯控制系统

时间:07-10 来源:山东省科学院自动化研究所 马建辉,王知学,李研强,李建新 点击:

  对无条件帧而言,只要时间槽轮转到该无条件帧,便要在总线上完整地传输。而零星帧的传输取决于所关联的无条件帧内信号的更新情况,只有在信号被更新的情况下,才传输所关联的最高优先级的无条件帧,然后在下个时间槽再次轮转到该零星帧时,再传输低优先级的无条件帧,否则该时间槽内总线保持静默。考虑到汽车环境对各个ECU的低功耗要求很高,且组合开关的操作是偶尔且即时的,所以以零星帧填充进度表,这样在大部分时间内,开关状态不会产生变化,即所关联的控制帧中信号不会被更新,当时间槽轮转到零星帧时,总线保持静默,超过4秒没有总线信号,主从节点便可以进入休眠状态,满足低功耗要求。表2给出了零星帧和所关联控制帧的说明。

表2零星帧和所关联控制帧的说明

  为了降低总线负载,将4个状态帧关联到同一个事件触发帧,当时间槽轮转到该事件触发帧时,如果各个状态帧内信号没有更新,这样在主节点发送帧头后,该时间槽的其余时间内保持静默。如果有多个状态帧内的信号发生更新,这时便会产生"冲突",主节点在当前时间槽结束后切换进度表,依次读取各个ECU的状态。

  (3)进度表的制定

  LIN总线的进度表定义了帧在网络中传输的次序,以及帧间的时间间隔,保证了LIN总线不会过载,同时保证了关键信号的周期性和实时性。

  根据该LIN网的特点,定义了三个进度表:Normal_table、Status_table、Trigger_table,主节点根据当前LIN网的状态切换进度表。 Normal_table由零星帧填充,是主节点的主要进度表,这样可以在组合开关没有动作的情况下让LIN集群处于休眠状态,休眠指令按照LIN帧的形式发送,采用数据场第一个字节为0x00的诊断帧实现。Status_table中包含对应于四个车灯节点的四个状态帧,Trigger_table中包含关联于四个无条件状态帧的事件触发帧。由于各个车灯ECU可以对过流、过压、过温进行保护,且有保持车灯电压的功能,所以主节点可以以较长的周期把进度表切换到Trigger_table,查询相应节点的状态,当从节点有相应信号被更新时,主节点将进度表切换到Status_table,得到相应节点的状态,优先级为左前车灯ECu>左后车灯ECu>右前车灯ECu>右后车灯ECU。

  具体细节如下。当时间槽轮转到零星帧control时,如果开关状态没有改变,即所关联的控制帧中信号没有被更新,该时间槽内总线保持静默,如果有一个控制帧的信号被更新,该时间槽内便会发送该无条件控制帧,如果在无条件控制帧中有多于一个信号被更新,主节点对这些控制帧做出"pending"标志,然后在该时间槽内发送最高优先级(优先级在零星帧中定义)的无条件控制帧,当进度表轮转到下一个该零星帧的时间槽时,"pending"状态的候选帧便会被发送。

  主节点以1秒钟的间隔把进度表切换到Trigger_table,当时间槽轮转到事件触发帧status,如果在该帧数据场的第一个字节没有得到任何数据,即所关联的无条件状态帧没有状态信号被更新,总线在"响应场"内保持静默,如果收到一个所关联的无条件状态帧的ID,后续得到的数据即该无条件状态帧中被更新的"信号",如果得到一个无法匹配的ID,便认为总线冲突,即同时有至少两个所关联帧中的信号被更新,这时,主节点要在该进度表下一个时间槽开始时切换进度表到Status_table,然后轮询各个状态帧,轮询结束后进度表再切换回主进度表Normal_table。

结束语

  本文结合所研制的车灯控制系统,介绍了系统结构及硬件设计关键技术,从制定和实现LIN协议驱动器和应用协议的两个方面论述了LIN通信,实现了车灯控制和诊断。

参考文献

[1] 郑荣良,袁鹏平.局域互联网络LIN总线在车辆上的应用.江苏大学学报.2004,2
[2] 李晖,曾洁,郭永伟.基于MC33993的键盘控制接口电路设计.微电子技术. 2004,3
[3] 刘晓明,高青春,熊东.基于CAN/LIN总线的汽车通信网络设计.微机发展.2005,8
[4] 侯树梅,张云龙,苏剑.一种新型汽车车身低端通信总线LIN.汽车技术.2003,11
[5] 张翔,汤孙寿,曾虹.LIN总线在汽车车身控制中的应用.杭州电子科技大学学报.200,6

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top