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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

雅特力AT32F423 DMA使用指南

雅特力 AT32 MCU ? 2024-02-22 08:13 ? 次閱讀

DMA簡(jiǎn)介

DMA控制器的作用不僅在增強(qiáng)系統(tǒng)性能并減少處理器的中斷生成,而且還針對(duì)32位MCU應(yīng)用程序?qū)iT(mén)優(yōu)化設(shè)計(jì)。DMA控制器為存儲(chǔ)器到存儲(chǔ)器,存儲(chǔ)器到外設(shè)和外設(shè)到存儲(chǔ)器的傳輸提供了7個(gè)通道。每個(gè)通道都支持外設(shè)的DMA請(qǐng)求映射到任意通道上。圖1. DMA控制器架構(gòu)4393323c-d117-11ee-9118-92fbcf53809c.png

DMAMUX簡(jiǎn)介

對(duì)于如何將外設(shè)的DMA請(qǐng)求映射到任意的數(shù)據(jù)流通道上,就需要使用到DMAMUX。DMAMUX針對(duì)每個(gè)外設(shè)都設(shè)計(jì)了獨(dú)有的ID號(hào),使用者只需要將此ID號(hào)寫(xiě)入對(duì)應(yīng)的寄存器中并打開(kāi)DMAMUX功能即可。DMAMUX的引入,使得DMA相較于傳統(tǒng)DMA控制器變得更加靈活,使用者可以隨意的分配7個(gè)通道的使用情況,不必再糾結(jié)與某個(gè)IP的DMA請(qǐng)求只能固定使用在某個(gè)或某幾個(gè)通道上。各IP對(duì)應(yīng)ID號(hào)如下表:表1. 各IP對(duì)應(yīng)ID號(hào)列表43adf0d6-d117-11ee-9118-92fbcf53809c.png注:表格中“DMAMUX請(qǐng)求”為ID號(hào);“來(lái)源”為各IP的DMA請(qǐng)求。

DMA功能解析

編程數(shù)據(jù)寬度

DMA控制器的通道可支持傳輸不同數(shù)據(jù)寬度,byte/halfword/word。通過(guò)DMA_CxCTRL中的PWIDTH和MWIDTH位可以對(duì)源數(shù)據(jù)和目標(biāo)數(shù)據(jù)的數(shù)據(jù)寬度進(jìn)行編程,通常情況下需要設(shè)置PWIDTH和MWIDTH位相等,當(dāng)PWIDTH不等于MWIDTH時(shí),會(huì)依據(jù)PWIDTH/MWIDTH設(shè)定將資料對(duì)齊。圖2. PWIDTH:byte, MWIDTH: half-word43b4de8c-d117-11ee-9118-92fbcf53809c.png圖3. PWIDTH: half-word, MWIDTH: word43cafcd0-d117-11ee-9118-92fbcf53809c.png

配置DMAMUX

在M2P與P2M模式下,必須配置DMAMUX,否則DMA不會(huì)響應(yīng)外設(shè)DMA請(qǐng)求。DMAMUX的作用是為外設(shè)的DMA請(qǐng)求復(fù)用通道,即任何一個(gè)外設(shè)的DMA請(qǐng)求可以映射到DMA1/DMA2的任意通道,這大大增加了DMA通道分配的靈活性。配置DMAMUX比較簡(jiǎn)單,只需調(diào)用專門(mén)提供的兩個(gè)接口函數(shù)即可:43d12f24-d117-11ee-9118-92fbcf53809c.png

配置請(qǐng)求生成器模塊

在配置了DMAMUX時(shí),可選擇配置DMA請(qǐng)求生成器模塊,模塊一共有4個(gè)請(qǐng)求生成器通道。此模塊無(wú)需任何傳統(tǒng)外設(shè)(如TIMER、SPI等)提供DMA請(qǐng)求,可通過(guò)外部EXINT輸入作為DMA請(qǐng)求源輸入。配置請(qǐng)求生成器模塊較為簡(jiǎn)單,只需調(diào)用專門(mén)提供的接口函數(shù)即可:43d53664-d117-11ee-9118-92fbcf53809c.png

