汽车门锁模块的系统结构
主节点应用程序基于μC/OS实时操作系统。MC9S12DP256微控制器上已移植了μC/OS实时操作系统,μC/OS内核小巧、高效,对系统性能开销很小;而且基于多任务的操作系统开发应用程序可使得开发更为快捷、容易,同时增强了可移植性。主节点功能划分为不同任务各自独立执行。主节点在完成对CAN、LIN通信接口以及nRF401芯片的初始化后,创建任务进程OS_CAN_PROCESS、OS_LIN_PROCESS、OS_WIRELESS_PROCESS并使它们等待信号量,获得信号量后执行各自的操作。其中,它们等待的信号量由相应的中断处理程序发出,驱动各个任务执行,执行完任务后,继续在信号量上等待。OS_MAIN_TASK是主节点的主任务,等待消息队列,根据返回的消息来区分不同的操作状态。
OS_CAN_PROCESS与OS_LIN_PROCESS为CAN、LIN总线的数据接收任务,接收数据后放入缓冲区,并设置状态位,然后通过消息队列通知OS_MAIN_TASK进行适当的处理。CAN、LIN总线数据发送则直接通过OS_MAIN_TASK发起。
OS_WIRELESS_PROCESS管理无线通信的连接。无线连接具有多个状态,包括LISTEN、CONNECTED、FIRST_SEND、CLOSED等,分别代表等待连接、连接建立、明钥已发送、连接关闭。无线连接状态切换时需要通过消息队列通知OS_MAIN_ TASK,主任务根据不同连接状态进行管理控制。OS_MAIN_TASK任务流程如图6所示。
子节点程序相对简单,同时子节点控制芯片的能力较弱,因此程序设计基于前后台方式。子节点通过LIN总线接收主节点的命令帧后,通过驱动电路带动电机开/关锁。在开/关锁的过程中监控电机电流,检查是否发生故障,并返回汽车门锁状态信息以及故障情况。子节点的工作流程如图7所示。
随着汽车的电子网络化发展,低成本的LIN网络将会得到越来越广泛的应用。本文介绍并实现的基于CAN/LIN混合网络的自动门锁控制模块是汽车车身控制中的典型应用,它提高了车身整体的自动化程度,有着良好的应用前景。
- 基于16位MCU的汽车车身电子控制系统解决方案(05-02)
- 基于LIN总线的车灯在线诊断系统设计与实现(06-19)
- 飞思卡尔微控制器MC9S08SC4的汽车方向盘按键控制器技术应用(11-16)
- 基于CAN总线的城市客车信息集成控制系统(04-11)
- 使用协处理方式解决车身电子开发问题(06-20)
- 实现车身控制应用的低成本设计(06-18)