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