基于OBD的新能源电动车故障诊断仪设计
2018-06-12李昌泉
李昌泉
东风特汽(十堰)专用车有限公司 湖北省武汉市 430000
本文阐述的就是一种基于CAN网络的新能源电动车故障诊断仪,下面我们简称“诊断仪”。借助故障诊断仪,维修人员可以读出车辆运行状态参数及故障情况,为故障诊断及修复提供了依据。
诊断仪由硬件部分和软件部分两部分组成,现分别介绍如下:
1 诊断仪实现功能
诊断仪主要实现两大功能:
A、网关功能:实现上位机软件与整车CAN总线间的协议转换,即CAN和RS232间的协议转换。
B、诊断功能:读故障码、清故障码、读数据流、读/写VIN码、参数设置、显示数据的实时曲线等。
2 诊断仪硬件部分
诊断仪硬件较为简单,主要由外壳、控制板和液晶屏组成。
2.1 外壳
外壳前期采用3D打印技术一次成型,样件速度快,成本低。后续批量生产时可改为开模注塑工艺。
2.2 控制板
控制板采用ST公司的STM32F103ZETT6控制器作为主控芯片,该芯片具有丰富的外设接口及内部资源,具有64KB SRAM,512KB FLASH,2个基本定时器,4个通用定时器,2个高级定时器,3个SPI,2个IIC,5个串口,1个USB,1个CAN,3个12位ADC,1个12位DAC,1个SDIO接口,1个FSMC接口以及112个通用IO口,便于后期的功能扩展;支持emWin图形化界面,并且外部总线(FSMC)可以用来扩展RAM和连接LCD,通过FSMC驱动LCD可以显著提高LCD的刷新速率,可以实现美观的图形界面和良好的人机交互功能;支持触摸屏功能,可使所有操作均在屏幕上点击完成,无需任何外设按键。
2.3 液晶屏
液晶屏采用4.3寸TFTLCD电容触摸屏,分辨率为800*480,16位真彩色显示,支持5点同时触摸。
2.4 硬件接口
诊断仪与整车通过OBD-II接口进行连接。
2.4.1 OBD-II接口介绍
OBD-II(on Board Diagnostics Ⅱ)是Ⅱ型在线诊断系统的缩写,它由SAE(Society of Automotive Engineers,美国汽车工程师协会)开发,EPA(Environmental ProtectionAgency,美国环境保护局)认证通过并于1989年正式公布,该系统统一了数据传输协议和诊断模式,使得使用同一诊断设备来诊断不同品牌车辆成为可能。
2.4.2 OBD接口定义
上图为整车上OBD接口端子(整车OBD接口一般为母头,诊断仪与之对应为公头),PIN定义如下:
图1
3 诊断仪软件部分
3.1 诊断仪与整车网络连接图
诊断仪通过整车OBD端口实现与整车的连接,通过CAN总线实现读取诊断数据,故障代码及冻结帧数据(冻结帧数据指的是在故障发生时,实时存储的整车相关信号参数值)等功能,甚至可以对车辆状态进行判断,对电池管理,ECU 固件版本等内容进行升级。诊断仪与整车网络连接图如图2:
3.2 CAN协 议和UDS协议
CAN, 全 称 为“Controller Area Network”,即控制器局域网,是一种多主方式的串行通讯总线,传输距离远(最远可达10Km)、传输速率快(最快可达1Mbps),抗电磁干扰性强,已成为国际上应用最广泛的现场总线之一。
表1
图2
UDS, 全 称 为“Unified Diagnostic Services”,即统一诊断服务,是国际标准组织结合欧美多种诊断协议而制定的。UDS支持多种协议类型,如CAN、LIN等,本文所述诊断仪使用的UDS是基于CAN总线。
3.3 诊断仪软件架构
3.3.1 人机交互模块(GUI)
人机交互模块(GUI)采用STemWin图形系统进行设计。STemWin图形系统是Segger公司为ST公司量身定制的emWin。利用该设计软件可以在电脑上进行仿真运行,实现人机交互界面的脱离硬件运行,可大大提高软件设计进度。
3.3.2 数据处理模块
3.3.2.1 诊断仪遵循的协议
(1)诊断仪与整车的通讯协议
诊断仪通过整车OBD接口连接,采用基于CAN总线的车辆诊断标准ISO14229-2006(E):《Road vehicles —Unified diagnostic services (UDS) —Specification and requirements》,采用标准帧模式,波特率为500Kbps,主要涉及以下几项服务:
DiagnosticSessionControl(10 hex)service
诊断会话模式控制服务
TesterPresent (3E hex)service
诊断设备在线服务
ReadDTCInformation(19 hex)service
读故障码服务
ClearDiagnosticInformation(14 hex)service
清故障码服务
ReadDataByIdentifier(22 hex)service
读数据流服务
SecurityAccess (27 hex)service
安全存取服务
WriteDataByIdentifier(2E hex)service
写数据服务
(2)诊断仪与PC上位机的通讯协议
诊断仪与PC上位机间的通讯采用RS232总线方式,波特率为25600bps,数据传输格式采用AT指令格式。
3.3.2.2 数据处理模块软件设计工具
诊断仪数据处理模块采用C语言作为编程语言,采用uVision5 IDE集成开发环境。
4 诊断仪系统验证
本诊断仪可以完成对于被测车辆的故障码读取、故障码清除、数据流读取及数据图表显示、数据标定(如VIN)等功能,具有操作简单、诊断效率高的特点。以读取冻结帧为例,点击主界面中的 “查看数据流”图标,即可以看到汽车VCU中存储的冻结帧数据。