ZHCU481E october   2022  – july 2023

 

  1.   1
  2.   说明
  3.   资源
  4.   特性
  5.   应用
  6.   6
  7. 1系统说明
    1. 1.1 关键系统规格
  8. 2系统概述
    1. 2.1 方框图
    2. 2.2 重点产品
      1. 2.2.1 C2000 实时 MCU LaunchPad
      2. 2.2.2 SN65HVD78
      3. 2.2.3 TLV702
      4. 2.2.4 TPS22918-Q1
    3. 2.3 设计注意事项
      1. 2.3.1 Tamagawa T-Format 协议
      2. 2.3.2 C2000 T-Format 编码器接口概述
      3. 2.3.3 TIDM-1011 板实现
      4. 2.3.4 MCU 资源要求
      5. 2.3.5 特定于器件的资源使用情况
        1. 2.3.5.1 CRC 计算
        2. 2.3.5.2 输入、输出信号和 CLB 逻辑块
      6. 2.3.6 CLB T-Format 实现详细信息
        1. 2.3.6.1 事务波形
          1. 2.3.6.1.1 IDLE 状态
          2. 2.3.6.1.2 TRANSMIT_DATA 状态
          3. 2.3.6.1.3 WAIT_FOR_START 状态
          4. 2.3.6.1.4 RECEIVE_DATA 状态
        2. 2.3.6.2 通信逻辑块设计
        3. 2.3.6.3 逻辑视图
      7. 2.3.7 CLB 接收数据 CRC 实现
      8. 2.3.8 PM T-Format 编码器接口库
        1. 2.3.8.1 PM T-Format 参考设计命令
        2. 2.3.8.2 PM T-Format 参考设计中支持的函数
  9. 3硬件、软件、测试要求和测试结果
    1. 3.1 硬件
      1. 3.1.1 TIDM-1011 跳线配置
    2. 3.2 软件
      1. 3.2.1 C2000 驱动程序库 (DriverLib)
      2. 3.2.2 C2000 SysConfig
      3. 3.2.3 C2000 可配置逻辑块工具
      4. 3.2.4 安装 Code Composer Studio™ 和 C2000WARE-MOTORCONTROL-SDK
      5. 3.2.5 查找参考软件
    3. 3.3 测试和结果
      1. 3.3.1 硬件配置
      2. 3.3.2 构建和加载项目
      3. 3.3.3 运行代码
      4. 3.3.4 电缆长度验证
      5. 3.3.5 基准测试
      6. 3.3.6 疑难解答
  10. 4设计文件
  11. 5相关文档
    1. 5.1 商标
  12. 6术语
  13. 7关于作者
  14. 8修订历史记录

事务波形

在实现 CLB 设计时,首先使用波形直观地显示所需的 CLB 行为可能会有所帮助。为此,首先考虑一个示例事务。回想一下 T-Format 事务包含请求传输和编码器的响应。传输可以拆分成 FRAME_STATE,如图 2-11 所示。第一步是将事务的每个元素映射到 CLB 子模块。表 2-12 展示了一个示例映射。

表 2-12 T-Format 事务到 CLB 映射
事务行为 CLB 映射
跟踪 FRAME_STATE 有限状态机 (FSM):在给定先前状态和当前输入的情况下转换到新状态。
对生成的时钟进行计数 计数器:配置为在 TRANSMIT_DATA 和 RECEIVE_DATA 状态期间根据时钟边沿递增。mode0 输入控制计数器何时处于活动状态以及计数器何时停止。利用计数器的匹配值来驱动状态转换(TRANSMIT_DATA 到 WAIT_FOR_START,RECEIVE_DATA 到 IDLE)。
生成特定宽度的时钟信号 此要求会映射到第二个计数器。利用匹配值来生成上升/下降沿的时序。然后,LUT(查找表)会根据该时序生成实际的边沿。
将时钟与编码器的响应对齐 生成时钟的计数器可以进行配置,使得边沿转换与编码器的响应正确对齐。
仅允许在发送和接收期间为 SPI 提供时钟 LUT 会在不需要时阻止时钟。
控制 TxEN LUT 利用当前的 FRAME_STATE 来控制该信号。
指示 CLB 开始事务 C28x 配置用于事务的计数器和 SPI。CLB GPREG 允许 C28x CPU 直接更改 CLB 输入以开始事务。
GUID-20221011-SS0I-GBLK-DPTC-MHLKHV03BGDM-low.svg图 2-11 T-Format 事务示例

下一步是实现特定子模块行为的可视化。从快速草图开始,然后在设计开发过程中添加其他详细信息。图 2-12 展示了一个示例波形。

GUID-20221011-SS0I-DXMT-JM3M-QSTWKKXWRT4H-low.svg图 2-12 CLB 通信波形
注: 图 2-12 是使用 CLB SystemC 仿真模型生成的,该模型使用自定义输入作为编码器的响应。所发送的请求未在图 2-12 中具体显示。SPI 模块根据 CLB_SPI_CLK 在 TRANSMIT_DATA(或 SEND_DATA)阶段发送请求。

以下部分中使用了 图 2-12 中的标记 1 至 6 来描述设计中与该标记相对应的特定行为。标记为:

  1. 从 IDLE 转换到 TRANSMIT_DATA(或 SEND_DATA)
  2. 转换到 WAIT_FOR_START
  3. 在 WAIT_FOR_START 期间
  4. 转换到 RECEIVE_DATA
  5. 在 RECEIVE_DATA 期间
  6. 转换回 IDLE

在对每个 FRAME_STATE 进行说明之后,节 2.3.6.2 给出了完整的逻辑块设计。在查看每种状态的描述期间,请参阅节 2.3.6.2图 2-12