作者:VinayManikkoth,NileshBadodekar
嵌入式系統(tǒng)的性能取決于其軟硬件能力。一個編寫合理的軟件可以利用硬件的所有能力發(fā)揮后者的最大性能。與此類似,無論軟件設(shè)計多么合理,低效的硬件都可能影響系統(tǒng)性能。
數(shù)十年來,傳統(tǒng)嵌入式系統(tǒng)的結(jié)構(gòu)一直沒有改變。圖1顯示了一個典型嵌入式系統(tǒng)的框圖。一個微控制器和一個微處理器位于系統(tǒng)的核心。按照具體應(yīng)用,系統(tǒng)設(shè)計人員可根據(jù)需要刪減接口和外設(shè)。如果控制器的內(nèi)置存儲器不足,就需要使用閃存、SRAM、DRAM等外置存儲器。通常而言,閃存用于存儲控制器執(zhí)行的代碼,而SRAM用于存儲運行時臨時變量和保存重要的應(yīng)用數(shù)據(jù)塊。
圖1:一個典型嵌入式系統(tǒng)的框圖
功耗預(yù)算和性能一直是選擇系統(tǒng)組件-無論是控制器還是外設(shè)-的兩大標準。如果性能是最為重要的標準,則設(shè)計人員傾向于選擇速度最快的組件,從而彌補較高的功耗預(yù)算。同樣,如果功耗是最重要的標準(例如,對于電池供電型系統(tǒng)而言),則設(shè)計人員傾向于選擇功耗最低的組件。因此,嵌入式系統(tǒng)通常分為三類:
1.永遠“處于開機狀態(tài)”的系統(tǒng):此類系統(tǒng)可保證它們能夠從一個不間斷電源獲得電能。這些系統(tǒng)是高性能系統(tǒng),可以最高的運行頻率工作。
2.電池供電型系統(tǒng):一塊板載電池是此類系統(tǒng)的唯一電源(如手機)。雖然性能是此類系統(tǒng)的一個重要標準,但更長的電池續(xù)航時間最為重要。因此,這些系統(tǒng)使用功耗最低的組件。
3.電池支持性系統(tǒng):此類系統(tǒng)必需能夠可靠地運行,即使在失去板載電源的情況下也是如此。為了在斷電時避免丟失重要數(shù)據(jù),系統(tǒng)設(shè)計人員會提供一塊小電池(通常是一顆240mAh的紐扣電池),以便為SRAM保留等功能提供備用電源,并維持實時時鐘(RTC)。
正常運行時,電池支持型系統(tǒng)使用可用電源工作。根據(jù)存儲器映射,它可以從閃存提取代碼,然后將結(jié)果存儲到SRAM中。即使是在斷電時,存儲這些數(shù)據(jù)變得也很重要。為了解決這個問題,SRAM被連接到一塊備用板載電池。正常運行時,板載電源負責為系統(tǒng)供電;斷電時,一塊監(jiān)控芯片將把SRAM的電源切換到板載電池,并將SRAM置于待機模式。圖2顯示了電池支持型系統(tǒng)中SRAM的典型功耗。正常運行時,監(jiān)控芯片使用板載電源。斷電時,SRAM被監(jiān)控芯片切換到板載電池,并被禁用。只要電池有電,系統(tǒng)可以一直處于這一模式。一旦板載電源恢復(fù),監(jiān)控芯片將逐漸使用板載電源為SRAM供電。通常而言,此類芯片需要1ms-10ms完成這個過渡。這段時間系統(tǒng)不會受到影響,這是因為控制器也需要同樣長的時間完成其上電復(fù)位程序。
圖2:電池支持型系統(tǒng)的功耗模式
當此類系統(tǒng)部署到現(xiàn)場時,維修它們會很不方便。事實上,這些系統(tǒng)兩三年內(nèi)不用維修。因此,電池續(xù)航時間變得非常重要。系統(tǒng)設(shè)計人員傾向于選用那些在待機模式下消耗電流最少的SRAM。如果觀察一下市場上出售的SRAM(見表1),你會發(fā)現(xiàn)設(shè)計人員在選擇SRAM時沒有太多選擇。對更長的電池續(xù)航時間的需求讓他們幾乎不可能選擇一個高速SRAM。搭載一顆240mAH紐扣電池的一個16Mb高速SRAM僅能提供12小時的續(xù)航時間,而一個低功耗SRAM卻能提供長達三年的電池續(xù)航時間。

