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

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

3天內不再提示

AT32講堂058 | 雅特力AT32F425 DMA使用指南

雅特力 AT32 MCU ? 2023-06-21 17:19 ? 次閱讀

DMA簡介

IDMA控制器的作用不僅在增強系統(tǒng)性能并減少處理器的中斷生成,而且還針對32位MCU應用程序專門優(yōu)化設計。DMA控制器為存儲器到存儲器,存儲器到外設和外設到存儲器的傳輸提供了7個通道。每個通道都支持外設的DMA請求映射到任意通道上。圖1. DMA控制器架構b97e8c0e-1014-11ee-a579-dac502259ad0.png

DMA請求彈性映射簡介

在使用AT43F425xx系列DMA時,必須配置DMA請求彈性映射功能,否則DMA不會運作。DMA請求彈性映射可將任意一個外設產(chǎn)生的DMA請求映射到通道1到通道7中的任意一個通道。當設定彈性模式時(DMA_FLEX_EN=1),每個通道的請求來源由CHx_SRC來設定[x=1~7]。使用例子:假如DMA通道1指定成I2C1_TX,通道3要指定成I2C1_RX,其他不使用,則設定上必須是DMA_FLEX_EN=1,CH1_SRC=11,CH3_SRC=10,CH[2/4/5/6/7]_SRC=0。CHx_SRC設定值對應請求來源見下表:各IP對應ID號如下表:表1. 各IP對應ID號列表b98b510a-1014-11ee-a579-dac502259ad0.png注:表格中“CHx_SRC”為ID號;“請求來源”為各IP的DMA請求。

DMA功能解析

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

DMA控制器的通道可支持傳輸不同數(shù)據(jù)寬度,byte/halfword/word。通過DMA_CxCTRL中的PWIDTH和MWIDTH位可以對源數(shù)據(jù)和目標數(shù)據(jù)的數(shù)據(jù)寬度進行編程,通常情況下需要設置PWIDTH和MWIDTH位相等,當PWIDTH不等于MWIDTH時,會依據(jù)PWIDTH/MWIDTH設定將資料對齊。圖2. PWIDTH:byte, MWIDTH:half-wordb9b34692-1014-11ee-a579-dac502259ad0.png圖3. PWIDTH:half-word, MWIDTH:wordb9c2507e-1014-11ee-a579-dac502259ad0.png

配置DMA彈性映射

在M2P與P2M模式下,必須配置DMA彈性映射,否則DMA不會響應外設DMA請求。DMA彈性映射的作用是為外設的DMA請求復用通道,即任何一個外設的DMA請求可以映射到DMA1的任意通道,這大大增加了DMA通道分配的靈活性。配置DMA彈性映射比較簡單,只需調用專門提供的接口函數(shù)即可:b9d0e2e2-1014-11ee-a579-dac502259ad0.png

DMA配置解析

以下對DMA的配置接口及流程進行說明。

函數(shù)接口

表2. 通道配置函數(shù)列表b9dc0bd6-1014-11ee-a579-dac502259ad0.png

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

設置外設地址(CxPADDR寄存器

數(shù)據(jù)傳輸?shù)某跏纪庠O地址,在傳輸過程中不可被改變。

設置存儲器地址(CxMADDR寄存器)

數(shù)據(jù)傳輸?shù)某跏純却娴刂?,在傳輸過程中不可被改變。

配置數(shù)據(jù)傳輸量(CxDTCNT寄存器)

可編程的傳輸數(shù)據(jù)長度最大為65535。在傳輸過程中,該傳輸數(shù)據(jù)量的值會逐漸遞減。

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

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

優(yōu)先級(CHPL)

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

若有2個流優(yōu)先級設定相同,則較低編號的流有較高的優(yōu)先權。舉例,通道1優(yōu)先于通道2。

數(shù)據(jù)傳輸方向(DTD)

分為存儲器到外設(M2P),外設到存儲器(P2M)或存儲器到存儲器(M2M)傳輸。在存儲器到存儲器傳輸模式下不允許使用循環(huán)模式、雙緩沖模式和直接模式。

數(shù)據(jù)傳輸寬度(PWIDTH/MWIDTH)

根據(jù)實際使用情景,可配置寬度為byte、halfword、word。

地址增量模式(PINCM/MINCM)

當通道配置設定為增量模式時,下一筆傳輸?shù)牡刂穼⑹乔耙还P傳輸?shù)刂芳由蟼鬏攲挾龋≒WIDTH/MWIDTH)。

循環(huán)模式(LM)

當流配置設定為循環(huán)模式時,在最后一次傳輸后CxDTCNT寄存器的內容會恢復成初始值。

配置DMA彈性映射(DMA_SRC_SELx寄存器的CHx_SRC)

在非存儲器到存儲器(M2M)模式下時,需要將外設的DMA請求DMA請求號寫入,才能啟動通道響應外設的DMA請求。

打開通道(CxCTRL寄存器的CHEN位)

配置流程

打開DMA時鐘;

調用通道復位函數(shù)復位數(shù)據(jù)流;

調用結構體初始化函數(shù)初始化通道配置結構體;

調用初始化函數(shù)初始化通道;

調用DMA請求映射使能函數(shù)配置彈性映射功能;

調用通道使能函數(shù)開啟通道。

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

    關注

    3

    文章

    558

    瀏覽量

    100347
  • AT32
    +關注

    關注

    1

    文章

    111

    瀏覽量

    2058
