ZHCAC41 February   2023 TMS320F280025C

 

  1.   摘要
  2.   商标
  3. 1引言
  4. 2串行端口设计方法
    1. 2.1 步骤 1:了解设计要求
    2. 2.2 步骤 2:识别至 CLB 逻辑块的所需输入
      1. 2.2.1 GPIO 输入限定
      2. 2.2.2 CLB 输入设置
    3. 2.3 步骤 3:识别来自 CLB 逻辑的所需输出
      1. 2.3.1 同步输出信号
      2. 2.3.2 输出信号调节
    4. 2.4 步骤 4:设计 CLB 逻辑
      1. 2.4.1 资源分配
      2. 2.4.2 在 CLB FIFO 和 MCU RAM 之间交换数据
      3. 2.4.3 CLB 逻辑状态和触发标志
        1. 2.4.3.1 状态/标志位
        2. 2.4.3.2 触发位
    5. 2.5 步骤 5 :仿真逻辑设计
    6. 2.6 步骤 6 :测试 CLB 逻辑
  5. 3示例 A:在音频应用中使用 CLB 输入和输出 TDM 流
    1. 3.1 示例概述
    2. 3.2 步骤 1:了解设计要求
    3. 3.3 步骤 2:识别至 CLB 逻辑块的所需输入
    4. 3.4 步骤 3:识别来自 CLB 逻辑的所需输出
    5. 3.5 步骤 4:设计 CLB 逻辑
      1. 3.5.1 资源分配
      2. 3.5.2 TDM 字计数器
      3. 3.5.3 FSYNC 和 DATA1 输出同步
    6. 3.6 步骤 5 :仿真逻辑设计
    7. 3.7 步骤 6 :测试 CLB 逻辑
      1. 3.7.1 硬件设置和连接
      2. 3.7.2 软件设置
      3. 3.7.3 测试输出建立时间和保持时间
      4. 3.7.4 测试数据完整性
  6. 4示例 B:在照明应用中使用 CLB 为 LED 驱动器实施定制通信总线
    1. 4.1 示例概述
    2. 4.2 步骤 1:了解设计要求
    3. 4.3 步骤 2:识别至 CLB 逻辑块的所需输入
    4. 4.4 步骤 3:识别来自 CLB 逻辑的所需输出
    5. 4.5 步骤 4:设计 CLB 逻辑
      1. 4.5.1 TX 逻辑块逻辑
      2. 4.5.2 RX 逻辑块逻辑
      3. 4.5.3 数据时钟
    6. 4.6 步骤 5 :仿真逻辑设计
    7. 4.7 步骤 6 :测试 CLB 逻辑
      1. 4.7.1 硬件设置和连接
      2. 4.7.2 软件设置
      3. 4.7.3 测试输出建立时间和保持时间
  7. 5参考文献

步骤 5 :仿真逻辑设计

#GUID-031F478E-6F5E-4C12-A89C-E5F4B5A6ED60 中仿真了数据接收操作。对于此仿真,使用 0xAAAA AAAA 的简单模式作为数据输入。仿真显示了 TDM 帧中最后一个字的最后一位与新帧开始之间的转换。

GUID-20220916-SS0I-K51D-S4HG-K5J3TTGDKPSR-low.png图 3-9 TDM-8 数据接收仿真

#GUID-3A487FF6-386F-4A8D-959B-65AF1E9DCB8C 中仿真了数据发送操作。仿真显示了 TDM 帧中最后一个字的最后一位与新帧开始之间的转换。对于此仿真,持续发送 0x5555 5554 的模式以强调串行字之间串行器输出端可能出现短暂干扰。由于串行器必须在对其计数器值移位 加载,以便避免丢失发送字中的最高有效位,因此串行器输出会有一小段时间无效。

GUID-20220916-SS0I-D6DW-5XVN-NDHX9GXRQR9G-low.png图 3-10 TDM-8 数据发送仿真

请注意,在此 TDM 示例中,HLC 已配置为将 C0 中的值推入 FIFO,然后将新值加载到 C1(请参阅GUID-8B5B018F-15D7-413D-9AC6-A92317D99D97.html#GUID-2167560E-7B3A-48E5-ABAF-3E67ACF28A6E)。这是有意为之,是为了确保在 BCLK_IN 的上升沿之后 加载 C1。由于 HLC 操作在 BCLK 的下降沿触发,且串行器操作依赖于 BCLK 的上升沿,因此 BCLK_IN 周期存在固有依赖关系。如果延长了 BCLK_IN 周期(降低 BCLK_IN 频率或增大 CLB 时钟频率),则存在 C1 更新发生在时钟上升沿之前的风险,这会导致串行字中最高有效位丢失。

#GUID-3A487FF6-386F-4A8D-959B-65AF1E9DCB8C 所示,输出数据与输入 FSYNC 和 BCLK 之间存在延迟。为了输出彼此同步的 FSYNC 和 DATA1 信号,使用两个 FSM 来锁存和延迟这两个信号。此功能的仿真结果如#FIG_OSQ_HGF_2VB 所示。

GUID-20221017-SS0I-8TKQ-WDS8-HVJTLR1HRQBD-low.png图 3-11 FSYNC 和 DATA1 同步