基于OBD的汽车数据采集及捕获系统设计
2016-01-22潘益斌张海峰
潘益斌,张海峰
(杭州电子科技大学电子信息学院,浙江 杭州 310018)
摘要:通过车载诊断系统(OBD)连接汽车的CAN总线,采集车辆实时数据,同时捕获总线传输的报文数据。采用MCP2515和TJA1050搭建两路CAN模块电路,一路CAN节点发送汽车状态信息请求,并通过OBD接口接收汽车返回的信息;另一路CAN节点处于接收模式,识别数据帧格式,接收所有CAN总线上传输的数据。该系统扩展了车载诊断系统接口的外部应用。应用的汽车协议为支持OBDII CAN的ISO15765-4。两模块由MCU控制,收发的数据通过外接RS232串口显示。结果显示,系统实现了汽车数据的采集及捕获。
关键词:车载诊断系统;汽车CAN总线;采集;捕获;ISO15765-4
DOI: 10.13954/j.cnki.hdu.2015.01.008
基于OBD的汽车数据采集及捕获系统设计
潘益斌,张海峰
(杭州电子科技大学电子信息学院,浙江 杭州 310018)
摘要:通过车载诊断系统(OBD)连接汽车的CAN总线,采集车辆实时数据,同时捕获总线传输的报文数据。采用MCP2515和TJA1050搭建两路CAN模块电路,一路CAN节点发送汽车状态信息请求,并通过OBD接口接收汽车返回的信息;另一路CAN节点处于接收模式,识别数据帧格式,接收所有CAN总线上传输的数据。该系统扩展了车载诊断系统接口的外部应用。应用的汽车协议为支持OBDII CAN的ISO15765-4。两模块由MCU控制,收发的数据通过外接RS232串口显示。结果显示,系统实现了汽车数据的采集及捕获。
关键词:车载诊断系统;汽车CAN总线;采集;捕获;ISO15765-4
DOI:10.13954/j.cnki.hdu.2015.01.008
收稿日期:2014-05-04
通信作者:
作者简介:潘益斌(1988-),男,浙江宁波人,在读研究生,电子系统集成.张海峰副教授,E-mail: hfzhang0811@hdu.edu.cn.
中图分类号:TP274
文献标识码::A
文章编号::1001-9146(2015)01-0041-04
Abstract:The paper connects vehicle CAN bus via on-board diagnostics(OBD), collecting real-time data of vehicle, at the same time, captures the message data transmitted on the bus. The paper establishes two ways of CAN modular circuits using MCP2515 and TJA1050. One way of CAN node sends the request of the state information of vehicle and receives the return information from the vehicle via OBD interface. The other way of CAN circuit in the receive mode, identify the format of data frame and receive all of the data transmitted on the CAN bus. The system extends external application of OBD interface. Application of automotive protocol is ISO15765-4 that support OBDII CAN. The two modules controlled by MCU. The data sent and received display through the outer serial port RS232. The results show that the system realizes vehicle data acquisition and capture.
0引言
目前车载诊断系统(On-Board Diagnostics,OBD)发展迅猛,国外基于车辆自生成数据交换协议已经实现OBD远程检测[1],也开发出了OBD检测器,采用回收机制减少车辆能量的损耗[2],同时,OBD大型数据采集系统可进行大数据处理[3]。国内大量的汽车软件开发设计商、车载电子生产商及运营商积极投入到OBD的应用领域的研发,通过OBD接口获取“瞬时油耗”、“汽车故障”、“行驶里程”等信息,开发出功能强大、应用方便的新产品[4]。本系统不仅实现了从OBD获取汽车行车速度、发动机转速、冷却液温度、进气温度等信息,而且在传输过程中通过捕获以检测传输的数据。
1汽车OBD
在汽车的自诊断系统中,可分为OBD,OBD I和OBD II 3大系统,OBD III也将随之出现[5-6]。当前,广泛应用的是OBD II系统。基于OBD的汽车与外部电路连接如图1所示。
图1 汽车与外部电路连接图
汽车生产厂商采用的是同一标准的16针的OBD诊断接口,故障码的格式是相同的,报文传输标准也都是以ISO或SAE的协议形式,故使用通用的诊断系统。
OBD II标准使用的通讯协议一般有:ISO 9141-2,ISO 14230-4(KWP2000),SAE-J1850 PWM,SAE-J1850 VPM,ISO15765-4(CAN-BUS)[7]。本文采用的是支持CAN总线的ISO15765-4协议。CAN数据OBD中的消息发送格式如图2所示。
图2 CAN数据OBD中的消息发送格式
PCI表示协议控制信息字节数量,MODE表示OBD系统的工作模式,PID标记获取的信息。
2系统设计
本系统主要分为两个模块,模块一为汽车CAN总线数据的发送请求与接收模块,模块二为CAN报文数据捕获模块。模块一通过OBD接口发送CAN报文到汽车总线,并接收返回的报文。模块二处于数据捕获状态,捕获总线上所有节点传送的报文数据。实现框图如图3所示。
图3 系统总体框图
2.1 硬件设计
两模块CAN模块硬件设计基本一致。CAN控制器采用Microchip公司生产的控制器芯片MCP2515,它带有符合工业标准的通用SPI串行接口,满足CAN2.0技术规范,与市面上产品相比具有体积小,成本低,易于使用的特点[8]。CAN收发器采用恩智浦半导体公司(NXP)生产的芯片TJA1050。TJA1050实现的是总线上传输的差动信号与CAN控制器信号之间的转换。MCU采用的是STC89S52。供电电源采用汽车OBD接口提供的12 V电源。
2.2 软件设计
数据采集模块的数据收发格式遵循ISO15765协议,数据格式包括标准帧和扩展帧。在MCP2515的配置模式中,设置CAN的波特率及数据帧格式,开启控制器报文接收中断,在中断产生后读取接收到的数据。工作过程处于正常模式。采集模块软件流程图如图4所示。
数据捕获模块中的CAN节点,处于只接收状态。关闭了MCP2515的验收屏蔽寄存器和验收滤波寄存器,接收总线上所有节点的报文。接收过程先识别数据帧格式,按标准帧或扩展帧格式接收,接收到的数据两组一次进行处理。一组为发送请求到总线,一组为接收到请求后发回的信息。由于响应的时间极短,MCP2515需要一次采集两组数据再进行处理,以防止产生接收寄存器溢出错误。MCP2515具有两个接收缓冲器RXB0和RXB1,通过配置RXB0CTRL采用滚存方式,可实现数据完整接收。捕获模块软件流程图如图5所示。
图4 数据采集软件流程图
图5 数据捕获软件流程图
3系统测试
本系统采用的测试环境为汽车ECU仿真器,支持多种汽车总线协议。系统启动后,将模块电路接入OBD公头接口插座,插入仿真器的OBD接口即可工作。测试内容如表1所示。
表1 汽车数据信息测试内容
数据收发控制模块发送请求报文,接收汽车ECU返回的信息,数据捕获模块获取总线上传输的数据。图6(a)为收发控制模块检测汽车发动机转速连续采集的数据。图6(b)为捕获模块采集到的总线上传输的数据。结果表明,数据收发控制模块正确采集到了汽车发动机转速信息,数据捕获模块完整地接收到的总线上传输的收发数据。
图6 两模块电路获取数据
4结束语
本文通过汽车OBD接口提供了一种汽车CAN总线上数据的采集以及总线数据的捕获的方案,并将接收的数据通过串口RS232显示。数据采集模块实现汽车状态信息的获取。数据捕获模块实现总线上传输数据的检测。
参考文献
[1]Yun H J, Lee S K, Kwon O C. Vehicle-generated data exchange protocol for Remote OBD inspection and maintenance[C]//Singapore: Computer Sciences and Convergence Information Technology (ICCIT).2011:81-84.
[2]Ceuca E, Tulbure A, Taut A, et al. Embedded system for remote monitoring of OBD bus[C]//Alba Iulia: Electronics Technology (ISSE).2013:305-308.
[3]Smith K, Miller J. OBDII data logger design for large-scale deployments[C]//California: Intelligent Transportation Systems(ITSC).2013:670-674.
[4]陆军,郑红武.汽车OBD系统简述[J].装备制造技术,2012,(8):135-138.
[5]卓翠敏.基于CAN bus的OBD系统研究与设计[D].上海:上海师范大学,2012:1-4.
[6]孙龙,李孟良,徐达.OBD技术的应用及其发展[J].汽车工程师,2011,(10):54-58.
[7]常欣红,于金泳,刘志远.汽车故障诊断标准ISO15765的网络层分析与实现[J].汽车技术,2006,(9):40-44.
[8]李貌,秦霆镐,闫世晓.MCP2515在CAN总线系统智能节点的应用[J].微计算机信息,2005,07:37-39.
Design of Vehicle Data Acquisition and Capture System Based on OBD
Pan Yibin, Zhang Haifeng
(SchoolofElectronicsInformation,HangzhouDianziUniversity,HangzhouZhejiang310018,China)
Key words: on-board diagnostics; vehicle CAN bus; acquisition; capture; ISO15765-4