主要内容

本页采用了机器翻译。点击此处可查看英文原文。

使用 DMA 修改 ePWM 占空比

本示例展示了如何配置直接内存访问 (DMA) 参数来修改 ePWM 占空比。使用 DMA,正弦波数据从查找表复制到 ePWM 比较寄存器。

您可以通过将 ePWM 引脚 (GPIO2) 连接到以下设备来观察占空比变化:

  • 使用示波器监测占空比的变化。

  • 使用 LED (GPIO31/GPIO34) 观察 LED 的亮度变化。

该示例包含一个模型和一个回调脚本。该脚本在模型初始化时运行。回调脚本 (sineTableCalculation.m) 生成一个 500 个样本的正弦波,然后将正弦波缩放到从零到 ePWM 周期寄存器的值的范围内。

所需硬件

F2833x、F2806x、F2807x、F2837x 或 F28004x 控制卡/启动板。

可用模型

模型

c28x7x_c28004x_dma_epwm 模型由使用数据存储存储器、ePWM 和 Memory Copy 模块定义的 duty_cycle_table 查找表组成。duty_cycle_table 查找表存储回调脚本生成的正弦波样本。

ePWM 模块配置为上升-下降模式,周期为 0.002 秒。有关更多信息,请参阅General

ePWM 模块还配置为生成模块 A 的转换开始事件 (SOCA)。有关更多信息,请参阅Event Trigger

DMA 参数配置为将 500 个正弦波样本从 duty_cycle_table 查找表传输到 ePWM 比较寄存器。当 ePWM2SOCA 事件触发时,DMA 一次传输一个样本。要配置 DMA 参数,请浏览至配置参数 > 硬件实现 > 目标硬件资源 > DMA_ch1

Memory Copy 模块向 Scope 模块提供 ePWM 比较寄存器的值。

配置和运行模型

1.在配置参数”窗口中,点击硬件实现 > 目标硬件资源

2.点击 SCI_A,并将所需波特率(比特/秒) 参数设置为 1.25e6

3.点击外部模式,然后在 Windows 的设备管理器 > 端口 (COM && LTP) 中将串行端口参数设置为 COM 端口。有关更多信息,请参阅利用串行通信进行参数调节和信号记录

4.为确保外部模式下运行模型时存在足够内存,请在配置参数窗口中点击代码生成 > 优化

5.将默认参数行为参数设置为 Inlined,然后点击确定

6.打开硬件选项卡,然后点击监控和调节。观察示波器上的正弦波数值。

7.您可以将 ePWM 引脚 (GPIO2) 连接到:

  • 使用示波器监测占空比的变化。

  • 使用 LED(GPIO31/GPIO34)观察 LED 的亮度变化。

有关详细信息

ePWM Type 1-4