在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內(nèi)不再提示

CKS32F107xx系列的DMA控制器簡介

中科芯MCU ? 來源:中科芯MCU ? 2025-02-18 17:24 ? 次閱讀

MCU微課堂

CKS32F107xx DMA控制器

第五十二期 2025.02.18

DMA簡介

直接存儲器存取(DMA)用來提供在外設和存儲器之間或者存儲器和存儲器之間的高速數(shù)據(jù)傳輸。無須CPU干預,數(shù)據(jù)可以通過DMA快速地移動,這就節(jié)省了CPU的資源來做其他操作。兩個DMA控制器有12個通道(DMA1有7個通道,DMA2有5個通道),每個通道專門用來管理來自于一個或多個外設對存儲器訪問的請求。還有一個仲裁器來協(xié)調(diào)各個DMA請求的優(yōu)先權。

DMA主要特性

12個獨立的可配置的通道(請求):DMA1有7個通道,DMA2有5個通道;

每個通道都直接連接專用的硬件DMA請求,每個通道都同樣支持軟件觸發(fā)。這些功能通過軟件來配置;

在同一個DMA模塊上,多個請求間的優(yōu)先權可以通過軟件編程設置(共有四級:很高、高、中等和低),優(yōu)先權設置相等時由硬件決定(請求0優(yōu)先于請求1,依此類推);

獨立數(shù)據(jù)源和目標數(shù)據(jù)區(qū)的傳輸寬度(字節(jié)、半字、全字),模擬打包和拆包的過程。源和目標地址必須按數(shù)據(jù)傳輸寬度對齊;

支持循環(huán)的緩沖器管理;

每個通道都有3個事件標志(DMA半傳輸、DMA傳輸完成和DMA傳輸出錯),這3個事件標志邏輯或成為一個單獨的中斷請求;

存儲器和存儲器間的傳輸;

外設和存儲器、存儲器和外設之間的傳輸;

閃存、SRAM、外設的SRAM、APB1、APB2和AHB外設均可作為訪問的源和目標;

可編程的數(shù)據(jù)傳輸數(shù)目:最大為65535。

DMA通道

每個通道都可以在有固定地址的外設寄存器和存儲器地址之間執(zhí)行DMA傳輸。DMA傳輸?shù)臄?shù)據(jù)量是可編程的,最大達到65535。包含要傳輸?shù)臄?shù)據(jù)項數(shù)量的寄存器,在每次傳輸后遞減。

1、可編程的數(shù)據(jù)量

外設和存儲器的傳輸數(shù)據(jù)量可以通過DMA_CCRx寄存器中的PSIZE和MSIZE位編程。

2、指針增量

通過設置DMA_CCRx寄存器中的PINC和MINC標志位,外設和存儲器的指針在每次傳輸后可以有選擇地完成自動增量。當設置為增量模式時,下一個要傳輸?shù)牡刂穼⑹乔耙粋€地址加上增量值,增量值取決與所選的數(shù)據(jù)寬度為1、2或4。第一個傳輸?shù)牡刂肥谴娣旁贒MA_CPARx/DMA_CMARx寄存器中地址。在傳輸過程中,這些寄存器保持它們初始的數(shù)值,軟件不能改變和讀出當前正在傳輸?shù)牡刂?它在內(nèi)部的當前外設/存儲器地址寄存器中)。

當通道配置為非循環(huán)模式時,傳輸結(jié)束后(即傳輸計數(shù)變?yōu)?)將不再產(chǎn)生DMA操作。要開始新的DMA傳輸,需要在關閉DMA通道的情況下,在DMA_CNDTRx寄存器中重新寫入傳輸數(shù)目。

在循環(huán)模式下,最后一次傳輸結(jié)束時,DMA_CNDTRx寄存器的內(nèi)容會自動地被重新加載為其初始數(shù)值,內(nèi)部的當前外設/存儲器地址寄存器也被重新加載為DMA_CPARx/DMA_CMARx寄存器設定的初始基地址。

3、通道配置過程

下面是配置DMA通道x的過程(x代表通道號):

在DMA_CPARx寄存器中設置外設寄存器的地址。發(fā)生外設數(shù)據(jù)傳輸請求時,這個地址將是數(shù)據(jù)傳輸?shù)脑椿蚰繕恕?/p>

在DMA_CMARx寄存器中設置數(shù)據(jù)存儲器的地址。發(fā)生外設數(shù)據(jù)傳輸請求時,傳輸?shù)臄?shù)據(jù)將從這個地址讀出或?qū)懭脒@個地址。

在DMA_CNDTRx寄存器中設置要傳輸?shù)臄?shù)據(jù)量。在每個數(shù)據(jù)傳輸后,這個數(shù)值遞減。

在DMA_CCRx寄存器的PL[1:0]位中設置通道的優(yōu)先級。

在DMA_CCRx寄存器中設置數(shù)據(jù)傳輸?shù)姆较颉⒀h(huán)模式、外設和存儲器的增量模式、外設和存儲器的數(shù)據(jù)寬度、傳輸一半產(chǎn)生中斷或傳輸完成產(chǎn)生中斷。

