当前位置:网站首页>Understanding of smt32h7 series DMA and DMAMUX
Understanding of smt32h7 series DMA and DMAMUX
2022-07-05 09:24:00 【Ruoshui thousand points】
DMA and DMAMUX
DMA: nothing CPU The controller that directly carries out data handling under the participation
DMAMUX: establish DMA Request and DMA Mapping relationship between channels , Functions similar to routing . nothing DMAMUX Of MCU,DMA Request and DMA The mapping relationship of channels is fixed , Cannot be modified by software . With DMAMUX Can be DMA Request and DMA Channels are linked by software , Implement custom links .
With STM32H743 For example :
DMAMUX1:DMAMUX1_Channel0-15 Corresponding DMA1_Stream0-7 and DMA2_Stream0-7.
DMAMUX2:DMAMUX2_Channel0-7 Corresponding BDMA_Channel0-7.
See the figure below for details , Understanding is for reference only .
Example of trigger generator
1. For example, external interrupt EXTI Trigger memory to memory / Peripheral DMA request
nothing DMAMUX Under the circumstances : because EXTI There is no such thing as DMA request , but EXTI To trigger DMA Only in EXTI Start in interrupt DMA, Configure memory to memory / Peripheral DMA after , And then again EXTI Start in interrupt DMA.
Yes DMAMUX Under the circumstances : Trigger signal HAL_DMAMUX1_REQ_GEN_EXTI0 And signal generator DMA_REQUEST_GENERATORx Correlation is equivalent to EXTI0 Possess DMA request , And then configure it DMA Transmission channel , Good configuration EXTI0,EXTI0 Can trigger DMA Realization DMA Transmitted . There may be MCU Have done well EXTI Edge signal and DMA Start the Association , Otherwise, I'll be with you EXTI Start in interrupt DMA What's the difference .( guess , Never used )
2. such as GPIO Trigger DMA Request to implement memory to GPIO Data transmission of
nothing DMAMUX Under the circumstances :GPIO There is no such thing as DMA request , To realize memory to GPIO Of DMA The transmission needs to borrow one DMA request , I used TIM_UP Of DMA request ( Of course, other signals can also be used , As long as it can produce DMA Just ask ), And then in DMA In the configuration, according to the memory to peripheral DMA Just configure it , I can use this to output a fixed waveform signal , The signal CLK and TIM The cycle is consistent , If this waveform wants to appear periodically, you can use another timer , Enable in timer interrupt DMA.
It is essentially a peripheral 1-> Memory -> peripherals 2 The transmission of , peripherals 1 Yes DMA request , peripherals 2 No, DMA request , Using peripherals 1 Request to do peripherals 2 Things about .
Yes DMAMUX Under the circumstances : Trigger signal HAL_DMAMUX1_REQ_GEN_LPTIM1_OUT And signal generator DMA_REQUEST_GENERATORx Generated by Association DMA Request to be used as GPIO Of DMA request , Then configure DMA Transmission channel , To configure LPTIM Timer , Start up DMA after ,LPTIM Each time the timer is generated 1 individual DMA request , send out 1 Data . If DMA If it is a circular mode, it will be based on NDTR Circular transmission , If it is normal mode NDTR After the pass DMA Automatically shut down .
Example of synchronous generator
The synchronization signal is mainly used for periodic starting DMA
1. Regular serial port DMA send data
nothing DMAMUX The situation of : There are serial ports DMA request , There is no need to trigger the generator , Request and directly through peripherals DMA Transmission channel Association , But I want to send serial data regularly , You need to start the serial port in a timer interrupt DMA send out .
Yes DMAMUX The situation of : Start with serial port peripherals and DMA Association of transmission channels , Then select the synchronization signal HAL_DMAMUX1_SYNC_LPTIM1_OUT relation DMAMUX, To configure LPTIM Realize the cycle to send a synchronization signal to start DMA.
The synchronization signal is used to start DMA Of , No DMA Request ,DMA The request comes from the serial port .
Focus on understanding :
1. Trigger signal and synchronization signal are fixed
2. Understand trigger signals HAL_DMAMUX1_REQ_GEN_LPTIM1_OUT and HAL_DMAMUX1_SYNC_LPTIM1_OUT The difference applied in the two projects .
The trigger signal is equivalent to DMA Request signal , The synchronization signal is equivalent to DMA Start signal .
Trigger signals are mostly used for peripherals 1-> Memory -> peripherals 2 The type of , Synchronization signals are mostly used in memory -> Periodic startup in peripheral DMA The situation of .
In trigger signal HAL_DMAMUX1_REQ_GEN_LPTIM1_OUT Next , Each trigger signal causes a DMA request , And one timer DMA Only one request can be transmitted DMA Data blocks .
In the synchronization signal HAL_DMAMUX1_SYNC_LPTIM1_OUT Next , One synchronization signal starts once DMA,DMA The data of the set length will be transmitted , Instead of a single block .
Just understand , Not too much validation .
边栏推荐
- Cloud computing technology hotspot
- 22-07-04 Xi'an Shanghao housing project experience summary (01)
- 【PyTorch Bug】RuntimeError: Boolean value of Tensor with more than one value is ambiguous
- Svgo v3.9.0+
- Unity SKFramework框架(二十三)、MiniMap 小地图工具
- Rebuild my 3D world [open source] [serialization-1]
- Multiple solutions to one problem, asp Net core application startup initialization n schemes [Part 1]
- L'information et l'entropie, tout ce que vous voulez savoir est ici.
- Can't find the activitymainbinding class? The pit I stepped on when I just learned databinding
- Unity SKFramework框架(二十二)、Runtime Console 运行时调试工具
猜你喜欢
Information and entropy, all you want to know is here
【阅读笔记】图对比学习 GNN+CL
22-07-04 Xi'an Shanghao housing project experience summary (01)
nodejs_ 01_ fs. readFile
Applet network data request
Applet global style configuration window
Applet (use of NPM package)
LeetCode 496. 下一个更大元素 I
[code practice] [stereo matching series] Classic ad census: (4) cross domain cost aggregation
Shutter uses overlay to realize global pop-up
随机推荐
Hosting environment API
什么是防火墙?防火墙基础知识讲解
项目实战 | Excel导出功能
An article takes you into the world of cookies, sessions, and tokens
基于STM32单片机的测温仪(带人脸检测)
Introduction Guide to stereo vision (4): DLT direct linear transformation of camera calibration [recommended collection]
C # compare the differences between the two images
图神经网络+对比学习,下一步去哪?
一次 Keepalived 高可用的事故,让我重学了一遍它
Unity SKFramework框架(二十二)、Runtime Console 运行时调试工具
Applet data attribute method
STM32简易多级菜单(数组查表法)
np. allclose
LeetCode 496. 下一个更大元素 I
Jenkins Pipeline 方法(函数)定义及调用
混淆矩阵(Confusion Matrix)
Applet customization component
OpenGL - Lighting
Alibaba cloud sends SMS verification code
Talking about label smoothing technology