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