使用高速SRAM設計電池支持型存儲器
嵌入式系統(tǒng)的性能取決于其軟硬件能力。一個編寫合理的軟件可以利用硬件的所有能力發(fā)揮后者的最大性能。與此類似,無論軟件設計多么合理,低效的硬件都可能影響系統(tǒng)性能。
本文引用地址:http://m.butianyuan.cn/article/201602/287340.htm數(shù)十年來,傳統(tǒng)嵌入式系統(tǒng)的結(jié)構(gòu)一直沒有改變。圖1顯示了一個典型嵌入式系統(tǒng)的框圖。一個微控制器和一個微處理器位于系統(tǒng)的核心。按照具體應用,系統(tǒng)設計人員可根據(jù)需要刪減接口和外設。如果控制器的內(nèi)置存儲器不足,就需要使用閃存、SRAM、DRAM等外置存儲器。通常而言,閃存用于存儲控制器執(zhí)行的代碼,而SRAM用于存儲運行時臨時變量和保存重要的應用數(shù)據(jù)塊。
圖1:一個典型嵌入式系統(tǒng)的框圖
功耗預算和性能一直是選擇系統(tǒng)組件-無論是控制器還是外設-的兩大標準。如果性能是最為重要的標準,則設計人員傾向于選擇速度最快的組件,從而彌補較高的功耗預算。同樣,如果功耗是最重要的標準(例如,對于電池供電型系統(tǒng)而言),則設計人員傾向于選擇功耗最低的組件。因此,嵌入式系統(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)設計人員會提供一塊小電池(通常是一顆240mAh的紐扣電池),以便為SRAM保留等功能提供備用電源,并維持實時時鐘(RTC)。
正常運行時,電池支持型系統(tǒng)使用可用電源工作。根據(jù)存儲器映射,它可以從閃存提取代碼,然后將結(jié)果存儲到SRAM中。即使是在斷電時,存儲這些數(shù)據(jù)變得也很重要。為了解決這個問題,SRAM被連接到一塊備用板載電池。正常運行時,板載電源負責為系統(tǒng)供電;斷電時,一塊監(jiān)控芯片將把SRAM的電源切換到板載電池,并將SRAM置于待機模式。如需了解電池支持型系統(tǒng)的實現(xiàn)技術(shù)的詳細信息,請參閱“電池支持型SRAM設計建議”。
圖2顯示了電池支持型系統(tǒng)中SRAM的典型功耗。正常運行時,監(jiān)控芯片使用板載電源。斷電時,SRAM被監(jiān)控芯片切換到板載電池,并被禁用。只要電池有電,系統(tǒng)可以一直處于這一模式。一旦板載電源恢復,監(jiān)控芯片將逐漸使用板載電源為SRAM供電。通常而言,此類芯片需要1ms-10ms完成這個過渡。這段時間系統(tǒng)不會受到影響,這是因為控制器也需要同樣長的時間完成其上電復位程序。
圖2:電池支持型系統(tǒng)的功耗模式
當此類系統(tǒng)部署到現(xiàn)場時,維修它們會很不方便。事實上,這些系統(tǒng)兩三年內(nèi)不用維修。因此,電池續(xù)航時間變得非常重要。系統(tǒng)設計人員傾向于選用那些在待機模式下消耗電流最少的SRAM。如果觀察一下市場上出售的SRAM(見表1),你會發(fā)現(xiàn)設計人員在選擇SRAM時沒有太多選擇。對更長的電池續(xù)航時間的需求讓他們幾乎不可能選擇一個高速SRAM。搭載一顆240mAH紐扣電池的一個16Mb高速SRAM僅能提供12小時的續(xù)航時間,而一個低功耗SRAM卻能提供長達三年的電池續(xù)航時間。
表1: SRAM 16Mb SRAM產(chǎn)品組合
所有系統(tǒng)的性能都遵從阿姆達爾定律。簡而言之,阿姆達爾定律規(guī)定:一個系統(tǒng)的速度是其最慢組件的速度。過去幾十年,微控制器廠商推出了能夠以高于150 MHz的速度運行的控制器。很多此類控制器內(nèi)置低功耗和/或深度睡眠模式,當系統(tǒng)需要由電池供電時,它們能夠?qū)崿F(xiàn)較快的運行速度和較低的功耗。
但是,如果外設組件不能匹配其速度,一個較快的控制器將無法提升性能。外置內(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個時鐘周期)。
為了了解這種性能選擇的效應,我們可以設想有一個系統(tǒng),它在1ms內(nèi)循環(huán)執(zhí)行一段代碼,其中微控制執(zhí)行代碼的時間占70%,將結(jié)果(關(guān)鍵變量)存儲到SRAM中的時間占剩余的30%。使用一個較快的處理器應能確保大幅縮短這一執(zhí)行時間。憑借其改良運行模式,閃存能夠匹配這個速度,并將代碼執(zhí)行時間縮短三分之二(從700到230us)。但是,選擇一個低功耗SRAM,意味著SRAM存取速度沒有提升。理想的情況是,這個系統(tǒng)的執(zhí)行時間應縮短300%(從1ms到330us),但由于使用了低功耗SRAM,執(zhí)行時間僅縮短了200%(從1ms到550us)。
評論