基于CCP协议实现汽车电子控制单元标定系统的设计

出处:电子设计应用 发布于:2020-04-26 13:58:06

  前言

  随着汽车电子技术的发展,电子控制单元(ECU)的标定已成为汽车电子控制装置开发的一个重要环节。大多数ECU都需要经过匹配标定的过程,从而确定其运行参数和控制参数。目前国内还没有成熟的基于CCP的ECU标定系统,已有的一些系统主要是采用Vector提供的free CCP Driver,或者基于MATLAB的相关工具包,在此基础上作自己的应用软件,并没有独立的CCP 驱动;国外的产品功能强大,但价格昂贵。因此,研究、掌握CCP的技术,开发针对不同用户需求提供不同的定制功能,并能适应PCI、USB等不同主机接口的ECU标定软件就具有非常重要的意义。

  CCP协议简介

  CCP协议的通信方式

  基于CCP协议的ECU标定采用主-从通信方式,主设备通过CAN总线与多个从设备相连,如图1所示。其中主设备测量标定系统MCS(Measurement Calibration System),从设备是需要标定的ECU。根据CCP协议,主设备首先与其中一个从设备建立逻辑连接。 建立逻辑连接后,主、从机之间所有的数据传递均由主机控制,从机执行主机命令后返回包含命令响应值或错误代码等信息的报文。任何一个从机都可以定时地根据由主机通过控制命令所设置的列表来传递内部的数据。所以说数据的传递是由主机初始化,由从机来执行,并且是由固定的循环采样频率或事件触发的。

  

  CCP协议定义了两种工作模式:一种是Polling(查询)模式,另一种是DAQ(数据采集)模式。在本文所设计的标定系统中,根据实际需求情况,采用了DAQ模式。

  CCP协议的通信数据对象

  CCP协议只采用了两个CAN报文对象,且每个对象根据其数据流向,都有一个的ID标识符进行标识:

  (1)命令接收对象(主机一从机):简称CRO。CRO用于传递指令代码和内部功能码或主、从机之间交换的存储区数据。

  (2)数据传输对象(从机一主机):简称DTO。DTO指由从设备反馈的报文。

  根据报文PID的不同,DTO又可以分为三种形式:

  ·命令返回消息CRM(PID=255) : 由从设备发送, 针对CRO 的反馈报文。

  ·事件消息(PID=254): 当从设备检测到内部发生错误机制时, 由从设备自行向主设备发送, 其当前的运行状态, 并请求主设备暂停当前工作进程以处理发生的错误。

  ·DAQ- DTO(0≤PID≤254): 用在DAQ 模式中, 由从设备组织, 定期向主设备发送。

  基于CCP的ECU标定系统实现

  标定系统工作原理

  基于CCP的ECU标定系统工作原理如图2所示,对部分控制参数进行调整后,通过一个USB转CAN的驱动模块就可以将数据送到发动机ECU当中,ECU收到控制信号后,通过内部处理又会由驱动模块返回ECU内部重要的数据到平台上显示,标定软件与发动机ECU的通信符合CCP标定协议。

  CCP通信部分调用CCP Driver,为标定软件实现与ECU的通信,包括将用户指定的标定参数到ECU、接收ECU的测量数据供数据显示子窗口使用。

 

 标定系统的数据采集机制

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

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

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

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

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

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

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

  3.上层通过协议命令初始化ODT。首先,上层发送GET_DAQ_SIZE命令(参数为List号),得到指定的List大小(number of ODT in this list),并得到该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个存放数据)中,然后以Data AcquisiTIon Message的形式返回给上层的标定系统。DAQ模式到此为止。

  结语

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

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

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!