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