• 资料介绍
    • 问题背景
    • 产生 PWM
    • PWM 滤波输出
    • 小结
  • 资料预览
  • 相关推荐
申请入驻 产业图谱

LAT1189 Timer结合DMA 2D通道实现不同波形输出

03/26 09:41
130
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

LAT1189 Timer结合DMA 2D通道实现不同波形输出

1.08 MB

问题背景

客户需要使用 MCU 输出正弦波,但受限于 MCU DAC 数量不足,建议尝试使用 PWM加滤波方式产生正弦波。同时要求正弦波与固定电平交替输出。因此可用一个 TIM 输出PWM,同时用另一个 TIM 来定时切换输出正弦波或固定电平。

使用 TIM 输出 PWM 产生正弦波形时,需要结合 GPDMA 来实现。在 STM32U5 系列中,GPDMA 共有 16 个独立通道,其中 12-15 通道还具有 2D addressing/ repeat 功能。因此也可以使用一个 TIM 加 GPDMA 的一个 2D 通道实现 PWM 波形切换功能。

产生 PWM

本文按以下配置产生 PWM,在 U575 NUCLEO 板测试:

(1)MCU 主频:100MHz

(2)PWM 频率 2MHz(周期 500ns),脉宽可调范围 0~50 个计数时钟,

(3)每个正弦波周期(10us)对应 20 个 PWM 脉冲,各 PWM 脉宽用计数时钟

表示分别为:25, 33, 40, 45, 49, 50, 49, 45, 40, 33, 25, 17, 10, 5 , 1 , 0 , 1 , 5 , 10, 17

(4)将步骤 3 中的正弦波重复 1000 次,对应 10ms 的连续正弦波形

PWM 滤波输出

小结

通过使用 GPDMA Linked List 模式,使用 2D addressing repeat 功能,能方便实现这种多种波形切换的应用场景。如 Node1 与 Node2 使用不同的数据长度和重复次数,则可得到不同时长的两种波形;通过增加更多 Node,则可得到多种不同波形。

资料预览

点赞
收藏
评论
分享
加入交流群
举报

相关推荐

方案定制

去合作
方案开发定制化,2000+方案商即时响应!