向著更低功耗、更高性能的電池供電型系統(tǒng)發(fā)展的趨勢毋庸置疑。對于電池電源而言,消費者希望便攜式電子產(chǎn)品能夠以“更低電量執(zhí)行更多功能”,同時,眾多工業(yè)產(chǎn)品也開始轉(zhuǎn)而采用電池供電。
數(shù)字信號處理器 (DSP) 常用于要求高性能的應(yīng)用領(lǐng)域,從而導(dǎo)致時鐘運行速度不斷提升。任何需要高速運行并集成成百上千萬晶體管的處理器都需要盡可能地降低功耗。
過去10 年來,架構(gòu)創(chuàng)新與低功耗策略推動DSP處理能力不斷加強,MIPS性能不斷提升,同時,其他性能參數(shù)也在迅速得到改進。在這種情況下,由于具備這些更高性能的 DSP,諸如手機與超便攜式音頻播放器等基于DSP的系統(tǒng)的電池使用壽命總體上有了穩(wěn)定而顯著的提升。
頭戴式耳機與其他便攜式消費類音頻設(shè)備是要求最佳電源效率的重要范例。此外,工業(yè)與醫(yī)療產(chǎn)品也在不斷向支持高級功能的高集成度便攜式設(shè)備方向發(fā)展。這些設(shè)備的電源要求在很大程度上與超便攜式消費類電子產(chǎn)品相似。
在DSP技術(shù)取得快速發(fā)展的同時,微控制器(MCU)系統(tǒng)面臨著不斷降低功耗的壓力。相對于DSP,MCU 在降低功耗方面擁有自己獨特的優(yōu)勢,例如,其晶體管數(shù)量較少,時鐘速度較低,而且通常工作電壓也較低。
不同于用微安計算的DSP,電源優(yōu)化的現(xiàn)代MCU的待機電流可以納安計。盡管 DSP的性能大大超過 MCU,而且在電源方面也得到了顯著優(yōu)化,但芯片設(shè)計人員在省電方面可做的畢竟有限。
常規(guī)性認識
在延長電池使用壽命方面,系統(tǒng)設(shè)計工程師的常識是“一顆芯片肯定比兩顆芯片好”。他們的想法簡單而直接,認為芯片間的通信肯定比片上通信的功耗大,兩顆芯片的晶體管數(shù)量明顯大于集成了對等功能的單顆芯片。不過,常識未必總是正確的。
隨著DSP開始集成如加速器、專用通信模塊與網(wǎng)絡(luò)外設(shè)等片上功能,其功能對于系統(tǒng)設(shè)計人員來說也正變得越發(fā)強大和實用。但是,如果芯片僅僅為了執(zhí)行簡單的常規(guī)處理或監(jiān)管程序就保持開啟的話,就會產(chǎn)生大量無謂的功耗。
決定電池使用壽命的是系統(tǒng)的平均流耗,而非既定時間的瞬時流耗。因此,要延長電池使用壽命,就必須降低平均流耗。器件處于運行狀態(tài)時,典型的高端處理器支持時鐘縮放及其他降低功耗的特性,但如果處于非工作狀態(tài),器件就很難擁有出色的節(jié)電性能了。眾多高性能處理器在停止模式下的耗電量達到 50~100μA以上。盡管乍看起來這種電流消耗還是可以接受的,但要知道,這是處理器停機時的持續(xù)耗電,而且不通過外部重啟的話就不能執(zhí)行任何任務(wù)。
對這種處理器及其他較高端處理器來說,保持低功耗狀態(tài),同時又能激勵或執(zhí)行系統(tǒng)或進行監(jiān)管任務(wù),這時功耗為數(shù)十毫安。這就是說,如果系統(tǒng)依賴高端處理器來執(zhí)行監(jiān)管任務(wù),電池的使用壽命不過幾天而已。
但是,如果通過其他器件來實施系統(tǒng)和監(jiān)管功能,而這種器件又可管理主處理器的電源,那么系統(tǒng)的平均電流消耗就可顯著降低。
就某些應(yīng)用而言,用MCU取代DSP執(zhí)行系統(tǒng)監(jiān)管任務(wù)是一種非常明智的設(shè)計決策。明確雙處理器系統(tǒng)架構(gòu)是否是正確的選擇取決于眾多因素。應(yīng)用本身是最重要的因素,因為大多數(shù)設(shè)計方案還要考慮到空間與成本的局限性。
舉例來說,供電監(jiān)控、復(fù)位監(jiān)管以及電源排序等都是系統(tǒng)需要的最基本的監(jiān)管功能。當(dāng)前眾多 SoC 都具備多條電源軌,上電時必須進行適當(dāng)排序才能正常運行。固定功能器件可執(zhí)行所有上述功能,但卻不能滿足系統(tǒng)的其他要求,也不能在不需要時關(guān)閉主處理器。以小型的低功耗微控制器取代固定功能器件可增加管理主處理器電源的功能,同時還能實施排序、監(jiān)控以及監(jiān)管等功能。
低引腳數(shù)的低功耗微控制器正好能實現(xiàn)這種功能。舉例來說,德州儀器(TI)推出的MSP430F20x1與MSP430F20x2兩款器件均屬14引腳的微控制器,并分別帶有一個比較器和10位ADC。它們的待機流耗不足1μA,而且運行時的電流也不過幾百微安。
圖1 小型微控制器管理主處理器的電源排序,并實施電源管理
圖1 顯示了一個小型微控制器控制主處理器的電源排序、實施電源管理的實例。微控制器上的軟件例程可根據(jù)正確順序啟動主處理器調(diào)節(jié)器,并通過內(nèi)部 ADC 來確認電源軌達到適當(dāng)電壓的時間。不需要主處理器時,可通過調(diào)節(jié)器的關(guān)斷特性來關(guān)閉主處理器,從而節(jié)約主處理器70μA到幾毫安的電耗。
更好地了解DSP與MCU各自對優(yōu)化電源的作用是制定何時將二者在設(shè)計方案中結(jié)合使用的關(guān)鍵因素。設(shè)計人員通過將兩個超低功耗處理器用于完成主處理器周期與監(jiān)控功能,讓它們分別實現(xiàn)最大化的電源效率,同時又能獲得獨特的性能、集成與成本優(yōu)勢,這樣就能使雙低功耗處理器系統(tǒng)的電池使用壽命超過單個處理器系統(tǒng)。
DSP的電源
DSP芯片設(shè)計人員采用了眾多低功耗技術(shù)方案,如降低工作電壓、將芯片分為多個時鐘域等大多數(shù)方案都是在后臺執(zhí)行的。系統(tǒng)設(shè)計人員不必過多控制這些特性就能獲得相關(guān)優(yōu)勢。
不過,在DSP選擇過程中,系統(tǒng)設(shè)計人員要對應(yīng)用的執(zhí)行方式發(fā)揮充分的作用。在選擇最佳DSP時,應(yīng)考慮以下四個重要特性。
● 采用大容量片上存儲器:在應(yīng)用一般功耗基礎(chǔ)上,每次執(zhí)行片外存儲器調(diào)用時都要消耗額外的電源。如果使用外部RAM,就必須為其持續(xù)供電,這是一個連續(xù)的耗電過程。
● 選擇能高度控制外設(shè)的 DSP,因為這直接有利于進一步降低功耗:數(shù)種DSP能在外設(shè)處于非工作狀態(tài)時自動將片上外設(shè)關(guān)斷,或允許系統(tǒng)設(shè)計人員手動管理外設(shè)狀態(tài)。不過這種特性在粒度性上有一定局限。
● 選擇可提供多種待機狀態(tài)的DSP:選項越多,從長遠來看節(jié)電性能就越好。
● 選擇可提供開發(fā)軟件的 DSP,以專用于優(yōu)化電源并最小化功耗:所選工具應(yīng)能輕松縮放芯片的電壓與頻率,管理電源狀態(tài),測量并分析功耗,從而評估各種可選的設(shè)計方案。
MCU的電源
優(yōu)化MCU以實現(xiàn)低功耗工作的最佳起點是采用超低功耗工藝來制造MCU,從而可將晶體管的漏電流銳減至極低的水平。高性能工藝技術(shù)會造成DSP的功耗加大,與此相對應(yīng),專為降低功耗而優(yōu)化的半導(dǎo)體工藝則可能限制MCU的峰值處理性能。
時鐘速度是最顯而易見的局限性。例如,TI的MSP430F20xx是低引腳數(shù)的MCU系列產(chǎn)品,如圖2所示,能夠利用其獨特的超低功耗振蕩器(VLO)技術(shù)來實現(xiàn)低至500nA的待機模式電流、最高速度為 16MHz 的優(yōu)異特性。VLO技術(shù)使MSP430F20xx能在超低功耗待機模式下完全自動控制時鐘速度,同時無須外接組件就能實現(xiàn)自動喚醒功能,從而使煙霧檢測器或家庭溫控裝置等系統(tǒng)能夠在不更換電池的情況就能持續(xù)工作 10 年之久。
圖2 MSP430F20xx MCU結(jié)構(gòu)圖
在其實現(xiàn)500nA待機功耗時,還能確保支持所有器件的故障保護安全特性,例如,既能實現(xiàn)超低功耗又能實現(xiàn)可靠性極高的系統(tǒng)的零功耗掉電復(fù)位(BOR)功能。在 VLO 推出之前,設(shè)計人員不得不采用外部晶振或振蕩器電路來實現(xiàn)超低待機功耗。VLO 無須使用外部組件就能減少系統(tǒng)組件數(shù),降低成本,縮小板級空間,而這些都是便攜式應(yīng)用的關(guān)鍵需求。與此形成對比的是,以 TMS320C5506DSP為例,其待機功耗為10μA,是上述技術(shù)待機功耗的20倍之多。
使用智能外設(shè)也是降低功耗的高效的IC設(shè)計策略。以前,MCU 外設(shè)都是由CPU所執(zhí)行軟件驅(qū)動的,盡管這確實能高效工作,但CPU始終需要處于工作狀態(tài)。通過設(shè)計盡可能減少軟件服務(wù)量的中斷驅(qū)動型外設(shè),可以讓CPU在大多數(shù)時間內(nèi)都處于待機或空閑模式。
此外,系統(tǒng)設(shè)計人員選擇的MCU還應(yīng)擁有ADC自動輸入通道掃描功能、硬件轉(zhuǎn)換開始觸發(fā)器以及DMA數(shù)據(jù)傳輸機制等。這些特性還可將重復(fù)性數(shù)據(jù)采樣實現(xiàn)自動化,并最小化CPU的運行時間。
圖3 對于MCU的電源效率而言,兩個時鐘比一個更好
MCU 的時鐘系統(tǒng)也可在省電方面發(fā)揮重大作用。圖3顯示了單個晶振的雙時鐘運行情況。對于MCU的電源效率而言,兩個時鐘比一個更好。
MCU 的低功耗外設(shè)使用低頻輔助時鐘(ACLK)。低頻、低功耗操作通常使用32kHz的外部振蕩器,可支持實時時鐘功能性。高速度的數(shù)控振蕩器(DCO)可作為由CPU和高速外設(shè)使用的主系統(tǒng)時鐘(MCLK)源。
除通過采用某些外設(shè)的低速時鐘實現(xiàn)省電之外,TI 的 MSP430MCU還片上集成了超低功耗振蕩器(VLO),可作為ACLK的時鐘源。在待機功耗操作模式下(LPM3),ACLK 仍保持運行且啟用所有中斷,這時 MSP430 器件的典型流耗還不足 1μA。
此外,DCO 能夠在不到 1μs 的時間里進入工作狀態(tài)并完全穩(wěn)定下來,且無須中間步驟。這就實現(xiàn)了“即時啟動”的高性能處理功能,而不像采用第二個晶振或雙速啟動那樣需要較長的啟動時間。這不僅能節(jié)省時間,同時還有助于降低功耗。
雙處理器電源
如前所述,諸如加速器、專用通信以及網(wǎng)絡(luò)外設(shè)等的集成功能會導(dǎo)致DSP在執(zhí)行簡單功能時無謂耗費電力。
對某些功能而言,MCU 比DSP更適用,例如,保持實時時鐘工作或者管理電池充電程序等。將上述任務(wù)交由MCU完成有助于更好地利用DSP的 MIPS 速率預(yù)算,這非常重要。
雙處理器架構(gòu)的優(yōu)勢非常明顯。例如,假定某系統(tǒng)依賴高端處理器來執(zhí)行監(jiān)管任務(wù),那么電池使用壽命可能只有幾天的時間。具體地說,典型的NiMH AA電池的額定電量為2500mAh。如果平均電流僅為1mA,那么耗完AA電池的電量需要119天。如果將平均電流提高到10mA,則電池只能工作12天就沒電了。
通過采用雙處理器系統(tǒng),可通過以下系統(tǒng)或監(jiān)管功能實現(xiàn)電源優(yōu)化:保持實時時鐘;供電排序;電源監(jiān)控與復(fù)位;鍵區(qū)或人機接口管理;電池管理;顯示管理。
在描述MCU低功耗技術(shù)時,已經(jīng)探討了實時時鐘功能。將上述原理作簡單的擴展發(fā)揮,便可用MCU來為DSP提供時鐘。
管理DSP的電源
眾多現(xiàn)代DSP都擁有必須進行上電排序才能實現(xiàn)正常運行的多條電源軌。通常情況下,這些電源軌包括內(nèi)核電源軌、DDR 電源軌以及 I/O 電源軌等。盡管可用固定功能的器件來執(zhí)行電源排序,但卻不能擴展支持其他功能。
圖4 采用MCU實現(xiàn)的DSP電源排序
如圖 4 所示,采用小型低功耗微控制器,如TI的MSP430 MCU,取代固定功能器件就能實施排序、監(jiān)控與監(jiān)管等功能,從而實現(xiàn)主處理器(如TI的TMS320C550x DSP)的電源管理。
MSP430MCU上的軟件例程可實現(xiàn)以正確的順序啟用C550x DSP穩(wěn)壓器電路。MSP430采用其內(nèi)部ADC 來確認電源軌達到適當(dāng)電壓的時間。如果不需要C550x,則可采用穩(wěn)壓器的關(guān)斷特性將主處理器關(guān)閉。
事實上,MCU可通過直接與VXO通信來控制電壓,或通過與PLL直接通信來控制頻率,從而同時實現(xiàn)對DSP電壓與頻率的控制。這樣做明顯的好處在于,DSP完成了計算密集型任務(wù)后,MCU 可讓DSP進入有效的待機模式。
監(jiān)控進程是雙向的,換言之,MCU可探詢DSP的繁忙程度。在此模式下,其可發(fā)揮智能控制器的作用。另一方面,DSP的內(nèi)部監(jiān)控功能也能發(fā)揮作用。由于既可對MCU進行讀取也能寫入,因此DSP可根據(jù)應(yīng)用需要通知MCU時鐘的加速或減速。
人機接口管理
我們可通過與MCU的交互來降低DSP的功耗,避免在內(nèi)部用DSP來執(zhí)行簡單的任務(wù)。不過這種做法的更大好處在于,系統(tǒng)設(shè)計人員能將單處理器系統(tǒng)中由DSP執(zhí)行的一些監(jiān)管任務(wù)交給MCU 來完成。
MCU能輕松滿足鍵區(qū)操作的相關(guān)要求,而且功耗比DSP低得多。例如,僅為500nA的待機電流就比DSP小得多。只有在將按鍵按下再放開后,我們才向DSP實施中斷,通過確保這一點,MCU 可避免按鍵卡住后造成的電流消耗,而這種按鍵卡住不動的情況在某些手持設(shè)備中并不少見。
此外,16MHz MCU還能支持用戶顯示的管理工作。為了進一步提高節(jié)能效率,MCU應(yīng)擁有集成的片段型LCD驅(qū)動器,以處理四個多路復(fù)用的數(shù)據(jù)流。
此外,MCU還應(yīng)具備相關(guān)集成功能,以能通過標(biāo)準(zhǔn)SPI、UART、I2C 或RF等與外設(shè)通信,而且還應(yīng)在無須輪詢的情況下即能自動從低功耗模式啟動。
電池充電與充電管理通常是采用固定功能器件可執(zhí)行的另一個監(jiān)管功能,不過該任務(wù)也可由微控制器來完成。我們可用微控制器的 ADC 來測量電壓;用定時器和軟件來管理充電;并用脈寬調(diào)制輸出來提供充電波形。微控制器廠商的應(yīng)用報告通常會介紹其產(chǎn)品如何完成上述功能,而且還會提供代碼樣例。例如,用戶可從 TI 網(wǎng)站上下載編號為 SLAA287、題為“采用 MSP430 的鋰離子電池充電器解決方案”的應(yīng)用報告,其中介紹了 MSP430 產(chǎn)品的相關(guān)解決方案。
一旦系統(tǒng)分組完成后,還必需將MCU與DSP連接在一起,確保其彼此間正常通信。MCU 與外設(shè)交互過程中所需的大部分?jǐn)?shù)據(jù)都要與DSP共享。當(dāng)然,這會對MCU的技術(shù)規(guī)范提出一定的要求。我們應(yīng)當(dāng)尋求至少具備 16 個 GPIO 端口的產(chǎn)品,以支持處理器間的通信。此外,還應(yīng)要求所選產(chǎn)品支持片上SPI 與 I2C 接口,而電池充電功能需要10 位 ADC。
在大多數(shù)系統(tǒng)中,我們可構(gòu)建簡單的協(xié)議,讓DSP向微控制器發(fā)出基本命令。在某些情況下,如果主處理器與微控制器是相同廠商提供的,那么可以通過應(yīng)用報告及相關(guān)解決方案將二者很好地結(jié)合起來。
結(jié)論
DSP在降低功耗方面取得了重大進步,但由于制造DSP的高性能工藝技術(shù)所限,要實現(xiàn)應(yīng)有的作用還比較有限。在芯片處于待機或空閑模式時,它們特別容易受到晶體管漏電流造成的功耗影響。說到底,設(shè)計人員需要根據(jù)對DSP和/或MCU的計算、測量分析以及兩者間的折中平衡來確定到底其應(yīng)用方案應(yīng)采用一個處理器,還是結(jié)合采用兩個處理器。