ZHCU481E october 2022 – july 2023
如节 2.3.5.1中所述,CLB 类型 2 或更高版本能够在收到响应时或动态计算响应数据 CRC。在这种情况下,所需的信号连接到第二个逻辑块以执行 CRC 计算。逻辑块之间的连接如节 2.3.5.2中所述。
为了生成 CRC,计数器配置为线性反馈移位寄存器 (LFSR)。接收到的数据会馈送到 LFSR 的事件输入。当数据有效时,通过 LFSR 的事件输入应用移位。此设计需要知道数据何时有效,以便正确应用移位。回顾节 2.3.1中的协议概述,有效数据的标准如下:
表 2-15 展示了映射到 CLB 功能的具体要求。
CRC 功能 | CLB 映射 |
---|---|
仅包含 8 位数据(跳过开始位和定界位) | COUNTER 模块用于对 T-Format 字段中的位进行计数。匹配值表示第一个有效位和最后一个有效位,如图 2-20 所示。然后,FSM 根据计数器匹配输出来确定是否向 LFSR 应用移位。 |
仅包含有效字段(跳过 CRC)。 | COUNTER 模块在 RECEIVE_DATA 状态期间每个字段开始时递增。达到 CRCField 后,匹配输出被置位。 |
控制 LFSR 的移位 (mode0) | 使用 LUT 来根据位计数和字段计数确定数据是否有效。如果有效,LUT 会向 LFSR 施加一个移位脉冲。 |
图 2-21 展示了数据 ID3 CRC 生成的示例波形。图 2-22 展示了 CRC 逻辑块实现。可以使用 CLB 工具来查看子模块的公式。