基于CCP协议的汽车ECU标定系统DAQ模式的实现

时间:2010-07-14来源:网络

本文采用的是DAQ模式,从而可以实现从设备按照指定的周期将需要监视的数据上传。

  DAQ传送的数据由一系列表来组织,这些表被称为ODT(Object Descriptor Tables)。每个ODT表含7个元素,可描述7个ECU内部参数的相对地址及数据长度等属性。这些被ODT描述的参数,就是需要从设备用DAQ-DTO帧周期发送给主设备的被监视数据;而这些属性被称为“参数描述”,它们可帮助从设备DAQ处理代码确定该参数的当前值,如图3所示。ODT中描述的参数,及各参数的“参数描述”由主设备通过CRO命令写入。当从设备的DAQ机制被启动时,从设备按主设备要求的周期,将每个ODT表描述的ECU参数当前值顺次放入相应的DAQ-DTO帧中,并发送给主设备。

图3数据描述表

  (三)标定系统DAQ模式的软件实现

  标定系统的软件设计主要分为两个部分:CANDrvier和CCPDriver。本方案的ECU采用MC9S12Dg128,因此可以直接应用芯片CAN模块提供的接口发送CAN数据。CCPDriver是标定系统的核心部分,它主要通过调用CANDriver实现与上位机标定软件的通信,从而进行对ECU的在线标定。

  标定系统的实现过程如下:

  1.上层标定软件部分定义List的数目、每个List中的ODT数目、每个ODT中的元素数目。

  2.ECU按照上层的定义,确定自己的数据结构。即上下层都定义一个三维的数组(List,ODT,Element),用来存放映射关系。

  3.上层通过协议命令初始化ODT。首先,上层发送GET_DAQ_SIZE命令(参数为List号),得到指定的List大小(numberofODTinthislist),并得到该List中DTO的第一个PID号。然后,上层发送SET_DAQ_PTR命令(参数为List号、ODT号、ODT中的元素号),指定需要初始化的参数单元。最后,上层根据SET_DAQ_PTR命令设置的具体元素,发送WRITE_DAQ命令(参数为DAQ元素的byte大小,DAQ元素的地址),反复通过SET_PTR和WRITE_DAQ两条命令,初始化完一个具体的ODT表,然后初始化完一个具体的List表,最后初始化完所有的List表格。至此,初始化ODT工作结束。

  4.开始和停止DAQ数据的传输。上层发送START_STOP命令,指定的ODT数据开始上传。ODT将其中的每个元素复制到其对应的DTO(8个字节,1个PID号,7个存放数据)中,然后以DataAcquisitionMessage的形式返回给上层的标定系统。DAQ模式到此为止。

四、结语

  ECU标定软件运行情况如图4所示,经过多次不断的调试,此标定系统运行稳定可靠,能够对汽车系统中的ECU进行在线标定,并可以针对不同用户需求提供不同的定制功能。

图4标定软件示意图

  这个采用CCP协议的汽车发动机标定系统具有符合国际通用标准、通用性好、对不同硬件与不同需求适应性强的特点,因此有很好的开发应用前景。

1 2

关键词: CCP协议 ECU 标定 DAQ模式

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版