1
摘要
本篇應用筆記主要介紹 HC32F460 系列芯片的數據計算單元(Data Computing Unit, DCU)模塊,并通過硬件事件觸發運算操作。
2
DCU 簡介
數據計算單元(Data Computing Unit)是一個不借助于 CPU 的簡單處理數據的模塊。每個 DCU單元具有 3 個數據寄存器,能夠進行 2 個數據的加減和比較大小,以及窗口比較功能。
3
HC32F460 系列的 DCU
3.1
簡介
HC32F460 系列的 MCU 搭載 4 個 DCU 單元,每個單元均可獨立完成自身功能。
3.2
說明
3.2.1 DCU 功能
?
可進行 4 種數據處理:2 個數據的加法,減法,比較以及 3 個數據窗口比較。
?
加法和減法對 DATA0 和 DATA1 寄存器中的數據進行運算,結果存放在 DATA0 中。
?
加法和減法可以選擇寫寄存器后計算或由其他外圍電路事件觸發進行運算。
?
加法和減法運算可自動將結果進行一次減半操作,并將減半的結果和加減運算的結果分別放入 2 個數據寄存器內供其他模塊使用。
?
比較模式可以對 DATA0 和 DATA1 寄存器之間,以及 DATA0 和 DATA2 寄存器之間的 2個數據進行比較,可以分別選擇當滿足大于,小于,等于時產生中斷和標志位。
?
比較模式可以用來進行窗口比較,即分別設置 DATA1 和 DATA2 為窗口的上下限,根據DATA0 和 DATA1 及 DATA0 和 DATA2 的比較結果判斷 DATA0 在窗口內或窗口外。
?
能夠由其他外圍電路事件觸發進行運算,并根據運算結果產生多種中斷和事件信號,事件信號用于當其他具有硬件觸發啟動功能的外圍電路選擇 DCU 作為觸發源時,由 DCU 產生
3.2.2 寄存器介紹
3.2.3 工作流程介紹
在本節主要介紹本 AN 使用的樣例 dcu_hw_trigger_add 的工作流程。
4
樣例代碼
4.1
代碼介紹
用戶可根據上述的工作流程編寫自己的代碼來學習驗證該模塊,也可以直接通過華大半導體的網站下載到設備驅動庫(Device Driver Library, DDL)的樣例代碼并使用其中的 DCU 的樣例進行驗證。
4.2 代碼運行
用戶可以通過華大半導體的網站下載到 HC32F460 的 DDL 的樣例代碼
(dcu_hw_trigger_add),并配合評估用板(EV-HC32F460-LQFP100-050-V1.1)運行相關代碼學習使用 DCU 模塊。
以下部分主要介紹如何在評估板上運行 DCU 樣例代碼并觀察結果:
- 確認安裝正確的 IAR EWARM v7.7 工具(請從 IAR *網站下載相應的安裝包,并參考用戶手冊進行安裝)。
- 從華大半導體網站下載 HC32F460 DDL 代碼。
- 下載并運行 dcudcu_hw_trigger_add中的工程文件:
5
總結
以上章節簡要介紹了 HC32F460 系列的 DCU,說明了 DCU 模塊的寄存器及部分操作流程,并且演示了如何使用 DCU 樣例代碼,在實際開發中用戶可以根據自己的需要配置和使用 DCU模塊。