基于ASAP标准的发动机标定诊断系统设计
扫描二维码
随时随地手机看文章
摘要:采用分层和模块化思想设计出一种基于ASAP 标准的标定诊断系统。在上位机利用软
件看门狗技术,解决了标定工具与发动机电控单元之间的故障快速定位问题。故障时上位机
自动保存标定数据,故障修复后自动下发该标定数据,进而防止标定数据丢失,避免重复性
的标定工作。并能读取国外标定系统的数据库文件,其可靠性和通用性进一步增强。
关键词:标定系统;发动机;诊断;ASAP 标准;软件看门狗
Design of engine calibration diagnosis system based on ASAP standards
Li Yin-guo Cao Geng-yan Cen Ming (Chongqing University of Posts and Telcoms,Chongqing China 400065)
Abstract:A calibration and diagnosis system based on ASAP standards was designed using layer and modularization idea. the malfunction between host computer and ECU was positioned quickly
through the software watchdog technology in the host computer. and the calibrated datas were autosaved into the Caliration tool. After the malfunction was repaired ,these datas were sent to the RAM of ECU. So this can avoid the datas’losing and the calibration’s repetition. Also it can read foreign calibration software’s description file.it’s reliability and universality was strengthened.
Key words:calibration system, Engine, diagnosis, ASAP standards , Software Watchdog
引言
发动机电子控制单元(ECU)是车用发动机控制系统的核心,它能够根据发动机的运行
情况来提供最佳空燃比和点火时间,进而使发动机的动力性、经济性和尾气排放达到最优状
态[1]。因此开发一个功能可靠且方便灵活的的标定工具非常重要。它能缩短ECU 的开发周期,
减小匹配实验工作量,降低开发成本,帮助标定员在短时间内获得最佳的标定参数。
从现有资料来看,国内设计的标定系统一般具有标定、监测和诊断功能。但其诊断功能
只是对ECU提供的故障信息在上位机显示。在上位机和ECU之间的故障快速定位和修复方面没
有介绍,本文设计的标定诊断系统除了具有在线标定、实时监测并能读取ECU中的故障信息
功能外,在标定上位机利用软件看门狗技术实现了上位机与ECU之间的故障快速定位,并具
有自动保存、加载、回读比较数据等功能。增强了标定系统的可靠性和灵活性。
1 ASAP标准体系结构
ASAP(Arbeitskreis zur Standardisierung von Applikationssystemen)指的是应用系统标准
化组织,为了使车用电子产品在开发期间所用的工具和方法具有兼容性和可交换性而提出该
国际标准[2]。为了实现对应用系统进行测量、标定和诊断,ASAP工作组根据MCD(Measurement,
Calibration and Diagnostics)模型将该标准分成ASAP1、ASAP2和ASAP3三个子标准。
ASAP1标准为应用系统和控制设备之间提供接口;ASAP2标准对ECU的内部各种参数、外部
接口信息、通信方法等进行了标准化的描述,按此标准生成的ASAP描述文件是各类控制设备
的数据交换平台;ASAP3标准为自动系统(或用户)与MCD系统之间提供统一接口,用户只需
通过调用MCD系统提供的接口函数来完成测量、标定和诊断等功能。
2 标定系统整体设计
采用PC机作为上位机,通过USB-CAN通信卡连到发动机ECU,实现对发动机ECU的标定、
监测、诊断等操作。上位机与ECU之间的通信和数据交换平台分别由ASAP标准中的CCP协议和ASAP2标准生成的ASAP描述文件(.A2L文件)来实现。上位机标定软件采用分层和模块化思
想设计,包括数据层、表示层和通信层(如图1)。其中数据层包括初始化子系统和数据管
理子系统,初始化子系统主要是完成CAN通信模块和数据的初始化等操作。数据管理子系统
主要是完成数据的保存、加载、回放和A2L数据库的管理等操作;表示层包括标定监测子系
统和诊断子系统,该层主要完成对发动机ECU的标定、监测和诊断等操作;通信层主要是完
成上位机与ECU之间的通信操作。
图1 标定诊断系统的总体框架图
由ASAP编辑器生成的A2l数据库是整个标定系统的数据交换平台,因此在系统运行开始
首先导入A2L文件,然后调用CAN通信模块提供的接口库函数完成CAN通信模块初始化等操作,
建立连接后可对多个ECU进行标定和监测。故障诊断(ECU故障信息上传显示和标定系统的故
障诊断)贯穿于标定和监测的整个过程中(如图2)。
图2 上位机主流程图 图3 标定数据初始化流程图
2.1 初始化子系统的设计
在此子系统中包括USB-CAN模块的初始化、标定参数的初始化和DAQ参数的初始化配置。
上位机通过调用CAN通信模块的相关接口库函数依次进行下列初始化操作:打开CAN通信模
块、选中与ECU连接的CAN口、配置各CAN口相关参数(验收码、屏蔽码、定时器、滤波器、
模式等)、启动CAN通信设备等。标定参数的初始化有两种方式:一种是从ECU的RAM区读取标
定数据到上位机标定窗口,另一种是从上位机的标定数据文件中加载到程序中进行标定数据
的初始化(如图3)。在监测参数上传之前,对需要监测的数据进行DAQ配置,不同上传周期
的监测数据配置到不同的DAQ表中,这需要上位机发送DAQ配置命令和START_STOP命令要求
ECU中的DAQ处理机配置并开启不同DAQ表进行上传并显示监测数据。在标定系统运行期间,
通过开启或关闭某个DAQ表,可以实时监测到所开启DAQ表的数据上传数据。
2.2 数据管理子系统的设计
在此子系统中,主要包括A2L数据库的管理、数据的保存、打印、回放和比较等功能。
A2l数据库是整个标定系统的数据交换平台,它记录了控制器内部的各种参数、外部接
口信息、通信方法等详细信息。因此对其管理尤为重要。在通讯协议中采用地址结合数据段
长度的方法实现数据的下载和修改。上位机程序负责查询A2L数据库以获得控制参数的地址
和数据段长度等信息[3],A2L数据库的使用减轻了ECU对大量标定变量的定义和存储的负担,
缩短占用微处理器的运算时间。当ECU中的参数信息改变时,只需用ASAP数据库编辑器对原
有A2L文件的改动部分进行刷新。标定系统只需在新的A2L文件下对ECU进行标定、监测等操
作。因此,当ECU有关信息的改变时不会对标定软件的代码做任何改动,同时也避免因标定
软件内部代码的局部改动所带来的隐患[4],增加了标定系统的灵活性。
为了便于对监测到的数据进行离线分析比较,该系统具有保存监测数据并对其进行离线
分析、波形回放和打印功能。
2.3 诊断子系统的设计
在此子系统中,除了读取ECU中的故障信息外,在标定上位机利用软件看门狗技术实现
了标定系统的故障快速定位,大大减少故障查找时间。故障时及时地将已标定数据进行保存,
避免因标定数据的丢失而进行重复性地标定工作,提高了标定系统的可靠性(如图4、图5)。
2.3.1 故障快速定位与数据的自动保存
在上位机的接收中断函数中设置一个全局变量ConnectFlag并使其值赋为0,只要有监测
数据周期性上传(本文三个DAQ表的数据上传周期是10ms、20ms、50ms)ConnectFlag一直为
0,当超过50ms,该变量就会在定时器函数里不断加1, 当大于指定的数值时(在指定的时
间内没有数据上传),在上位机出现故障提示。根据USB-CAN提供的接口函数判断故障是ECU
与USB-CAN模块之间,还是USB-CAN与ECU之间。故障时在上位机调用保存函数对已标定数据
进行保存,做好标定数据的备份,避免因标定数据丢失而进行重新标定,减少标定工作量。
2.3.2 故障修复与数据的自动加载
根据故障提示快速作出故障定位,故障排除后根据故障提示点击主界面修复菜单中的复
位按钮,复位成功同时自动将已标定的数据从上位机的保存文件中加载到标定窗口并下发,
然后继续标定操作,不需重新进行标定。修复菜单中,对于ECU断电的情况,ECU上电后进行
修复时,需要上位机重新下发配置DAQ命令和启动DAQ表等相关命令,因为一旦断电或者复位,
ECU与上位机的相关命令需要重新发送才能完成两者的通信;对于ECU与USB-CAN之间线路故
障的情况,只需将线路连好即可继续上位机与ECU之间的通信;对于USB-CAN与上位机故障的
情况,需要在上位机先关闭CAN-USB设备再打开并初始化设备,再可继续标定工作。
2.4 标定监测子系统的设计
在上位机的标定窗口完成ECU控制参数的在线标定。通过在线修改标定窗口中的参数值
就可以对ECU中RAM区的相关参数值进行优化,标定后将RAM区的标定值烧写到FLASH中。同时
还可以将ECU中的标定参数值读当标定子窗口并与当前标定窗口值进行比较,确保下发标定
值的正确性。标定流程图如图4所示。此外,该子系统能够实时监测ECU采集到的数据,并将
数据进行多样化显示,能直观地显示所监测的数据及其变化规律。上位机一次发送命令就可
要求从设备周期性地自动上传DAQ监测数据(具体见图5)。
2.5 通信子系统的设计
通信子系统主要为上位机与ECU之间提供通信接口。所用通信协议是CCP协议[5],该协议
都是从ASAP1a子标准中独立出来的通信标准,该协议具有通信可靠,实时性强、通用性好等
优点。在设计中,通过ccpCommand()函数调用不同的CCP命令完成命令的下发,调用fGetData()
函数来接收ECU的返回命令并读取ECU中上传的监测数据。ECU根据上位机的DAQ配置命令和启动DAQ命令周期性地上传监测数据。
图4 标定流程图 图5 监测流程图
3 标定系统底层软件的设计
图6 底层软件设计
如图6所示,为了增加底层通信模块的通用性,采用了模块化设计思想,将CAN Driver
和CCP Driver分离。Command 处理机是CCP Driver的主要组成部分;DAQ处理机是用来采集
并按要求周期性地上传不同DAQ表的监测参数当前值。两处理机组成控制器的CCP Driver,
是对标定协议内容的解析和实现。为了保证CAN通信的可靠性,CAN Driver采用环形缓冲机
制,并通过操作系统消息沟通中断子程和系统任务。通过更改CAN Driver实现不同ECU硬件
平台的移植,并且可以对新的ECU进行标定,增加了底层通信模块的兼容性和通用性。
4 结束语
本文设计的标定诊断系统集标定、监测、诊断等功能为一体。在保证系统的灵活性和通
信实时性的基础上,在上位机利用软件看门狗技术实现了标定系统故障的快速诊断与修复、
数据的自动保存和加载功能,进而防止标定数据丢失,避免重复性地标定工作,使整个标定
系统的可靠性得到保证。实验表明,该系统具有较高的实时性,灵活性和可靠性。