0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

STM32单片机 来源:未知 2023-10-26 15:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

关键词: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 配置

wKgZomU6FFCAXNNoAAInklhBFsk366.png

图1. TIM1 CH1 PWM

2.1.2. GPDMA CH12 配置

选用 GPDMA 通道 12,并配置为循环模式:

wKgZomU6FFGAPbJqAAPOxQvJEsA581.png

图2. GPDMA CH12

2.1.3. GPDMA Linked List 配置

创建 Linked List Queue,并配置为搭配 GPDMA 2D 功能通道使用。创建两个节点,TN1, TN2,并使用循环模式,指定首个循环节点为 TN1。

wKgZomU6FFGAcTtUAADifVzLGPs743.png

图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 工程。

wKgZomU6FFGAQ8_oAAFjZfU5VU4726.png

图4. Linked List Node1

TN2 节点配置,与 TN1 节点类似,用于切换到第二组数据产生第二种波形

wKgZomU6FFGAdONnAAFXpheqJ3M634.png

图5. Linked List Node2

2.2. 测试代码

wKgZomU6FFGAdEn4AAHo5WB52Go632.png

GPDMA Linked List 模式执行流程

wKgZomU6FFGAa57AAABfbe_y3EQ230.png

图6. Linked List 执行过程及期望输

03

PWM滤波输出

在 U575 NUCLEO 板上测试,结果如下:

wKgZomU6FFKAJqFrAATY_Zm02Ok916.png

图7. 实际输出

从实测结果来看,滤波后的正弦波频率,波形持续时长都符合预期。另外,与通过额外 TIM 计时来切换 PWM 输出的方式相比,使用 Linked List repeat 这种方式,正弦波与固定电平输出之间切换更平滑。

wKgZomU6FFKAEBdZAANLej_RDE8462.png

图8. 额外 TIM 计时来切换 PWM 输出

04

小结

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

wKgZomU6FFKAGNi-AAHiBpzEGaQ236.png

完整内容请点击“阅读原文”下载原文档。


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