配置請(qǐng)求同步模塊

在配置了DMAMUX時(shí),可選擇配置DMA同步模塊,模塊一共有7個(gè)同步通道。使能此功能后,當(dāng)外設(shè)產(chǎn)生DMA請(qǐng)求時(shí),DMA不會(huì)馬上響應(yīng)并傳輸數(shù)據(jù),而是要等待同步信號(hào)的到來(lái),當(dāng)接收到同步信號(hào)后,DMA才會(huì)根據(jù)配置傳輸數(shù)據(jù);同步信號(hào)可由外部EXINT輸入提供配置同步模塊較為簡(jiǎn)單,只需調(diào)用專門(mén)提供的接口函數(shù)即可:43ebb2ae-d117-11ee-9118-92fbcf53809c.png

DMA配置解析

以下對(duì)DMA的配置接口及流程進(jìn)行說(shuō)明。

函數(shù)接口

表2. 通道配置函數(shù)列表43f024e2-d117-11ee-9118-92fbcf53809c.png

數(shù)據(jù)流配置

  • 設(shè)置外設(shè)地址(CxPADDR寄存器)數(shù)據(jù)傳輸?shù)某跏纪庠O(shè)地址,在傳輸過(guò)程中不可被改變。
  • 設(shè)置存儲(chǔ)器地址(CxMADDR寄存器)數(shù)據(jù)傳輸?shù)某跏純?nèi)存地址,在傳輸過(guò)程中不可被改變。
  • 配置數(shù)據(jù)傳輸量(CxDTCNT寄存器)可編程的傳輸數(shù)據(jù)長(zhǎng)度最大為65535。在傳輸過(guò)程中,該傳輸數(shù)據(jù)量的值會(huì)逐漸遞減。

數(shù)據(jù)流配置(CxCTRL寄存器)

包含通道優(yōu)先級(jí),數(shù)據(jù)傳輸?shù)姆较颉挾?、地址增量模式、循環(huán)模式和中斷方式。

優(yōu)先級(jí)(CHPL)

分為4個(gè)等級(jí),最高優(yōu)先級(jí)、高優(yōu)先級(jí)、中等優(yōu)先級(jí)和低優(yōu)先級(jí)。

若有2個(gè)流優(yōu)先級(jí)設(shè)定相同,則較低編號(hào)的流有較高的優(yōu)先權(quán)。舉例,流1優(yōu)先于流2。

  • 數(shù)據(jù)傳輸方向(DTD)分為存儲(chǔ)器到外設(shè)(M2P),外設(shè)到存儲(chǔ)器(P2M)或存儲(chǔ)器到存儲(chǔ)器(M2M)傳輸。在存儲(chǔ)器到存儲(chǔ)器傳輸模式下不允許使用循環(huán)模式、雙緩沖模式和直接模式。數(shù)據(jù)傳輸寬度(PWIDTH/MWIDTH)根據(jù)實(shí)際使用情景,可配置寬度為byte、halfword、word。地址增量模式(PINCM/MINCM)當(dāng)通道配置設(shè)定為增量模式時(shí),下一筆傳輸?shù)牡刂穼⑹乔耙还P傳輸?shù)刂芳由蟼鬏攲挾龋≒WIDTH/MWIDTH)。循環(huán)模式(LM)當(dāng)流配置設(shè)定為循環(huán)模式時(shí),在最后一次傳輸后CxDTCNT寄存器的內(nèi)容會(huì)恢復(fù)成初始值。
  • 使能DMAMUX(MUXSEL寄存器的TBL_SEL位)在非存儲(chǔ)器到存儲(chǔ)器(M2M)模式下時(shí),需要使能DMAMUX功能,才能啟動(dòng)數(shù)據(jù)流響應(yīng)外設(shè)的DMA請(qǐng)求。
  • 寫(xiě)入外設(shè)ID號(hào)(MUXCxCTRL寄存器的REQSEL)在非存儲(chǔ)器到存儲(chǔ)器(M2M)模式下時(shí),需要將外設(shè)的DMA請(qǐng)求ID號(hào)寫(xiě)入,才能啟動(dòng)數(shù)據(jù)流響應(yīng)外設(shè)的DMA請(qǐng)求。
  • 打開(kāi)數(shù)據(jù)流(CxCTRL寄存器的CHEN位)

