《電子技術應用》
您所在的位置:首頁 > 電源技術 > 設計應用 > Blackfin處理器低功耗設計
Blackfin處理器低功耗設計
邢冠宇,朱國鋒,鐘鴻銳
摘要: Blackfin處理器廣泛應用于便攜音視頻產(chǎn)品等嵌入式系統(tǒng),低功耗設計直接影響產(chǎn)品使用時間。文中從時鐘頻率、工作模式、片內(nèi)外設、內(nèi)核電壓等方面,說明了Blackfin處理器低功耗設計的具體方法,根據(jù)實際應用實現(xiàn)對系統(tǒng)功耗的靈活控制與調(diào)節(jié),最大程度上延長系統(tǒng)的有效使用時間。
Abstract:
Key words :

    Blackfin處理器功耗由內(nèi)部功耗、外部功耗和實時鐘功耗組成。內(nèi)部功耗由內(nèi)部動態(tài)電流和靜態(tài)電流引起。外部功耗取決于處理器內(nèi)外設的使用情況,在不同的應用場合,片內(nèi)外設的使用有所不同,外部功耗也會不同。實時鐘功耗一般處于特定范圍之內(nèi),工作溫度為25~85℃時,實時鐘功耗范圍為0.067~0.1825mW。Blackfin系列處理器提供了動態(tài)電源管理功能,靈活的對時鐘頻率、工作模式及內(nèi)核電壓進
行調(diào)整,以Blackfin533為例闡述Blackfin系列處理器低功耗設計的具體方法。

1 時鐘頻率控制
    現(xiàn)代DSP芯片中大量使用CMOS FET(Complementary Metal-oxide Semiconductor FET互補金屬氧化物場效應管)開關,穩(wěn)定時或者處于完全打開狀態(tài)(很低的負載),或者處于完全關閉狀態(tài),但是在兩種狀態(tài)轉(zhuǎn)換過程中會產(chǎn)生漏電流,所以開關頻率很高時,F(xiàn)ET充放電會引起很大的電源功耗。因此,通過降低系統(tǒng)時鐘頻率可以有效降低系統(tǒng)功耗。
    Blackfin533通過外部時鐘輸入引腳CLKIN接收外部時鐘源(10~40 MHz)的時鐘輸入,再通過鎖相環(huán)(PLL),電路模塊產(chǎn)生內(nèi)核時鐘(CCLK)和系統(tǒng)時鐘(SCLK),通過設置PLL相關寄存器實現(xiàn)對CCLK和SCLK的頻率控制。PLL系統(tǒng)如圖l所示。

6b.jpg
    CCLK和SCLK均由VCO(Voltage-ControlledOscillator-壓控振蕩器)輸出的時鐘分頻后得到。VCO輸出時鐘頻率由PLL控制寄存器(PLL_CTL)設置,CCLK和SCLK對VCO的分頻因子由PLL分頻寄存器(PLL_DIV)設置。PLL_CTL各位說明如表1所示。

6a.jpg


    對于不同的DF和MSEL值,VCO輸出相應的時鐘頻率,對應關系如表2所示。

6c.jpg


    需要注意的是VCO最小輸出時鐘頻率為50 MHz,最大輸出頻率為內(nèi)核時鐘CCLK頻率的最大值。對BlackfinBF533,CCLK最大值為600 MHz,而BF532/531的CCLK最大值為400 MHz。所以VCO輸出頻率不應超出范圍50MHz~CCLK。
    通過設置PLL分頻寄存器PLL_DIV中的CSEL(PLL_DIV的4~5位)確定CCLK,設置SSEL(PLL_DIV的0~3位)確定SCLK,具體對應關系如表3所示。

6d.jpg


    由于SCLK頻率不能高于CCLK的頻率,所以在對SSEL參數(shù)設置時,需要確定當前CCLK的頻率。
    假設外部時鐘輸入CLKIN=27 MHz,將CCLK設置為594 MHz(27×22),SCLK設置為118.8 MHz(594/5),程序代碼如下
     6i.jpg

 

2 工作模式轉(zhuǎn)換
    Blackfin533具有4種工作模式:全速、激活、睡眠、深度睡眠,功耗大小關系為:全速>激活>睡眠>深度睡眠。不同模式下處理器的內(nèi)核電壓及時鐘設置不同,如表4所示。所以靈活調(diào)整系統(tǒng)的工作模式可以有效的降低系統(tǒng)的功耗。

6e.jpg


    在轉(zhuǎn)換工作模式時,應該明確處理器當前的工作模式,而系統(tǒng)的工作模式由PLL控制寄存器(PLL_CTL)中的PLL_OFF,BYPASS,STOPCK和PDWN狀態(tài)位共同確定。圖2說明了各種工作模式轉(zhuǎn)換之間的聯(lián)系以及轉(zhuǎn)換條件。

