巧妙利用DMA來實現(xiàn)脈沖累加(Kinetis)
所屬分類:參考設計
上傳者:hanqi1236
文檔大?。?span>770 K
所需積分:0分積分不夠怎么辦,?
文檔介紹:Kinetis 系列 只有 一路 LPT 模塊 ,要實現(xiàn) 多路脈沖累加 (不進入中斷服務函數(shù),,不占用 CPU 資源),難道就沒方法了嗎,?就目前網上公開的資料來看,,貌似還沒有公開實現(xiàn)多路脈沖累加的方法吧,?都是靠 FTM 的 輸入捕捉 或者 GPIO 的觸發(fā)中斷,在中斷函數(shù)里進來累加,。其實,,Kinetis 的DMA模塊,是 可以實現(xiàn) 16路 15位 的 脈沖累加,。 完全可以不進入中斷服務函數(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專家下載不扣分;重復下載不扣分,,本人上傳資源不扣分,。