表1:SRAM16Mb SRAM產(chǎn)品組合
所有系統(tǒng)的性能都遵從阿姆達爾定律。簡而言之,阿姆達爾定律規(guī)定:一個系統(tǒng)的速度是其最慢組件的速度。過去幾十年,微控制器廠商推出了能夠以高于150 MHz的速度運行的控制器。很多此類控制器內(nèi)置低功耗和/或深度睡眠模式,當系統(tǒng)需要由電池供電時,它們能夠?qū)崿F(xiàn)較快的運行速度和較低的功耗。
但是,如果外設(shè)組件不能匹配其速度,一個較快的控制器將無法提升性能。外置內(nèi)存接口是一個重要的高速鏈路,而一個低性能的閃存或SRAM可能會成為瓶頸。閃存的初始訪問時間為60-80ns。但隨著Page、Burst、eXecute In Place (XIP)等各類模式的出現(xiàn),閃存芯片的讀速度提高了三倍,從而讓控制器能夠在20-30 ns 內(nèi)(即150 MHz控制器的2到3個時鐘周期)從閃存讀取數(shù)據(jù)。但是,選擇低功耗SRAM意味著控制器仍然需要45 -70ns的時間來訪問SRAM(4到10個時鐘周期)。
為了了解這種性能選擇的效應(yīng),我們可以設(shè)想有一個系統(tǒng),它在1ms內(nèi)循環(huán)執(zhí)行一段代碼,其中微控制執(zhí)行代碼的時間占70%,將結(jié)果(關(guān)鍵變量)存儲到SRAM中的時間占剩余的30%。使用一個較快的處理器應(yīng)能確保大幅縮短這一執(zhí)行時間。憑借其改良運行模式,閃存能夠匹配這個速度,并將代碼執(zhí)行時間縮短三分之二(從700到230us)。但是,選擇一個低功耗SRAM,意味著SRAM存取速度沒有提升。理想的情況是,這個系統(tǒng)的執(zhí)行時間應(yīng)縮短300%(從1ms到330us),但由于使用了低功耗SRAM,執(zhí)行時間僅縮短了200%(從1ms到550us)。
對速度的需求
你開車時車速越快,油耗就越高。這個簡單的原則同樣適用于嵌入式系統(tǒng),此時SRAM是車,電池續(xù)航時間則是里程數(shù)。在上述場景中,系統(tǒng)設(shè)計人員既可以選擇一個高速SRAM(存取時間為10ns)來提升系統(tǒng)性能,但犧牲電池續(xù)航時間,也可以選擇一個低功耗SRAM,但犧牲系統(tǒng)性能。
存儲器廠商發(fā)現(xiàn)市場需要兼具快速和低功耗的SRAM。除了常見的運行模式―工作和待機―之外,這些SRAM還有一個名為“深度睡眠”的低功耗模式。深度睡眠模式由一個輸入信號控制,該信號可在斷言后將設(shè)備置于深度睡眠模式。例如,與低功耗SRAM的45-55ns的存取速度相比,賽普拉斯的PowerSnooze(電力打盹)SRAM提供10ns的存取速度。在功耗方面,其深度睡眠電流在10-20uA范圍內(nèi),而一個16M高速SRAM的待機電流則高達 30 - 40mA。表2對比了三類SRAM的速度、電流消耗等關(guān)鍵參數(shù)。

表2:三種類型的SRAM對比
系統(tǒng)設(shè)計人員可以通過一個GPIO 控制深度睡眠模式的進入,或者使用監(jiān)控芯片自動控制模式切換。對于GPIO控制,軟件可以通過分析SRAM存取利用其深度睡眠模式。
電池支持型低功耗SRAM
對于電池支持型存儲器額外電路的需求源于以下事實:斷電時,控制器將喪失其I/O驅(qū)動功能。這會導(dǎo)致信號線路上出現(xiàn)中間邏輯電平,后者將通過板載電容和泄漏逐漸向低電壓處放電。失去控制意味著即使SRAM開始由電池供電,芯片啟用信號 (ˉCE)將變?yōu)檫壿嫷蜖顟B(tài),從而啟用SRAM。為了避免這個問題,系統(tǒng)設(shè)計人員使用一塊監(jiān)控芯片監(jiān)測板載電源,并控制SRAM芯片啟用信號。
圖3詳細描述了SRAM、處理器接口和監(jiān)控芯片。所有地址和數(shù)據(jù)線以及控制信號均由處理器驅(qū)動。SRAM的主用低電平芯片啟用信號由監(jiān)控芯片驅(qū)動,后者由來自控制器的芯片啟用信號驅(qū)動。正常運行時(即板載電源可用時),監(jiān)控芯片對于控制器和SRAM完全透明,但在斷電時,監(jiān)控芯片將接管對去往SRAM的芯片啟用信號的控制,將其變?yōu)檫壿嫺郀顟B(tài),同時忽略控制器的芯片啟用信號。這個監(jiān)控芯片將板載電源無縫切換至電池,并禁用SRAM,從而避免數(shù)據(jù)丟失。第二個芯片啟用信號是高電平有效信號,由控制器通過一個弱下拉直接驅(qū)動。這個弱下拉可確保斷電時第二個芯片啟用信號被下拉到邏輯低狀態(tài),并禁用SRAM。

