标定系统CCP协议开发及ASAP数据库自动生成方法研究

作者:长城汽车股份有限公司技术中心 闫 霞 赵晓飞 文章来源:AI《汽车制造业》 发布时间:2016-02-02
分享到

  标定是指依据整车的各种性能要求(如动力性、经济性、排放及辅助功能等)调整、优化和确定整车上ECU的运行及参数的算法。项目开发的不同阶段对控制系统的功能有不同需求,从而也会有不同的标定需求。任何对ECU控制代码的修改都将引起相应的标定任务。

  基于英飞凌XC2364芯片,本文开发了标定系统底层驱动的CCP协议。同时提供了一种ASAP数据库管理方式,利用Matlab软件在控制策略自动生成代码的过程中实现了ASAP数据库(a2l文件)自动生成,满足了发动机控制,ABS系统开发中对变量进行标定或观测的需求,与手工编辑a2l文件相比,极大的提高了工作效率。

 

  ASAP概念

  ASAP工作组制定了目前广泛使用的标准化接口和通信协议。标准化接口的通信协议有利于实现不同汽车电控系统之间统一的数据交互。ASAP定义了ASAP1、ASAP2和ASAP3标准,这三个标准构成了ASAP标准架构(见图1)。

  ASAP1定义了ASAP控制设备和MCD(Measurement Calibration Diagnostic)系统之间物理和逻辑连接的接口标准。ASAP1a定义了直接的硬件接口,本文采用CAN Calibration Protocol,即CCP协议。ASAP1b定义了PC机上的标定程序和连接的标定硬件的接口。

  ASAP2提供了不同控制设备之间的接口、测量数据、标定数据、数据存储格式和数据转换方法的规范化定义,实现了数据和应用的分离,有利于提高MCD系统的通用性。

  ASAP3作为MCD系统与用户应用层之间的接口,提供MCD系统的测量、标定和诊断等功能的标准化函数的调用。

 

  CCP简介

  CCP是ASAP标准的有机组成部分,属于ASAP1a规范标准,是基于CAN总线的ECU标定协议规范,遵循CAN 2.0B通信规范,支持11位标准与29位扩展标识符。

  CCP协议采用主从通信模式,主设备是标定工具,从设备是需要标定的ECU。一个主设备可通过CAN总线与多个从设备相连,每个从设备均有其特定地址。主设备通过每个ECU的地址,与其建立一对一的关系。在某一个时刻只有一个从设备与主设备建立连接并进行通信。

  按照CAN消息的定义,CCP协议的实现只依赖两则CAN消息:命令接收对象(CRO)和数据传输对象(DTO)。CRO接收命令代码和相关的参数信息执行内部功能或者内存传输。CRO接收的信息使用CRM-DTO数据传输对象处理(见图2)。

  数据传输对象DTO是从设备反馈给主设备的消息。按DTO不同用途,分为命令返回消息CRM-DTO(Command Return Message)、事件消息(Event Message-DTO)和DAQ-DTO(Data Acquisition-DTO)三类。

  CCP协议共规定了28条命令,其中11条为必选命令,17条为可选命令。由于CCP是开放协议,用户可只选其中一部分命令予以实现。每条命令在CCP协议中均有自己独立的CMD代码,从设备即通过CRO中的CMD代码来对收到的CCP命令进行解释并执行。

 

  标定功能开发

  1.标定功能架构

  通过CCP、CAN Interface、CAN Driver、FEE和Flash Driver模块实现了CCP标定通信和处理功能。通过CAN Driver、CAN Interface接收来自标定上位机软件发送到CAN总线的标定命令,传递到CCP模块,CCP模块对标定命令进行处理完成相应动作,并通过这两个下层通信模块完成命令相应的发送或DAQ数据的发送。通过FEE和Flash Driver完成对CCP的PROGRAM系列命令的执行,实现标定数据烧写到非易失性存储器。

  2.CCP驱动代码开发

  CMD组件完成上位机软件与下位机连接过程中初始化、数据请求等服务命令的响应及回复工作(见图3)。

  DAQ处理模块用于系统的数据采集功能。首先需要在下位机中预先定义一个DAQ列表区,作为DAQ模式数据上传的数据信息存储区。系统上位机(INCA)将需要采集的数据信息通过DAQ配置阶段下载存储入DAQ列表中,当上位机开启了DAQ功能以后,下位机就按照预先定义的周期或时间触发方式将DAQ列表中存储的参数数值周期性地上传。

  标定功能用于实现快速修改ECU中的标定变量。ECU中有两个页,工作页(working page)和参考页(reference page)。工作页指的是标定RAM区,标定变量值可随时更新;参考页指的是标定Flash区,标定变量值只可通过刷写更新。

  刷写功能用于将标定好的数据下载到ECU的Flash中。标定和刷写功能的页切换机制(见图4)。

  3.CAN通信实现

  CAN Driver和CAN Interface完成下层CAN总线驱动和硬件抽象,实现CAN通信数据的接收与发送。CAN Driver提供接口和机制实现,通过硬件控制完成CAN数据帧接收和发送。本模块工作模式可以通过配置选择为中断模式。中断模式下,接收到的数据和发送成功的确认通过中断产生并通知到上层模块,因此上层模块的处理逻辑运行于中断上下文中,所以处理逻辑未设计太复杂。CCP协议需要实现XX_RxIndication和XX_TxConfirmation接口与CAN Interface交互。

  4.自动生成a2l文件

  a2l文件采用ASAP2标准对ECU功能和接口及标定信息进行标准和规范化的描述,它对应于标定工程中后缀为.a2l的文件,描述一个具体的标定工程。首先,把控制策略模型和excel数据字典文件(包含标定量和观测量),输入到Matlab环境中;然后通过Matlab中的embedded coder自动生成代码和不含真实地址的a2l文件,代码与底层软件集成编译连接后生成包含地址信息的map文件以及可执行的hex文件;再把map文件中的真实地址写入a2l文件中,最终得到含真实地址的a2l文件以及hex文件。

 

  定义ASAP2参数和信号的信息

  ASAP2文件的生成过程需要模型参数和信号信息。有些信息包含在模型中,模型中缺少的信息需要使用Simulink 数据对象定义。可以使用内置的Simulink数据对象来定义a2l文件中所需的信息。本文采用了excel表集中管理数据,使用m语言导入Matlab生成数据对象。

  如表1、表2所示,使用两张excel表管理各种变量,图5表示ROM数据区,即标定量;图6表示RAM数据区,即观测量。做数据管理时,只需将控制策略程序中用到的标定量及观测量按照两张excel表的格式要求填写即可。

  设计好excel数据字典后,通过m脚本文件导入到Matlab,自动生成数据对象。

 

  标定系统测试

  1. 通信功能测试

  连接valueCAN3,打开INCA,添加a2l等相关文件后,点击inca7.0“开始”按钮,标定量观测量均正常显示,证明通讯功能正常(见图5)。

  2.标定功能测量功能测试

  当标定量CalFunctionSel选择UpControl时,观测量MeaFunctionSel变为UpControl,同时观测量MeaLampValueUp计数值增加,当标定量CalFunctionSel选择DownControl时,观测量MeaFunctionSel变为DownControl,同时观测量MeaLampValueUp计数值递减。

  3.刷写功能测试

  刷写成功后,重新连接ECU供电,可以看到相应的标定量值发生改变。

 

  结语

  本文针对ECU开发过程中的标定需求,基于国际上广泛应用的ASAP标准,设计和实现了CCP协议和ASAP2数据库文件。本系统已应用在长城汽车发动机控制系统和ABS控制系统的开发中,工作正常,与传统的a2l文件生成方法相比,提高了工作效率。

 

收藏
赞一下
0