摘要: |
随着汽车技术的日益发展,汽车电子装备不断增加,进而带来汽车综合控制系统中大量的信号需实时交换的问题,传统线束已远远不能满足这种要求,因而,越来越多的汽车采用控制器局域网(CAN)。
但是,CAN总线只定义了开放式系统互连参考模型(OSI)中的物理层和数据链路层,一般用户必须直接用驱动程序操作链路层,不能直接满足复杂控制网络的组态和产品互连要求。CANopen作为一种真正开放的CAN高层协议,实现不同的CAN设备以标准化的方式进行通信,使得CAN设备具有互操作性。随着CANopen协议的日益完善,它已经广泛应用于多个行业。
本文首先介绍了CAN网络模型中各层的功能和层次结构,设计了基于CAN总线的汽车控制系统模型。该模型主要包含4个节点:发动机控制系统(EMS)、制动防抱死控制系统(ABS)、安全气囊控制系统(SRS)、车身控制系统。各个节点设计上采用内置CAN模块的飞思卡尔16位单片机作为主控芯片来搭建硬件电路,以实现CAN总线的物理层和数据链路层。设计并实现了CAN的驱动层,为各节点间的CANopen通信做准备。
然后,详细分析了CANopen应用层协议,解释了CANopen的核心——对象字典、各类通讯对象、标识符的分配,以及一些设备子协议(Device Profiles)。软件上实现了模型中各节点间的CANopen通信,完成了总线数据通讯、网络管理和相应的控制任务。
|