DMA簡介
IDMA控制器的作用不僅在增強系統(tǒng)性能并減少處理器的中斷生成,而且還針對32位MCU應用程序專門優(yōu)化設計。DMA控制器為存儲器到存儲器,存儲器到外設和外設到存儲器的傳輸提供了7個通道。每個通道都支持外設的DMA請求映射到任意通道上。圖1. DMA控制器架構
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號列表注:表格中“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-word圖3. PWIDTH:half-word, MWIDTH:word
配置DMA彈性映射
在M2P與P2M模式下,必須配置DMA彈性映射,否則DMA不會響應外設DMA請求。DMA彈性映射的作用是為外設的DMA請求復用通道,即任何一個外設的DMA請求可以映射到DMA1的任意通道,這大大增加了DMA通道分配的靈活性。配置DMA彈性映射比較簡單,只需調用專門提供的接口函數(shù)即可:
DMA配置解析
以下對DMA的配置接口及流程進行說明。
函數(shù)接口
表2. 通道配置函數(shù)列表
數(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ù)開啟通道。
-
dma
+關注
關注
3文章
558瀏覽量
100347 -
AT32
+關注
關注
1文章
111瀏覽量
2058
發(fā)布評論請先 登錄
相關推薦
評論