MPC8xx系列處理器的嵌入式系統(tǒng)電源設計
MPC8xx系列嵌入式處理器電源模塊的結構和特性與其它類型的嵌入式處理器有較大差異,與微控制器(MCU)和數(shù)字信號處理器(DSP)差別更大。正確了解和理解其結構和特點,對于其外部電源電路設計是非常重要的。因此,首先介紹電源模塊的功能框圖和電源引唧,然后在此基礎上說明電源電路的設計方法和實用電路。
1 MPc8xx系列處理器電源系統(tǒng)
為了保證電池供電系統(tǒng)的電池壽命,MPC8xx系列處理器的電源系統(tǒng)提供了5種類型的節(jié)電模式:正常模式(包括正常高和正常低2個模式)、磕睡模式、睡眠模式、深度睡眠模式和下電模式。為此,MPC8xx系列處理器設計了如圖1所示的電源系統(tǒng)結構,其電源引腳描述如表l所列。
由圖1可知,MPC8xx處理器內置有4種不同的電源平面,通常稱之為供電軌道。系統(tǒng)設計者可以為每一種供電軌道提供一種電源。其中,I/O緩沖器、系統(tǒng)鎖相環(huán)(SPLL—System Phase—Locked Loop)的數(shù)字部分和時鐘控制部分電路是由VDDH引腳提供的3.3V±5%電源供電的,在此稱之為VDDH供電軌道;內部邏輯(包括PowerPC嵌入式處理器模塊、通信處理器模塊和系統(tǒng)接口單元等的邏輯電路)和時鐘驅動是由VDDL引腳提供的3.3V電源供電,在此稱之為VDDL,供電軌道;為了提高系統(tǒng)時鐘信號(CLKOUT)的穩(wěn)定性,SPLL模擬部分需要一個獨立的3.3V供電電源,其由VDDSYN引腳提供,在此稱之為VDDSYN供電軌道;主振蕩器模塊(OSCM)、時基計數(shù)器(TB—Timebase Counter)、遞減器(DEC—Derementer)、周期中斷定時器(PIT—Periodic Interrupt Timer)、實時時鐘(RTC—Real-Time Clock)、系統(tǒng)時鐘與復位控制寄存器(SCCR—System Clock and Reset Control Register)、鎖相環(huán)低功耗與復位控制寄存器(PLPRCR—PLL,Low—Power and Reset Control Register)和復位狀態(tài)寄存器(RSR—Reset Status Register)是由保持有效電源(KAPWR—Keep—alive-Power)引腳提供的電源供電的,在此稱之為KAPWR供電軌道。這種體系結構的供電方式允許設計者在睡眠、深度睡眠或下電模式期間,關閉VDDH、VDDL和VDDSYN引腳的電源。設計者可以使用定時器溢出輸出的TEXP引腳信號控制外部供電電路,在關閉上述3種電源后,保持KAPWR供電軌道的電源,從而最大限度地提高電池的壽命。
當MPC8xx處理器處在正常工作模式(包括正常高和正常低工作模式)時,其內部絕大部分電路的電源是自正常供電引腳一VDDH、VDDL和VSS提供的,采用這樣供電方案的目的是在系統(tǒng)空閑時降低其功耗。但是,需要注意的是,正常工作模式的各供電軌道對電源電壓的要求。由圖1可知,在正常工作模式時,通常要求VDDH的電源電壓大干或等于VDDL的電源電壓;VDDH電源電壓大于KAPWR電源電壓。由于KAPWR通常是由外部帶有后備電池供電電路提供的,因此需要在供電電路中加入正常工作電壓與后備電池之間的切換電路,這樣就使得對KAPWR供電電壓要有一定程度的降低。通常,若VDDH和VDDL供電電壓為3.3V,則KAPWR2.9V~3.3V。
MPC8xx處理器的系統(tǒng)配置與保護模塊寄存器(包括PIT、RTC、TB和DEC)和系統(tǒng)時鐘、電源和復位控制寄存器(包括SCCR、PLPRCR和RSR)是由KAPWR供電的,這些寄存器都有與其關聯(lián)的寫保護寄存器,通常稱之為鑰匙寄存器。當MPC8xx處理器進入下電模式之后,系統(tǒng)主電源(VDDH和VDDL)被斷開,這些寄存器值就被自動保護起來。若在主電源斷開之前,不進入下電模式,則會丟失數(shù)據(jù)。因此,為了保護系統(tǒng)的關鍵數(shù)據(jù),通過寫與其關聯(lián)的鑰匙寄存器來鎖定由KAPWR供電的寄存器。一旦鎖定了一個寄存器,就不能對其進行寫操作,若要試圖進行寫,則會產(chǎn)生一個檢錯中斷。在KAPR供電軌道區(qū)域內的每個寄存器都有一個可以處于打開或鎖定狀態(tài)的鑰匙寄存器。在上電復位時,除了實時時鐘鑰匙寄存器外,所有鑰匙寄存器都被打開。每個鑰匙寄存器在內部存儲器圖中都有一個與其關聯(lián)的地址,若寫0x55CCAA33到任何一個鑰匙寄存器,則與此鑰匙寄存器對應的寄存器就被打開,此時此寄存器就可以訪問了;若寫其它值,則其將被鎖定。例如,寫Ox55CCAA33到鑰匙寄存器RTCK,則將允許用戶訪問RTC寄存器。
MPC8xx處理器除了采用上述的節(jié)電方案外,在通信處理器模塊(CPM)中還設計了自己的節(jié)電機制邏輯電路,當CPM空閑時,此邏輯電路就自動關閉其時鐘。
2 MPC8xx處理器各種功耗模式之間的切換
MPC8xx處理器低功耗模式操作是受時鐘模塊中低功耗分頻器控制的。此低功耗分頻器允許用戶在保持SPLL鎖定的狀態(tài)下,動態(tài)地調整MPC8xx處理器各模塊操作頻率。在正常低模式中,用戶可以在非常低的頻率下保持整個芯片的功能。當時鐘分頻器值被修改時,立即改變系統(tǒng)操作頻率。通過修改SCCR中的分頻系數(shù)字段的數(shù)值,就可以控制低功耗分頻器。通過軟件正確設置PLPRCR中的系統(tǒng)時鐘源(CSRC)和低功耗模式(LPM)字段,以及機器狀態(tài)寄存器(hISR—Machine Status Register)中的POW位,MPC。8xx處理器就可以從正常模式進入磕睡、睡眠或下電模式,并且其使用中斷(包括來自中斷控制器的喚醒中斷一jrqx信號和來自系統(tǒng)配置和保護邏輯的RTC、PIT、TB或DEC中斷)自動退出上述低功耗模式,如圖2所示。注意一個使能中斷清LPM字段,但不改變CSRC位。
來自中斷控制器的喚醒中斷,不是系統(tǒng)退出低功耗模式的快速響應中斷。通常,由IRQX信號產(chǎn)生的中斷從正常低、磕睡高、磕睡低、睡眠或深度睡眠模式喚醒的時間為3~4個SPLL輸出時鐘(VCOOUT)。例如,在一個75MHz的系統(tǒng)中,其喚醒時間需要6Ons~8Ons。在MPC8xx系列處理器中,喚醒中斷定義為來自中斷控制器的電平敏感中斷,其只在中斷源位被清之后才無效。來自中斷控制器的所有中斷源喚醒時間都是使用實際運行的MPc8xx處理器的通用系統(tǒng)時鐘(GCLKl)來測量的,一旦一個中斷被識別,其將花費2~4個GcLKl時鐘周期來達到正常高模式。例如,在一個75MHz、DFNL=111(256分頻)的系統(tǒng)中,其喚醒時間為1O.24 u s~2O.48 μs。此外,來自系統(tǒng)配置與保護邏輯模塊的實時時鐘、周期中斷定時器、時基計數(shù)器或遞減器中的任何一個中斷都可能設置PLPRCR中的定時器中斷狀態(tài)(TMIST)位。當TMIST位被置時,MPCC8xx處理器時鐘模塊把此中斷作為一個待決中斷,因此這種類型中斷通常為快速響應喚醒中斷。因此,在系統(tǒng)進入任何一個低功耗模式(正常高模式除外)時,必須清TMIST位。
在正常和磕睡模式中,系統(tǒng)可能處于由SCCR中DFNH字段定義的高模式或由DFNL字段定義的低模式,通過PLPRCR中系統(tǒng)時鐘源(CSRC)位的設置,系統(tǒng)可以在高頻與低頻之間來回切換。在系統(tǒng)從正常低模式到正常高模式之前,必須滿足下列條件之一:①通信處理器模塊(CPM)必須有效,即CPM_ACT必須為l;②中斷控制器的一個待決中斷必須被識別,即INTERRUPT必須為l;③MSR中的POW位必須被清(正常模式)。若沒有一個條件被滿足,CSRC位被置位和中斷狀態(tài)被復位,則系統(tǒng)自動切換回正常低模式;若CPM有效,則系統(tǒng)自動從磕睡低模式切換到磕睡高模式,換句話說,當CPM為空閑并且CSRC為被置位,則系統(tǒng)自動切換回磕睡低漠式。來自中斷控制器的一個待決中斷把系統(tǒng)從磕睡模式轉換為正常高模式。在復位之后和當退出低功耗模式出現(xiàn)復位時的缺省狀態(tài)時,MPC8xx處理器都處于正常高模式。
當來自中斷控制器、實時時鐘、周期中斷定時器、時基計數(shù)器或遞減器的喚醒中斷被識別時,MPC8xx處理器退出深度睡眠模式,進人正常高模式。在深度睡眠模式中,由于SPLL不使能,因此這一模式的喚醒時間最大為500個OSCM時鐘。在1對1模式中,喚醒時間可能最大為1000個EXTCLK時鐘。例如,若SPLL輸入頻率為32kHz,則喚醒時間最大為15.6ms,在1對1模式中,若SPLL輸入頻率為4MHz,則喚醒時間最大為125μs。
為了退出下電模式并且進入正常高模式,當定時器溢出(TEXP)引腳有效時,必須通過外部邏輯使硬件復位(HRESET)引腳有效。當來自實時時鐘、周期中斷定時器、時基計數(shù)器或遞減器的喚醒中斷出現(xiàn)時,自動置PLPRCR中的TEXPS位,進而使反映TEXPS位邏輯值的TEXP引腳有效。HRESET有效的時間必須比喚醒供電所花的時間與SPLL達到鎖定狀態(tài)所花的時間要長。退出下電模式的另一種方式是,當TEXPS位被清和TEXP引腳無效時,使HRESET引腳有效,這將導致MPC8xx處理器在復位時自動置TEXPS位,進而使TEXP引腳有效,系統(tǒng)進入正常高模式。通常,若定時器溢出置TEXPS位,則MPC8xx自動使TEXP引腳有效(若使能)后出現(xiàn)CLKOUT,表明MPC8xx正準備退出下電模式。因此,在具有下電模式功能的嵌入式系統(tǒng)中,必須引腳控制的電源開關電路,這樣才能保證電模式時功耗達到最低。
3 MPC8xx系列處理器電源電路設計
MPC8xx系列處理器電源系統(tǒng)有4種類型的供電引腳:I/O緩沖器與部分時鐘電路供電引腳(VDDH和GND)、內部邏輯與時鐘驅動器供電引(VDDL和GND)、SPLL模擬電路供電引腳(vDDsYN和VSSSYN)、保持有效電源供電引腳(KAPWR),以及用于控制下電模式切換的電源開啟與關閉定時器溢出信號引腳(TEXP),電源引腳的描述見表1。MPC8xx系列處理器電源電路設計的典型范例之一如圖3所示。
由于MPC8XX處理器系統(tǒng)性能在很大程度上取決于時鐘電路的穩(wěn)定性和可靠性,而時鐘電路的穩(wěn)定性主要取決于系統(tǒng)鎖相環(huán)(SPLL)的穩(wěn)定性。因此,在SPLL模擬部分供電電源采用LC濾波電路,以保證供電的穩(wěn)定性。保持有效電源(KAPWR)引腳為處理器內部時鐘、電源和復位控制關鍵部件(包括OSCM、SCCR、PLPRCR、RSR、PIT、RTC、TB和DEC等)供電,這些關鍵部件參數(shù)對系統(tǒng)各種運行方式起著重要,甚至決定性的作用。因此,為了保證在各種運行方式下所設置的參數(shù)不變,通常在嵌入式系統(tǒng)設計中,為KAPWR提供帶有后備電池的供電電路。在圖3中,采用了Dallas公司的帶有鋰電池監(jiān)視器的3V非易失性控制器DSl314作為VCC與后備電池的自動切換開關。在嵌入式系統(tǒng)設計中,設計者可以利月DSl314的BW引腳來監(jiān)視電池的狀況。系統(tǒng)的主電源采用一個5.OV輸入/3.3V輸出的電壓調整器(RAG-3V)作為主器件,其不僅為VDDH和VDDL供電軌道提供電源,而且還為整個系統(tǒng)提供5.OV和3.3V電源。在圖3中,還給出了MPC8xx嵌入式系統(tǒng)電源去耦和機殼地等PCB設計方法。在PCB設計時,盡量采用圖3中建議的布局和布線方法,以便最大限度地保證供電系統(tǒng)的穩(wěn)定性和可靠性。此外,在系統(tǒng)設計中,每個集成電路器件的電源端應該盡可能加接一個O.1 μF的無極性去耦電容,并且要求此電容引腳盡可能靠近器件的電源引腳,這種方法已經(jīng)成為嵌入式系統(tǒng)保持集成電路器供電穩(wěn)定性的一種常規(guī)方法。
圖3給出的供電電路是一種比較典型的MPC8xx處理器供電系統(tǒng)實用電路,其可以滿足大部分的MPC8xx嵌入式系統(tǒng)的設計要求,但是此供電系統(tǒng)設計有一個缺陷,即沒有考慮下電模式的電源控制問題。因此,對于采用電池供電的MPC8xx嵌入式系統(tǒng)來講,此電路還需要采用圖4的方法進行改進。
在此電路中,增加了下電模式控制電路。當系統(tǒng)從正常模式進入下電模式(LPM=11,TEXPS=0)時,TEXP引腳輸出低電平使電源開關U3(為處理器提供電源)和U5(為系統(tǒng)中其他電路提供電源)輸出關閉;當來自實時時鐘、周期中斷定時器、時基計數(shù)器、遞減器的喚醒中斷或系統(tǒng)復位時,由于PLPRCR中的TEXPS位自動被置,因此TEXP引腳輸出高電平使電源開關U3和U5輸出打開,系統(tǒng)退出下電模式進入正常高模式。由于在退出下電模式進入正常高模式時.要求當TEXP有效時硬件復位(HRESET)信號必須同時有效,因此電路中增加了由TEXP引腳控制的硬件復位電路(U4)。當TEXP由低變高時,硬件復位電路使而HRESET有效。此電路中,電源開關采用Micrel公司的單通電源開關芯片一MIC2025/75(最大的導通電阻為14OmΩ最小連續(xù)輸出電流為500mA);復位電路采用雙可重觸發(fā)的復位芯片—74Ll23,其常用于作為嵌入式系統(tǒng)的復位器件。