配置流程

  • 打開(kāi)DMA時(shí)鐘;
  • 調(diào)用通道復(fù)位函數(shù)復(fù)位數(shù)據(jù)流;
  • 調(diào)用結(jié)構(gòu)體初始化函數(shù)初始化通道配置結(jié)構(gòu)體;
  • 調(diào)用初始化函數(shù)初始化通道;
  • 調(diào)用DMAMUX使能函數(shù)以及ID號(hào)寫(xiě)入函數(shù)配置DMAMUX相關(guān)內(nèi)容;
  • 調(diào)用通道使能函數(shù)開(kāi)啟通道。

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

    關(guān)注

    112

    文章

    16103

    瀏覽量

    177073
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    556

    瀏覽量

    100344
  • 雅特力
    +關(guān)注

    關(guān)注

    0

    文章

    153

    瀏覽量

    7959
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AT32F423時(shí)鐘配置入門(mén)指南

    AT32F423時(shí)鐘配置本應(yīng)用入門(mén)指南主要介紹兩部分內(nèi)容:1、基于提供的V2.x.x 的板級(jí)支持包來(lái)進(jìn)行時(shí)鐘源碼的配置及修改2、如何使
    發(fā)表于 10-26 07:22

    AT32F423 DMA使用指南

    AT32F423 擁有 2 個(gè) DMA 控制器(DMA1/DMA2),每個(gè) DMA 支持 7 個(gè)通道且外設(shè)的
    發(fā)表于 10-26 06:51

    AT32F423入門(mén)使用指南

    AT32F423入門(mén)使用指南旨在讓用戶快速使用AT32F423xx 進(jìn)行項(xiàng)目開(kāi)發(fā)。
    發(fā)表于 10-26 06:37

    正式推出AT32F423系列超值型Cortex-M4F MCU

    AT32F423系列MCU最高主頻為150MHz,提供多達(dá)256KB Flash和48KB SRAM,包含1個(gè)高階外部?jī)?chǔ)存器(XMC)擴(kuò)展,兼容8080/6800模式作為L(zhǎng)CD并口。
    發(fā)表于 04-21 10:47 ?364次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>正式推出<b class='flag-5'>AT32F423</b>系列超值型Cortex-M4<b class='flag-5'>F</b> MCU

    發(fā)布超值型AT32F423系列MCU,以高性價(jià)比搶攻高性能應(yīng)用市場(chǎng)

    4月20日,正式推出AT32F423系列超值型Cortex-M4F MCU,內(nèi)建單精度浮點(diǎn)運(yùn)算單元(FPU),支持多管腳及封裝選擇,具
    的頭像 發(fā)表于 04-21 11:05 ?991次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>發(fā)布超值型<b class='flag-5'>AT32F423</b>系列MCU,以高性價(jià)比搶攻高性能應(yīng)用市場(chǎng)

    發(fā)布超值型AT32F423系列MCU,以高性價(jià)比搶攻高性能應(yīng)用市場(chǎng)

    4月20日,正式推出AT32F423系列超值型Cortex-M4F MCU,內(nèi)建單精度浮點(diǎn)運(yùn)算單元(FPU),支持多管腳及封裝選擇,具
    的頭像 發(fā)表于 04-21 13:49 ?569次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>發(fā)布超值型<b class='flag-5'>AT32F423</b>系列MCU,以高性價(jià)比搶攻高性能應(yīng)用市場(chǎng)

    力推出AT32F423系列超值型Cortex-M4F MCU

    AT32F423系列MCU最高主頻為150MHz,提供多達(dá)256KB Flash和48KB SRAM,包含1個(gè)高階外部?jī)?chǔ)存器(XMC)擴(kuò)展,兼容8080/6800模式作為L(zhǎng)CD并口。
    發(fā)表于 04-23 14:25 ?325次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b>力推出<b class='flag-5'>AT32F423</b>系列超值型Cortex-M4<b class='flag-5'>F</b> MCU

    重磅!發(fā)布全新超值型AT32F423系列MCU,以高性價(jià)比搶攻高性能應(yīng)用市場(chǎng)

    4月20日,正式推出AT32F423系列超值型Cortex-M4FMCU,內(nèi)建單精度浮點(diǎn)運(yùn)算單元(FPU),支持多管腳及封裝選擇,具備高效能、高集成和高性價(jià)比等特點(diǎn),為AT32家
    的頭像 發(fā)表于 04-25 11:44 ?1031次閱讀
    重磅!<b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>發(fā)布全新超值型<b class='flag-5'>AT32F423</b>系列MCU,以高性價(jià)比搶攻高性能應(yīng)用市場(chǎng)

    直播預(yù)告|超值型AT32F423新品發(fā)布,多管腳高性能滿足多元市場(chǎng)需求

    隨著工業(yè)自動(dòng)化、物聯(lián)網(wǎng)、5G等技術(shù)的不斷發(fā)展,各類新興智能終端設(shè)備的興起帶動(dòng)MCU需求快速成長(zhǎng)。全力打造高效能、高可靠性且具有競(jìng)爭(zhēng)的AT32系列MCU產(chǎn)品,日前推出
    的頭像 發(fā)表于 06-21 15:10 ?593次閱讀
    直播預(yù)告|<b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>超值型<b class='flag-5'>AT32F423</b>新品發(fā)布,多管腳高性能滿足多元市場(chǎng)需求

    AT32F423時(shí)鐘配置入門(mén)指南

    電子發(fā)燒友網(wǎng)站提供《AT32F423時(shí)鐘配置入門(mén)指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-31 09:37 ?0次下載
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F423</b>時(shí)鐘配置入門(mén)<b class='flag-5'>指南</b>

    AT32F423 I 2C使用指南

    電子發(fā)燒友網(wǎng)站提供《AT32F423 I 2C使用指南.pdf》資料免費(fèi)下載
    發(fā)表于 02-01 09:30 ?0次下載
    <b class='flag-5'>AT32F423</b> I 2C<b class='flag-5'>使用指南</b>

    AT32F423 GPIO使用指南

    GPIO特性AT32F423支持多達(dá)86個(gè)雙向I/O引腳,這些引腳分為6組,分別為PA0-PA15、PB0-PB15、PC0-PC15、PD0-PD15、PE0-PE15
    的頭像 發(fā)表于 03-05 08:18 ?800次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F423</b> GPIO<b class='flag-5'>使用指南</b>

    AT32F423 PWC使用指南

    關(guān)系電壓調(diào)節(jié)器,電壓調(diào)節(jié)器的幾個(gè)工作狀態(tài)省電模式,包括睡眠模式、深度睡眠模式、待機(jī)模式圖1.電源域框圖PWC基本功能解析供電方案功能介紹AT32F423MCU的供
    的頭像 發(fā)表于 03-05 08:18 ?559次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F423</b> PWC<b class='flag-5'>使用指南</b>

    AT32F423安全庫(kù)應(yīng)用筆記

    微控制器應(yīng)用中一項(xiàng)很重要的課題。因?yàn)檫@一重要的需求,AT32F423系列提供了安全庫(kù)區(qū)(SLIB)的功能,以防止重要的IP-Code被終端用戶的程序做修改或讀取,
    的頭像 發(fā)表于 05-14 08:14 ?764次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F423</b>安全庫(kù)應(yīng)用筆記

    AT32F423入門(mén)使用指南

    初步環(huán)境準(zhǔn)備開(kāi)發(fā)環(huán)境下載地址:
    的頭像 發(fā)表于 05-14 08:15 ?1249次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F423</b>入門(mén)<b class='flag-5'>使用指南</b>