色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

詳解STM32的DMA功能

CHANBAEK ? 來源:頭條號秋天滴風 ? 作者:頭條號秋天滴風 ? 2023-04-25 09:49 ? 次閱讀

本文將介紹STM32DMA功能;

①DMA介紹

②STM32F4-DMA功能框圖及詳解

③DMA的增量設置、模式、中斷

①DMA介紹

DMA是direct memory access的縮寫,即直接存儲器訪問;DMA是通過硬件在RAM和IO設備之間開辟一條通道,使得采集到的數據直接存到RAM,使得數據的傳輸不需要經過CPU讀數據再將數據放入RAM、這樣極大提高了CPU的效率。

②STM32F4-DMA功能框圖及詳解

wKgZomRHMaKAQh-vAAFYKSnFrwM368.jpg

外設通道:

wKgaomRHMaOAX9sxAACx8iuP1NQ353.jpg

STM32F4具有2個DMA控制器,每個DMA控制器有8個數據流,每個數據流可以從8個外設請求中選擇一個作為該數據流的外設通道;外設通道就是數據流的源地址或者目標地址;外設通道的選擇可以通過DMA數據流x的配置寄存器DMA_SxCR的CHSEL[2:0]位配置;

以下是DMA1的外設通道表:

wKgZomRHMaOAQ6E4AAIHP_-spxg373.jpg

數據流仲裁:當同時存在多個數據流在工作時,需要數據流仲裁器管理判斷數據流的優先傳輸;數據流傳輸的優先級可以通過配置控制寄存器DMA_SxCR的PL[1:0]位,來選擇優先級為非常高、高、中、低;當多個數據流的優先級相同時,數據流的編號越低、優先級越高;

數據FIFO:

每個數據流都有一個4字(16字節、4個32位寄存器)FIFO(先進先出存儲器緩沖區),DMA的傳輸具有FIFO模式和直接模式;

直接模式:當出現DMA請求時,會進行數據的傳輸到存儲器;若DMA的請求配置設置為存儲器到外設模式傳輸數據時,DMA會將數據從存儲器預加載到FIFO中、當外設觸發DMA請求時數據立即傳輸給外設;

FIFO模式:當數據量達到一定數量時,進行數據的傳輸;可以通過配置DMA_SxFCR的FTH[1:0]位來設置FIFO的閾值級別為FIFO的1/4 、2/4 、3/4。如果數據量達到閾值則FIFO中的數據將被傳輸到目標地址;

4-5、外設端口、存儲器端口:

wKgaomRHMaSAA87jAAHRHPAYMLE136.jpg

DMA1的控制器的存儲器端口接在AHB總線上,外設端口接在APB1外設上;所以DMA1可以控制數據在外設與存儲器之間傳輸,但不能實現數據在存儲器與存儲器之間傳輸;

DMA2的控制器的存儲器端口和外設端口都有接到AHB總線上說以與DMA1相比,DMA2比DMA1多一個數據在存儲器與存儲器之間傳輸的模式;

③DMA的增量設置、模式、中斷

DMA的傳輸模式:DMA的傳輸模式有外設與外設之間的傳輸、外設與存儲器之間的傳輸、存儲器與存儲器之間的傳輸;模式的選擇可以通過DMA_SxCR寄存器的DIR[1:0]位控制;

DMA傳輸的源、目的、長度:

外設寄存器地址在DMA_SxPA寄存器中設置;

存儲器地址在DMA_SxM0AR寄存器中設置;

數據的傳輸量在寄存器DMA_CNDTRx中設置

傳輸數據的位寬在DMA_SxCR寄存器的PSIZE MSIZE位設置(盡量設置為一致)

DMA的增量設置:

通過設置DMA_SxCR寄存器中的PINC MINC位的狀態,可以使得外設和存儲器在每次數據傳輸后地址遞增或地址不變;當選擇為遞增模式后,地址的增量就是數據的位寬

循環模式:循環模式用于循環處理緩存區和連續的數據傳輸(ADC的掃描模式),可以通過DMA_SxCR寄存器中的CIRC位來選擇為循環模式;循環模式下當一輪數據傳輸完成后,下一次開始的地址和上一次的數據傳輸地址一樣;

DMA的單次傳輸和突發傳輸:

