淺談讓微控制器性能發(fā)揮極限的方法
若利用中斷,對(duì)于CPU處理能力而言,執(zhí)行這類任務(wù)的成本太高,而且會(huì)增加延時(shí),降低固定性。而采用事件系統(tǒng)和DMA控制器,開發(fā)人員就能夠避免CPU執(zhí)行這些功能。這不僅可減少系統(tǒng)必須管理的中斷數(shù)量,而且還能簡(jiǎn)化任務(wù)的實(shí)現(xiàn)和管理。
例如,在一個(gè)在特殊工作條件下向用戶發(fā)出警示信息的應(yīng)用中,預(yù)先設(shè)置的聲音文件可以存儲(chǔ)在緩存中,再利用DMA通過適當(dāng)?shù)耐庠O(shè)饋入到揚(yáng)聲器,而利用定時(shí)器,事件系統(tǒng)就可以確保44,056KHz的準(zhǔn)確數(shù)據(jù)率。此外還有一個(gè)額外的好處,因?yàn)轭l率準(zhǔn)確且穩(wěn)定,聲音保真度也得以提高。從性能角度來看,只要配置了DMA和事件系統(tǒng)。
說這些任務(wù)變得更“自由”可能顯得有點(diǎn)夸張。不過,以這種方式執(zhí)行這些任務(wù),的確使其能夠適用于更寬范圍的應(yīng)用。協(xié)處理器、DMA控制器和事件系統(tǒng)的結(jié)合能夠釋放控制器,讓它只進(jìn)行信號(hào)處理,而不必把大部分資源消耗在信號(hào)的周期密集型采集工作上。這樣一來,就可以利用單個(gè)控制器管理多個(gè)高頻任務(wù)。這也簡(jiǎn)化了系統(tǒng)設(shè)計(jì),使用戶能夠以更低的成本在單個(gè)微控制器上執(zhí)行更多任務(wù),更容易實(shí)現(xiàn)多個(gè)信號(hào)之間的互連性,并提高能效。
對(duì)許多應(yīng)用來說,能否支持多個(gè)任務(wù)可成為一項(xiàng)重要的產(chǎn)品差異化指標(biāo)。例如,采用了DMA控制器和事件系統(tǒng)的電機(jī)控制應(yīng)用,就能夠使微控制器釋放出足夠的資源,使開發(fā)人員能夠以在不增加系統(tǒng)材料成本的條件下實(shí)現(xiàn)PFC等先進(jìn)功能。
除了通過卸載中斷來提高微控制器的性能和能力之外,事件系統(tǒng)還能夠把功耗最低降至1/7(具體數(shù)字取決于應(yīng)用)。表2所示為一個(gè)需要每秒120萬(wàn)周期的應(yīng)用的功率相關(guān)數(shù)據(jù)。在12MHz時(shí),微控制器只有10%的時(shí)間在工作模式下,其余時(shí)間都處于待機(jī)模式。執(zhí)行DMA控制器和事件系統(tǒng)可以卸載大量CPU每秒必須執(zhí)行的周期數(shù),使微控制器進(jìn)入閑置或睡眠模式。
表2 一個(gè)需要每秒120萬(wàn)周期的應(yīng)用的功率相關(guān)數(shù)據(jù)
總結(jié)
架構(gòu)方面的改進(jìn)提高了CPU的總體能力,使得嵌入式微控制器系統(tǒng)性能不斷提升。協(xié)處理器能夠從CPU卸載已詳細(xì)定義的計(jì)算密集型任務(wù),DMA控制器可把整個(gè)系統(tǒng)的數(shù)據(jù)移動(dòng)任務(wù)從CPU中解放出來,而事件系統(tǒng)可解決有關(guān)多個(gè)由頻率觸發(fā)中斷的瓶頸問題。通過減少系統(tǒng)必須處理的并行中斷的數(shù)目,開發(fā)人員能夠提高系統(tǒng)固定性,從而降低延時(shí),提高信號(hào)的分辨率和精度,改善穩(wěn)定性和可預(yù)測(cè)性,并增強(qiáng)系統(tǒng)可靠性。
評(píng)論