ZHCU712B april   2020  – july 2023

 

  1.   1
  2.   CLB 工具
  3.   商标
  4. 1引言
    1. 1.1 CLB 工具概述
    2. 1.2 CLB 配置过程概述
  5. 2开始使用
    1. 2.1 CLB 相关配套资料
      1. 2.1.1 基础资料
      2. 2.1.2 入门资源
      3. 2.1.3 专家资料
    2. 2.2 引言
    3. 2.3 安装
      1. 2.3.1 用于编译 SystemC 的安装
      2. 2.3.2 安装仿真查看器
  6. 3使用 CLB 工具
    1. 3.1 导入空 CLB 工程
    2. 3.2 更新变量路径
    3. 3.3 配置 CLB 逻辑块
    4. 3.4 创建 CLB 方框图
    5. 3.5 使用仿真器
      1. 3.5.1 “Statics”面板
      2. 3.5.2 创建输入激励
      3. 3.5.3 运行仿真
      4. 3.5.4 布线信号说明
  7. 4示例
    1. 4.1 基础示例
      1. 4.1.1  空 CLB 工程
      2. 4.1.2  示例 3 – PWM 生成
      3. 4.1.3  示例 7 – 状态机
      4. 4.1.4  示例 13 – 推挽接口
      5. 4.1.5  示例 14 – 多逻辑块
      6. 4.1.6  示例 15 – 逻辑块间延迟
      7. 4.1.7  示例 16 - 胶合逻辑
      8. 4.1.8  示例 18 - AOC
      9. 4.1.9  示例 19 - AOC 释放控制
      10. 4.1.10 示例 20 - CLB XBAR
    2. 4.2 入门示例
      1. 4.2.1  示例 1 – 组合逻辑
      2. 4.2.2  示例 2 – GPIO 输入滤波器
      3. 4.2.3  示例 4 – PWM 保护
      4. 4.2.4  示例 5 – 事件窗口
      5. 4.2.5  示例 6 – 信号生成和检查
      6. 4.2.6  示例 8 – 外部与门
      7. 4.2.7  示例 9 – 计时器
      8. 4.2.8  示例 10 – 具有两种状态的计时器
      9. 4.2.9  示例 11 – 中断标签
      10. 4.2.10 示例 12 – 输出相交
      11. 4.2.11 示例 17 - 单次 PWM 生成
      12. 4.2.12 示例 21 - 时钟预分频器和 NMI
      13. 4.2.13 示例 22 - 串行器
      14. 4.2.14 示例 23 - LFSR
      15. 4.2.15 示例 24 - 锁定输出屏蔽
      16. 4.2.16 示例 25 - 输入流水线模式
      17. 4.2.17 示例 26 - 计时流水线模式
    3. 4.3 专家示例
      1. 4.3.1 示例 27 - SPI 数据导出
      2. 4.3.2 示例 28 - SPI 数据导出 DMA
      3. 4.3.3 示例 29 - 时间戳
      4. 4.3.4 示例 30 - 循环冗余校验
      5. 4.3.5 CLB TDM 串行端口
      6. 4.3.6 CLB LED 驱动器
      7. 4.3.7 FPGA/CPLD 到 C2000 示例
  8. 5在现有 DriverLib 工程中启用 CLB 工具
  9. 6常见问题解答 (FAQ)
  10. 7修订历史记录

示例 4 – PWM 保护

此示例扩展示例 1 的功能,以确保高电平有效互补对 PWM 配置始终以最小死区值工作,而与生成 PWM 模块的配置方式无关。该示例说明了用于在四个 PWM 模块上实现 PWM 保护的四个单独的 PWM 逻辑块配置。PWM 模块 1 至 4 的输出分别由 CLB 逻辑块 1 至 4 进行操作。

通过程序变量“mode”来启用保护功能。当设置为 0(默认条件)时,PWM 信号未经修改地传递到输出引脚。当设置为 1 时,PWM 输出由 CLB 进行修改,以确保死区。

要运行该示例,请执行以下过程:

  1. 在 CCS v9.0 或更高版本中,依次点击“Project”->“Import CCS Projects…”。
  2. 导航到 CLB 工具示例目录。路径为:
    1. [C2000Ware]\driverlib\f2837xd\examples\cpu1\clb\ccs 或
    2. [C2000Ware]\driverlib\f28004x\examples\clb\ccs 或
    3. [C2000Ware]\driverlib\f2838x\examples\c28x\clb\ccs

    在后续描述中,假设使用上述 C2000Ware 目录。

  3. 选择工程“clb_ex4_pwm_protection”并点击“Finish”。
  4. 在 CCS Project Explorer 窗口中,展开工程“clb_ex4_pwm_protection”并打开文件“clb_ex_pwm_protection.syscfg”。
  5. 在 CCS 菜单中,依次选择“Project”→“Build Project”。
  6. 使用示波器观察每个 LaunchPad/集线站板上以下引脚上的 PWM 信号对。
    表 4-3 示例 4:信号连接
    PWM 逻辑块 F28379D LaunchPad F280049 LaunchPad F28388 集线站
    1A 1 J4/40 J8/60 49
    1B 1 J4/39 J8/59 51
    2A 2 J4/38 J8/56 53
    2B 2 J4/37 J8/55 55
    3A 3 J4/36 J4/36 50
    3B 3 J4/35 J4/35 52
    4A 4 J8/80 J8/58 54
    4B 4 J8/79 J8/57 56
  7. 打开一个“CCS Expressions”窗口并添加程序变量“mode”。
  8. 运行该程序并验证每个 PWM 对之间是否没有死区。
  9. 停止该程序,将模式更改为 1,然后再次运行该程序。您现在应该观察到每个 PWM 对之间的上升沿死区。死区时间由加载到两个 CLB 计数器中的 match_1 值设置,在本示例中已将其任意设置为 10。