低功耗嵌入式系統的設計考量:一般設計考量
d. 審慎使用I/O:
避免在系統中隨機分配控制器I/O引腳。如果引腳隨機分布在不同端口,則需要對每個(gè)端口單獨處理,這樣會(huì )增加控制它們所需的寄存器寫(xiě)入數。為解決這一問(wèn)題,可以按最小端口數對輸入引腳和輸出引腳進(jìn)行分組,從而實(shí)現以最小的寄存器寫(xiě)入數完成讀取與寫(xiě)入。
在引腳用于驅動(dòng)LED和其它類(lèi)似負載的地方,應使用引腳的開(kāi)漏驅動(dòng)模式,這些負載的一端固定在VDD或接地上。這種驅動(dòng)模式可降低通過(guò)I/O引腳的漏電流,因此可降低功耗。

e. 選擇正確的外設:
在系統設計中應使用支持低功耗模式、在工作模式下支持低功耗的外設組件,以降低設計的總體功耗。
f. 審慎使用系統時(shí)鐘:
定義系統時(shí)鐘的行為有助于降低系統功耗。遵循通用系統時(shí)鐘相關(guān)設計實(shí)踐可幫助在幾乎每個(gè)系統中實(shí)現低功耗。
● 在系統中使用低頻率時(shí)鐘降低動(dòng)態(tài)功耗。
● 在執行計算密集型任務(wù)時(shí)提升系統時(shí)鐘,可通過(guò)縮短完成任務(wù)的時(shí)間,降低平均功耗。
● 優(yōu)先使用系統時(shí)鐘,而非外部時(shí)鐘。
● 在CPU等待通信傳輸完成時(shí),應關(guān)閉CPU,只開(kāi)啟通信模塊的時(shí)鐘。在完成該任務(wù)后,它可獲得一個(gè)中斷信號,恢復代碼執行。
g. 電流門(mén)控:
一般情況下,熱敏電阻等無(wú)源傳感器工作在分壓器模式下,因此一直都在消耗系統電流。為降低這種情況下的功耗,我們可以在通過(guò)采樣傳感器網(wǎng)絡(luò )獲得相關(guān)數據之前為其提供電源,并在數據采樣完成后切斷電源。這在傳感器需要定期讀取的情況下才有用。
但當傳感器必須保持工作狀態(tài)才能檢測環(huán)境中的異?,F象時(shí),CPU可在整個(gè)傳感過(guò)程中保持低功耗模式。CPU一旦收到傳感器的中斷/數據信息,就會(huì )恢復工作模式。類(lèi)似邏輯可用于讀取開(kāi)關(guān)狀態(tài),以判斷它是處于開(kāi)啟還是關(guān)閉狀態(tài)。
2. 固件考量:
a. 減少函數調用:
每次函數調用都將涉及多重冗余運算,比如堆棧上的添加與取出運算(用于重新加載程序的計數器和寄存器)。這些運算的每一次工作都會(huì )耗用多個(gè)時(shí)鐘周期,應盡量避免。對于簡(jiǎn)短函數而言,函數調用可采用能夠布置內聯(lián)代碼的宏命令替換。這有助于減少CPU加載,進(jìn)而降低相同運算所需的功耗。然而,每種方法都有其自身的優(yōu)缺點(diǎn)。宏命令需要更大的存儲器,這對寫(xiě)入高密度固件來(lái)說(shuō)是一個(gè)問(wèn)題,因為它可能會(huì )增大系統成本。
b. 為頻繁重復的輸入值使用查找表:
通常會(huì )有一部分輸入值的使用頻率大于其它輸入值。通過(guò)創(chuàng )建與這些輸入值對應的查找表,在遇到這些輸入其中之一時(shí),可縮短計算時(shí)間,進(jìn)而可降低功耗。
這種方法在當完成計算后需要查找值的應用中比較容易看到,比如電機應用中角度正弦與余弦的計算。在這類(lèi)應用中,會(huì )有一系列頻繁遇到的值(相比之下,其它值遇到的頻率較低)。正弦值或余弦值的計算需要較長(cháng)的時(shí)間,因此對于該頻繁重復的角度而言,其正弦及余弦的預計算值可存儲在查找表中。每次遇到這些角度中的一種時(shí),處理器便可查找該表,用在此找到的值進(jìn)行替代,不必計算。
c. 使用中斷,無(wú)需輪詢(xún):
在復雜的嵌入式系統中,CPU會(huì )花大部分時(shí)間來(lái)等待某項工作的完成,然后再進(jìn)入下一個(gè)步驟。當前提供的大多數SoC都提供能在無(wú)需CPU干預的情況下完成大多數任務(wù)的硬件模塊。在需要CPU干預時(shí),它們會(huì )以中斷的方式發(fā)出信號,喚醒CPU。例如一般在采樣數據完成后,ADC會(huì )發(fā)出中斷信號。這樣就無(wú)需輪詢(xún)來(lái)自ADC的數據。因此CPU可以進(jìn)入低功耗模式,只在數據準備處理時(shí)喚醒。
d. 自適應時(shí)鐘門(mén)控和電源門(mén)控
一個(gè)典型的系統會(huì )使用微控制器的多個(gè)模塊,但在任何給定時(shí)間點(diǎn)上,不會(huì )同時(shí)使用所有的模塊。因此可以對這些模塊的時(shí)鐘進(jìn)行門(mén)控,降低這些模塊的動(dòng)態(tài)功耗,從而節省電源。此外,這也有助于降低峰值電流需求,這是鈕扣電池供電設計的重要考慮因素。PSoC系列器件允許單獨禁用未使用的模塊。
這個(gè)部分我們討論了創(chuàng )建低功耗嵌入式系統的常見(jiàn)設計考量。在第2部分中,我們不僅將討論低功耗應用的實(shí)例、低功耗與系統性能的權衡取舍,而且還將提供使用上述技巧的低功耗系統設計實(shí)例。
評論