ZHCA964A September   2019  – July 2020 TMS320F280021 , TMS320F280021-Q1 , TMS320F280023 , TMS320F280023-Q1 , TMS320F280023C , TMS320F280025 , TMS320F280025-Q1 , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F28075 , TMS320F28075-Q1 , TMS320F28076 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28378D , TMS320F28378S , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S , TMS320F28384D , TMS320F28384S , TMS320F28386D , TMS320F28386S , TMS320F28388D , TMS320F28388S , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1

 

  1.   商标
  2. 1简介
  3. 2从硬件角度介绍 CLB
    1. 2.1 CLB 如何工作
    2. 2.2 CLB 的系统级视图
    3. 2.3 深入探讨 CLB 架构
      1. 2.3.1 输入多路复用器
      2. 2.3.2 (输出的)外设多路复用器
      3. 2.3.3 CLB 逻辑块
        1. 2.3.3.1 查找表 (LUT)
        2. 2.3.3.2 有限状态机 (FSM)
        3. 2.3.3.3 计数器
  4. 3CLB 用例概述
    1. 3.1 CLB 示例 16 – 将两个 EPWM 输出与来自 CPREG 寄存器的信号组合在一起
    2. 3.2 CLB 示例 17 – 使用 CPU 信号修改外设输入信号
    3. 3.3 CLB 示例 18 – 创建您自己的外设来替代 ECAP3
    4. 3.4 CLB 示例 19 – 仅使用外部信号来创建您自己的外设
  5. 4FPGA 至 CLB 逻辑转换示例 16
    1. 4.1 原始 FPGA 设计
      1. 4.1.1 FPGA 胶合逻辑的原理图
      2. 4.1.2 胶合逻辑的 VHDL 代码
      3. 4.1.3 测试输入的 VHDL 代码
      4. 4.1.4 FPGA 胶合逻辑仿真波形
    2. 4.2 FPGA 到 CLB 的转换过程
      1. 4.2.1 将 PWM 发生器映射到 EPWM 外设
      2. 4.2.2 将 VHDL 中的胶合逻辑映射到 CLB
        1. 4.2.2.1 输入
        2. 4.2.2.2 逻辑分配
        3. 4.2.2.3 输出
    3. 4.3 生成的 C2000 设计
      1. 4.3.1 信号连接
      2. 4.3.2 仿真波形
      3. 4.3.3 ControlCard、LaunchPad 波形
  6. 5参考文献
  7. 6修订历史记录

ControlCard、LaunchPad 波形

仿真确认在 C2000 CLB 内部实现的自定义逻辑与原始 FPGA 实现的逻辑相匹配之后,就该使用实际的 C2000 硬件来验证结果了。图 4-11 包含连接到 F28004x ControlCard 的 GPIO_0、GPIO_1 和 GPIO_2 的逻辑分析仪的屏幕截图(还使用 F28004x LaunchPad 捕获了相同的波形)。GPIO_0 表示 CLB 输出,该输出已按照配置逻辑块 1 的外设信号多路复用器的功能调用的指示替换了原始 PWM1A 输出。虽然原始的 PWM1A 信号已被 CLB1 输出替换,但相同的功能调用指定 CLB1 的其他 7 个输出不替换其对应的内部控制外设信号,因此可以在 GPIO_1 引脚上看到原始 PWM1B 输出,可以在 GPIO_2 上看到原始 PWM2A 输出。

这样就完成了示例 16 中所述的自定义逻辑从外部 FPGA 到 C2000 的转移。结果证实,可以将复杂的功能(如 PWM 发生器和自定义胶合逻辑)从外部可编程逻辑器件转移到 C2000 微控制器中,并且结果完全相同。该功能通过实现自定义逻辑以外部可编程逻辑器件无法实现的方式来访问 C2000 CPU 和外设的内部信号,从而降低了总系统成本,同时增强了功能。

GUID-6B78C6FC-71B6-49A4-82BF-AF35477130D1-low.jpg图 4-11 CLB 示例 16 – C2000 LaunchPad/ControlCard 波形