马福萍,陈益锋
(1.杭州技师学院汽车系,浙江杭州 311500;2.杭州技师学院教务(科研)处,浙江杭州 311500)
随着电子技术的普遍应用,车辆控制单元与电控单元数目的增多使得网络通信技术快速发展。CAN总线以其结构简单、应用灵活而在工业过程控制和车辆中得到了广泛应用。但CAN技术协议较为复杂,涉及到数据采集、编码、总线使用控制、解码、驱动执行机构等方面。CAN协议提供了一种让各控制单元可使用同一条总线互相传递信息的方式,且信息之间互不影响[1]。文中以驱动系统局域网为例,建立了驱动系统局部信息交换模型。利用CAN协议管理这些模块的具体信息,并使得驱动器控制模块间的协调工作成为可能。
CAN的模型由数据链路层和物理层组成,各控制单元内的数据传输实际上发生在物理层,且各电控单元只通过物理层的物理介质互连。传输介质使用双绞线,信号使用差分电压传送,通过CAN-H和CAN-L传送信息。静态时,两线电压均为2.5 V,此时状态表示逻辑“1”,也称为“隐性”位,工作时,CAN-H 比CAN-L高,表示逻辑“0”称为“显性”位[2]。
CAN协议功能是通过数据帧、远程帧、错误帧、过载帧4种帧类型实现各控制模块间信息传递。
(1)数据帧:将数据从发送器传至接收器。
(2)远程帧:将数据请求从发送器传到接收器。
(3)错误帧:某一总线设备识别出错误时,其他所有CAN节点均可获悉错误的存在。
(4)过载帧:某一CAN节点通过一个过载帧通知所有属于该系统的设备,该节点对信息的处理完尚未结束,因此无法处理新信息。
在驱动系统中各模块间信息传递是通过CAN协议帧实现的,而CAN协议是对称的,不分主从[3-4]。图1是基于CAN协议的发动机与变速器间信息交互的模型,各模块包括信息收发器、ECU和数据传输终端。
以发动机为例,CAN模块分为:传感器、ECU、CAN接口[5]。传感器将发动机转速等信息传至ECU,ECU将这些信息进行A/D转换、编码后发送到CAN接口,CAN接口再将信息帧广播发送出去。图2为发动机详细的CAN模块图,其他控制模块的组成与之类似。
在驱动系统中,控制模块间的通信采用CAN协议帧,帧的种类有数据帧、远程帧、错误帧、过载帧。图3为驱动系统中发动机控制模块内CAN协议帧具体的处理流程[6-7]。
CAN总线以其结构简单、灵活方便,而在汽车工业上得到广泛的应用。文中在分析CAN协议功能的基础上,设计出了驱动系统CAN控制模块;以及发动机CAN控制模块,并总结出发动机CAN帧的处理流程。为今后对CAN帧的进一步研究提供了参考。
图3 CAN协议帧处理流程图
[1]李雷.汽车车载网络系统检修[M].北京:人民邮电出版社,2009.
[2]宋炯,杨维和.车载网络系统原理与检修[M].昆明:云南出版集团公司,2012.
[3]吴文林,吴丽霞.汽车车载网络系统原理与维修精化[M].北京:机械工业出版社,2008.
[4]吴海东.汽车车载网络技术与检修[M].北京:北京理工大学出版社,2012.
[5]百度文库.CAN总线协议讲解[EB/OL].(2007-09-21)[2012-06-19]http://wenku.baidu.com/view/7c3907ee172ded630a1cb601.html.
[6]百度文库.控制器局域网CAN总线技术规范[EB/OL].(2010-11-11)[2012-06-20]http://wenku.baidu.com/view/2cffeed5360cba1aa811da8a.html.
[7]百度文库.CAN总线实时分析[EB/OL].(2011-03-05)[2012-06-19]http://wenku.baidu.com/view/36d1114d2b160b4e767fcf8a.