一文搞懂汽车标定协议之XCP
前言:
看这篇文章之前,我们需要先带着问题来看,什么是XCP?为什么要用XCP?相对于CCP的优势是什么?
首先我们知道CCP是基于CAN的测量与标定协议,其全名为CAN Calibration Protocol。
而XCP中的X表示为任意一种通信,例如CAN、Ethernet、USB等,由于传统的CCP协议受限与CAN通信本身吞吐量的限制,因此ASAM组织在2003年提出了XCP标定协议,且在XCP协议中优化了CCP协议资源利用率。XCP与CCP一致主要应用与测量与标定,遵循主从模式,即上位机为主机,ECU为从机。
一、XCP的基本应用
1.调试控制器,除传统的Debug方式外,还可以借助上位机通过XCP来调试ECU
2.上传ECU数据,实现对ECU内部变量进行观测
3.在线对ECU内部变量进行标定
4.数据仿真,周期性下载数据至ECU,通常用于快速原型
二、XCP基本特征
1.数据测量(Polling & DAQ)
2.数据标定(Polling & Block Calibration)
3.Flash编程
4.多传输协议
5.块通信
6.时间戳数据传输
7.数据激励
8.测量数据优先级
三、Polling与DAQ测量
Polling模式通俗可以理解为一问一答模式,主设备先问,从设备回答,两者之间不断交互来实现主从设备的通信和数据交换,这种通信方式实现起来比较简单,但是占用带宽,效率极低。
在理解DAQ模式之前,先举个例子,A是卖鱼的,鱼卖的比较好, 没鱼了就和B打电话叫B送点鱼,长时间之后,B发现每次送的鱼基本都一样,就和A立下个规矩,草鱼卖的快一天送一次,黑鱼三天送一次,清江鱼五天送一次,不用天天打电话说了,如果临时急需在打电话。讲到这里就明白了,如果所有的数据都是一问一答的传输,就会浪费很多的带宽,影响效率,因此DAQ就将数据按传输速率分组,分为若干个DAQ List,每个List里面包含若干个ODT(数据列表),每个ODT中包含若干个entry(条目),这些条目专门存储数据地址以及数据长度,每个DAQ List对应一个发送周期,周期性的向上位机发送测量数据。DAQ模式除去了命令式交互,大大增加了数据带宽提升了效率。
四、普通标定与块标定
普通标定模式与Polling一致,一问一答,效率低。
XCP在CCP的基础上新增了块标定,上位机可对连续的地址空间连续写入。
五、XCP服务
XCP把命令式传输对象叫做CTO,把数据传输对象叫做DTO。
CTO包括:
DTO包括:
六、CMD指令与RES、ERR指令
CMD命令表示上位机对ECU发出命令,ECU必须对上位机做出正响应(RES)或负响应(ERR)。
报文格式如下:
CMD:1字节PID+7字节数据
正响应:1字节PID(0xFF)+7字节数据
负响应:1字节PID(0xFE)+1字节否定响应码
常用的CMD指令如下:
连接指令与正响应:
断开连接与正响应:
数据下载指令:
Polling数据上载:
DAQ数据上载:
七、EV指令
EV指令格式如下:EV指令用于ECU对上位机事件上报。
EV事件如下:
EV事件不需要 ,因此无法保证到达。
八、RESV指令
RESV命令表示上位机对ECU执行相应动作,指令格式如下:
RESV对ECU执行事件如下:
九、STIM数据激励
STIM命令表示上位机周期性的向ECU下载数据,相当于反向DAQ,常用于快速原型开发,数据格式如下:
十、总结
XCP在CCP的基础上优化了多协议通信,支持任何物理层协议,不仅限于CAN,优化了控制单元资源的利用率,增加同步数据激励,通过块传输命令优化通信效率。
随着汽车以太网的普及,XCP也将会得到广泛的应用,华海科技拥有一支专业的车载基础软件研发团队,针对XCP我们可以提供以下服务:
XCP协议培训服务,XCP理论学习及实操培训;
XCP协议栈定制开发服务,我们的XCP协议栈经过了单元,集成和功能测试,稳定可靠。可以支持CANApe、INCA等测量标定软件。已为国内多家客户提供相关服务,并获得客户肯定。
- 下一篇:【C-NCAP成绩发布】林肯 航海家
- 上一篇:中汽中心再添国家级知识产权平台
-
汽车测试网V课堂
-
微信公众号
-
汽车测试网手机站
编辑推荐
最新资讯
-
懂车帝CPS模式再升级:最大化助力商家成交
2024-11-14 11:52
-
大众安徽ID.系列即将放弃MEB平台 采用小鹏
2024-11-14 09:49
-
汽车安全专家点评懂车帝30车钻撞卡车测试:
2024-11-14 08:45
-
中国汽车工程学会标准发布会暨汽车后轮转向
2024-11-13 19:10
-
卓宇信息正式成为REANA软件在中国区的独家
2024-11-13 18:11