DMA有單次傳輸和突發傳輸,DMA控制器可以產生4、8、16個節拍的增量突發傳輸(原本一次傳輸一個數據位寬,4個節拍就是4個數據位寬一次性一起傳輸);突發傳輸的大小通過DMA_SxCR寄存器中的MBURST[1:0]和PBURST[1:0]位對兩個AHB端口獨立配置;

在突發傳輸下、AHB的總線仲裁器會一直授權給DMA主總線AHB的傳輸會鎖定其它總線暫時使用不了,使得突發傳輸不可被打斷從而保證了數據的一致性;

每個DMA數據流在傳輸的時候可以觸發以下中斷:

wKgZomRHMaSAD6olAADkFwmQoDA028.jpg

在DMA_xISR中可以設置、查看狀態;

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲器
    +關注

    關注

    38

    文章

    7525

    瀏覽量

    164159
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10899

    瀏覽量

    212613
  • STM32
    +關注

    關注

    2270

    文章

    10921

    瀏覽量

    356994
  • dma
    dma
    +關注

    關注

    3

    文章

    566

    瀏覽量

    100816
  • STM32F4
    +關注

    關注

    3

    文章

    194

    瀏覽量

    28123
收藏 人收藏

    評論

    相關推薦

    STM32CubeMx的初始配置順序是怎么影響DMA功能

    ?經常有STM32開發者基于STM32CubeMx進行配置并生成基于HAL庫的初始化代碼,當涉及到DMA功能時,發現DMA
    的頭像 發表于 10-13 10:14 ?3120次閱讀
    <b class='flag-5'>STM32</b>CubeMx的初始配置順序是怎么影響<b class='flag-5'>DMA</b><b class='flag-5'>功能</b>的

    STM32實例教程-DMA實驗

    在前面我們提到過 DMA,這一章我們就來學習 STM32F1 的DMA 使用。要實現的功能是:通過 K_UP 按鍵控制 DMA 串口 1 數
    發表于 05-24 09:20 ?1291次閱讀
    <b class='flag-5'>STM32</b>實例教程-<b class='flag-5'>DMA</b>實驗

    STM32 DMA使用詳解

    DMASTM32 DMA使用詳解1、畫圖Cortex-M3內部結構圖,要體現相應的總線,并標注其作用。Icode:程序存在Flash中,通過ICode(Instruction Code)總線
    發表于 08-12 07:01

    什么是DMADMA有何功能

    stm32F1DMA詳解1、問題:什么是DMA?回答:DMA,全稱為:Direct Memory Access,即直接存儲器訪問簡而言之,DMA
    發表于 12-09 07:35

    STM32串口DMA問題詳解

    昨天晚上在STM32串口DMA的問題上糾結了好長時間,所以今天上午寫篇博客來談談我對串口DMA發送的理解。
    的頭像 發表于 10-27 16:16 ?8480次閱讀
    <b class='flag-5'>STM32</b>串口<b class='flag-5'>DMA</b>問題<b class='flag-5'>詳解</b>

    STM32F1的ADC2如何使用DMA功能 USART過載錯誤Overrun error

    STM32F1的ADC2如何使用DMA功能,USART過載錯誤Overrun error
    的頭像 發表于 03-14 14:42 ?8202次閱讀
    <b class='flag-5'>STM32</b>F1的ADC2如何使用<b class='flag-5'>DMA</b><b class='flag-5'>功能</b> USART過載錯誤Overrun error

    STM32的ADC1采集多條通道 可以不使用DMA功能嗎?

    STM32的ADC1采集多條通道,可以不使用DMA功能嗎?
    的頭像 發表于 03-14 14:46 ?5893次閱讀
    <b class='flag-5'>STM32</b>的ADC1采集多條通道 可以不使用<b class='flag-5'>DMA</b><b class='flag-5'>功能</b>嗎?

    STM32 DMA詳解

    事情。 DMA 控制器基于復雜的總線矩陣架構,將功能強大的雙 AHB 主總線架構與獨立的 FIFO 結 合在一起,優化了系統帶寬,下圖①處,可以看出雙 AHB 主總線架構與獨立的 FIFO的結構
    的頭像 發表于 10-27 14:47 ?1.1w次閱讀
    <b class='flag-5'>STM32</b> <b class='flag-5'>DMA</b><b class='flag-5'>詳解</b>

    16、STM32——DMA詳解

    1、DMA簡介DMA(Direct Memory Access) :直接存儲器存取,是單片機的一個外設,它的主要功能是用來搬數據,但是不需要占用 CPU,即在傳輸數據的時候, CPU 可以干其他
    發表于 12-02 13:51 ?21次下載
    16、<b class='flag-5'>STM32</b>——<b class='flag-5'>DMA</b><b class='flag-5'>詳解</b>

    STM32基礎-----DMA

    STM32基礎-------DMA
    發表于 12-20 19:35 ?11次下載
    <b class='flag-5'>STM32</b>基礎-----<b class='flag-5'>DMA</b>

    STM32 HAL CubeMX 串口IDLE接收空閑中斷+DMA

    關于DMA原理部分講解,及CubeMx配置部分,請參考該文章【STM32】HAL庫 STM32CubeMX教程十一—DMA (串口DMA發送
    發表于 12-20 19:39 ?31次下載
    <b class='flag-5'>STM32</b> HAL CubeMX 串口IDLE接收空閑中斷+<b class='flag-5'>DMA</b>

    STM32單片機實現DMA+ADC+UART功能

    。于是想到了ADC采樣的數據用DMA功能存儲,并通過串口打印。但是串口打印依然要占用單片機時間,那能不能串口數據的輸出也采用 DMA功能呢?這樣ADC采樣的數據通過
    發表于 12-28 19:25 ?34次下載
    <b class='flag-5'>STM32</b>單片機實現<b class='flag-5'>DMA</b>+ADC+UART<b class='flag-5'>功能</b>

    STM32串口收發數據為什么要使用DMA

    CPU處理。因此,大量數據拷貝時,使用DMA可以釋放CPU資源,相關文章推薦:詳解STM32中的DMA原理。
    的頭像 發表于 02-12 13:22 ?6023次閱讀
    <b class='flag-5'>STM32</b>串口收發數據為什么要使用<b class='flag-5'>DMA</b>

    STM32F1的DMA使用

    在前面我們提到過 DMA,這一章我們就來學習 STM32F1 的DMA 使 用。要實現的功能是:通過 K_UP 按鍵控制 DMA 串口 1
    的頭像 發表于 06-22 10:23 ?2975次閱讀
    <b class='flag-5'>STM32</b>F1的<b class='flag-5'>DMA</b>使用

    STM32G4 Advanced Timer Break功能詳解

    電子發燒友網站提供《STM32G4 Advanced Timer Break功能詳解.pdf》資料免費下載
    發表于 09-19 15:09 ?1次下載
    <b class='flag-5'>STM32</b>G4 Advanced Timer Break<b class='flag-5'>功能</b><b class='flag-5'>詳解</b>
    主站蜘蛛池模板: 九九久久精品| 中文字幕亚洲综合小综合在线| 少妇无码吹潮久久精品AV| 亚洲娇小性色xxxx| 3D漫画H精品啪啪无码| 国产精品日本无码久久一老A| 开心成人社区| 亚洲AV精品一区二区三区不卡| jjzz大全| 老师湿乎乎两半嫩| 亚洲精品第五页中文字幕| 穿着丝袜被男生强行啪啪| 久章草一区二区| 亚洲欧美成人在线| 国产精品九九久久| 秋霞电影网午夜一级鲁丝片 | 日本护士在线观看| 永久adc视频年龄确认| 国产精品乱码一区二区三| 日本aaaa| 99久久亚洲精品日本无码| 久久久这里有精品999| 亚洲免费一| 国产亚洲精品久久久999密臂| 色就色 综合偷拍区欧美| old胖老太fat bbw青年| 蜜桃色欲AV久久无码精品| 真人做受120分钟免费看| 狠狠操天天操夜夜操| 小雪奶水涨翁工帮吸的推荐语录 | 红杏俱乐部| 亚洲粉嫩美白在线| 国产精品免费一区二区三区四区| 欧洲精品不卡1卡2卡三卡四卡 | 国产性夜夜性夜夜爽91| 她也色在线视频站| 大胆国模一区二区三区伊人| 人人听力网mp3下载| 成人免费观看在线视频| 日韩欧美亚洲精品综合在线| 动漫在线观看免费肉肉|