微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于SAE J1939协议的车辆信息采集与诊断模块

基于SAE J1939协议的车辆信息采集与诊断模块

时间:09-25 来源:互联网 点击:

摘要:本文在CAN总线技术与SAE J1939协议的基础上,提出了基于Cortex-M3内核微控制器的车辆信息采集与诊断模块系统设计。详细介绍了SAE J1939协议的报文及内容格式,以及系统硬件、软件开发过程,并指出了设计中需要注意的环节。该模块通过对CAN总线及各传感器数据的读取和处理,能够稳定可靠地提供车辆工况数据,并可集成到车载多媒体系统和虚拟数字仪表等其他车载产品中。
关键词:车辆工程;SAE J1939协议;CAN总线;Cortex-M3

0 引言
当前,汽车电子化程度不断提高,大量采用基于微处理器的电控单元(ECU)对汽车的各个功能模块进行信息采集及控制。由于ECU数量众多,为了提高信号的利用率,要求在不同的ECU间,大量的数据状态信息能够实现共享,大量的控制信号能够实时交换。同时,车载多媒体设备、虚拟数字仪表等产品也需要实时获取车辆工况信息。因此传统线束已远远不能满足这种需求。
CAN总线及基于CAN的车辆通信应用层协议提供了解决上述问题的途径。目前SAE J1939是汽车行业应用最为广泛的CAN应用层协议之一。本文提出的基于CAN和SAE J1939的车辆信息采集与诊断模块能够实时获取车辆的车速、油压、制动压力、发动机转速等重要信息,在车辆发生故障时及时定位车辆故障,并可集成到车载多媒体、虚拟仪表等产品中,为车辆驾驶人员提供直观实时的车辆工况。

1 SAE J1939协议介绍
SAE J1939协议是美国汽车工程师协会(SAE)在CAN2.0B协议基础上制定的客车和重型货车网络通信应用层协议,在目前汽车电子网络中得到广泛应用。该协议采用CAN总线的数据帧封装其数据信息,并明确规定了汽车内部各ECU的名称、地址、通讯协议、优先级等信息,使用多路复用技术为车辆各传感器、执行器和控制器提供建立在CAN总线基础上的标准化高速网络连接,在不同的ECU间实现高速数据共享,以期有效减少线束数量并提高车辆电子控制系统的灵活性、可靠性、可维修性。目前,车辆的ECU产品大都带有遵循SAE J1939协议的CAN总线接口。这为车辆信息的快速采集和故障的在线诊断定位提供了便利。
1.1 SAE J1939报文格式
SAE J1939在通讯中是负责数据传输的传输协议,其功能分为数据的拆分打包和重组及连接管理两部分。其数据帧是以PDU(协议数据单元)为单位传送信息,每个PDU相当于CAN协议中的一帧。PDU由29位标识符和O~8个字节的数据所组成,如表l所示。SAE J1939利用29位标识符(CAN扩展帧)提供一种完整的网络定义。表1中,P位为决定报文优先级的前3位;R是保留位:DP是数据页位;PF场识别两个PDI格式(PDUl、PDU2):替代远程请求位SRR和标识符扩展位IDE在CAN2.0B中己详细定义,并未包含在PDU内;PS场由PF值决定其包含一个目标地址(DA)还是包含一个对PDU格式PF的组扩展(GE);SA为源地址。

1.2 SAE J1939应用层
应用层定义了针对车辆应用的信号(参数)和报文(参数组)。应用层通过参数描述信号,给每个参数分配了一个19位的可疑参数编号(SP-N);此外还通过参数组描述报文,给每个参数组分配了一个24位的参数组编号(PGN)。SPN用来标识与ECU相关的故障诊断元素、部件或参数组中参数;PGN用来唯一标识一个特定参数组。除已分配的参数和参数组外,用户还可通过分配未使用的SPN给自定义参数和定义专有报文对应用层进行补充。

2 模块设计开发
2.1 硬件电路设计
设计的模块由微控制器、CAN总线接口、信号采集处理电路、接口电路等部分组成,如图1所示。在实际的车载环境中,此模块通过CAN总线获取报文,并根据SAE J1939协议计算得出车辆的发动机转速、节气门开度、水温以及故障代码等信息,而燃油量、转向泵压力、制动气压等其它信息则从相应传感器以模拟量、开关量、脉冲量等形式获取,在经过信号采集处理电路进行分压滤波整形处理后直接送往微控制器进行A/D变换处理。这些信息经过微控制器计算处理后通过USB和UART接口传送给车载多媒体设备或虚拟数字仪表设备。

主控处理器采用ST公司的STM32F103C8T6,它基于ARM公司新一代32位Cortex-M3内核,可提供1.25 DMIPS/MHz的处理能力,内部带有ADC、I2C、UART、USB等外围接口,特别是其内部带有支持CAN 2.0B协议的CAN控制器,位速率达lMb/s,具有两个接收FIFO,3级14个可调节的滤波器,可收发ll位标准帧或29位扩展帧。因此可以省去类似设计中必须带有的CAN协议接口器件SJAl000,大大降低了外围电路的成本。
图2给出了模块CAN总线接口部分的电路。系统采用带隔离及TVS保护的通用CAN收发器CTM8251T为CAN控制器与物理总线之间提供接口,CTM8251T内部集成了信号隔离电路和所有必需的CAN电平转换电路,具备差动发送和接收功能,同时带有TVS保护,可以支持最高1Mb/s的通讯速率,单芯片实现了CAN节点的数据收发、隔离、保护功能;从而省却了传统设计中采用的光电耦合器件、DC-DC隔离、CAN收发器等多种器件,既简化了设计又节约了成本。

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

网站地图

Top