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

TX 逻辑块逻辑

#GUID-2529C840-07F3-4451-8BAE-14A5457591A0 显示了 TX 逻辑块的逻辑。

图 4-6 CLB TX 逻辑块逻辑

以下 CLB 逻辑块资源用于实施 CCSI 总线发送 (TX) 功能:

  • COUNTER0 用于计算要发送的字数。它在正常计数器模式下运行。
  • COUNTER1 用于在 SCLKX2 下降沿发送输出数据。它在串行器模式下运行。
  • COUNTER2 用于对 SCLKX2 下降沿进行计数。它在正常计数器模式下运行。
  • HLC 用于将数据从 CLB PULL FIFO 移入 COUNTER1。当发送四个 16 位字且已发送整个帧时,它也会向 CPU 生成中断。
  • FSM0 用于在 IDLE、ACTIVE 和 END 状态之间循环切换。
  • 当发送了四个 16 位字时,FSM2 用于计数。当发送计数达到四时,向 HLC 生成一个事件。

为组合逻辑使用多个 LUT 和输出 LUT。

FSM0 定义了 TX 逻辑块的三种运行状态。#GUID-C5D82C3B-55E2-4818-8561-569B5303A6AA表 4-2 显示了 FSM0 状态图和真值表。

图 4-7 TX 逻辑块的 FSM0 状态图
表 4-2 FSM0 真值表
S1 S0 E1
(TRANSFER_
START)
E0
(C0_MATCH1)
S1 次态 S0 次态 输出
(FSM0_OUT)
0 0 0 0 0 0 1
0 0 0 1 0 0 1
0 0 1 0 0 1 1
0 0 1 1 0 0 1
0 1 0 0 0 1 0
0 1 0 1 1 0

0

0 1 1 0 0 1 0
0 1 1 1 1 0 0
1 0 0 0 0 0 1
1 0 0 1 0 0 1
1 0 1 0 1 0 1
1 0 1 1 1 0 1
1 1 0 0 0 0 1
1 1 0 1 0 0 1
1 1 1 0 0 0 1
1 1 1 1 0 0 1

简化的逻辑方程为:

  • S1 = !S1&S0&E0 | S1&!S0&E1
  • S0 = !S1&E1&!E0 | !S1&S0&!E0
  • OUTPUT = !S0 | S1

FSM2 用于在发送四个 16 位字后触发 HLC 事件。#GUID-F1075C38-67D0-43BF-A5E4-05946DCA749B表 4-3 显示了 FSM2 状态图和真值表。

图 4-8 TX 逻辑块的 FSM2 状态图
表 4-3 FSM2 真值表
S1 S0 E1
(FSM0_OUT)
E0
(C2_MATCH1)
S1 次态 S0 次态 输出
(HLC_INT)
0 0 0 0 0 0 0
0 0 0 1 0 1 0
0 0 1 0 0 0 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 0
1 0 0 1 1 1 0
1 0 1 0 0 0 0
1 0 1 1 0 0 0
1 1 0 0 1 1 0
1 1 0 1 0 0 1
1 1 1 0 0 0 0
1 1 1 1 0 0 0

简化的逻辑方程为:

  • S1 = S1&!S0&!E1 | S1&!E1&!E0 | !S1&S0&!E1&E0
  • S0 = !S0&!E1&E0 | S0&!E1&!E0
  • OUTPUT = S1&S0&!E1&E0