您的位置 首页 IC

根据CCP的轿车控制器的匹配标定的规划

采用基于CAN总线的匹配标定协议,对汽车控制器局域网络中的电子控制单元进行匹配标定。分析了CCP协议用于标定的工作机理,讨论了利用CANape进行基于CCP标定的实现方法,阐述了如何生成CANape与

现在依据CAN(Controller Area Network)总线的分布式体系在轿车电子范畴得到广泛运用,电子操控单元的标定已成为轿车电子操控设备开发的一个重要环节。CCP(CAN Calibration Protocol)是一种依据CAN总线的ECU(Electronic Control Unit)标定协议[1],现已在许多欧美轿车厂商得到运用,选用CCP协议可以快速而有效地完结对轿车电控单元的标定。

但是依据CCP协议的标定,需求在ECU内部完结支撑CCP协议的驱动程序(CCP driver)。现在大多数运用都选用Vector供给的free CCP driver[2]。考虑到ECU底层程序与CAN驱动程序的完结各不相同,将CCP驱动程序结合到ECU中[3]并不是一件一蹴即至的事,这需求对CCP协议自身、标定东西及标定东西与ECU之间的通讯有详细和深化的了解。在整个标定体系的开发过程中,很多时刻被消耗在前期CCP驱动程序与ECU结合上。本文在简略介绍CCP协议的基础上,供给了一个通用的ECU与CCP驱动程序结合的实例,以协助缩短整个标定开发周期。

CANape[4]是一款ECU标定和测验东西。与CCP协议相结合,不仅能完结对ECU的标定,一起还能在ECU运转期间直接拜访内存并进行操作。这使得CANape不仅是一款功用强大的标定东西,也是一款电控单元开发的得力助手。但是在运用方面,CANape的前期装备比较繁琐,现在国内的相关材料较少。本文将介绍CANape,并着眼于怎么依据CCP协议运用CANape完结ECU的标定。

1 CCP协议及作业原理

CCP协议是ASAP(Arbeitskreis zur Standardisierung von Applikationssystemen)标志的有机组成部分。ASAP作为一个运用体系规范化作业小组,其意图在于供给通用软、硬件接口规范,以处理因为不同制造商供给的操控器存在的接口不匹配问题。

1.1 CCP通讯办法

依据CCP协议的ECU标定选用主-从通讯办法,如图1。主设备经过CAN总线与多个从设备相连,其间主设备是丈量标定体系MCS(Measurement Calibration System),从设备是需求标定的ECU,在轿车电子中即为车载操控器。

图1 CCP通讯办法

依据CCP协议,主设备首要与其间一个从设备树立逻辑链接,然后经过主设备向从设备发送指令来开端两者间的数据通讯。当主设备要拜访另一个从设备时,首要断开与当时从设备的逻辑衔接,与下一个从设备树立新的逻辑衔接后再开端通讯。

1.2 CCP协议的作业办法

CCP界说了两种作业办法:Polling(查询)办法及DAQ(Data Acquisition Command)办法。查询办法下,主设备与从设备间的每一次通讯都由主设备发送指令来开端,从设备收到主设备的指令后,履行相应的操作并反应一帧报文。这种作业办法因为需求主机与从机之间进行“一问一答”的信息交互,作业效率不高,但完结简略,并且占用ECU内存资源较小。 DAQ办法使从设备可以脱离主设备的指令操控按必定周期自意向主设备上传数据。DAQ办法下,主设备首要发送一条恳求DAQ的指令,从设备收到后,按指令中的参数自行装备并安排需求上传的数据,然后按必定周期自主向主设备上传数据。这种办法因为不需求主机经过指令逐渐操控,作业效率高,但完结较杂乱,假如需求上传的数据量很大,会占用很多ECU内存空间。

1.3 CCP报文帧结构

依据CCP协议的标定只占用两帧CAN报文,别离是指令接纳目标CRO(Command Receive Object)和数据传输目标DTO(Data Transmission Object),如图2所示。CRO由主设备发给从设备,DTO是从设备反应的报文。两者别离经过一个自己的ID标识符进行标识(CRO_ID与DTO_ID)。

图2 CCP协议主、从设备通讯

CRO与DTO的ID标识符由通讯协议自行界说,CCP协议只对CRO及DTO的数据场做了详细界说。依照CCP协议,CRO数据场的第1个字节为指令代码CMD(Command Code),CCP协议共规则了28条指令[1]。从设备经过CMD代码判别主设备恳求的是哪条指令。数据场的第2个字节是指令计数器CTR(Command Counter)。剩下6个字节均为指令参数,每条指令有各自对应的指令参数。

