HC32F460 系列的 DMA 控制器

數(shù)量(個) 價格
10000 1.00元/個
  • 最小起訂: 1個
  • 發(fā)貨地址: 遼寧 沈陽市
  • 發(fā)布日期:2021-07-16
  • 訪問量:312
咨詢電話:188-7506-7453
打電話時請告知是在機電之家網(wǎng)上看到獲取更多優(yōu)惠。謝謝!
5

沈陽芯碩科技有限公司

實名認證 企業(yè)認證
  • 企業(yè)地址:

更多>>推薦產(chǎn)品

詳細參數(shù)
品牌其他型號HC32F460
封裝形式其他導電類型其他
封裝外形其他集成度其他
加工定制

產(chǎn)品詳情

1

摘要

本篇應用筆記主要介紹如何使用 HC32F460 系列芯片的 DMA 模塊傳輸數(shù)據(jù)。

2

DMA 簡介

什么是 DMA?

DMA(直接內存訪問控制器)功能塊可以不通過 CPU 高速傳輸數(shù)據(jù)。使用 DMA 能提高系統(tǒng)性能。

DMA 的重要特征?

DMA 獨立于 CPU 總線的總線,所以即便是在使用 CPU 總線的時候, DMA 也可進行傳輸操作。

3

HC32F460 系列的 DMA

3.1

簡介

HC32F460 系列 MCU 內部集成 DMAC 模塊,能夠在 CPU 不參與的情況下實現(xiàn)存儲器之間,存儲器和外圍功能模塊之間以及外圍功能模塊之間的數(shù)據(jù)交換。

3.2

說明

DMAC 總線獨立于 CPU 總線,按照 AMBA AHB-Lite 總線協(xié)議傳輸。

擁有 2 個 DMA 控制單元,共 8 個獨立通道,可以獨立操作不同的 DMA 傳輸功能。兩個控制單元受不同處理器控制,可以同時獨立使用。每個通道的啟動資源通過獨立的觸發(fā)源選擇寄存器配置。每次請求傳輸一個數(shù)據(jù)塊,數(shù)據(jù)塊最小為 1 個數(shù)據(jù),最多為 1024 個數(shù)據(jù)。每個數(shù)據(jù)的寬度可配置為 8bit,16bit,32bit。源地址和目標地址可以獨立配置為固定、自增、自減、循環(huán)或偏移量的跳轉??僧a(chǎn)生 3 種中斷:塊傳輸完成中斷,傳輸完成中斷,傳輸錯誤中斷。每種中斷都可配置是否屏蔽。其中塊傳輸完成,傳輸完成可作為事件輸出,作為其他外圍模塊的觸發(fā)源。支持連鎖傳輸功能,可實現(xiàn)一次請求傳輸多個數(shù)據(jù)塊。支持外部事件觸發(fā)通道重置。不使用時可設置進入模塊停止狀態(tài)以降低功耗。

3.2.1 寄存器介紹

1) DMA_EN:DMA 使能寄存器,使能或關閉 DMA 模塊。

2) DMA_CHEN:通道使能寄存器,使能或關閉 DMA 通道,bit0~3 分別對應一個通道。

3) DMA_INSTAT0~1:中斷狀態(tài)寄存器(傳輸請求溢出錯誤中斷、傳輸錯誤中斷、塊傳輸完成中斷、傳輸完成中斷)。

4) DMA_INTMASK0~1:中斷屏蔽寄存器,配置各中斷是否屏蔽。

5) DMA_INTCLR0~1:中斷復位寄存器,清空中斷狀態(tài)標志位。

6) DMA_RCFGCTL:通道重置寄存器,配置 DMA 重置后的相關參數(shù),包括:剩余傳輸次數(shù)計數(shù)方式、目標/源地址重置方式、通道選擇、鏈式傳輸?shù)取?

7) DMA_CHSTAT:通道狀態(tài)觀測寄存器。

8) DMA_TRGSEL0~3:觸發(fā)源選擇寄存器,配置各通道啟動傳輸?shù)挠|發(fā)源,配置前需打開PWR_FCG0 寄存器的 AOS 位。

9) DMA_TRGSELRC:通道重置觸發(fā)源選擇寄存器,配置啟動通道重置的觸發(fā)源。

10) DMA_SAR0~3:源地址寄存器,配置傳輸源地址。

11) DMA_DAR0~3:目標地址寄存器,配置傳輸目標地址。

12) DMA_DTCTL0~3:數(shù)據(jù)控制寄存器,配置傳輸次數(shù)和數(shù)據(jù)塊大小。

13) DMA_RPT0~3:重復區(qū)域大小寄存器,配置源地址和目標地址重復區(qū)域大小。

14) DMA_RPTBB0~3: 重復區(qū)域大小寄存器 B,配置源地址和目標地址重復區(qū)域大小。

15) DMA_SNSEQCTL0~3: 源設備不連續(xù)地址傳輸控制寄存器,配置源地址跳轉的地址偏移和源地址跳轉的數(shù)據(jù)量

16) DMA_SNSEQCTLB0~3: 源設備不連續(xù)地址傳輸控制寄存器 B,配置源不連續(xù)區(qū)域地址間距和源地址跳轉的數(shù)據(jù)量

