CAN波形时序解析及详细说明

CAN波形时序解析

  • 1 数据帧组成
  • 2 收发器引脚波形
  • 3 波形数据解析
  • 帧起始段
  • 仲裁段
  • 控制段
  • 数据段
  • CRC段
  • ACK段
  • 帧结束
  • ===============
    总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。
    “显性”具有“优先”性,只要有一个单元输出显性电平,总线上即为显性电平。
    本文中指二进制bit位

    1 数据帧组成

    2 收发器引脚波形

    3 波形数据解析

    帧起始段
  • ① 帧起始位 SOF
  • 仲裁段

    仲裁段包括:11位基本ID、1位SRR、1位IDE、18位扩展ID、1位RTR。

  • ② 位填充
    位填充是为防止突发错误而设定的功能。当同样的电平持续 5 位时则添加一个位的反型数据。
    位填充的构成如图所示。

  • (1) 发送单元的工作在发送数据帧和遥控帧时, SOF~CRC 段间的数据,相同电平如果持续 5 位,在下一个位(第 6 个位)则要插入 1 位与前 5 位反型的电平。
    (2) 接收单元的工作在接收数据帧和遥控帧时, SOF~CRC 段间的数据,相同电平如果持续 5 位,需要删除下一个位(第 6 个位)再接收。如果这个第 6 个位的电平与前 5 位相同,将被视为错误并发送错误帧。

  • ③ 去掉位填充后11位基本ID,0x00。
  • ④ SRR位,扩展格式,代替标准帧的 RTR 位。
  • ⑤ IDE位,扩展格式,识别符扩展位 。标准格式里的 IDE 位为“显性”,而扩展格式里的 IDE 位为“隐性”。
  • ⑥ 去掉位填充后的18位扩展ID,00 0001 0011 0001 0100,得到0X01314。
  • ⑦ RTR位,仲裁段的最后一位,该位在 数据帧 里必须为“显性”,而在 远程帧 里必须为“隐性”。

  • 控制段

    控制段包括:1位r1、1位r0、4位DLC长度码。

  • ⑧ r1位,保留位,必须以显性电平发送。但接收方可以接收任意电平。
  • ⑨ r0位,保留位,必须以显性电平发送。但接收方可以接收任意电平。
  • ⑩ DLC位,4位数据长度码,必须为 0~8 字节。0x8表示数据长度是8个字节。数据长度码和字节数的关系如表所示。

  • 数据段

    数据段可包含 0~8 个字节的数据。从 MSB(最高位)开始输出。


    CRC段

    CRC段包括:CRC校验码和CRC界定符。

  • ⑫ CRC段,15位CRC校验码。
  • ⑬ CRC界定符,用于分割后面的ACK 段 。

  • ACK段
  • ⑭ ACK 段发送 2 个位的隐性位。
  • 第一位若为显性,表示应答ACK,接收方收到正确消息。若为隐性,表示应答无NAK。图中只有一个发送节点,信号为NAK。

    第二位是应答界定符,是一个必须为“隐性”的位。

    帧结束
  • ⑮ 帧结束由7位显性位构成。
  • 物联沃分享整理
    物联沃-IOTWORD物联网 » CAN波形时序解析及详细说明

    发表评论