实战经验 | Timer 结合 DMA 2D 通道实现不同波形输出

关键词:gpdma,2d addressing
目录预览
1、问题背景
2、产生pwm
3、pwm滤波输出
4、小结
01
问题背景
客户需要使用 mcu 输出正弦波,但受限于 mcu dac 数量不足,建议尝试使用 pwm加滤波方式产生正弦波。同时要求正弦波与固定电平交替输出。因此可用一个 tim 输出pwm,同时用另一个 tim 来定时切换输出正弦波或固定电平。
使用 tim 输出 pwm 产生正弦波形时,需要结合 gpdma 来实现。在 stm32u5 系列中,gpdma 共有 16 个独立通道,其中 12-15 通道还具有 2d addressing/ repeat 功能。因此也可以使用一个 tim 加 gpdma 的一个 2d 通道实现 pwm 波形切换功能。
02
产生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 的连续正弦波形
2.1. stm32cubemx 生成测试工程
2.1.1. tim1 ch1 pwm 配置
图1. tim1 ch1 pwm
2.1.2. gpdma ch12 配置
选用 gpdma 通道 12,并配置为循环模式:
图2. gpdma ch12
2.1.3. gpdma linked list 配置
创建 linked list queue,并配置为搭配 gpdma 2d 功能通道使用。创建两个节点,tn1, tn2,并使用循环模式,指定首个循环节点为 tn1。
图3. linked list
tn1 节点配置,由此节点结合 tim 来产生 pwm,并滤波成正弦信号: 
(1)tim1 更新事件作为 dma 请求 
(2)使能 2d 功能,一个 block 传输完成后,回退到数组起点,重新传输 
(3)使能 repeat 功能,重复 block 传输 1000 次
首先使能了 trustzone 架构,然后将 lpgpio 映射到了非安全区,并且配置了 dma 链表功能,使用 lptimer 作为触发,自动地修改 lpgpio 的寄存器,从而达到在低功耗模式下,gpio自动切换的功能。但遇到了 lpdma 的配置问题,并且程序无法跳转到 non-secure 工程。
图4. linked list node1
tn2 节点配置,与 tn1 节点类似,用于切换到第二组数据产生第二种波形
图5. linked list node2
2.2. 测试代码
gpdma linked list 模式执行流程
图6. linked list 执行过程及期望输
03
pwm滤波输出
在 u575 nucleo 板上测试,结果如下:
图7. 实际输出
从实测结果来看,滤波后的正弦波频率,波形持续时长都符合预期。另外,与通过额外 tim 计时来切换 pwm 输出的方式相比,使用 linked list repeat 这种方式,正弦波与固定电平输出之间切换更平滑。
图8. 额外 tim 计时来切换 pwm 输出
04
小结
通过使用 gpdma linked list 模式,使用 2d addressing repeat 功能,能方便实现这种多种波形切换的应用场景。如 node1 与 node2 使用不同的数据长度和重复次数,则可得到不同时长的两种波形;通过增加更多 node,则可得到多种不同波形。
完整内容请点击“阅读原文”下载原文档。
原文标题:实战经验 | timer 结合 dma 2d 通道实现不同波形输出
文章出处:【微信公众号:stm32单片机】欢迎添加关注!文章转载请注明出处。

泛在电力物联网已进入大数据时代
[组图]采用MEC002A制作远程调频发射机
OPPOR9s跟VIVOX9哪个比较好?OPPOR9s跟VIVOX9全方位评测对比
TL431基本应用电路和几种不常见接法
“Hubi ∙ 私享会 —— 未来区块链创新论坛”圆满结束
实战经验 | Timer 结合 DMA 2D 通道实现不同波形输出
企业如何落地实施IPD(产品集成开发)?
4G牌照博弈升级:中国将成单一TD-LTE市场?
国产笔记本创新哪家强?小米Air等三款笔记本告诉你
以PICl6F7x单片机为主控芯片的读卡器系统设计
空气负氧离子是如何产生的?对人体有什么作用?
2012电线电缆行业大力研发高端产品是方向
面板行业景气度逐步回暖 领军企业惠科股份有望实现受益反转
PLC的工作过程图解
华为云 OneAccess 应用身份管理服务,认证授权双保驾,身份管理的选择关键
如何用Python写一个人脸识别系统
高通投资Arm竞争对手
工控安全作为工业互联网发展的保障,其市场潜力巨大
2017年世界互联网大会,马云_马化腾_李彦宏_雷军_库克讲话汇总
浅谈智能照明系统