从设备反应的报文称为DTO。按CCP协议,DTO又细分为三类:

·指令回来音讯CRM(Command Return Message):由从设备发送,针对CRO的反应报文。

·事情音讯(Event Message):当从设备检测到内部产生过错机制时,由从设备自行向主设备发送,陈述其当时的运转状况,并恳求主设备暂停当时作业进程以处理产生的过错。

·DAQ-DTO(Data Acquisition-DTO):用在DAQ办法中,由从设备安排,定时向主设备发送。

DTO报文的第1个字节PID(Packet ID)界说了DTO的类型,255代表CRM, 254代表事情音讯。第2个字节为指令回来/过错代码ERR(Command Return-/Error Code)。关于CRM,主设备由该字节获悉指令的履行情况;关于事情音讯,主设备由该位获悉从设备内部产生了哪种过错。第3字节CTR是指令计数器,该位数值与其对应的CRO的CTR值相对应。剩下5个字节是数据场,寄存主设备恳求的数据或信息。

2 依据CCP协议的接口程序完结

依据CCP协议进行标定,需求MCS与ECU的运用程序都可以支撑CCP协议,这部分运用程序称为CCP driver。本文选用Vector供给的free CCP driver[2]。因为CCP协议依据CAN总线,因而CCP driver与ECU的结合首要分为与CAN driver及与其他运用程序两方面。

CCP driver与CAN driver的结合如图3,首要分为以下两方面:

图3 CCP标定程序接口

·发送端:DTO经过CAN driver的发送子函数以CAN报文的格局上传给MCS。

·接纳端:主设备发送的指令以CAN报文的格局首要进入CAN driver的接纳子函数,由其判别为CRO后,进一步交给指令处理器处理。

指令处理器作为CCP driver的一个首要组成部分,担任将接纳到的CRO,经过其CRM代码进行指令解说,履行相应操作,安排反应数据并调用CAN发送子函数。DAQ处理器支撑DAQ作业办法,当指令处理器判别收到的指令为DAQ恳求后,进一步将数据传给DAQ处理器,由DAQ处理器安排数据并直接调用CAN 发送子函数,以DAQ-DTO的办法定时向主设备上传。

依据CCP协议的根本CAN通讯流程如图4所示。ECU接纳到报文后,转入CAN接纳子函数,在惯例接纳流程后,对报文的ID标识符进行判别,如为CRO_ID,则将CCP标志位(Ccp_indicator)置位。因为选用中止办法接纳报文,为了避免占用过多中止时刻而影响其他函数或中止等级较低的程序运转,在对ID标识符进行判别后,并不直接在函数中调用CCP driver的指令处理器。指令处理器的调用会在主函数中进行。

图4 接口程序根本流程图

主函数经过判别标志位的状况,调用CCP driver的ccpCommand()子函数。该函数是指令处理器的首要组成部分,也是指令处理器与CAN driver的接口函数,它担任解说并履行收到的CRO指令,调用CCP driver中的其他函数,进行数据处理并安排需求反应的数据。

ccpCommand()经过调用CAN driver中的CCP发送子函数ccpSend()发送一帧DTO。ccpSend()须在CAN driver中完结,由CCP driver调用。按实践情况,将CAN发送子函数直接以ccpSend()的办法完结,或在保存原有发送子函数的基础上增加一个ccpSend()子函数,在其间调用CAN发送子函数,以完结DTO的发送。
CCP协议为保证主设备与ECU之间正常通讯,每次发送后,程序有必要经过调用CCP driver中的ccpSendCallback()子函数查看方才的DTO是否现已发送,不然不能发送下一帧报文。针对不同的CAN driver完结,该函数调用的方位不同。最后主函数将CCP标志位清空,等候下一条CRO指令。

一个完好的CCP driver 接口还包括与ECU其他运用程序的接口。每次单片机初始化后,主函数调用一次CCP driver的CCP初始化子函数ccpInit(),将前次标定残留在ECU内存中的数据清空,为下次标定与丈量做准备。
CCP协议共界说了28条指令,每条指令在CCP driver中都对应一组相应的子函数,代表不同的功用,如EEPROM标定、DAQ作业办法等。用户可依据实践需求,挑选完结其间部分或悉数功用。每增加一个新的功用,有必要在底层程序中增加敞开该项功用的程序接口[3]。如对EEPROM标定,首要ECU运用程序中应包括EEPROM模块子函数,一起还需完结指令处理器与EEPROM模块之间的调用接口。

