• 251查看
  • 0回复

[测试标定] 汽车控制器基于CAN总线的标定协议解析及测试方法

[复制链接]


该用户从未签到

发表于 5-3-2024 16:38:57 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


一、CCP简介

CCP – CAN Calibration Protocol,CAN标定协议;是基于CAN协议实现的一种功能,该功能的主要作用是能够在线实时标定数据,并实现数据的上传与下载。CCP与XCP之间有什么联系?XCP被细分为协议层和传输层。协议层为XCP,传输层为CAN、USB、Ethernet、CANFD,本文的X代表CAN。常用的标定工具有vector公司的CANape、ETAS公司的INCA;

二、CCP通讯方式

采用主从方式,标定工具作为MASTER,发送命令报文(CRO),ECU作为SLAVE应答(DTO)。

polling(查询模式)

由主设备主动向从设备发送指令,从设备做出反馈应答,“一问一答”模式。效率相对较低,实现简单,占用ECU内存空间少;

汽车控制器基于CAN总线的标定协议解析及测试方法w1.jpg

DAQ(数据采集)

主设备发送一条请求指令后,从设备按照一定周期自动向主设备上报数据;效率高,实现复杂,数据量大,占用ECU内存空间大;

汽车控制器基于CAN总线的标定协议解析及测试方法w2.jpg

通讯过程中通过指令接收报文(CRO)和数据传输报文(DTO)实现数据及信息的传递。

指令接收报文(CRO),发送指令。

数据传输方向:master -> slave;报文中携带一个指令和在从设备中执行的指令参数;

1:CMD

2:CTR

3-8:Date and Parameter

CMD:命令代码。如连接命令0x01,

CTR: 命令计数器。保证命令和应答的一致性。

数据传输报文(DTO),DTO出了应答命令外,还包括从数据主动上传的DAQ数据包。

1:PID

2:ERR

3:CTR

4-8: Data and Parameter

PID:包标识 [0XFE-0xFF],0XFF表示命令应答,0XFE表示错误报文

ERR:应答码

CTR: 命令计数器,与命令中的计数器对应。

1:PID

2-8:DAQ VALUE

PID:包标识 [0X00-0xFD],在DAQ模式下,此标识对应于相应的ODT标识(一次设置最多254个ODT)。表示后面的上传数据是此ODT中元素索引表中对应的变量值。

DAQ VALUE:ODT中元素索引表中对应的变量值,最大7个字节。

数据传输方向:slave -> master;DTO分为如下几类消息:

1、错误返回消息CRM;2、事件消息;3、数据采集;

三、指令列表

汽车控制器基于CAN总线的标定协议解析及测试方法w3.jpg

四、CCP功能实现

CCP的功能是通过以上的指令进行组合来实现的,主要包括以下功能:会话登录功能、块数据下载功能、块数据上传功能、校验数据初始化功能、数据采集列表初始化功能、代码更新功能。

    会话登录指令流程

    CONNECT 逻辑连接

    GET_CCP_VERSION 获取CCP协议版本  

    EXCHANGE_ID 交换节点标识符      

    GET_SEED 获取key的seed数据      

    UNLOCK 使用接收到的密钥解密   

    SET_S_STATUS 设置会话状态  


    块数据上传/下载指令流程

    CONNECT 逻辑连接

    SET_MTA 将内存传输地址设置为目标块  

    UPDOWN/UPLOAD 进行块数据下载/进行块数据上传     

汽车控制器基于CAN总线的标定协议解析及测试方法w4.jpg


    数据校验指令流程

    CONNECT 逻辑连接

    SET_S_STATUS 设置会话状态  

    SET_MTA 将内存传输地址设置为目标块  

    BUILD_CHKSUM  构建块的校验和   

    DOWNLOAD 若是校验和不匹配,继续下载  

    SELECT_CAL_PAGE 选择校准数据页面   

    SET_S_STATUS 设置会话状态位CAL=1   


    列表数据采集指令流程

    CONNECT 逻辑连接

    SET_S_STATUS 设置会话状态DAQ=0      

    GET_DAQ_SIZE 获取DAQ大小,创建DAQ列表      

    SET_DAQ_PTR 设置DAQ数据指针

    WRITE_DAQ 填充DAQ列表数据

    SET_S_STATUS 设置会话状态位DAQ=1  

    START_STOP 开始传输DAQ-DTO数据,并设置相关参数   



    软件更新指令流程

    CONNECT 逻辑连接

    SET_MTA 内存传输地址设置为目标块      

    CLEAR_MEMORY 清除从设备的内存   

    PROGRAM 程序取决与扇区大小      

    PROGRAM size=0 程序结束

五、CCP相关功能测试方法

结合测试上位机,并采集报文进行同步分析的方式,完成以下功能的测试项目。

1、DAQ数据上传数据

    建立测试环境,控制器上电,CAN通讯收发正常,启动INCA上位机,打开工程,打开配置文件,打开数据库文件,添加变量的地址并设置为观测模式,将上传方式设置为DAQ模式,建立主从设备的数据连接,添加观测变量,启动数据采集。预期结果,ECU周期性的上传报文。分析报文的传输流程符合设计预期指令流程。

2、polling方式上传数据

    建立测试环境,控制器上电,CAN通讯收发正常,启动INCA上位机,打开工程,打开配置文件,打开数据库文件,添加变量的地址并设置为观测模式,将上传方式设置为polling模式,建立主从设备的数据连接,添加观测变量,启动数据采集。预期结果,ECU周期性的上传报文。分析报文的传输流程符合设计预期指令流程。

3、主从设备安全访问

    建立测试环境,控制器上电,CAN通讯收发正常,启动INCA上位机,打开工程,打开配置文件,打开数据库文件,添加正确的安全算法,建立主从设备的数据连接。预期结果,ECU可以正常标定。分析报文的传输流程符合设计预期指令流程。

    建立测试环境,控制器上电,CAN通讯收发正常,启动INCA上位机,打开工程,打开配置文件,打开数据库文件,添加错误的安全算法,建立主从设备的数据连接。预期结果,ECU不能正常标定。分析报文的传输流程符合设计预期指令流程。


4、在线标定功能

    建立测试环境,控制器上电,CAN通讯收发正常,启动INCA上位机,打开工程,打开配置文件,打开数据库文件,添加变量的地址并设置为标定模式,建立主从设备的数据连接,修改添加的标定变量。预期结果,程序中的功能按照标定的参数执行。分析报文的传输流程符合设计预期指令流程。


5、标定数据下载

    建立测试环境,控制器上电,CAN通讯收发正常,启动INCA上位机,打开工程,打开配置文件,打开数据库文件,添加标定数据区域的映射地址,选择下载文件,开启下载模式。预期结果,程序更新成功,按照预期功能运行。分析报文的传输流程符合设计预期指令流程。

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 1-2-2025 10:46 , Processed in 0.226911 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.