設置DMA_CCRx寄存器的ENABLE位,啟動該通道。

一旦啟動了DMA通道,它既可響應連到該通道上的外設的DMA請求。當傳輸一半的數(shù)據(jù)后,半傳輸標志(HTIF)被置1,當設置了允許半傳輸中斷位(HTIE)時,將產(chǎn)生一個中斷請求。在數(shù)據(jù)傳輸結(jié)束后,傳輸完成標志(TCIF)被置1,當設置了允許傳輸完成中斷位(TCIE)時,將產(chǎn)生一個中斷請求。

4、循環(huán)模式

循環(huán)模式用于處理循環(huán)緩沖區(qū)和連續(xù)的數(shù)據(jù)傳輸(如ADC的掃描模式)。在DMA_CCRx寄存器中的CIRC位用于開啟這一功能。當啟動了循環(huán)模式,數(shù)據(jù)傳輸?shù)臄?shù)目變?yōu)?時,將會自動地被恢復成配置通道時設置的初值,DMA操作將會繼續(xù)進行。

5、存儲器到存儲器模式

DMA通道的操作可以在沒有外設請求的情況下進行,這種操作就是存儲器到存儲器模式。當設置了DMA_CCRx寄存器中的MEM2MEM位之后,在軟件設置了DMA_CCRx寄存器中的EN位啟動DMA通道時,DMA傳輸將馬上開始。當DMA_CNDTRx寄存器變?yōu)?時,DMA傳輸結(jié)束。存儲器到存儲器模式不能與循環(huán)模式同時使用。

中斷

每個DMA通道都可以在DMA傳輸過半、傳輸完成和傳輸錯誤時產(chǎn)生中斷。為應用的靈活性考慮,通過設置寄存器的不同位來打開這些中斷。

表1 DMA中斷請求

0dff1c8c-edd4-11ef-9310-92fbcf53809c.png

DMA請求映射

DMA1控制器

從外設(TIMx[x=1、2、3、4]、ADC1、SPI1、SPI/I2S2、I2Cx[x=1、2]和USARTx[x=1、2、3])產(chǎn)生的7個請求,通過邏輯或輸入到DMA控制器,這意味著同時只能有一個請求有效。參見表2各個通道的DMA1請求一覽。

表1 DMA中斷請求

0e3748e6-edd4-11ef-9310-92fbcf53809c.png

DMA2控制器

從外設(TIMx[5、6、7、8]、ADC3、SPI/I2S3、UART4、USART6、DAC通道1、2和SDIO)產(chǎn)生的5個請求,經(jīng)邏輯或輸入到DMA2控制器,這意味著同時只能有一個請求有效。參見表3的各個通道的DMA2請求一覽。外設的DMA請求,可以通過設置相應外設寄存器中的DMA控制位,被獨立地開啟或關閉。

表3 各個通道的DMA2請求一覽

0e43ef1a-edd4-11ef-9310-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    113

    文章

    16777

    瀏覽量

    181872
  • 存儲器
    +關注

    關注

    38

    文章

    7595

    瀏覽量

    165675
  • 緩沖器
    +關注

    關注

    6

    文章

    2020

    瀏覽量

    46205
  • dma
    dma
    +關注

    關注

    3

    文章

    569

    瀏覽量

    101890

原文標題:MCU微課堂|CKS32F107xx DMA

