此示例扩展示例 1 的功能,以确保高电平有效互补对 PWM 配置始终以最小死区值工作,而与生成 PWM 模块的配置方式无关。该示例说明了用于在四个 PWM 模块上实现 PWM 保护的四个单独的 PWM 逻辑块配置。PWM 模块 1 至 4 的输出分别由 CLB 逻辑块 1 至 4 进行操作。
通过程序变量“mode”来启用保护功能。当设置为 0(默认条件)时,PWM 信号未经修改地传递到输出引脚。当设置为 1 时,PWM 输出由 CLB 进行修改,以确保死区。
要运行该示例,请执行以下过程:
- 在 CCS v9.0 或更高版本中,依次点击“Project”->“Import CCS Projects…”。
- 导航到 CLB 工具示例目录。路径为:
- [C2000Ware]\driverlib\f2837xd\examples\cpu1\clb\ccs 或
- [C2000Ware]\driverlib\f28004x\examples\clb\ccs 或
- [C2000Ware]\driverlib\f2838x\examples\c28x\clb\ccs
在后续描述中,假设使用上述 C2000Ware 目录。
- 选择工程“clb_ex4_pwm_protection”并点击“Finish”。
- 在 CCS Project Explorer 窗口中,展开工程“clb_ex4_pwm_protection”并打开文件“clb_ex_pwm_protection.syscfg”。
- 在 CCS 菜单中,依次选择“Project”→“Build Project”。
- 使用示波器观察每个 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 |
- 打开一个“CCS Expressions”窗口并添加程序变量“mode”。
- 运行该程序并验证每个 PWM 对之间是否没有死区。
- 停止该程序,将模式更改为 1,然后再次运行该程序。您现在应该观察到每个 PWM 对之间的上升沿死区。死区时间由加载到两个 CLB 计数器中的 match_1 值设置,在本示例中已将其任意设置为 10。