ZHDA067 March   2026 TMS320F280039C

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2系统说明
    1. 2.1 SPI 实现方案
    2. 2.2 CLB 实现方案
    3. 2.3 软件更改
  6. 3验证
  7. 4总结
  8. 5参考资料

CLB 实现方案

该解决方案中具有两个 CLB 逻辑块、一个控制 SPI 时序、另一个动态计算 RX CRC。SPI 时序 CLB 逻辑块将与 T-Format 解决方案中的逻辑块兼容,因此无需更改。但是,由于字段格式和 CRC 多项式不同,RX CRC CLB 逻辑块需要更改。下文介绍了用于 CRC 计算的 CLB 实现。对于其余的 CLB 函数,可以参考 T-Format 设计指南

在线性反馈移位寄存器 (LFSR) 模式下用计数器块计算 RX CRC。RX 位在每个 SPI 时钟在 LFSR 中移位,一旦最后一位移入,就可以从 LFSR 读取 CRC 结果。图 2-3 标记应移入 LFSR 的位。CLB 逻辑实现了一个位掩码滤波器来选择需要移入 LFSR 进行 CRC 计算的特定位,根据以下两条规则生成掩码:

  • 每 18 位的中间 16 位
  • 前 n 位

其中,n 是总帧长度,不包括 CRC 字段和末尾的定界符。用于屏蔽 CRC 位的信号命名为 CRC_MASK 及 DATA_VALID。

TMS320F280039C 在 CLB 内生成 CRC 计算掩码图 2-3 在 CLB 内生成 CRC 计算掩码

由于屏蔽规则与 T-fomat 不同,因此用于 SHIFT_EN 信号生成的 CLB 逻辑也发生了变化。使用两个计数器及一个 FSM 来生成 SHIFT_EN 信号。图 2-4 展示了用于 CRC 计算的 CLB 逻辑块方框图。除了 SHIFT_EN 信号生成逻辑(包括 COUNTER0、COUNTER1 和 FSM2 和 LUT1)之外,方框图与 T-Format 实现基本相同。

TMS320F280039C CRC 计算的 CLB 图图 2-4 CRC 计算的 CLB 图

上述逻辑通过 TI CLB 工具链实现(修订版 B,请参阅参考文献[2])。有关工具链的使用,请参阅 CLB 工具用户指南(修订版 B)。验证逻辑的一种快速方法是在工具链中进行仿真。图 2-5 展示了 CRC 计算的模拟示例。编码器的响应在波形中作为“边界输入 4”输入。当响应数据输入时,SHIFT_EN 信号作为“Counter2_mode0”生成。该信号标记包含在 CRC 计算内的位。在 SHIFT_EN 信号的每个脉冲上,响应数据被移入标记为“counter_2”的 LFSR。随着最后一个 SHIFT_EN 脉冲的出现,LFSR 保持值 0x1576608F,其中最终 8 位 0x8F 表示所需的 CRC 结果。

TMS320F280039C CLB 中 CRC 计算逻辑的仿真图 2-5 CLB 中 CRC 计算逻辑的仿真