02 Xcp协议层介绍

Xcp协议层介绍

XCP 数据在 Master 和 Slave 之间以基于消息的方式进行交换。整个“XCP 消息帧”嵌入在传输层的帧中(XCP ON Ethernet 嵌入UDP报文中)。XCP报文包括三部分:XCP头、XCP包和XCP尾。

下图中,部分消息用红色表示,用于发送当前的 XCP 帧。XCP头和XCP尾取决于传输协议。

XCP包本身独立于所使用的传输协议。它总是包含三个组件:“标识字段”、“时间戳字段”和当前数据字段“数据字段”。每个标识字段以标识数据包的PID (Packet Identifier)开始。

下面显示已经定义了的PID:

 

XCP通信分为两种方式,一种是命令 (CTO),一种是发送同步数据 (DTO) 。

 

首字母缩略词代表

 

通过CTO(命令传输对象)交换命令。例如,Master以这种方式发起请求。Slave必须始终以RES或ERR响应CMD。其他CTO消息是异步发送的。数据传输对象(DTO)用于交换同步测量和激励数据。

 

标识段

 

当交换消息时,Master和Slave都必须能够确定对方发送了哪条消息。这在标识领域中完成。这就是为什么每个消息都以包标识符(PID)开始的原因。

在发送CTO时,PID字段完全足以识别CMD、RES或其他CTO数据包。可以看出,从Master到Slave的命令使用了一个从0xC0到0xFF的PID。XCP Slave用从0xFC到0xFF的pid响应或通知Master。这将导致一个独一无二的PID分配给单独发送的CTO。传输DTO时,将使用标识字段的其他元素。

时间戳字段

 

DTO包使用时间戳,但在CTO消息的传输中这是不可能的。Slave使用时间戳来提供测量值的时间信息。也就是说,Master不仅有测量值,还有测量值获取的时间点。测量值到达主服务器所花费的时间不再重要,因为测量值和时间点之间的关系直接来自于从服务器。

从Slave传输时间戳是可选的。这个主题在ASAM XCP第2部分协议层规范中有进一步的讨论。

数据字段

 

最后,XCP包还包含存储在数据字段中的数据。对于CTO报文,数据字段由不同命令的具体参数组成。DTO报文包含从Slave发送的测量值,当STIM数据被发送时,则包含从Master发送的值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小菜鸟工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值