XCP协议介绍(二)

五、XCP命令简介

5.1 数据包简介

XCP的数据包分为两类:CTO(Command Transfer Object)与DTO(Data Transfer Object)

CMD:指的是上位机下发给下位机的一些命令,比如连接命令FF,解锁,获取状态等一些和下位机交互的命令;

STIM:可以理解为一种上位机向下位机大量发数据的一种方式,相当于反向的DAQ;用于数据标定时,上位机向下位机修改参数。

Response:肯定应答,指的下位机答复上位机的命令;

Error:否定应答上位机的命令;

Event:事件,指下位机发生某事件时通知上位机;

Service:指下位机在某些情况下,需要上位机执行一些动作,可理解为请求上位机服务。

DAQ:下位机上传数据给上位机。

5.2 数据包报文格式

主、从设备之间每次传输的数据都采用XCP帧的格式,包含一个XCP报头、XCP数据包和XCP报尾。XCP帧支持的传输层可将这三个帧元素映射到相应的传输帧格式。

PID是标识字段的一部分,用于标记数据包及数据包内部的数据值。

CTO与DTO报文XCP Packet包格式分别如下:

主结点对从结点进行XCP控制时使用“命令(CMD)”,此时的PID在“0xC0”到“0xFF”的范围内。从节点对这个命令返回肯定应答的情况下,使用“应答(RES)”,此时PID变为“0xFF”。

5.3 数据传输方式

标准传输模式:在标准通信模型中,对从机的每个请求都有一个响应。除了 XCP 在 CAN 上,不允许多个从机对主机的命令做出响应。因此,每条 XCP 消息总是可以追溯到一个唯一的从机。这种模式是通信中的标准情况。

块传输模式:块传输模式是可选的,可以节省大量数据传输(例如上传或下载操作)的时间。尽管如此,在这种模式下,性能问题必须朝着从机的方向考虑。因此,必须保持两个命令之间的最小时间,命令总数必须限制在最大值的上限。

交错传输模式:交错模式也是出于性能原因而提供的,在典型通讯模式中,主机在收到上一条指令的回复前不会发送下一条指令,为提高通讯的效率,交错通讯模型可以不等待回复直接再发送下一条指令。但是这种方法也是可选的,并且与块传输模式相反,它在实践中没有相关性。

六、XCP标定

对从站的参数(写访问)的标定简单可理解为:“将地址0x1234的值设置为5”。

在理解标定之前需要对参考页、工作页与激活页有所了解:

参考页(Reference Page):可以理解为定义的逻辑地址对应Flash上的一块地址,参考页的属性在标定过程是可读不可写;

工作页(Working Page):可以理解为定义的逻辑地址对应RAM上的一块地址,工作页的属性是可读可写。

激活页(Activiting Page):就是指选择激活的一个页,比如激活工作页或者激活参考页等。

标定过程:激活参考页(仅可读),读取当前的参数,比如PID中的比例因子 P,然后切换激活页,激活工作页(可读可写),可以在工作页在线修改参数,来获得较好标定值,最后,需要将优化后的P参数写入到原来参考页上,这样就完成了一个参数的标定。

七、XCP安全机制

XCP提供类似UDS的27服务,主机在进行connet请求时,需要先进行解锁。

从机发送Seed 给到主机,主机返回对应的Key。从机核对这个Key值,Key值符合期,则解锁成功。

八、激励与旁路

Bypassing,就是将ECU的数据测量出来,Bypass Hardawre获取ECU的数据,并返回给ECU。同时ECU将不再使用内部的计算数据,而是采用Bypass Hardware提供的数据。

当旁路发生时,ECU不再使用算法A计算出来的数据,而是使用外部的计算数据。这里应该是算法A不再执行了。

来源:综合网络

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值