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

FSYNC 和 DATA1 输出同步

鉴于 CLB 逻辑块中存在内部数据移动延迟,DATA1_OUT 信号与传入的 BCLK_IN 和 FSYNC_IN 信号相比,始终存在延迟(请参阅GUID-1686D311-351E-4F08-9E7F-F4303F44BC96.html#GUID-3A487FF6-386F-4A8D-959B-65AF1E9DCB8C)。为了生成彼此对齐的 FSYNC_OUT 和 DATA1_OUT 信号,使用了两个 FSM 来锁存和保持这些信号。在 BCLK_IN 的上升沿更新输出锁存。

FSM0 用于检测和延迟 FSYNC_IN。这意味着 FSYNC_IN 信号不会直接通过 FSYNC_OUT 信号传递。状态图如#GUID-182ADA11-3D41-4FC8-935E-46E45BC5A520 所示,相应的真值表如表 3-2 所示。

图 3-8 TDM-8 的 FSM0 状态机示例
表 3-2 TDM-8 的 FSM0 真值表示例
S1 S0 E1
(FSYNC 高电平和 BCLK 低电平)
E0
(BCLK 上升)
S1 次态 S0 次态 OUT
0 0 0 0 0 0 0
0 0 0 1 0 0 0
0 0 1 0 0 1 0
0 0 1 1 0 0 0
0 1 0 0 0 1 0
0 1 0 1 1 0 0
0 1 1 0 0 0 0
0 1 1 1 0 0 0
1 0 0 0 1 0 1
1 0 0 1 0 0 1
1 0 1 0 0 0 1
1 0 1 1 0 0 0
1 1 0 0 0 0 0
1 1 0 1 0 0 0
1 1 1 0 0 0 0
1 1 1 1 0 0 0

简化的逻辑方程为:

  • S1 (NEXT) = !E1&!E0&S1&!S0 | !E1&E0&!S1&S0
  • S0 (NEXT) = !E1&!E0&!S1&S0 | E1&!E0&!S1&!S0
  • OUT = !E1&S1&!S0 | !E0&S1&!S0

FSM2 用于实施简单的 D 类触发器,该触发器将锁存并延迟 DATA1_OUT 信号。真值表如表 3-3 所示。请注意,在表 3-3 中,S0 (next) 用于驱动最终的 DATA1_OUT 信号。

表 3-3 TDM-8 的 FSM2 真值表示例
E1
(DATA1)
E0
(BCLK 上升)
S0 S0 (next)
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

简化的逻辑方程为:

  • S0 (NEXT) = !E0&S0 | E1&E0