6f.jpg
    通過設置PLL_CTL寄存器實現(xiàn)工作模式的轉(zhuǎn)換,新的設置不會立即生效,需要先執(zhí)行下面的一個程序段

    從當前工作模式轉(zhuǎn)換至另一個工作模式的具體過程簡述如下
    (1)設置喚醒請求,目的:將處理器喚醒,使PLL_CTL中新的設置生效以便進入新的工作模式。
    (2)按模式轉(zhuǎn)換條件,設置PLL_CTL。
    (3)禁止一切中斷,將處理器置入空閑狀態(tài),等待喚醒請求。
    (4)喚醒后恢復中斷,PLL_CTL中設置的新值開始生效,處理器進入新的工作模式,繼續(xù)執(zhí)行其他指令。
    默認狀態(tài)下,所有的中斷都能產(chǎn)生1個喚醒請求,即當1個中斷產(chǎn)生時,處理器內(nèi)核就會收到1個喚醒請求,如果此時處于空閑狀態(tài),則會退出此狀態(tài),處理相應(中斷)程序。通過系統(tǒng)中斷喚醒使能寄存器(SIC_IWR)設置中斷與喚醒請求之間的對應關系,其中24~31位保留,其他位分別對應了不同的中斷源,如定時器中斷、看門狗定時器中斷、DMA中斷等,某一位如果置1,則相應中斷發(fā)生時就會產(chǎn)生1個喚醒事件。系統(tǒng)復位后,SIC_IWR中的所有位均為1。
    工作模式轉(zhuǎn)換的關鍵就是對PLL_CTL的設置,這就要求確認系統(tǒng)當前的工作模式,再根據(jù)圖2所示的轉(zhuǎn)換條件設置PLL_CTL寄存器。另外必須設置喚醒請求,因為它有助于確定處理器何時被喚醒,進入預期的工作狀態(tài)。
    下面是一個從全速模式到激活模式轉(zhuǎn)換的實例:
    對喚醒請求進行設置,本例中利用看門狗定時器中斷來產(chǎn)生這個喚醒請求。
    (1)設置定時器的計數(shù)值:通過看門狗計數(shù)寄存器(WDOG_CNT)設置。
    (2)設置相應事件:當定時器計數(shù)至O時產(chǎn)生中斷,即看門狗控制寄存器(WDOG_CTL)第3位置1,其余位為0。
    (3)利用看門狗中斷產(chǎn)生喚醒請求:SIC_IWR寄存器第24位置1,其他位為0,使能看門狗中斷喚醒請求。

 3 片內(nèi)外設控制
    系統(tǒng)設計中不是所有外設都能用到,而系統(tǒng)具體運行過程中,有些外設也不需要一直工作。所以,在適當?shù)臅r候可以通過禁用不使用的外設來降低系統(tǒng)的功耗。Blackfin535有專門的外設時鐘寄存器(PLL_IOCK),統(tǒng)一控制所有外設的時鐘,禁用某外設只需要將PLL_IOCK中對應位置0即可。Blackfin533/532/531沒有這種統(tǒng)一的時鐘控制寄存器,只能通過每個外設的控制寄存器來使能或禁用外設。

4 內(nèi)核電壓控制
    Blackfin系列處理器通過片內(nèi)的調(diào)壓器可以將外部的2.2~3.6 V的供電電壓轉(zhuǎn)換成0.85~1.2 V,為內(nèi)核供電。由于功耗與電壓的平方成正比,降低內(nèi)核電壓可有效降低系統(tǒng)功耗。片內(nèi)的調(diào)壓器需要搭配一定的外部電路才能實現(xiàn)其調(diào)壓功能,外部電路圖3所示。

6g.jpg

    VDDEXT為I/O供電電壓,VDDINT為內(nèi)核供電電壓,VROUT為外部FET/BJT驅(qū)動,用于控制開關頻率。
    通過調(diào)壓器控制寄存器(VR_CTL)的VLEV(4~7位)來設置內(nèi)核電壓值,VLEV與電壓值的對應關系,如表5所示。

6h.jpg


    修改VR_CTL的VLEV值可將內(nèi)核電壓控制在0.8~1.2 V,也可以將內(nèi)核供電完全關閉,即將VR_CTL中的FREQ(O~1位)設置為00,此時內(nèi)核時鐘和系統(tǒng)時鐘都會停止工作,而內(nèi)核電壓為0。修改內(nèi)核工作電壓的程序段需要放在對PLL_CTL設置程序之后執(zhí)行。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。