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

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

3天内不再提示

介绍一篇基于DMAMUX同步事件的应用演示

单片机 来源:茶话MCU 作者: Miler 2021-08-14 14:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

STM32家族中的很多系列,比如STM32G0/STM32G4/STM32L4+/STM32H7等都内置了DMAMUX模块。有了它一方面使得DMA请求与DMA控制器之间的映射关系更为灵活方便,同时也大大拓展了DMA请求事件,不再局限于外设事件,比方可以基于GPIO的外部中断事件、或者DMA事件本身来触发DMA传输。另外,DMA传输的实现还可以基于其它触发事件来同步其操作,即DMA传输的实现需要借助其它同步事件来真正启动。

本文就基于STM32G4芯片简单介绍下该话题,这里要实现的功能大致是这样的:片内低功耗定时器LPTIM1的定时输出作为DMAMUX的DMA同步输入事件,该同步事件触发UART的DMA传输,通过UART输出一段字符。

本演示例程基于STM32G4系列的Nucleo板进行。低功耗定时器LPTIM工作在PWM输出模式,DMAMUX基于LPTIM每次的定时输出事件为UART2申请一定数目的DMA请求,然后DMA将数据从内存送到UART的数据寄存器并最终将内容显示在PC串口终端。

下面就直接使用STM32CubeMx进入配置过程。

通过CubeMx神器做基本的初始化配置【RCC配置此处就省略了】。

LPTIM1的参考配置如下,具体应用时请结合实际情况来定,这里只需能产生周期性定时输出即可。

UART2外设没有什么特别要提醒的,这里就不贴截图了。我们重点看看有关UART TX的DMA传输的相关配置。

上图中蓝色圈里的勾选框对于本应用演示不是必须勾选的,勾选了也没关系,不会对本演示产生影响。DMA请求数设置为21,表示每检测到1个同步事件后DMAMUX为UART传输申请21个DMA请求,以批量传输21个字符“STM32 DMA SYNCDEMO ”。

完成图形化配置后,生成初始化代码并添加必要的用户代码。

#definePeriodValue (1000)

#define PulseValue (500)

#define Size (21)

uint8_tpData[Size]={‘S’,‘T’,‘M’,‘3’,‘2’,‘ ’,‘D’,‘M’,‘A’,‘ ’,

‘S’,‘Y’,‘N’,‘C’,‘’,‘D’,‘E’,‘M’,‘O’,‘ ’,‘ ’};

HAL_LPTIM_PWM_Start(&hlptim1, PeriodValue, PulseValue) ;

HAL_UART_Transmit_DMA(&huart2, pData, Size);

编译运行,验证结果。

45dfbd00-fc1f-11eb-9bcf-12bb97331649.png

代码运行后,可以通过示波器看到LPTIM的周期性PWM输出,同时PC端也可以看到如上面截图所示的周期性呈现的字符串。

OK,本次基于DMAMUX同步事件的应用演示就介绍到这里,供君参考,更多细节还请阅读STM32相关技术手册。

编辑:jq

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

    关注

    113

    文章

    6967

    浏览量

    194654
  • PWM
    PWM
    +关注

    关注

    116

    文章

    5847

    浏览量

    223745
  • PC
    PC
    +关注

    关注

    9

    文章

    2164

    浏览量

    158484
  • 代码
    +关注

    关注

    30

    文章

    4941

    浏览量

    73123

