亚洲国产精品无码久久青草多少集|亚洲卡通av动漫公交车|五月婷婷综合资源在线观看|日韩免费性爱视频观看

HC32F460 系列的 DMA 控制器

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

*園洗手池價(jià)格-鄂爾多斯*園洗手池-琦凱不銹鋼衛(wèi)生潔具廠

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

濰坊到銅仁物流專線專線

鄂爾多斯肯德基門(mén)-安裝肯德基門(mén)價(jià)格-德亞鋁業(yè)(推薦商家)

160雙向汽油平板夯 瀝青路面可逆夯實(shí)機(jī)

汽輪機(jī)通流改造技術(shù)-安徽譽(yù)特雙節(jié)能公司

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

黑龍江礦用噴霧裝置性價(jià)比高 山東天盛科大電氣股份供應(yīng)

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

泉州預(yù)埋板-廈門(mén)宏萬(wàn)祥幕墻配件-鯉城區(qū)預(yù)埋板