国产精品VA在线观看无码,免费AV一区二区三区,国产激情免费视频在线观看,国产激情久久久久影院

HC32F460 系列的 DMA 控制器

1
摘要
本篇應用筆記主要介紹如何使用 hc32f460 系列芯片的 dma 模塊傳輸數據。
2
dma 簡介
什么是 dma?
dma(直接內存訪問控制器)功能塊可以不通過 cpu 高速傳輸數據。使用 dma 能提高系統性能。
dma 的重要特征?
dma 獨立于 cpu 總線的總線,所以即便是在使用 cpu 總線的時候, dma 也可進行傳輸操作。
3
hc32f460 系列的 dma
3.1
簡介
hc32f460 系列 mcu 內部集成 dmac 模塊,能夠在 cpu 不參與的情況下實現存儲器之間,存儲器和外圍功能模塊之間以及外圍功能模塊之間的數據交換。
3.2
說明
dmac 總線獨立于 cpu 總線,按照 amba ahb-lite 總線協議傳輸。
擁有 2 個 dma 控制單元,共 8 個獨立通道,可以獨立操作不同的 dma 傳輸功能。兩個控制單元受不同處理器控制,可以同時獨立使用。每個通道的啟動資源通過獨立的觸發源選擇寄存器配置。每次請求傳輸一個數據塊,數據塊最小為 1 個數據,最多為 1024 個數據。每個數據的寬度可配置為 8bit,16bit,32bit。源地址和目標地址可以獨立配置為固定、自增、自減、循環或偏移量的跳轉。可產生 3 種中斷:塊傳輸完成中斷,傳輸完成中斷,傳輸錯誤中斷。每種中斷都可配置是否屏蔽。其中塊傳輸完成,傳輸完成可作為事件輸出,作為其他外圍模塊的觸發源。支持連鎖傳輸功能,可實現一次請求傳輸多個數據塊。支持外部事件觸發通道重置。不使用時可設置進入模塊停止狀態以降低功耗。
3.2.1 寄存器介紹
1) dma_en:dma 使能寄存器,使能或關閉 dma 模塊。
2) dma_chen:通道使能寄存器,使能或關閉 dma 通道,bit0~3 分別對應一個通道。
3) dma_instat0~1:中斷狀態寄存器(傳輸請求溢出錯誤中斷、傳輸錯誤中斷、塊傳輸完成中斷、傳輸完成中斷)。
4) dma_intmask0~1:中斷屏蔽寄存器,配置各中斷是否屏蔽。
5) dma_intclr0~1:中斷復位寄存器,清空中斷狀態標志位。
6) dma_rcfgctl:通道重置寄存器,配置 dma 重置后的相關參數,包括:剩余傳輸次數計數方式、目標/源地址重置方式、通道選擇、鏈式傳輸等。
7) dma_chstat:通道狀態觀測寄存器。
8) dma_trgsel0~3:觸發源選擇寄存器,配置各通道啟動傳輸的觸發源,配置前需打開pwr_fcg0 寄存器的 aos 位。
9) dma_trgselrc:通道重置觸發源選擇寄存器,配置啟動通道重置的觸發源。
10) dma_sar0~3:源地址寄存器,配置傳輸源地址。
11) dma_dar0~3:目標地址寄存器,配置傳輸目標地址。
12) dma_dtctl0~3:數據控制寄存器,配置傳輸次數和數據塊大小。
13) dma_rpt0~3:重復區域大小寄存器,配置源地址和目標地址重復區域大小。
14) dma_rptbb0~3: 重復區域大小寄存器 b,配置源地址和目標地址重復區域大小。
15) dma_snseqctl0~3: 源設備不連續地址傳輸控制寄存器,配置源地址跳轉的地址偏移和源地址跳轉的數據量
16) dma_snseqctlb0~3: 源設備不連續地址傳輸控制寄存器 b,配置源不連續區域地址間距和源地址跳轉的數據量
17) dma_dnseqctl0~3: 目標設備不連續地址傳輸控制寄存器,配置目標地址跳轉的地址偏移量和數據量
18) dma_dnseqctlb0~3: 目標設備不連續地址傳輸控制寄存器 b,配置目標不連續區域地址間距和目標地址跳轉數據量
19) dma_llp0~3: 鏈指針寄存器,配置鏈指針
20) dma_chxctl(x=0~3):通道控制寄存器
21) dma_monsarx , dma_mondarx , dma_mondtctlx , dma_monrptx ,dma_monsnseqctlx,dma_mondnseqctlx:通道監視寄存器,dma 每完成一次傳輸請求后更新
3.2.2 工作流程介紹
本章節主要介紹 dma 傳輸模式的設置和運行流程。
1) 重載傳輸
該傳輸可以配置源地址、目標地址在增加/減少至寄存器配置的重復區域大小時重新返回至最初的地址設定值。重復區域的大小由寄存器 dma_rpt dma_chxctl.hsize 的設定值決定。
2) 不連續傳輸
該傳輸可以傳輸數量的數據后,地址將跳過偏移量,當地址重載與不連續跳轉的條件同時滿足時,執行地址重載。
3) 連鎖傳輸
該傳輸當一個描述符的最后傳輸結束時,llp 的下一個描述符將被從存儲器中載入通道配置寄存器。等待下一次傳輸請求輸入,開始新描述符的一次傳輸。或者根據寄存器 dma_chxctlx.llprun 的設置,在載入新描述符后直接開始一次傳輸。
4) 通道重置傳輸
通道重置功能,是指通過外圍電路的事件請求來修改通道內部狀態寄存器,重新配置下一次數據的傳輸方式。
5) 傳輸提前終止
傳輸過程中通道使能寄存器 dma_chen.chenx 保持有效,非連鎖傳輸時,數據控制寄存器 dma_dtctlx 設定的傳輸次數完成后自動置為無效,連鎖傳輸時,最后傳輸的傳輸次數完成后自動置為無效。傳輸過程中如果軟件寫 dma_chen.chenx 為 0,則 dma將在完成當次數據讀寫后終止傳輸。
4
樣例代碼
4.1
代碼介紹
用戶可根據上述的工作流程編寫自己的代碼來學習驗證該模塊。
4.2 代碼運行
用戶可以通過華大半導體的網站導到 hc32f460 的 ddl 的樣例代碼
(dmac_reload_address),并配合評估用板(ev-hc32f460-lqfp100-050-v1.1)運行相關代碼學習使用 dma 模塊。以下部分主要介紹如何在評估板上運行 dma 樣例代碼并觀察結果:
- 確認安裝正確的 iar ewarm v7.7 工具(請從 iar 網站找相應的安裝包,并參考用戶手冊進行安裝)。
- 從華大半導體網站找到 hc32f460 ddl 代碼。

*園洗手池價格-鄂爾多斯*園洗手池-琦凱不銹鋼衛生潔具廠

二手熔金爐廠家-熔金爐廠家-北京京國藝(查看)

濰坊到銅仁物流專線專線

鄂爾多斯肯德基門-安裝肯德基門價格-德亞鋁業(推薦商家)

160雙向汽油平板夯 瀝青路面可逆夯實機

汽輪機通流改造技術-安徽譽特雙節能公司

PINTECH品致PT-740鉗形電流探頭

黑龍江礦用噴霧裝置性價比高 山東天盛科大電氣股份供應

河南自助雙面填單臺-自助雙面填單臺定做-濟南大森(推薦商家)

泉州預埋板-廈門宏萬祥幕墻配件-鯉城區預埋板