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参考文献

同步输出信号

CLB 生成的输出信号很可能由 CLB 逻辑块中的不同逻辑块生成。这会导致每个输出信号中存在不同的延迟路径。为了更大限度地增加接收器件的建立时间和保持时间,可以使用总线时钟和简单的触发器使不同的 CLB 输出互相同步,请参阅#GUID-95B40206-ED42-415F-A721-7AAB915ACEC6。可使用 CLB 逻辑块中的有限状态机 (FSM) 块来实施触发器。但是,由于 CLB 逻辑块资源有限,最好仅在绝对需要时才使用此选项。

图 2-1 使用 D 类触发器同步输出

举个需要同步逻辑的例子,请考虑#FIG_OSN_VWC_3VB 中的仿真,其中显示了两个输入(in1in2),它们在稍微不同的时间改变状态。这两个信号使用第三个“时钟”信号彼此同步,in0 使用的两个边沿触发 D 类触发器通过两个 FSM 来实施。从仿真中可以看出,每个 FSM 使用“时钟”信号 in0 锁存并延迟其输入信号。因此,两个 FSM 输出相互同步。

GUID-20221017-SS0I-CCFB-PXDQ-9JKKZLCKFJSG-low.png图 2-2 使用 FSM D 类触发器同步输出

#FIG_RSC_5Y2_2VB 中显示了每个 FSM 输出和状态变量的逻辑方程。请注意,FSM outs0 均设置为相同的方程,并且任一信号均可用于驱动最终输出。由于 out 是纯组合输出,而 s0 始终在下一个 CLB 时钟周期更新,因此两个信号之间存在 1 周期延迟。另请注意,在此仿真中,为同步上升沿检测设置 in0 输入滤波器。

GUID-20221017-SS0I-1QJQ-BKPV-F5ZPR5X13CZR-low.png图 2-3 D 类触发器的 FSM 设置