文章出處:【微信號:中科芯MCU,微信公眾號:中科芯MCU】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    使用STM32F101xx和STM32F103xx DMA控制器

    這篇應用筆記描述了怎么使用STM32F101xx和STM32F103xx的直接內(nèi)存訪問(DMA)控制器。STM32F101xx和STM32
    發(fā)表于 12-23 11:42 ?1562次閱讀

    CKS32F4xx系列ETH通信詳解

    CKS32F4xx系列芯片自帶以太網(wǎng)模塊,該模塊包括帶專用DMA控制器的MAC 802.3(介質(zhì)訪問控制
    的頭像 發(fā)表于 11-10 11:13 ?1225次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>ETH通信詳解

    CKS32F4xx系列芯片以太網(wǎng)模塊主要功能及框圖解析

    CKS32F4xx系列芯片自帶以太網(wǎng)模塊,該模塊包括帶專用DMA控制器的MAC 802.3(介質(zhì)訪問控制
    的頭像 發(fā)表于 11-10 11:15 ?1271次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>芯片以太網(wǎng)模塊主要功能及框圖解析

    AN4104_STM32F0xxDMA控制器的使用

    AN4104_STM32F0xxDMA控制器的使用
    發(fā)表于 11-21 08:11 ?2次下載
    AN4104_STM32<b class='flag-5'>F0xx</b>的<b class='flag-5'>DMA</b><b class='flag-5'>控制器</b>的使用

    CKS32F4xx系列產(chǎn)品串口DMA傳輸

    在上一講,我們講過CKS32F4xx系列的6個串口都支持DMA傳輸。因此本節(jié)我們對CKS32F4xx系列
    的頭像 發(fā)表于 04-10 11:18 ?1207次閱讀

    CKS32F4xx系列RNG功能設置

    ? MCU 微課堂 CKS32F4xx 系 列RNG功能 隨機數(shù)發(fā)生簡介 ? ? CKS32F4xx系列自帶了硬件隨機數(shù)發(fā)生
    的頭像 發(fā)表于 09-08 10:01 ?770次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>RNG功能設置

    CKS32F4xx系列DAC功能

    CKS32F4xx系列DAC功能
    的頭像 發(fā)表于 11-06 16:56 ?1020次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DAC功能

    CKS32F4xx系列ADC多通道DMA電壓采集

    CKS32F4xx系列ADC多通道DMA電壓采集
    的頭像 發(fā)表于 11-06 16:53 ?1253次閱讀

    STM32F0xxDMA控制器的使用

    電子發(fā)燒友網(wǎng)站提供《STM32F0xxDMA控制器的使用.pdf》資料免費下載
    發(fā)表于 09-21 14:49 ?0次下載
    STM32<b class='flag-5'>F0xx</b>的<b class='flag-5'>DMA</b><b class='flag-5'>控制器</b>的使用

    CKS32F4xx系列FSMC功能簡介

    本課講為大家講解CKS32F4xx系列產(chǎn)品的FSMC應用實例,F(xiàn)SMC全稱是Flexible Static Memory Controller,讀作靈活的靜態(tài)存儲控制器,顧名思義,MCU可以通過FSMC擴展靜態(tài)內(nèi)存
    的頭像 發(fā)表于 04-14 15:06 ?1243次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>FSMC功能<b class='flag-5'>簡介</b>

    CKS32F107xx系列時鐘系統(tǒng)具體配置方法講解

    上一章節(jié)對CKS32F107xx系列時鐘做了整體介紹,本章節(jié)以使用HSI內(nèi)部高速時鐘為例對時鐘具體配置方法進行講解。
    的頭像 發(fā)表于 05-28 10:05 ?859次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>時鐘系統(tǒng)具體配置方法講解

    CKS32F107xx系列MCU中ADC介紹

    CKS32F107xx系列產(chǎn)品提供2個12位的模擬/數(shù)字轉(zhuǎn)換(ADC),每個ADC共用多達16個外部通道,各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)行。ADC的結(jié)果可以左對齊或右對齊方式存儲在16位數(shù)據(jù)寄存
    的頭像 發(fā)表于 06-22 11:04 ?978次閱讀

    CKS32F107xx系列MCU的GPIO內(nèi)部硬件結(jié)構(gòu)和工作模式

    16個引腳,如型號為CKS2F107VET6型號的芯片有GPIOA、GPIOB、GPIOC至GPIOE共5組GPIO,芯片一共100個引腳,其中GPIO就占了一大部分,所有的GPIO引腳都有基本的輸入輸出功能。
    的頭像 發(fā)表于 07-22 09:23 ?987次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>MCU的GPIO內(nèi)部硬件結(jié)構(gòu)和工作模式

    詳解CKS32F107xx系列的定時同步功能

    CKS32F107xx系列部分定時在內(nèi)部是相連的,可用于定時同步或鏈接,方便用戶配置不同的同步模式,以便在電機控制、數(shù)據(jù)采集和PWM信號
    的頭像 發(fā)表于 11-26 17:51 ?804次閱讀
    詳解<b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>的定時<b class='flag-5'>器</b>同步功能

    CKS32F107xx系列USART的LIN模式

    CKS32F107xx系列在支持正常USART功能的同時,亦支持LIN(局域互聯(lián)網(wǎng))模式。
    的頭像 發(fā)表于 02-18 17:18 ?284次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>USART的LIN模式
    主站蜘蛛池模板: 免费一级特黄特色大片在线观看 | 美女网站一区二区三区 | 桃花岛亚洲精品tv自拍网站 | 性瘾高h姚蕊全文免费阅读 性做久久久久 | 亚洲乱码一二三四区 | 免费又爽又黄禁片视频在线播放 | 美女毛片免费 | 精品国产三级在线观看 | 色啦啦影院 | 丁香天堂网 | 狠狠色婷婷狠狠狠亚洲综合 | 高hnp汁水bl总受软萌受 | 亚洲三级理论 | 日本黄色高清视频 | 国产成人综合日韩精品婷婷九月 | 国产久爱青草视频在线观看 | 国产一级又色又爽又黄大片 | 亚洲看片 | 日日夜夜天天干干 | 永久看片 | 亚洲欧洲色 | 手机看片日韩福利 | 亚洲国产成人久久99精品 | xxxxbbbb欧美| 91在线操 | 污视频日本 | 美国一区二区三区 | aaaa一级片| 高清国产在线观看 | 久久成人综合 | 综合五月天婷婷丁香 | 亚洲婷婷综合色高清在线 | 天天爱天天插 | 欧美性videofree精品 | 91九色蝌蚪在线 | 中文字幕一区视频 | 免费一级欧美片片线观看 | 永久精品免费影院在线观看网站 | 精品国产一区二区三区国产馆 | 欧美高清一区二区 | 欧美性色综合网 |