Blackfin處理器低功耗設計
2 工作模式轉換
Blackfin533具有4種工作模式:全速、激活、睡眠、深度睡眠,功耗大小關(guān)系為:全速>激活>睡眠>深度睡眠。不同模式下處理器的內核電壓及時(shí)鐘設置不同,如表4所示。所以靈活調整系統的工作模式可以有效的降低系統的功耗。
在轉換工作模式時(shí),應該明確處理器當前的工作模式,而系統的工作模式由PLL控制寄存器(PLL_CTL)中的PLL_OFF,BYPASS,STOPCK和PDWN狀態(tài)位共同確定。圖2說(shuō)明了各種工作模式轉換之間的聯(lián)系以及轉換條件。
通過(guò)設置PLL_CTL寄存器實(shí)現工作模式的轉換,新的設置不會(huì )立即生效,需要先執行下面的一個(gè)程序段
從當前工作模式轉換至另一個(gè)工作模式的具體過(guò)程簡(jiǎn)述如下
(1)設置喚醒請求,目的:將處理器喚醒,使PLL_CTL中新的設置生效以便進(jìn)入新的工作模式。
(2)按模式轉換條件,設置PLL_CTL。
(3)禁止一切中斷,將處理器置入空閑狀態(tài),等待喚醒請求。
(4)喚醒后恢復中斷,PLL_CTL中設置的新值開(kāi)始生效,處理器進(jìn)入新的工作模式,繼續執行其他指令。
默認狀態(tài)下,所有的中斷都能產(chǎn)生1個(gè)喚醒請求,即當1個(gè)中斷產(chǎn)生時(shí),處理器內核就會(huì )收到1個(gè)喚醒請求,如果此時(shí)處于空閑狀態(tài),則會(huì )退出此狀態(tài),處理相應(中斷)程序。通過(guò)系統中斷喚醒使能寄存器(SIC_IWR)設置中斷與喚醒請求之間的對應關(guān)系,其中24~31位保留,其他位分別對應了不同的中斷源,如定時(shí)器中斷、看門(mén)狗定時(shí)器中斷、DMA中斷等,某一位如果置1,則相應中斷發(fā)生時(shí)就會(huì )產(chǎn)生1個(gè)喚醒事件。系統復位后,SIC_IWR中的所有位均為1。
工作模式轉換的關(guān)鍵就是對PLL_CTL的設置,這就要求確認系統當前的工作模式,再根據圖2所示的轉換條件設置PLL_CTL寄存器。另外必須設置喚醒請求,因為它有助于確定處理器何時(shí)被喚醒,進(jìn)入預期的工作狀態(tài)。
下面是一個(gè)從全速模式到激活模式轉換的實(shí)例:
對喚醒請求進(jìn)行設置,本例中利用看門(mén)狗定時(shí)器中斷來(lái)產(chǎn)生這個(gè)喚醒請求。
(1)設置定時(shí)器的計數值:通過(guò)看門(mén)狗計數寄存器(WDOG_CNT)設置。
(2)設置相應事件:當定時(shí)器計數至O時(shí)產(chǎn)生中斷,即看門(mén)狗控制寄存器(WDOG_CTL)第3位置1,其余位為0。
(3)利用看門(mén)狗中斷產(chǎn)生喚醒請求:SIC_IWR寄存器第24位置1,其他位為0,使能看門(mén)狗中斷喚醒請求。
評論