收藏 人收藏

    評論

    相關推薦

    AT32講堂088 | AT32F402/F405時鐘配置

    介紹如何結合提供的V2.x.x的板級支持包(BSP)來配置時鐘。以下介紹時鐘配置的方法主要分兩種:1、以手動編寫代碼調用BSP中提供的驅動函數(shù)接口來進行時鐘配
    的頭像 發(fā)表于 09-15 08:08 ?344次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>088 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>402/<b class='flag-5'>F</b>405時鐘配置

    AT32講堂087 | AT32 IDE快速入門指南

    新建項目新項目向導AT32ID提供支持MCU的C語言項目模板,方便用戶快速創(chuàng)建項目。菜單欄【File】>【New】>【CProject】。新建項目向導的對話框將出現(xiàn)。在對
    的頭像 發(fā)表于 09-15 08:08 ?319次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>087 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> IDE快速入門<b class='flag-5'>指南</b>

    STM32CUBEMX(7)--移植AT32F403AVGT(兼容STM32F103VGT6),DAC輸出電壓

    概述 本篇文章主要介紹如何使用STM32CubeMX移植到AT32F403AVGT7,并通過DAC輸出電壓,在芯片中有2個12位的DAC口可以供選擇。 硬件準備 首先需要準備一
    發(fā)表于 09-06 16:40

    AT32講堂085 | AT32 MCU HICK時鐘校準

    簡介AT32系列MCU內部都有提供適合運行的內部高速時鐘(HICK),其本質就是內置于芯片的RC振蕩器。在25℃下,其典型值頻率8MHz的精度由工廠校準到±1%,在-40到105℃,該內部高速時鐘
    的頭像 發(fā)表于 08-30 12:26 ?471次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>085 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> MCU HICK時鐘校準

    AT32 MCU通過IEC 60730功能安全認證,為家電產(chǎn)品提供安全保障

    ??近日,AT32MCU安全庫順利通過IEC60730功能安全認證,為家電產(chǎn)品提供安全質量保證。國際公認的測試、檢驗和認證機構SGS為
    的頭像 發(fā)表于 05-20 08:15 ?497次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> MCU通過IEC 60730功能安全認證,為家電產(chǎn)品提供安全保障

    AT32F423入門使用指南

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

    AT32 MCU與SEGGER攜手合作,開發(fā)量產(chǎn)事半功倍

    近日,與SEGGER共同宣布J-Link仿真調試器與Flasher在線燒錄器全面支持AT32 MCU產(chǎn)品,SEGGER工具鏈的加持使AT32
    的頭像 發(fā)表于 02-23 10:27 ?341次閱讀

    AT32F423 DMA使用指南

    DMA簡介DMA控制器的作用不僅在增強系統(tǒng)性能并減少處理器的中斷生成,而且還針對32位MCU應用程序專門優(yōu)化設計。DMA控制器為存儲器到存儲器,存儲器到外設和外設到存儲器的傳輸提供了7個通道。每個
    的頭像 發(fā)表于 02-22 08:13 ?602次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>423 <b class='flag-5'>DMA</b><b class='flag-5'>使用指南</b>

    AT32 MCU與SEGGER攜手合作,開發(fā)量產(chǎn)事半功倍

    近日,與SEGGER共同宣布J-Link仿真調試器與Flasher在線燒錄器全面支持AT32MCU產(chǎn)品,SEGGER工具鏈的加持使AT32MCU開發(fā)如虎添翼。
    的頭像 發(fā)表于 02-22 08:13 ?437次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> MCU與SEGGER攜手合作,開發(fā)量產(chǎn)事半功倍

    AT32F423時鐘配置

    介紹如何結合提供的V2.x.x的板級支持包(BSP)來配置時鐘。以下介紹時鐘配置的方法主要分兩種:1、以手動編寫代碼調用BSP中提供的驅動函數(shù)接口來進行時鐘配
    的頭像 發(fā)表于 02-19 13:26 ?540次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>423時鐘配置

    AT32F423時鐘配置入門指南

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

    AT32F425入門使用指南

    電子發(fā)燒友網(wǎng)站提供《AT32F425入門使用指南.pdf》資料免費下載
    發(fā)表于 12-18 11:14 ?6次下載
    <b class='flag-5'>AT32F425</b>入門<b class='flag-5'>使用指南</b>

    AT32F435 & AT32F437入門使用指南

    電子發(fā)燒友網(wǎng)站提供《AT32F435 & AT32F437入門使用指南.pdf》資料免費下載
    發(fā)表于 12-18 11:13 ?1次下載
    AT32<b class='flag-5'>F</b>435 & AT32<b class='flag-5'>F</b>437入門<b class='flag-5'>使用指南</b>

    AT32 MCU實現(xiàn)高效電機驅動控制與應用

    發(fā)展。受邀出席此次會議,產(chǎn)品市場總監(jiān)林金海發(fā)表了題為“AT32MCU實現(xiàn)高效電機驅動
    的頭像 發(fā)表于 11-17 08:15 ?783次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> MCU實現(xiàn)高效電機驅動控制與應用

    與您相約2023電機控制先進技術研討會

    由電子發(fā)燒友主辦的2023電機控制先進技術研討會將于11月16日在深圳益田威斯汀酒店舉辦。產(chǎn)品市場總監(jiān)林金海將發(fā)表“
    的頭像 發(fā)表于 11-14 08:15 ?543次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>與您相約2023電機控制先進技術研討會