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