利用DMA修改ePWM占空比
本示例展示如何配置直接内存访问(DMA)参数来修改ePWM占空比。使用DMA,正弦波数据从一个查找表复制到ePWM比较寄存器。
您可以通过连接ePWM引脚(GPIO2)来观察占空比的变化:
用于监测占空比变化的示波器。
观察LED (GPIO31/GPIO34)的变暗情况。
该示例由一个模型和一个回调脚本组成。脚本在模型初始化时运行。回调脚本(sineTableCalculation.m
)生成500个样本的正弦波,然后将正弦波缩放到0到ePWM周期寄存器值的范围。
所需的硬件
F2833x, F2806x, F2807x, F2837x或F28004x控制卡/发射台。
可用的模型
F2833x:c2833x_dma_epwm.slx
F2806x:c2806x_dma_epwm.slx
F2807x、F2837x、F28004x:c28x7x_c28004x_dma_epwm.slx
模型
的c28x7x_c28004x_dma_epwm模型由duty_cycle_table
使用数据存储内存、ePWM和内存复制块定义的查找表。的duty_cycle_table
查找表存储由回调脚本生成的正弦波样本。
ePWM块配置为up-down模式,周期为0.002秒。有关更多信息,请参见一般.
ePWM块还配置为为模块a (SOCA)生成开始转换事件。有关更多信息,请参见事件触发.
DMA参数配置为传输500个正弦波样本从duty_cycle_table
到ePWM比较寄存器的查找表。当ePWM2SOCA事件触发时,DMA一次传输一个样本。要配置DMA参数,请浏览到配置参数>硬件实现>目标硬件资源>DMA_ch1.
内存复制块向作用域提供ePWM比较寄存器的值。
配置并运行模型
1.在“配置参数”窗口中,单击硬件实现>目标硬件资源.
2.点击SCI_A,并设置期望波特率(比特/秒)参数1.25 e6
.
3.点击外部模式,并设置串行端口参数到设备管理器>端口(COM & LTP)中的COM端口。有关更多信息,请参见串行通信的参数调优和信号记录.
4.要确保有足够的内存在外部模式下运行模型,请单击代码生成>优化在“配置参数”窗口中。
5.设置默认参数行为参数内联
,并单击好吧.
6.开放硬件选择并单击监视和调优.观察瞄准镜上的正弦波值。
7.您可以将ePWM引脚(GPIO2)连接到:
用于监测占空比变化的示波器
观察LED (GPIO31/GPIO34)的变暗情况