023VCU标定协议说明书.docx
- 文档编号:27010277
- 上传时间:2023-06-25
- 格式:DOCX
- 页数:16
- 大小:141.89KB
023VCU标定协议说明书.docx
《023VCU标定协议说明书.docx》由会员分享,可在线阅读,更多相关《023VCU标定协议说明书.docx(16页珍藏版)》请在冰豆网上搜索。
023VCU标定协议说明书
VCU标定协议说明书
编制:
校准:
审核:
批准:
江苏XXXX有限公司
VCU标定协议说明书
一、CCP协议
我司VCU标定采用CCP协议,CCP(CANCalibrationProtocol)是一种基于CAN总线的匹配标定协议。
ECU都需要经过匹配标定的过程,从而确定其运行参数和控制参数。
基于此,ASAM自动化测试系统标准协会(AssociationforStandardizationofAutomationandMeasuringSystems)制定了CCP协议。
我司CCP标定实现了ECU在运行过程中,内部变量的在线监测以及有需要时对某些变量的在线修改。
我司基于CCP协议的ECU标定采用主-从通信方式,主设备通过CAN总线与多个从设备相连。
其中主设备是测量标定系统MCS(MeasurementCalibrationSystem),从设备是需要标定的ECU。
在这里测量标定系统我介绍一下我司的标定工具P-CAN。
P-CAN是一款ECU标定和测试工具。
与CCP协议相结合,能完成对ECU标定,同时还能在ECU运行期间直接访问内存并进行操作。
二、P-CAN标定界面
我司VCU标定,可实现实时扭矩请求数据、冷凝器风扇继电器、水箱风扇继电器、PTC接触器、DCDC控制器使能、电机控制器使能、主继电器控制、BMS使能控制、压缩机控制器使能、低速报警器使能、油门踏板、水泵调速等一系列VCU功能标定工作。
三、CCP协议标定实现
我司CAN通信采用了两个报文数据对象CRO(命令接收对象)和DTO(命令发送对象),每个对象根据其数据流向,都有一个唯一的ID标志符进行标识,ID标识符可以由用户自行设定。
1.命令接收对象(CRO)
命令接收对象(CRO)用于传递指令代码和内部功能码或主、从设备之间交换的存储区数据,对应的报文帧如图1所示,表1位场说明:
图1CRO数据格式
表1
CMD(1Byte):
命令代码。
CTR(1Byte):
命令计数器。
ParameterandData(6Byte):
参数和数据场,命令相关的数据或参数
2.数据传输对象(DTO)
数据传输对象(DTO)指由从设备反馈的报文。
DTO根据报文首字节PID的值可以由三种形式,见表2:
表2:
PID值
数据传输类型
备注
0xFF
CRM(CommandReturnMessage)
由从设备发送,反馈CRO命令的报文
0xFE
EventMessage
当从设备检测到内部发生错误机制时,由从设备自行向主设备发送,报告其当前的运行状态,并请求主设备暂停当前工作进程以处理发生的错误
0-0xFD
DAQ-DTO(DataAcquisition-DTO)
用于DAQ模式,由从设备定期向主设备发送。
根据对象描述表(ODT),确定需要上传的变量
(1).CRM和EventMessage的报文帧如图2所示:
图2CRM-EventMessage报文帧格式
表3:
场说明
PID(1Byte)
其值代表了DTO的类型
ERR(1Byte)
命令返回错误代码
CTR(1Byte)
命令计数器,与接收的相等。
ParameterandDataField
参数和数据场,命令相关的数据或参数
(2).DAQ-DTO(DataAcquisition-DTO)的报文帧:
3.协议命令列表及说明
3.1命令列表:
命令名称
代码
说明
CONNECT
0x01
创建一个ECU的连接
SET_MTA
0x02
设置MTA地址
DNLOAD
0x03
下载最多5个字节数据到ECU
DNLOAD_6
0x23
下载6个字节数据到ECU
UPLOAD
0x04
从ECU上载最多5个字节数据
SHORT_UP
0x0F
从ECU上载最多5个数据(不用MTA)
DISCONNECT
0x07
断开到该ECU的连接
GET_DAQ_SIZE
0x14
得到指定DAQ列表大小
SET_DAQ_PTR
0x15
选中某指定DAQ列表中某ODT的某元素
WRITE_DAQ
0x16
设定该元素指定的地址
START_STOP
0x06
开始/停止采集指定的DAQ列表
EXCHANGE_ID
0x17
得到该ECU的标识符
GET_SEED
0x12
得到计算密钥的种子(SEED)
UNLOCK
0x13
要求ECU释放某种功能
SET_S_STATUS
0x0C
设置当前会话状态
GET_S_STATUS
0x0D
得到当前会话状态
BUILD_CHKSUM
0x0E
计算指定区域的校验和
CLEAR_MEMORY
0x10
清除某内存区域
PROGRAM
0x18
FLASH编程(最多5个字节)
PROGRAM_6
0x22
FLASH编程(6个字节)
MOVE
0x19
从MTA0处拷贝指定长度的字节到MTA1处
TEST
0x05
测试当前在线的从设备
GET_ACTIVE_CAL_PAGE
0x09
得到当前标定页(RAMorFLASH)
DIAG_SERVICE
0x20
ACTION_SERVICE
0x21
3.2命令返回错误代码
代码
描述
种类
状态改变
0x00
正确接收,无错误
0x01
DAQ处理器过载
0x10
命令处理器忙
0x11
DAQ处理器忙
3.3命令详细说明
3.3.1CONNECT命令:
命令接收对象(CRO):
位(bit)
数据类型
描述
0
字节
命令代码(0x01)
1
字节
命令计数器
2
字
站地址
4-7
字节
填0(不关心)
数据传送对象(DTO):
位(bit)
数据类型
描述
0
字节
命令代码(0xFF)
1
字节
命令返回代码
2
字节
命令计数器
3-7
字节
填0(不关心)
3.3.2SET_MTA命令:
命令接收对象(CRO):
位(bit)
数据类型
描述
0
字节
命令代码(0x02)
1
字节
命令计数器
2
字节
存贮器传输地址(MTA0,MTA1)
3
字节
地址扩展
4-7
无符号长整形
地址
数据传送对象(DTO):
位(bit)
数据类型
描述
0
字节
命令代码(0xFF)
1
字节
命令返回代码
2
字节
命令计数器
3-7
字节
填0(不关心)
3.3.3DNLOAD命令:
命令接收对象(CRO):
位(bit)
数据类型
描述
0
字节
命令代码(0x03)
1
字节
命令计数器
2
字节
需下传的数据长度
3-7
字节
数据
数据传送对象(DTO):
位(bit)
数据类型
描述
0
字节
命令代码(0xFF)
1
字节
命令返回代码
2
字节
命令计数器
3
字节
MTA0扩展位
4-7
字节
执行后MTA0地址(即地址加上长度)
3.3.4UPLOAD命令:
命令接收对象(CRO):
位(bit)
数据类型
描述
0
字节
命令代码(0x04)
1
字节
命令计数器
2
字节
需上传的数据长度
3-7
字节
填0
数据传送对象(DTO):
位(bit)
数据类型
描述
0
字节
命令代码(0xFF)
1
字节
命令返回代码
2
字节
命令计数器
3-7
字节
上传的数据
3.3.5SHORTUPLOAD命令:
命令接收对象(CRO):
位(bit)
数据类型
描述
0
字节
命令代码(0x0F)
1
字节
命令计数器
2
字节
需上传的数据长度
3
字节
地址扩展
4-7
字节
地址
数据传送对象(DTO):
位(bit)
数据类型
描述
0
字节
命令代码(0xFF)
1
字节
命令返回代码
2
字节
命令计数器
3-7
字节
上传的数据
3.3.6DISCONNECT命令:
命令接收对象(CRO):
位(bit)
数据类型
描述
0
字节
命令代码(0x07)
1
字节
命令计数器
2
字节
0x00暂时断开,0x01断开
3
字节
不关心
4-5
字节
站地址(低位在前)
6-7
字节
填0(不关心)
数据传送对象(DTO):
位(bit)
数据类型
描述
0
字节
命令代码(0xFF)
1
字节
命令返回代码
2
字节
命令计数器
3-7
字节
填0(不关心)
3.3.7GET_DAQ_SIZE命令:
命令接收对象(CRO):
位(bit)
数据类型
描述
0
字节
命令代码(0x14)
1
字节
命令计数器
2
字节
DAQ表号(0,1…)
3
字节
填0(不关心)
4-7
字节
CAN识别号(可选,暂不使用)
数据传送对象(DTO):
位(bit)
数据类型
描述
0
字节
命令代码(0xFF)
1
字节
命令返回代码
2
字节
命令计数器
3
字节
该DAQ列表中ODT的数目
4
字节
该列表中第一个ODT表PID值
5-7
字节
填0(不关心)
3.3.8SET_DAQ_PTR命令:
命令接收对象(CRO):
位(bit)
数据类型
描述
0
字节
命令代码(0x15)
1
字节
命令计数器
2
字节
DAQ表号(0,1…)
3
字节
QDT表号(0,1…)
4
字节
ODT表里的元素(0,1…)
5-7
字节
填0(不关心)
数据传送对象(DTO):
位(bit)
数据类型
描述
0
字节
命令代码(0xFF)
1
字节
命令返回代码
2
字节
命令计数器
3-7
字节
填0(不关心)
3.3.9WTITE_DAQ命令:
命令接收对象(CRO):
位(bit)
数据类型
描述
0
字节
命令代码(0x16)
1
字节
命令计数器
2
字节
DAQ表中元素的长度(1,2,4)
3
字节
表中元素的扩展地址
4-7
字节
表中元素的地址
数据传送对象(DTO):
位(bit)
数据类型
描述
0
字节
命令代码(0xFF)
1
字节
命令返回代码
2
字节
命令计数器
3-7
字节
填0(不关心)
3.3.10START-STOP命令:
命令接收对象(CRO):
位(bit)
数据类型
描述
0
字节
命令代码(0x06)
1
字节
命令计数器
2
字节
停止:
0x00;启动:
0x01;准备:
0x02
3
字节
DAQ列表数
4
字节
该DAQ列表中最后一张ODT表数
5
字节
触发事件数
6-7
字
发送速率分频系数
数据传送对象(DTO):
位(bit)
数据类型
描述
0
字节
命令代码(0xFF)
1
字节
命令返回代码
2
字节
命令计数器
3-7
字节
填0(不关心)
3.3.11CLEAR_MEMORY命令:
命令接收对象(CRO):
位(bit)
数据类型
描述
0
字节
命令代码(0x10)
1-7
字节
填0(不关心)
数据传送对象(DTO):
位(bit)
数据类型
描述
0
字节
命令代码(0xFF)
1
字节
命令返回代码
2
字节
命令计数器
3-7
字节
填0(不关心)
3.3.12PROGRAM命令:
命令接收对象(CRO):
位(bit)
数据类型
描述
0
字节
命令代码(0x18)
1-7
字节
填0(不关心)
数据传送对象(DTO):
位(bit)
数据类型
描述
0
字节
命令代码(0xFF)
1
字节
命令返回代码
2
字节
命令计数器
3-7
字节
填0(不关心)
4、标定
我司建立的完善的匹配标定具体流程为:
与底层ECU进行连接,监控、在线标定,上载和下载map图,断开连接等操作。
对于匹配标定的2个最主要的任务,就是在线标定和实时监控,它是通过协议命令的组合,来实现的:
4.1监控命令解析:
(有n张DAQ列表,每张列表中有m张ODT表)
序号
上位机
CCP
CAN
备注
1
设置监控变量列表,选择采样速率
(.A2L)
2
GET_DAQ_SIZE
发送
重复n次
3
CRM-DTO
接收
重复n次
4
SET_DAQ_PTR
发送
list0~listm-1
5
CRM-DTO
接收
list0~listm-1
6
WRITE_DAQ
发送
list0~listm-1
7
CRM-DTO
接收
list0~listm-1
8
START_STOP
发送
list0~listn-1
9
CRM-DTO
接收
list0~listn-1
10
START_STOP_ALL
发送
开始监控
11
CRM-DTO
接收
12
DAQ-DTO
接收
接收多次
13
显示
解码显示
14
START_STOP_ALL
发送
停止显示
15
CRM-DTO
接收
4.2在线标定
标号
上位机
CCP
CAN
备注
1
修改数据
可能有n次
2
SET_MTA
发送
3
CRM-DTO
接收
4
DNLOAD
发送
5
CRM-DTO
接收
6
SHORT_UP
发送
7
CRM-DTO
接收
四、标定数据库(A2L)
P-CAN与ECU之间的通信有一个描述文件支持,这个文件称为ASAP2描述文件。
P-CAN对ECU参数标定和数据测量都是基于这个文件,该文件记录了ECU中各参数详细信息,如标定参数和测量变量ECU中存储地址、存储结构、数据类型和转换公式等。
P-CAN中,每个标定参数和测量数据都会有一个变量名,如发动机温度、冷却水温度。
当P-CAN需要访问某个变量时,找到ASAP2描述文件中变量名,找到该变量在ECU中的存储地址、数据长度等信息。
为了对ASAP2文件进行维护和修改,P-CAN集成了一个ASAP2Editor的数据库编辑器,生成和修改ASAP2控制器描述文件。
所有信息都能对话框形式进行设置和修改。
该数据库编辑器还能工作在独立模式下,以生成一个A2L格式的控制器描述文件。
当ECU底层程序修改后,一些标定参数和测量数据内存址可能发生变动,P-CAN支持linkermap文件自动更新ASAP2文件里的信息。
Map文件是ECU底层程序编译时由编译器生成一种映射文件,Map文件可以自动更新ASAP2文件,保证了测量与标定变量时地址的一致性。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 023 VCU 标定 协议 说明书