【问题标题】:Standard and Extended messages with same identifier具有相同标识符的标准和扩展消息
【发布时间】:2020-08-02 07:22:09
【问题描述】:

以下两条消息是否属于同一类型?

  • 标准消息,ID = '0000 0000 111'
  • 扩展消息,基本 ID = '0000 0000 111',扩展 ID = '0000 0000 0000 0000 00'

换句话说,这些消息是不同的消息类型,还是相同的消息类型?

标准是否包含有关此类案例的详细信息?

【问题讨论】:

  • 不确定你的问题中的“类型”是什么意思,DATA,ERROR,REMOTE,OVERLOAD 帧之一?因为这不取决于 ID 我猜你实际上是在问谁会收到每个帧
  • 我的意思是相同的消息类型。标准消息 ID 7 和扩展消息 ID 7 是否相同?
  • 两个 ID 可以进入 4 种不同的消息类型(上面列举的)......也许想想 IDE 位如何打破接收方的歧义

标签: can-bus


【解决方案1】:

两条消息都有不同的标识符,因此是不同的消息

CAN 标准说(第 8.4.2.2 节标识符字段):

标识符字段应由三段组成:基本标识符、扩展标志和标识符扩展。基本标识符的长度应为十一(11)位(ID-28 至 ID-18),扩展标志位为一位,标识符扩展的长度应为十八(18)位(ID-17 至 ID- 0)。如果扩展标志为逻辑零 (0),则应忽略标识符扩展。

在查看仲裁过程时,这变得更加清楚

标准和扩展消息格式由 IDE 位区分。对于标准消息,该位必须是显性的 (0)。对于扩展消息传递,IDE 位是隐性的 (1)。

CAN 标准规定:

基本格式帧和扩展格式帧的冲突(这两个帧具有相同的基本标识符)应得到解决,以使基本格式帧优先于扩展格式帧。

【讨论】:

  • 我不是在询问仲裁程序。
  • @LiorKogan 由于仲裁过程的目的是区分不同的消息,这是相关的。我添加了另一个对 CAN 标准的引用。
  • @LiorKogan 不同之处在于 IDE 位以及数据在帧中的存储方式。 CAN 帧使用大端序,因此这些位不会存储在标准帧和扩展帧之间的相同位置。详情请见:can-cia.org/jp/can-knowledge/can/can-data-link-layers
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-24
  • 2020-04-11
  • 2020-08-22
  • 2012-08-23
  • 1970-01-01
  • 2022-01-15
相关资源
最近更新 更多