XCP协议介绍

标定贯穿整车开发的整个过程,是整车开发中的重要环节,从部件单体的台架软件参数的标定,到整车环境下的夏季标定、高原标定、冬季标定。

XCP全称Universal Calibration Protocol,是由ASAM (Association for Standardization of Automation and Measuring Systems,简称 ASAM)组织在2003年提出的可在不同的通信总线上进行标定的新型标定协议,这里的X代表不同的传输层上传输(CAN、Ethernet、FlexRay、SCI、SPI、USB)。

XCP的应用场景:上传ECU数据,实现对ECU内部变量进行观测;在线对ECU内部变量进行标定;ECU刷写程序或数据。数据仿真,周期性下载数据至ECU,通常用于快速原型;其中通常使用的是对变量的观测、标定以及刷写ECU。标准介绍XCP标准主要分为五部分:

Part 1 – Overview。XCP协议概述,包括XCP的特点描述以及XCP协议的基本原理。

Part 2 – Protocol Layer Specification。对协议层进行详细的规范和说明,包括XCP数据包类型、格式以及各命令使用说明。

Part 3 – Transport Layer Specification。该部分包含5份文档,分别对应5个不同的传输层(CAN,Ethernet/TCP_IP,FlexRay,SxI/SCI&SPI,USB),规定不同总线下传输层的实现。

Part 4 – Interface Specification。该部分对A2L描述文件、秘钥与种子加解密、数据校验功能说明。

Part 5 – Example Communication Sequences。该部分描述了部分通信数据流,演示如何使用XCP协议的命令同ECU进行通讯。XCP通信协议方式XCP数据包主要有两种形式:传输控制命令的CTO(Command Transfer Object)和同步数据包DTO(Data Transfer Object)。

主从节点间的XCP通信方式如图1所示。

图1 XCP主从机交互

CTO用于传输控制命令,包含五种形式:1.CMD(Protocol Command),PID范围为0xC0~0xFF,主机向从机发送的命令请求,从机据此识别命令。

2.RES(Transferring Command Responses),PID值为0FF,从机在接收到主机的CMD后,当命令被执行成功时,从机向主机发送肯定响应数据包。

3.ERR(Error Packets),PID值为0XFE,当命令执行发生错误时,从机反馈错误数据包。

4.EV(Event),PID值为0xFD,当从机向主机报告一个异步的事件时,发送次数据包。

5.SERV(Service Request Packets),PID值为0xFC,当从机需要主机做出某些动作时,从机向主机发送此数据包。

DTO数据包传输同步数据包DAQ(Data Acquisition)和同步激励数据STIM(Data Stimulation packet)。在DAQ模式下,从机周期性上传数据,STIM模式正好相反,主机周期性的向从机下载数据。基于CAN总线的XCP报文格式

在汽车ECU的标定中,通常使用CAN总线。基于CAN的XCP报文帧结构如图2所示,其中PID用于标识XCP报文的类型,PID与任务的对应表如表1所示,FILL用于描述报文对齐信息,DAQ表示DAQ列表的标识符,TIMSTAMP为可选项,Data存放数据。

图2 基于CAN的XCP帧格式

表1 PID与任务的对应关系

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值