在 IoT 應用程序中平衡內存性能和功耗
為物聯(lián)網(wǎng)應用選擇電子元件的兩個關鍵標準是功率預算和性能。自從電子產品問世以來,就一直在這兩者之間進行權衡——要么獲得最佳功耗,要么獲得最高性能。根據(jù)應用程序,系統(tǒng)架構師對系統(tǒng)中的不同組件有不同的要求。例如,系統(tǒng)可能需要高性能控制器但低功耗存儲器。一個典型的案例是可穿戴設備,其中控制器需要功能強大,但由于 SRAM 用作暫存器,因此預計它具有盡可能低的功耗。
大多數(shù)系統(tǒng)分為以下幾大類:
始終開啟:這些系統(tǒng)沒有將功耗作為主要標準,因為它們幾乎總是由不間斷電源供電。在 BOM 預算允許的情況下,此類系統(tǒng)需要盡可能高性能的組件。大多數(shù)插入墻上插座的設備都屬于這一類。
電池供電:這些系統(tǒng)處于功率性能范圍的另一端。它們完全由板載電池供電。此類系統(tǒng)傾向于將功耗放在首位。此類系統(tǒng)通常還優(yōu)先考慮小尺寸,因為它們通常是便攜式的。示例系統(tǒng)包括我們日常使用的手持設備。
電池供電系統(tǒng):這些系統(tǒng)位于始終在線系統(tǒng)和電池供電系統(tǒng)之間。他們訪問外部電源,但可能無法訪問其電源。為避免在這些電源故障期間丟失關鍵數(shù)據(jù),系統(tǒng)設計人員提供了一個小型電池(通常為 240mAh 紐扣電池)來備份 SRAM 和實時時鐘 (RTC) 等關鍵功能。這些系統(tǒng)通常優(yōu)先考慮高性能,但要求某些組件是低功耗的,以便它們可以僅依靠備用電源運行。
在sram中,性能和功耗之間的權衡是有技術原因的。低功耗SRAMs采用特殊的GIDL(柵極感應漏油)控制技術來控制備用電流,從而控制備用功耗。在上拉或下拉路徑中添加了額外的晶體管,導致訪問延遲增加,從而延長了訪問時間。對于快速sram,訪問時間是最高優(yōu)先級,不能使用這種技術。此外,晶體管的尺寸被放大,以增加電荷流量。這種擴展減少了傳播延遲,但增加了功耗。
然而,廣泛的應用正在將有線永遠在線設備遷移到電池支持或電池供電的移動版本。新一代設備——醫(yī)療、手持、消費、通信、工業(yè)——都由物聯(lián)網(wǎng)驅動。他們正在徹底改變設備的功能和通信方式。對于此類設備,無論是針對高性能設計的組件還是針對低功耗設計的組件,都無法滿足設計要求。高性能組件具有高電流消耗,因此會過快耗盡電池。低功耗組件的速度不足以滿足這些復雜設備的需求。需要同時具有高性能和低功耗的設備。這對于內存來說尤其重要,因為系統(tǒng)的速度實際上只與它最慢的組件一樣快,在許多情況下是外部內存。
對低功耗的需求首先影響了微控制器,迫使制造商尋找傳統(tǒng)兩種工作模式的替代品——活動模式和待機模式。這導致 TI 和 NXP 等公司推出了具有特殊低功耗操作模式的 MCU,稱為深度掉電或深度睡眠。這些控制器在正常運行期間全速運行,但在不需要此性能時可以進入低功耗模式。這些低功耗模式可在不影響高性能的情況下降低功耗。今天的控制器能夠以 100 MHz 以上的速度運行,比前幾代尖端控制器快得多。然而,僅僅優(yōu)化物聯(lián)網(wǎng)設備中的控制器并不足以滿足其嚴格的功率預算。在低功耗模式下,外設和存儲設備也有望節(jié)省功耗。
許多便攜式系統(tǒng)從閃存執(zhí)行代碼,但使用 SRAM 作為緩存來存儲結果和初始化變量。與 DRAM 和閃存等其他存儲存儲器相比,SRAM 在密度方面受到限制:目前可用的最高密度 SRAM 為 8 MB,而 DRAM 則以 GB 的倍數(shù)提供。但是,MCU 很難直接與 DRAM 或閃存接口,因為這些存儲器通常具有較長的寫入周期并且無法跟上 MCU 的速度。此外,DRAM由于其刷新周期而具有高功耗。高速運行的 MCU 需要一個可以存儲關鍵數(shù)據(jù)并快速執(zhí)行計算而不會顯著降低功耗的緩存。SRAM 最適合充當 MCU 和存儲存儲器之間的緩存。
sram在活動狀態(tài)和備用狀態(tài)之間交替,當斷電時,數(shù)據(jù)預計是非易穩(wěn)定的。這些sram是電池支持的,通常由一個硬幣電池。這樣的系統(tǒng)給SRAM帶來了不同尋常的挑戰(zhàn)。只要系統(tǒng)是活動的,它們就需要它們所能獲得的最高性能的SRAM,因為它在這些應用程序中充當高速緩存。然而,它們還需要低功耗,以防系統(tǒng)必須切換到電池電源。
斷電時,SRAM 切換到板載電池并被監(jiān)控芯片禁用。只要電池持續(xù)使用,系統(tǒng)就可以保持此模式。一旦電路板電源恢復,監(jiān)控芯片將逐漸用電路板電源為 SRAM 供電。通常,這些芯片的轉換需要 1 到 10 毫秒。這個時間不會妨礙系統(tǒng),因為控制器也需要時間來退出上電復位程序。
考慮到上述因素,SRAM多年來一直在嘗試平衡快速和低功耗產品之間的權衡。其中一種解決方案是混合設備,它在訪問時間和功耗方面都介于快速和低功耗之間。然而,這些混合 SRAM 無法滿足快速 SRAM 的預期性能要求。最好的方法是采用片上電源管理的快速 SRAM,確保高性能和低功耗。
具有片上電源管理的 SRAM 的工作方式與具有片上電源管理的 MCU 類似。除了活動和待機操作模式外,還有深度睡眠操作模式。這樣的設置允許 SRAM 在其標準操作模式期間全速訪問數(shù)據(jù)。在深度睡眠模式下,該器件不執(zhí)行任何功能,因此可以保持極低的電流消耗,比快速 SRAM 的標準待機消耗低 1000 倍左右。表 1 顯示了功耗和訪問的比較兩種常見類型的 SRAM - 快速和低功耗 - 以及具有深度睡眠的快速 SRAM。
這些數(shù)字清楚地展示了使用“快速深度睡眠”SRAM 優(yōu)于標準快速 SRAM 的優(yōu)勢。在 SRAM 大部分時間處于待機模式的應用中,這一優(yōu)勢將更加突出。
在許多最新一代的電池供電系統(tǒng)中,內存功耗的最佳平衡點是存儲數(shù)據(jù)所需的時間和過程中的功耗之間的良好平衡。例如,考慮一個需要每 1 毫秒寫入 100 Kb 數(shù)據(jù)的應用程序。如果我們要使用 Fast SRAM,寫入 2 個字節(jié)的數(shù)據(jù)需要 10ns。因此,快速 SRAM 將具有 6% 的占空比,這意味著在 1000 小時的運行中達到 130 瓦時 (WH)。相比之下,執(zhí)行相同任務所需的低功耗 SRAM 將具有 31% 的占空比,在 2WH 時消耗的功率要少得多。但是,SRAM 并不是在寫入 SRAM 時唯一喚醒的組件。在考慮 MCU 的功耗時,該比率可能會偏向于快速 SRAM。
具有深度睡眠的快速 SRAM 完全消除了評估這種權衡的需要。憑借快速 SRAM 的占空比和低功耗 SRAM 的待機電流,這些 SRAM 的功耗比快速 SRAM 低得多,占空比也比低功耗 SRAM 短得多。這意味著在將數(shù)據(jù)寫入 SRAM 時,MCU 需要在更短的時間內保持活動狀態(tài)。對于電池供電的系統(tǒng),由于具有深度睡眠的快速 SRAM 的占空比較低,系統(tǒng)功率的整體下降可能非常顯著。表 2 顯示了我們在賽普拉斯進行的電池供電測試的結果。與使用低功耗 SRAM 的系統(tǒng)相比,深度睡眠將電池壽命延長了約 20%,占空比更短。
使用深度睡眠模式(無論是 MCU 還是 SRAM)時,需要考慮一個重要因素——進入和退出深度睡眠模式所需的時間。如果兩個活動周期之間的時間間隔與 SRAM 進入或退出深度睡眠模式所用的時間相比太短,那么該方法將沒有用。這可能是廣泛采用具有深度睡眠模式的 SRAM 的最大障礙。對于 Cypress 的具有深度睡眠的快速 SRAM,這個數(shù)字是 300μs(最大值)。
一個普遍的擔憂,尤其是在電池供電的系統(tǒng)中,是深度睡眠等新功能需要大量重新設計。在過渡使用監(jiān)控芯片的標準電池支持系統(tǒng)時,情況并非如此。在標準的電池供電系統(tǒng)中,地址線、數(shù)據(jù)線和控制信號由處理器驅動。然而,SRAM 的低電平有效芯片使能由監(jiān)控芯片驅動,這在正常操作期間不會增加顯著的開銷。在電源故障期間,監(jiān)控芯片從板電源無縫切換到電池電源并禁用 SRAM,從而防止數(shù)據(jù)丟失。
同樣的系統(tǒng)可以很容易地遷移到具有深度睡眠功能的快速 SRAM。要使用深度睡眠功能,有一個特殊的引腳 (DS),將其切換為低電平有效以進入深度睡眠模式。標準快速 SRAM 上的等效引腳恰好是 NC(無連接)。因此,從標準快速 SRAM 升級到具有深度睡眠的快速 SRAM 需要最少的設計工作(必須連接一個額外的引腳)。
在正常運行期間,SRAM 可以高速運行。在電源故障期間,SRAM 可以通過置位深度睡眠信號自動切換到深度睡眠模式。當電源出現(xiàn)故障時,管理芯片禁用 SRAM 并拉低深度睡眠引腳,這將自動將 SRAM 切換到深度睡眠模式。處理器啟動后,深度睡眠引腳切換為高電平以將 SRAM 恢復為標準高速 SRAM。