巧妙利用DMA來實現(xiàn)脈沖累加(Kinetis) | |
所屬分類:參考設(shè)計 | |
上傳者:hanqi1236 | |
文檔大小:770 K | |
所需積分:0分積分不夠怎么辦,? | |
文檔介紹:Kinetis 系列 只有 一路 LPT 模塊 ,,要實現(xiàn) 多路脈沖累加 (不進入中斷服務(wù)函數(shù),不占用 CPU 資源),,難道就沒方法了嗎,?就目前網(wǎng)上公開的資料來看,貌似還沒有公開實現(xiàn)多路脈沖累加的方法吧,?都是靠 FTM 的 輸入捕捉 或者 GPIO 的觸發(fā)中斷,,在中斷函數(shù)里進來累加。其實,,Kinetis 的DMA模塊,,是 可以實現(xiàn) 16路 15位 的 脈沖累加。 完全可以不進入中斷服務(wù)函數(shù),,由硬件進行累加,。徹底解決 Kinetis單片機不能多路脈沖累加的功能 …… 可通過增加個中斷來實現(xiàn)拓展計數(shù)位數(shù),幾乎不影響CPU…… 實測 30KHz 的PWM脈沖波 ,,用PIT 來 1秒定時,,讀取到脈沖波:30012個 ,比 LPT誤差還更小……與 LPT 相比,,我們的方法是巧妙借用了 DMA 每次傳輸,,會自動減1 的功能 (硬件實現(xiàn)的)而 LPT 則是一個計數(shù)器 ,兩種的原理是不一樣的……實測 30KHz 的PWM脈沖波 ,,用PIT 來 1秒定時,,讀取到脈沖波:30012個 ,,比 LPT誤差還更小……函數(shù)接口非常方便…… DMA_count_Init 初始化…… DMA_count_get 獲取計數(shù)值…… DMA_count_reset 重新計數(shù)…… | |
現(xiàn)在下載 | |
VIP會員,AET專家下載不扣分,;重復(fù)下載不扣分,,本人上傳資源不扣分。 |
Copyright ? 2005-2024 華北計算機系統(tǒng)工程研究所版權(quán)所有 京ICP備10017138號-2