文章出处:【微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6078

    文章

    45570

    浏览量

    673389
  • STM32
    +关注

    关注

    2312

    文章

    11189

    浏览量

    374539
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    GPS时钟授时装置常见问题与实战经验分享

    作为一名长期关注时间同步技术的网络宣传人员,我经常收到用户关于GPS时钟授时装置的各种咨询。从电力变电站到5G网络机房,从自动驾驶测试场到金融数据中心,这些设备默默守护着现代社会的精密运转。今天,我想结合行业内的技术发展和实际应用中的经验,和大家聊聊GPS时钟授时装置那些
    的头像 发表于 03-06 11:03 217次阅读
    GPS时钟授时装置常见问题与<b class='flag-5'>实战经验</b>分享

    TMAG511x系列2D通道高灵敏度霍尔效应锁存器技术解析

    和TMAG5111这两款2D通道高灵敏度霍尔效应锁存器,看看它们在实际应用中能为我们带来哪些独特的优势。 文件下载: tmag5111.pdf 一、产品特性亮点 1. 二维传感能力 TMAG511x系列采用平面和垂直霍尔传感器实现
    的头像 发表于 02-11 15:25 484次阅读

    探索TMAG511x-Q1:2D通道高灵敏度霍尔效应锁存器的卓越性能

    探索TMAG511x-Q1:2D通道高灵敏度霍尔效应锁存器的卓越性能 在电子工程师的设计世界里,选择合适的传感器对于实现高效、可靠的系统至关重要。今天,我们将深入探讨德州仪器(TI
    的头像 发表于 02-11 15:10 205次阅读

    维视智造汽车电子2D视觉检测方案筑牢精密部件质控防线

    本文是维视智造「端子与连接器检测」行业解决方案系列案例的第十四篇。今天介绍的落地案例中,将针对汽车行业核心部件--机壳 PIN 针歪斜、窗口缺料、正反面缺料多料等缺陷检测痛点,结合成熟落地的实战经验,为您提供视觉智能化升级的参考范例。
    的头像 发表于 01-21 10:05 699次阅读
    维视智造汽车电子<b class='flag-5'>2D</b>视觉检测方案筑牢精密部件质控防线

    2D、2.5D与3D封装技术的区别与应用解析

    的技术差异。 一、传统2D封装的平面集成 作为最成熟的封装形式,2D封装采用引线键合(Wire Bonding)或倒装焊(Flip Chip)方式,将芯片水平排布在基板表面。其核心特征是所有互连都发生在XY平面内,通过基板的金属布线层
    的头像 发表于 01-15 07:40 1128次阅读
    <b class='flag-5'>2D</b>、2.5<b class='flag-5'>D</b>与3<b class='flag-5'>D</b>封装技术的区别与应用解析

    LAT1189+Timer 结合 DMA 2D 通道实现不同波形输出应用笔记

    TIM 来定时切换输出正弦波或固定电平。使用 TIM 输出 PWM 产生正弦波形时,需要结合 GPDMA 来实现。在 STM32U5 系列
    发表于 01-11 17:25 0次下载

    车载音频功放芯片实战经验与深度疑问

    1. 通道配置与车型需求的适配经验 在为不同车型设计音响系统时,CD7377CZ 与 CD7388 的通道配置需紧密结合车型空间与用户需求。例如,针对紧凑型家用轿车,车内空间较小,采用
    发表于 12-05 09:53

    浅谈2D封装,2.5D封装,3D封装各有什么区别?

    集成电路封装技术从2D到3D的演进,是一场从平面铺开到垂直堆叠、从延迟到高效、从低密度到超高集成的革命。以下是这三者的详细分析:
    的头像 发表于 12-03 09:13 1282次阅读

    UART、SPI、I2C 实战对比:哪个更适合你的项目?

    在嵌入式开发中,设备之间的通信是绕不开的话题。常见的三种总线接口——UART、SPI、I2C——各有优缺点。不同项目需求决定了选择哪一种协议最合适。本文结合实战经验,逐项对比三者,并附带实战
    的头像 发表于 11-24 19:04 1565次阅读
    UART、SPI、I<b class='flag-5'>2</b>C <b class='flag-5'>实战</b>对比:哪个更适合你的项目?

    助力V2G,SECC GreenPHY实战开发

    核心板,调试联芯通MSE102xGreenPHY芯片的实战经验,为V2G通信开发提供参考。MSE102x芯片介绍联芯通MSE102x系列芯片是一款专注于电动汽车充电通
    的头像 发表于 11-13 08:05 3639次阅读
    助力V<b class='flag-5'>2</b>G,SECC GreenPHY<b class='flag-5'>实战</b>开发

    【RA4M2-SENSOR】+DAC波形输出测试

    RA4M2-SENSOR内置有12 位 DAC,在硬件的支持下,要实现相应的功能,就需要以RASC进行引脚的配置,并生成KEIL工程代码,其步骤为: 添加一个DAC入栈,见图1所示。 图1 添加
    发表于 10-07 16:54

    如何使用MA35D1上的硬件2D加速功能?

    如何使用MA35D1上的硬件2D加速功能?
    发表于 09-03 07:46

    Linux服务器性能调优的核心技巧和实战经验

    如果你正在为这些问题头疼,那么这篇文章就是为你准备的!作为一名拥有10年经验的运维工程师,我将毫无保留地分享Linux服务器性能调优的核心技巧和实战经验
    的头像 发表于 08-27 14:36 1210次阅读

    TechWiz LCD 2D应用:不同结构下的VT曲线

    我们可以在TechWiz LCD 2D软件中调整电极的宽度,锥度,厚度和位置。 1. 案例结构 2. 建模过程 2.1在TechWiz LCD 2D中创建结构 2.2将com电极两个掩膜的宽度均
    发表于 06-13 08:44

    移动电源EMC整改:认证失败到一次通过的实战经验

    深圳南柯电子|移动电源EMC整改:认证失败到一次通过的实战经验
    的头像 发表于 05-26 11:25 1066次阅读
    移动电源EMC整改:认证失败到一次通过的<b class='flag-5'>实战经验</b>