原文标题:基于STM32 DMAMUX DMA同步事件的应用示例

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【「高速数字设计(基础)」阅读体验】 + 书籍评测第一篇

    的内容,请期待第二的分享文章~虽然作者并不是特别出名,也没有很多人给此书写序,但是本书的内容扎实,是电子工程师初学者和希望在理论和PCB设计精进者值得看的书籍!
    发表于 11-09 10:31

    AS三部曲收官 | TSN精度突破:IEEE 802.1AS如何实现纳秒级时间同步

    同步协议,以下简称AS)同步逻辑,虹科AS三部曲已来到终章,先快速衔接前两核心:第一篇《如何理解TSN同步概念中的时钟角色?》拆解了
    的头像 发表于 11-05 17:03 559次阅读
    AS三部曲收官 | TSN精度突破:IEEE 802.1AS如何实现纳秒级时间<b class='flag-5'>同步</b>?

    如何实现 RoCE 配置的自动同步(基础) - DCBX协议

    DCBX(Data Center Bridging Exchange)协议是实现数据中心网络自动化配置的核心技术,能够显著降低运维负担,减少因人工配置错误导致的网络故障。DCBX 为大规模组网中 RoCE 配置的自动同步奠定了技术基础,具体内容将在后续文章中深入介绍
    的头像 发表于 10-09 14:27 756次阅读
    如何实现 RoCE 配置的自动<b class='flag-5'>同步</b>(基础<b class='flag-5'>篇</b>) - DCBX协议

    如何实现EtherCAT与电机控制之间的同步处理

    上篇提到利用EtherCAT产生的sync信号,同步所有从站节点系统,完成在同时刻的电机指令更新。那么,今天跟大家介绍的是如何利用sync信号去同步电机控制系统。
    的头像 发表于 09-28 14:28 5170次阅读
    如何实现EtherCAT与电机控制之间的<b class='flag-5'>同步</b>处理

    AS三部曲之二 | TSN同步运行机制:多级设备同步如何避免误差累积?

    引言时间敏感网络(TSN)要求所有设备在纳秒级精度下协调工作。AS同步通过建立统的时间基准,确保关键数据(如工业控制、自动驾驶指令)在严格时间窗口内传输,避免因时钟偏差引发系统故障。在上
    的头像 发表于 09-25 17:32 975次阅读
    AS三部曲之二 | TSN<b class='flag-5'>同步</b>运行机制:多级设备<b class='flag-5'>同步</b>如何避免误差累积?

    Analog Devices Inc. LTC7805演示板DC3138A数据手册

    Analog Devices Inc. LTC7805演示板DC3138A演示LTC7805双通道直流/直流转换器,其工作输入电压范围为12V至36V。LTC7805同步降压控制器是
    的头像 发表于 06-27 09:33 498次阅读
    Analog Devices Inc. LTC7805<b class='flag-5'>演示</b>板DC3138A数据手册

    Analog Devices Inc. LTC3311演示板特性/测试设置

    Analog Devices Inc. LTC3311 LTC3311演示板是用于LTC3311同步降压Silent Switcher®器件的演示和开发平台。LTC3311 Silent
    的头像 发表于 06-19 15:41 756次阅读
    Analog Devices Inc. LTC3311<b class='flag-5'>演示</b>板特性/测试设置

    时间同步装置的应用领域介绍

    时间同步装置是种用于确保不同设备之间时间致性的装置。在现代社会中,各种设备都需要准确的时间参考,如计算机网络、通信系统、金融交易、工业自动化等。时间同步装置能够通过协调和
    的头像 发表于 06-19 14:18 433次阅读
    时间<b class='flag-5'>同步</b>装置的应用领域<b class='flag-5'>介绍</b>

    零死角玩转STM32——系统

    本文共4册,由于资料内存过大,分开上传,有需要的朋友可以去主页搜索下载哦~ 《零死角玩转 STM32》系列教程由初级、中级、高级、系统、四个部分组成,更适合初学者,步步为营,
    发表于 05-21 14:08

    ntp时钟同步服务器是什么?ntp时钟同步服务器介绍

    种关于网络时间的设备,你也可以叫他网络时间同步设备,或者网络同步时钟系统等。今天小编就跟大家简单介绍下它。网络时钟同步服务器行业人员通常会
    的头像 发表于 05-13 15:19 636次阅读
    ntp时钟<b class='flag-5'>同步</b>服务器是什么?ntp时钟<b class='flag-5'>同步</b>服务器<b class='flag-5'>介绍</b>

    基础-开关电源的同步与非同步

    同步开关电源和异步开关电源之前,我们首先来回顾下传统的开关电源,工作工程见下: 当Q1打开,Q2关闭,Vsw为高,IQ1增加,IQ2为零,电感电流增加。 当Q1关闭,Q2打开,Vsw为低,IQ1为零
    发表于 04-17 11:49

    高精度时钟同步系统的重要性介绍

    科学技术的发展让每个时钟同步系统都变的越来越重要,从单独的个计算机系统时钟同步,到个数据中心系统,再到个5G通信系统时钟
    的头像 发表于 04-17 11:14 524次阅读
    高精度时钟<b class='flag-5'>同步</b>系统的重要性<b class='flag-5'>介绍</b>

    STM32Cube学习笔记 (十六全)

    资料介绍: STM32Cube学习笔记,步手把手带你进入STM32Cube的世界,包括点灯,按键,串口,ADC,DAC等等共16
    发表于 03-22 17:02

    使用STM32H743对外部个ADC芯片做数据采集,根据CubeMX配置的驱动无法触发SPI,怎么解决?

    HAL_SPI_Receive_DMA也可以进行通信。 但EXTI0事件却无法触发同步SPI DMA传输,请问是否有大神知道,有哪些细节没有配置到位吗? 首次使用STM32H7,对DMAMUX不是很了解。
    发表于 03-07 07:40

    氮化镓电源芯片和同步整流芯片介绍

    氮化镓电源芯片和同步整流芯片在电源系统中犹如对默契的搭档,通过紧密配合,显著提升电源效率。在开关电源的工作过程中,氮化镓电源芯片凭借其快速的开关速度和高频率的开关能力,能够迅速地切换电路状态,实现
    的头像 发表于 01-15 16:08 1599次阅读