ZHCAC41
February 2023
TMS320F280025C
摘要
商标
1
引言
2
串行端口设计方法
2.1
步骤 1:了解设计要求
2.2
步骤 2:识别至 CLB 逻辑块的所需输入
2.2.1
GPIO 输入限定
2.2.2
CLB 输入设置
2.3
步骤 3:识别来自 CLB 逻辑的所需输出
2.3.1
同步输出信号
2.3.2
输出信号调节
2.4
步骤 4:设计 CLB 逻辑
2.4.1
资源分配
2.4.2
在 CLB FIFO 和 MCU RAM 之间交换数据
2.4.3
CLB 逻辑状态和触发标志
2.4.3.1
状态/标志位
2.4.3.2
触发位
2.5
步骤 5 :仿真逻辑设计
2.6
步骤 6 :测试 CLB 逻辑
3
示例 A:在音频应用中使用 CLB 输入和输出 TDM 流
3.1
示例概述
3.2
步骤 1:了解设计要求
3.3
步骤 2:识别至 CLB 逻辑块的所需输入
3.4
步骤 3:识别来自 CLB 逻辑的所需输出
3.5
步骤 4:设计 CLB 逻辑
3.5.1
资源分配
3.5.2
TDM 字计数器
3.5.3
FSYNC 和 DATA1 输出同步
3.6
步骤 5 :仿真逻辑设计
3.7
步骤 6 :测试 CLB 逻辑
3.7.1
硬件设置和连接
3.7.2
软件设置
3.7.3
测试输出建立时间和保持时间
3.7.4
测试数据完整性
4
示例 B:在照明应用中使用 CLB 为 LED 驱动器实施定制通信总线
4.1
示例概述
4.2
步骤 1:了解设计要求
4.3
步骤 2:识别至 CLB 逻辑块的所需输入
4.4
步骤 3:识别来自 CLB 逻辑的所需输出
4.5
步骤 4:设计 CLB 逻辑
4.5.1
TX 逻辑块逻辑
4.5.2
RX 逻辑块逻辑
4.5.3
数据时钟
4.6
步骤 5 :仿真逻辑设计
4.7
步骤 6 :测试 CLB 逻辑
4.7.1
硬件设置和连接
4.7.2
软件设置
4.7.3
测试输出建立时间和保持时间
5
参考文献
3.5.1
资源分配
CLB 逻辑块资源分配如下:
COUNTER0 用于接收输入数据。它在串行器模式下运行。DATA_IN 在 BCLK_IN 下降沿移入。
COUNTER1 用于输出发送数据。它在串行器模式下运行。COUNTER1 在 BCLK_IN 上升沿移入。
COUNTER2 用于对 BCLK_IN 上的下降沿进行计数。它在正常计数器模式下运行。当检测到 FSYNC + BCLK(低沿)条件或位计数达到 32 时,它会复位。
LUT1 用于复位 FSYNC_IN 和字边界上的 COUNTER2。FSYNC_IN 与 BCLK_IN 下降沿进行逻辑与运算,确保只在 FSYNC_IN 有效时对其采样。LUT1 还会触发 HLC 从 PULL FIFO 中拉取新数据。
FSM1 用于在接收/发送 4 个 32 位字后向 HLC 生成事件。当检测到 FSYNC_IN 时,对其计数进行复位。
当检测到 FSYNC_IN 时,LUT0 和 FSM0 用于生成 FSYNC_OUT 信号。FSYNC_OUT 信号与 BCLK_IN 上升沿对齐。请注意,FSYNC_OUT 不是 FSYNC_IN 的直通信号,因为这不是设计要求。
FSM2 用于将输出 DATA1_OUT 信号与 BCLK_IN 上升沿对齐。
HLC 用于在 CLB 推挽 FIFO 和两个串行器计数器(COUNTER0 和 COUNTER1)之间移动数据。当接收/发送 4 个 32 位字时,还会向 CPU 生成一个中断。