基于MC9S12HZ256的总线式汽车数字仪表设计
2010-07-13赵云波
董 浩,王 建,赵云波
(北京航空航天大学 交通科学与工程学院,北京 100191)
汽车仪表经历机械式、电气式、模拟电路电子式和全数字式的发展过程,目前正处在从模拟电路电子式转向全数字式的时期。带CAN总线接口的汽车仪表采集并处理传感器的车速、油量、油压等信号,并根据SAE J1939协议读取发动机转速、水温等信息。该型汽车仪表具有指示精度高、反应灵敏、结构简单、可靠性高等优点,代表汽车仪表的发展方向。
1 CAN总线与SAE J1939协议
1.1 CAN总线与SAE J1939协议简介
控制器局域网CAN(Controller Area Network)是用于众多控制单元、测试仪器之间实时数据交换而开发的一种串行通信协议,CAN2.0包括2.0A和2.0B两部分。CAN拓扑结构为总线式,所以也称CAN总线。SAE J1939协议是以CAN2.0B作为网络核心协议,用于客车、货车、农业及建筑车辆的网络串行通信和控制协议。该协议通过对CAN扩展帧的29位标识符编码,用CAN数据帧封装其数据信息,从而形成独特的编码系统。作为车辆通讯标准,该协议明确规定汽车内部ECU的地址配置、命名、通讯方式以及报文发送优先级等,详细说明汽车内部具体ECU通讯内容。SAE J1939协议标准更大限度地发挥CAN优异的性能,减少线束数量,实现车辆电子设备间高速数据传输。
1.2 SAE J1939协议下CAN通讯报文帧格式
CAN支持4种类型的报文帧传送信息:数据帧(Data Frame)、远程帧(Remote Frame)、出错帧(Error Frame)和超载帧(Overload Frame)。CAN有2类消息帧:标准帧和扩展帧,其本质的差别在于标识符 (ID)的长度,标准帧的ID有11位,扩展帧则有18位[1]。表1为CAN扩展格式数据帧结构。
CAN数据帧分为以下位场:起始场(SOF)、仲裁场、控制场、数据场、循环冗余校验场(CRC)、应答场(ACK)和帧结束(EOF)。……