17) DMA_DNSEQCTL0~3: 目標設備不連續(xù)地址傳輸控制寄存器,配置目標地址跳轉的地址偏移量和數(shù)據(jù)量

18) DMA_DNSEQCTLB0~3: 目標設備不連續(xù)地址傳輸控制寄存器 B,配置目標不連續(xù)區(qū)域地址間距和目標地址跳轉數(shù)據(jù)量

19) DMA_LLP0~3: 鏈指針寄存器,配置鏈指針

20) DMA_CHxCTL(x=0~3):通道控制寄存器

21) DMA_MONSARx , DMA_MONDARx , DMA_MONDTCTLx , DMA_MONRPTx ,DMA_MONSNSEQCTLx,DMA_MONDNSEQCTLx:通道監(jiān)視寄存器,DMA 每完成一次傳輸請求后更新

3.2.2 工作流程介紹

本章節(jié)主要介紹 DMA 傳輸模式的設置和運行流程。

1) 重載傳輸

該傳輸可以配置源地址、目標地址在增加/減少至寄存器配置的重復區(qū)域大小時重新返回至最初的地址設定值。重復區(qū)域的大小由寄存器 DMA_RPT DMA_CHxCTL.HSIZE 的設定值決定。

2) 不連續(xù)傳輸

該傳輸可以傳輸數(shù)量的數(shù)據(jù)后,地址將跳過偏移量,當?shù)刂分剌d與不連續(xù)跳轉的條件同時滿足時,執(zhí)行地址重載。

3) 連鎖傳輸

該傳輸當一個描述符的最后傳輸結束時,LLP 下一個描述符將被從存儲器中載入通道配置寄存器。等待下一次傳輸請求輸入,開始新描述符的一次傳輸?;蛘吒鶕?jù)寄存器 DMA_CHxCTLx.LLPRUN 的設置,在載入新描述符后直接開始一次傳輸。

4) 通道重置傳輸

通道重置功能,是指通過外圍電路的事件請求來修改通道內部狀態(tài)寄存器,重新配置下一次數(shù)據(jù)的傳輸方式。

5) 傳輸提前終止

傳輸過程中通道使能寄存器 DMA_CHEN.CHENx 保持有效,非連鎖傳輸時,數(shù)據(jù)控制寄存器 DMA_DTCTLx 設定的傳輸次數(shù)完成后自動置為無效,連鎖傳輸時,最后傳輸?shù)膫鬏敶螖?shù)完成后自動置為無效。傳輸過程中如果軟件寫 DMA_CHEN.CHENx 為 0,則 DMA將在完成當次數(shù)據(jù)讀寫后終止傳輸。

4

樣例代碼

4.1

代碼介紹

用戶可根據(jù)上述的工作流程編寫自己的代碼來學習驗證該模塊,也可以直接通過華大半導體的網(wǎng)站下載到設備驅動庫(Device Driver Library, DDL)的樣例代碼并使用其中的 DMA 的樣例進行驗證。

4.2 代碼運行

用戶可以通過華大半導體的網(wǎng)站下載到 HC32F460 的 DDL 的樣例代碼

(dmac_reload_address),并配合評估用板(EV-HC32F460-LQFP100-050-V1.1)運行相關代碼學習使用 DMA 模塊。以下部分主要介紹如何在評估板上運行 DMA 樣例代碼并觀察結果:

- 確認安裝正確的 IAR EWARM v7.7 工具(請從 IAR 官方網(wǎng)站下載相應的安裝包,并參考用戶手冊進行安裝)。

- 從華大半導體網(wǎng)站下載 HC32F460 DDL 代碼。

溫馨提示

  • 還沒找到想要的產(chǎn)品嗎? 立即發(fā)布采購信息,讓供應商主動與您聯(lián)系!

免責聲明:所展示的信息由會員自行提供,內容的真實性、準確性和合法性由發(fā)布會員負責,機電之家網(wǎng)對此不承擔任何責任。機電之家網(wǎng)不涉及用戶間因交易而產(chǎn)生的法律關系及法律糾紛,糾紛由您自行協(xié)商解決。
友情提醒:本網(wǎng)站僅作為用戶尋找交易對象,就貨物和服務的交易進行協(xié)商,以及獲取各類與貿易相關的服務信息的平臺。為避免產(chǎn)生購買風險,建議您在購買相關產(chǎn)品前務必確認供應商資質及產(chǎn)品質量。過低的價格、夸張的描述、私人銀行賬戶等都有可能是虛假信息,請采購商謹慎對待,謹防欺詐,對于任何付款行為請您慎重抉擇!如您遇到欺詐等不誠信行為,請您立即與機電之家網(wǎng)聯(lián)系,如查證屬實,機電之家網(wǎng)會對該企業(yè)商鋪做注銷處理,但機電之家網(wǎng)不對您因此造成的損失承擔責任!
您也可以進入“消費者防騙指南”了解投訴及處理流程,我們將竭誠為您服務,感謝您對機電之家網(wǎng)的關注與支持!

您是不是在找