同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity2.5基于CAN总线的标定协议2020/1/121同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity2020/1/1221ECU测试与标定测试是指在ECU运行期间通过外围监测设备对控制器中的某些参数进行监测,以此判断ECU的工作情况,并对控制策略进行评价。ECU的标定是指在离线或在线的情况下,通过外围标定设备修改ECU中某些参数的值,以观察不同参数值对运行结果的影响,以调整并优化控制参数。同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity2020/1/1232ASAP标准几家德国汽车制造商联手一些著名的汽车电子设备制造商于1991年成立了ASAP标准组织,ASAP的英文全称是Theworkinggroupforthestandardizationofapplicationsystems(应用系统标准化工作小组)。它的目标是使在汽车电子设备研发过程中相关的测试,标定,诊断方法及工具能够兼容并互换。同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity2020/1/1242.1ASAP标准构成自动化系统,,测试标定诊断系统MCD(Measurement,Calibration,DiagnosisSystem)ASAP3数据库ASAP2ECU电子控制单元驱动程序ASAP1bASAP1a同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity2020/1/1252.2ASAP3和ASAP2ASAP3是应用系统,即测试,标定,诊断系统(MCDMeasurement,Calibration,DiagnosisSystem)到自动化系统的接口规范。这里的自动化系统可以是一个测量仪器的指示装置或汽车的燃油测量装置等。ASAP2又称为ASAP描述文件,是电子控制单元内部数据描述文件的规范。ASAP2文件用来具体描述电子控制单元(ECU)内部的数据信息,包括数据存储的规范,数字量到物理量的转换规范等。同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity2.3ASAP1ASAP1是电子控制单元(ECU)到MCD系统的接口规范,ASAP1规范又细分为ASAP1b与ASAP1a。ASAP1b接口下包括一个符合ASAP标准的驱动程序,硬件接口及电子控制单元。因此ASAP1b接口规范保证了MCD与ECU之间的通信,不受所选通信媒介及不同ECU供应商的限制。其中ASAP1a是到ECU端的数据通信的物理及逻辑接口规范,包括通过CAN总线对ECU进行标定的协议规范。2020/1/126同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity2.4ASAP标准实例2020/1/127ASAP3ECU电子控制单元ASAP2ASAP1发动机转速5800l/min储存地址转换格式通信方式发动机转速在哪里?是否需要转换?成物理量如何确定ASAP1b?接口的参数自动化系统MCD系统电子控制单元同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity3ASAM标准组织及其规范1998年ASAM小组成立,其英文全称是AssociationforStandardizationofAutomationandMeasuringSystem(自动化及测量系统标准化小组)。ASAM标准是ASAP标准的扩展和衍生,在新的ASAM标准中,ASAP标准变名为ASAMMCD(ASAMMeasurement,CalibrationandDiagnosis),原来的ASAP1,ASAP2,ASPA3规范在新的标准下分别为ASAM-MCD1MC,ASAM-MCD2MC及ASAM-MCD3MC2020/1/128同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity4CCP协议CCP的全称是CANCalibrationProtocol(CAN标定协议),是ASAP标准的有机组成部分,属于ASAP1a规范标准,是基于CAN总线的ECU标定协议规范。CCP协议遵从CAN2.0B通信规范,支持11位标准与29位扩展标识符。2020/1/129同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity4.1CCP通信方式2020/1/1210主设备MCD系统从设备ECU1从设备ECU2从设备ECU3CAN总线逻辑连接地址1地址2地址3同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity4.2Polling模式这种模式可通俗地理解为““一问一答”的通信模式。在这种模式下,当主设备与某个从设备建立逻辑连接后,主设备与从设备的每次通信都是通过主设备首先发送一条请求命令,请求从设备执行某项操作,或请求其内部数据。从设备收到命令后,执行相应操作,通过返回一帧消息,提供主设备请求的数据及命令执行情况代码。这种通信方式实现起来比较简单,占用ECU内存资源少,但效率较低。2020/1/1211同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity4.3DAQ模式DAQ(DataAcquisitionMode)模式下从设备可以脱开主设备的控制,按一定的通讯周期自主向主设备上传数据。这种方式数据上传效率高,但实现起来复杂,尤其当所需上传数据量较大时,会占用ECU较多RAM空间。2020/1/1212同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity5CCP消息格式由于CCP协议遵从CAN通讯规范,因此基于CCP的通信都是以CAN报文的形式来实现。为了规范,CCP消息统一采用8个字节的数据场,所有命令参数及数据都被打包在8个字节数据场中。CCP支持11位标准或29位扩展标识符。2020/1/1213同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity5.1CCP消息对象CCP协议的实现只依赖两则CAN消息:命令接收对象CRO(CommandReceiveObject)和数据传输对象DTO(DataTransmissionObject)。2020/1/1214主主主主主主主主主主主主主主主DAQ主主主CCP主主主主CROCRM-DTODAQ-DTO主主主主主主主主主同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity命令接收对象CRO2020/1/1215主设备向ECU发送的消息对象,包括命令代码及命令参数。CMDCTR字节01234567命令参数同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversityCRO命令内容第0字节为命令代码CMD(CommandCode),CCP协议共规定了28条命令。从设备接收到CRO后,通过相应CMD代码解释收到的命令并执行。第2~7个字节中包含了与命令相关的命令参数。命令序号CTR(CommandCounter)是CRO命令发送的序号,按发送的先后顺序,每条由主设备发出的CRO命令被分配给命令序号,如第一条发送的CRO其CTR为01,第二条为02,依次类推。CTR序号的实现是CCP协议的一种通讯保护机制,在Polling模式中,每条CRO消息与其对应的反馈DTO消息,两者的CTR序号相同,保证主,从设备“一问一答”的对应关系。同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity数据传输对象DTODTO是从设备反馈给主设备的消息。按DTO的不同用途,DTO又分为三类:命令返回消息CRM—DTO(CommandReturnMessage);事件消息(EventMessage-DTO);DAQ-DTO(DataAcquisition–DTO)。同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversityDTO内容CRM-DTO发生在Polling通信模式下,是针对主设备发送的CRO的反馈消息。当从设备收到主设备发送的一则CRO后,按CCP规定,必须反馈一则DTO,这则DTO就称为CRM-DTO。事件消息(EventMessage-DTO)是当ECU内部发生错误时,由ECU自主发送。这类DTO不需要事先收到主设备的CRO,一旦ECU发生内部错误,会自动向主设备发送一则事件消息,报告内部发生的情况,请求主设备暂停当前工作并进行处理。同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversityDTO结构PIDERRCTR字节01234567参数数据域同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversityPID定义当PID取值范围在0~0xFD之间,表明该类DTO是DAQ-DTO。这类DTO只用于DAQ通信模型,其数据结构略有不同:PID字节01234567参数数据域同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity6DAQ模式下的数据通信DAQList#1ODT#0元素0 元素1 元素2 元素3 元素4 元素5 元素6 ODT#1...ODT#nDAQList#0ECU 0 1 3PID=0 0 1 2 3 4 5 6DAQ-DTO 4 2 5 6对应ODT#0的DAQ-DTO不同地址指向的存储区域DAQList#1DAQList#n...同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversityDAQ模式通信步骤获取ECU内所实现的DAQ列表数目及ODT数目,DAQ列表数目由数据上传的周期决定,ODT列表数由每个周期下所需上传的数据个数及长度决定;向相应的ODT元素中填入内容,即数据的存储地址和数据长度。数据将根据其类型及上传周期,被写在不同DAQ列表的不同ODT元素中。根据上传数据的上传周期,针对不同的DAQ列表赋以事件通道和预分频值。事件通道与上传周期是一一应的,同一个DAQ列表中的不同ODT享有同一个事件通道和预分频值,即同一个DAQ列表中的所有数据的上传周期相同。通过预分频值可将数据的上传周期成倍扩大。起动DAQ模式,进行数据采集。同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversityDAQ通信模式示例同济大学汽车学院CollegeofAutomotiveEngineeringTongjiUniversity7CCP命令代码及ERR代码CCP协议共规定了28条命令,其中11条为必选命令,17条为可选命令。由于CCP是开放协议,因此用户可只选其中一部分命令予以实现。每条命令在CCP协议中均有自己独立的CMD代码,从设备即通过CRO中的CMD代码来对收到的CCP命令进行解释并执行。CRM-DTO的ERR代码指示了CRO命令的执行情况,事件消息中的ERR代码表示ECU内部发生的错误类型。