淺談讓微控制器性能發揮極限的方法
若利用中斷,對于CPU處理能力而言,執行這類任務的成本太高,而且會增加延時,降低固定性。而采用事件系統和DMA控制器,開發人員就能夠避免CPU執行這些功能。這不僅可減少系統必須管理的中斷數量,而且還能簡化任務的實現和管理。
例如,在一個在特殊工作條件下向用戶發出警示信息的應用中,預先設置的聲音文件可以存儲在緩存中,再利用DMA通過適當的外設饋入到揚聲器,而利用定時器,事件系統就可以確保44,056KHz的準確數據率。此外還有一個額外的好處,因為頻率準確且穩定,聲音保真度也得以提高。從性能角度來看,只要配置了DMA和事件系統。
說這些任務變得更“自由”可能顯得有點夸張。不過,以這種方式執行這些任務,的確使其能夠適用于更寬范圍的應用。協處理器、DMA控制器和事件系統的結合能夠釋放控制器,讓它只進行信號處理,而不必把大部分資源消耗在信號的周期密集型采集工作上。這樣一來,就可以利用單個控制器管理多個高頻任務。這也簡化了系統設計,使用戶能夠以更低的成本在單個微控制器上執行更多任務,更容易實現多個信號之間的互連性,并提高能效。
對許多應用來說,能否支持多個任務可成為一項重要的產品差異化指標。例如,采用了DMA控制器和事件系統的電機控制應用,就能夠使微控制器釋放出足夠的資源,使開發人員能夠以在不增加系統材料成本的條件下實現PFC等先進功能。
除了通過卸載中斷來提高微控制器的性能和能力之外,事件系統還能夠把功耗最低降至1/7(具體數字取決于應用)。表2所示為一個需要每秒120萬周期的應用的功率相關數據。在12MHz時,微控制器只有10%的時間在工作模式下,其余時間都處于待機模式。執行DMA控制器和事件系統可以卸載大量CPU每秒必須執行的周期數,使微控制器進入閑置或睡眠模式。
表2 一個需要每秒120萬周期的應用的功率相關數據

總結
架構方面的改進提高了CPU的總體能力,使得嵌入式微控制器系統性能不斷提升。協處理器能夠從CPU卸載已詳細定義的計算密集型任務,DMA控制器可把整個系統的數據移動任務從CPU中解放出來,而事件系統可解決有關多個由頻率觸發中斷的瓶頸問題。通過減少系統必須處理的并行中斷的數目,開發人員能夠提高系統固定性,從而降低延時,提高信號的分辨率和精度,改善穩定性和可預測性,并增強系統可靠性。
評論