3 运用CANape完结依据CCP的标定

CANape[4]是德国Vector公司出品的一款依据ASAP规范的ECU测验和标定东西。它经过一个操控器硬件接口与ECU相连,两者之间常用的物理衔接是依据CCP协议的CAN总线。只要操控器的底层程序中有支撑CCP协议的程序接口, CANape才能与操控器通讯。

CANape供给了多种功用:在线数据评价、离线评价、数据管理、FLASH编程、参数标定及ASAP2数据编辑器等。此外,测验过程中由CAN总线上传的数据还可以经过CANape在计算机显示和保存,以进行离线标定和数据评价。

3.1 ASAP2操控器描绘文件及ASAP2编辑器

CANape与操控器间的通讯需求一个描绘文件支撑,这个文件称为ASAP2操控器描绘文件[4]。CANape对操控器的参数标定和数据丈量都是依据这个文件,该文件记录了操控器中各参数的详细信息,如标定参数和丈量变量在操控器中的存储地址、存储结构、数据类型和转化公式等。在CANape中,每个标定参数和丈量数据都会有一个变量名,如发动机温度、冷却水温度。当CANape需求拜访某个变量,就在ASAP2描绘文件中依据变量名,找到该变量在操控器中的存储地址、数据长度等信息,然后进行操作,如图5。

图5 ASAP2操控器描绘文件

为了便利用户对ASAP2文件进行保护和修正,CANape集成了一个ASAP2数据库编辑器,用以生成和修正ASAP2操控器描绘文件。一切的信息都能经过对话框的办法进行设置和修正。该数据库编辑器还能作业在独立办法下,以生成一个ASAP2格局的操控器描绘文件。

当ECU底层程序修正后,一些标定参数和丈量数据的内存地址可能产生变化,CANape尽管仍能进行标定,但修正的已不是本来需求标定的参数,而是程序变化后原先地址下当时寄存的某个新的不知道数据。为了简化手艺修正地址的繁琐,避免因为随意修正某个数据而损坏程序的正常运转,CANape支撑经过linker map文件自动更新ASAP2文件里的信息。Map文件是ECU底层程序在编译时由编译器生成的一种映射文件,经过Map文件可以自动更新ASAP2文件。

3.2 CANape运用装备

每个需求标定的ECU都要在CANape中进行装备。

CANape共界说了28条指令,用以完结不同的功用,在装备页面里均有复选框与其对应。操控器的装备有必要与CCP Driver在ECU底层程序的详细完结相匹配,只要对某个功用的程序接口现已敞开,才能在CANape中挑选运用该项功用[2][5]。

3.3 CANape中的参数标定

在CANape中,需求标定的变量称为标定参数,CANape将标定界说为修正驻扎在ECU内存中的变量的内容。CANape支撑多种标定办法。这儿标定办法指怎么对标定参数地点的内存区域进行初始化、数据改写及保存。依据标定参数地点不同地址空间(ROM、FLASH或EEPROM),CANape规则了不同的标定办法。

当标定参数需求寄存在FLASH或ROM中时,在ECU上电初始化后,程序首要将标定参数的初始值仿制到RAM中,在CANape中该段用来寄存标定参数的RAM称为Calibration RAM。标定过程中,CANape修正Calibration RAM中的参数值。标定悉数完毕后,再将该段RAM中的内容仿制回FLASH或ROM中。

当标定参数寄存在EEPROM中,有两种标定办法。第一种与上述办法相同,首要将标定参数仿制到RAM中,标定完毕后再将RAM中的数据掩盖到EEPROM。此外,也可对EEPROM中的参数直接进行改写,完结这种办法需求对EEPROM进行频频擦写操作,但不占用额定的RAM空间。

因为轿车电子网络体系已开端得到广泛的运用,依据网络衔接的电子操控单元的匹配标定和传统的匹配标定办法已有了很大的不同,特别是依据CAN总线的匹配标定技能,现在已成为研讨和运用的要点。

选用CANape进行依据CCP的匹配标定,完结了标定东西和内容的一致。依据这种办法可以快速有效地进行轿车电子操控单元的匹配标定,在实践开发运用中取得了杰出的作用。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/191399.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部