消費者對采用多媒體嵌入式處理器產品的需求迅速增長,這既要求提高性能又要求降低功耗。但是高性能處理必須增加計算復雜度并加快時鐘速率,如果采用權宜之計的節省功耗設計方案,是很難實現的。我們需要的是一種具有戰略意義的方法來管理功耗,以便在具體的嵌入式應用中優化性能與功耗的關系。利用Blackfin數字信號處理器(DSP)系列產品固有的動態電源管理能力,可以實現這樣的方法。
Blackfin DSP是定點、雙16位MAC或雙40位ALU數字信號處理器。它們非常適合于對功耗敏感的多媒體應用,因為它們支持一種多級的電源管理方法,可以根據系統的需求調整性能。下面我們先來看看嵌入式系統中的幾個關鍵的功耗問題考慮,再看看Blackfin處理器系列如何采樣動態電源管理功能來解決這些問題。
1. 改變頻率和電壓
現代DSP通常適合用于采用CMOS 場效應管(FET)開關的一種處理過程,在穩定的狀態期間要么完全導通,要么完全關斷(漏電流除外)。靜態功耗(處理器空閑時的靜態功耗)通常要比動態功耗低得多,動態功耗是當器件頻繁地開關并且電壓擺動時由于FET負載電容以極高的開關頻率充放電引起的。
在
器件的等效負載電容中存儲的電荷量(Q)等于電容乘以其兩端所存儲的電壓(也就是DSP的內核電源電壓,Vcore),
Q = CVcore,
因為給此電容充電的器件電流定義為電荷對時間的變化率,即動態電流(Idyn),由下式給出
Idyn = dQ/dt = C(dVcore/dt)
電容器電壓隨時間的變化率dVcore/dt是電容充電速度或放電速度的一種度量。對于給定的時鐘頻率(F),因為最快完成一次充電或放電應發生在一個時鐘周期內。因此
dVcore/dt = Vcore(F)
電感廠家 Idyn = C(dVcore/dt) = CVcoreF
最后,動態功耗與Vcore×Idyn成正比,或者
Pdyn ∝ CVcore2F
因此很顯然,動態功耗與工作電壓的平方成正比,與工作頻率成正比。所以,如果降低F可以線性地降低動態功耗,而降低Vcore可以呈指數地降低功耗(見圖1)。
考慮圖1中的應用組合了三種不同的DSP功能,所以它們具有完全不同的性能需求:
F0(x)%201.5%20V%20300%20MHz
F1(y)%201.0%20V%20100%20MHz
F2(z)%201.3%20V%20225%20MHz
例如,F0(x)可能是一種視頻處理算法,F1(y)可能是某種監視模式(其中DSP采集數據并進行很少的處理),而F2(z)可能是將壓縮視頻流送出串行端口的過程。
當DSP長時間處于監視活動中時,僅僅改變頻率(不改變電壓)對功耗敏感的應用中是很有用的。也就是說,如果DSP正在等待一個外部觸發,它就不需要以最高頻率運行。
但是,在某些電池供電應用中,簡單地改變頻率對于節省功耗可能還不夠。例如,如果某應用運行了三部分的代碼,降低其中任何一部分的工作頻率都意味著這部分代碼會花更長的時間去運行。但是如果DSP運行時間加長的話,當三部分代碼都完成時,消耗的總功率是一樣的。例如,如果頻率降低二分之一,代碼會執行兩倍長的時間,所以就不能節省凈功耗。
另一方面,通過降低電壓和頻率可以節省相當大的功耗。節省的功耗可以用下式來表征:
PR/PN=(FCR/FCN)(VDDR/VDDN)2(TFR/TFN)
其中:
*%20PR/PN表示降低功耗與標稱功耗的比率
*%20FCN表示標稱內核的時鐘頻率
*%20FCR表示降低內核的時鐘頻率
*%20VDDN表示標稱內部電源電壓
*%20VDDR表示降低內部電源電壓
*%20TFR/表示以FCR頻率運行的持續時間
*%20TFN表示以FCN頻率運行的持續時間
例如,圖2示出了具有如下特性的一種情況:
* FCN = 300 MHz
* FCR = 100 MHz
* VDDN = 1.5 V
* VDDR = 1.0 V 大功率電感廠家 |大電流電感工廠