超低功耗嵌入式應用設計
以下電源模式也得到其它制造商的大多數設備的支持:
●工作模式
●休眠模式
●深度休眠模式
●冬眠模式
●停止模式
下面我們來看看這些電源模式的具體情況:
1.工作模式:在此模式下,CPU和所有片上其它資源都正常工作運行。該模式是系統整體功耗的最主要組成部分。在此模式下,如果不使用的話,可將芯片上的各種外設分別斷電。
2.休眠:這是控制器另一種常見的電源模式。該模式主要與CPU有關。當CPU進入休眠狀態(tài)后,其時鐘移除。CPU這時對總功耗的唯一影響就是靜態(tài)功耗,因為這時已經沒有時鐘開關切換工作,也就不會有動態(tài)功耗。ADC和比較器等其它外設在此模式下可用。
3.深度休眠:此電源模式下即便是系統時鐘也被禁用,所以在此模式下所有高頻資源都不可用。不過,這些資源的當前狀態(tài)不受影響,也就是說CPU寄存器、SRAM等的當前狀態(tài)不受影響。由于高頻時鐘被禁用,因此能節(jié)約開關消耗的功率。通常情況下,深度休眠模式提供低頻時鐘運行的選項,低頻時鐘可用來驅動定時器等低頻資源。此外,該模式也允許開發(fā)人員使用I2C從設備等通信協議塊,其無需器件自身生成時鐘。由于進入此模式的主要方法就是禁用系統主時鐘,因此這是可以實現的。然而,模塊仍然可通電。該模式對功耗的影響主要在于片上所有時鐘的靜態(tài)功耗。
4.冬眠:在此模式下,所有時鐘都關閉,包括低速振蕩器。片上所有資源,除了用于外部事件觸發(fā)喚醒的資源以外全都斷電。由于本模式下幾乎所有組件都斷電,因此該模式能減少靜態(tài)和動態(tài)功耗組件,從而實現最低功耗。
5.停止:顧名思義,停止模式就是所有外設斷電,即使是RAM和CPU寄存器的內容也不保持。在PSoC 4等類似器件中,這種模式下僅保持IO引腳的狀態(tài)。從這種模式下喚醒會進入芯片重啟動。
當分析一款應用的功耗時,必須查看所有電源模式下的功耗情況。
必須明確某種模式下能提供喚醒源。舉例來說,需要某種中斷才能從休眠模式喚醒,在冬眠模式下則需要I2C地址匹配中斷以喚醒器件。需要了解每種模式下有哪些資源工作,能提供什么喚醒資源。舉例來說,系統中可用比較器中斷作為喚醒源,在超出設定閾值情況下可用模擬輸入喚醒系統。就圖1所示的應用而言,喚醒需要采用GPIO中斷或者甚至硬復位,因為RTC會隨時運行,而且控制器不需要保持此前的狀態(tài)。
冬眠和停止模式下,功耗可低至100nA.對于RTC本身而言,您會很容易找到功耗很低的RTC(僅消耗100-200nA)。假設控制器直接驅動LCD,我們可認為LCD的關閉狀態(tài)功耗為零。
這就使得圖1所示系統中的平均功耗在300nA的范圍內。如果我們假設設計方案采用CR2032作為電源,電池容量約為225mAh.就300nA的電流來說,電池僅在器件始終處于斷電模式下能支持70到80年的工作。
每次按下按鍵,控制器都會喚醒。這會將控制器的功耗提升到500μA-1mA的范圍。假設功耗為1mA左右,控制器從RTC獲取數據并顯示在LCD上??刂破鲌?zhí)行這項工作只需很短的時間,但顯示屏要保持較長工作時間(假設說顯示屏亮起10秒鐘確保用戶看到數據)。作為直接驅動LCD,控制器必須保持較長的工作時間,也就是要消耗更多電荷。在此情況下,賽普拉斯的PSoC4等器件可提供低功耗模式,能讓設備關閉所有其它外設,僅運行驅動LCD所需的模塊。在這種器件中,LCD驅動運行在特定的低功耗模式下,這種模式被稱為數字關聯模式。其結果就是大幅減少電流消耗。
圖2:各種狀態(tài)下的電流消耗
每次按鍵都會經歷如圖2所示的電流曲線。曲線下方區(qū)域是單次按鍵的典型功耗。消耗的電荷計算如下:
Q = (1mA*1ms) + (20μA*10s)
根據上面的數據,我們可計算出給定電源能支持多少次按鍵。
工作模式下所花的時長非常重要,因為這種模式下耗電最大。一個選項是讓MCU保持工作模式,但CPU時鐘速度較低,從而降低工作模式下的耗電。不過,這會導致更高的平均功耗,因為工作模式所花的時間取決于時鐘頻率。此時由于MCU必須處于工作模式,因此功耗取決于MCU處理數據所花的時間。更快速的MCU能很快完成任務,從而延長處于低功耗模式下的時間,也就能讓系統減少功耗。系統設計人員可根據系統要求明確最佳配置。
在本系列文章的下一部分,我們將以更大型系統為例作講解,并介紹如何降低平均功耗。此外,我們還將探討一些降低平均功耗的系統級技巧。
評論