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