圖3:電池支持型低功耗SRAM
對于那些在斷電時使用備用電池的應(yīng)用,高速、低功耗SRAM較低的深度睡眠電流使其成為這些應(yīng)用的理想選擇。正常運行時,SRAM可以高速運行,而斷電時,SRAM可以通過將深度睡眠信號斷言到邏輯低狀態(tài)而自動切換到深度睡眠模式。圖4顯示了在不改變一個低功耗SRAM的現(xiàn)有設(shè)計的情況下,如何使用一個帶深度睡眠模式的SRAM。
斷電時,監(jiān)控芯片禁用SRAM,而深度睡眠引腳上的下拉將自動把信號下拉到邏輯低狀態(tài),從而允許該部分進入深度睡眠模式。監(jiān)控芯片確保板載電源不可用時SRAM一直處于禁用狀態(tài)。電源恢復(fù)后,監(jiān)控芯片將繼續(xù)保持SRAM的禁用狀態(tài),直到其上電復(fù)位超時。這個超時時段從1到100ms不等,具體取決于所選擇的監(jiān)控芯片。超時時段允許控制器成功啟動,之后它可以控制深度睡眠信號,并將其轉(zhuǎn)變?yōu)檫壿嫺郀顟B(tài)。這能夠管理高速、低功耗SRAM的深度睡眠退出時序,同時使之用于控制器訪問。

圖4:帶有高速、低功耗SRAM的備用電池
高速、低功耗SRAM可提供相當于傳統(tǒng)低功耗SRAM的電池備用時間,同時通過提高SRAM的訪問速度滿足系統(tǒng)設(shè)計人員的性能提升要求。
責任編輯:gt
-
控制器
+關(guān)注
關(guān)注
114文章
17817瀏覽量
194233 -
嵌入式
+關(guān)注
關(guān)注
5202文章
20516瀏覽量
335271 -
電池
+關(guān)注
關(guān)注
85文章
11560瀏覽量
143862
發(fā)布評論請先 登錄
支持低功耗藍牙醫(yī)療健康領(lǐng)域的參考設(shè)計精選
支持低功耗藍牙醫(yī)療健康領(lǐng)域的參考設(shè)計精選
低功耗藍牙怎么低功耗?如何界定
電池供電裝置如何實現(xiàn)超低功耗?
無線數(shù)據(jù)傳輸系統(tǒng)的低功耗怎么實現(xiàn)?
承受650V電壓的實現(xiàn)低功耗的PWM型AC/DC變換器
超低功耗的嵌入式應(yīng)用的實現(xiàn):降低系統(tǒng)中電池功耗
如何利用EPSON的RTC實時時鐘模塊+Panasonic電池實現(xiàn)系統(tǒng)級的低功耗?
對功耗、散熱和電池壽命敏感的片上系統(tǒng) (SoC) 設(shè)計
Stm32的低功耗模式介紹
BMS電池管理系統(tǒng)的藍牙芯片 國產(chǎn)高性能 低功耗藍牙Soc芯片PHY6222
基于DBL結(jié)構(gòu)的嵌入式64kb SRAM的低功耗設(shè)計
異步SRAM高性能低功耗存儲器的實現(xiàn)
STM32與FreeRTOS實現(xiàn)低功耗
低功耗異步SRAM系列的應(yīng)用優(yōu)點
基于低功耗SRAM實現(xiàn)電池支持型系統(tǒng)的應(yīng)用設(shè)計
評論