專(zhuān)利名稱(chēng):一種動(dòng)態(tài)時(shí)鐘與電源的控制方法、系統(tǒng)及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)通信技術(shù)領(lǐng)域,尤其涉及一種動(dòng)態(tài)時(shí)鐘與電源的控制方 法、系統(tǒng)及裝置。
背景技術(shù):
隨著3G時(shí)代的到來(lái)和芯片集成度的不斷提高,目前,許多高端手機(jī)的基 帶處理器芯片都具有多個(gè)核處理器,比如具有2個(gè)ARM9 (Advanced RISC Machines)和2個(gè)數(shù)字信號(hào)處理器(Digital Signal Processor, DSP)核的基帶 處理器芯片。其中1個(gè)ARM核和1個(gè)DSP核一起運(yùn)行無(wú)線協(xié)議棧軟件,而另 一個(gè)ARM核和另 一個(gè)DSP核一般用來(lái)實(shí)現(xiàn)應(yīng)用層軟件和音視頻編解碼。因?yàn)?核處理器的增多,手機(jī)的功耗也越來(lái)越大,動(dòng)態(tài)時(shí)鐘和電源的控制方法就是根 據(jù)不同的業(yè)務(wù)和狀態(tài)只讓必要的處理器和外設(shè)工作,如配置不同的工作時(shí)鐘和 核電壓等,從而動(dòng)態(tài)的調(diào)節(jié)手機(jī)功耗,以達(dá)到最小化手機(jī)功耗的目的。因此, 如何通過(guò)簡(jiǎn)單有效并且可靠的方法實(shí)現(xiàn)這種多核處理器條件下基帶系統(tǒng)的時(shí)
鐘和電源的動(dòng)態(tài)控制,對(duì)于提高高端手機(jī)的待機(jī)時(shí)間、通話(huà)時(shí)間而言將越來(lái)越 重要。
在多核處理器系統(tǒng)中,每個(gè)處理器的任務(wù)各不相同,而多個(gè)核處理器共用 一個(gè)系統(tǒng)時(shí)鐘,或使用相同的核電源,某個(gè)核單方面關(guān)掉時(shí)鐘或電源會(huì)導(dǎo)致其 它核和外設(shè)工作狀態(tài)被破壞,因此必須保證多個(gè)核處理器同步進(jìn)入睡眠和喚醒 狀態(tài)。在這種情況下往往需要一個(gè)主控處理器來(lái)控制系統(tǒng)的時(shí)鐘和電源。
下面以基于雙核的基帶處理器為例,簡(jiǎn)單說(shuō)明現(xiàn)有技術(shù)中采用軟件方法實(shí) 現(xiàn)動(dòng)態(tài)時(shí)鐘與電源控制的基本流程
如圖1所示,在一個(gè)4交簡(jiǎn)單的具有1個(gè)ARM核與1個(gè)DSP核的2核系
4統(tǒng)中,ARM核作為主控處理器?;鶐酒墓ぷ鳡顟B(tài)可以分為工作(Active) 狀態(tài)、DSP空閑(Idle)狀態(tài)和深睡眠(Deep Sleep)狀態(tài)等幾個(gè)狀態(tài),系統(tǒng) 根據(jù)這些狀態(tài)控制處理器的時(shí)鐘和核電壓。DSP核在任務(wù)結(jié)束后關(guān)閉其外設(shè),準(zhǔn)備進(jìn)入Idle狀態(tài),DSP核給ARM核 發(fā)送一個(gè)中斷,通知ARM核后DSP核進(jìn)入Idle狀態(tài),此時(shí)系統(tǒng)進(jìn)入DSP Idle 狀態(tài);在DSP Idle狀態(tài)下當(dāng)ARM核收到DSP核發(fā)送的中斷,并判斷DSP核 已處于Idle狀態(tài)后,在沒(méi)有任務(wù)的情況下,ARM核關(guān)閉其外設(shè)和DSP核的核 時(shí)鐘,然后配置好定時(shí)喚醒;f莫塊、關(guān)閉系統(tǒng)時(shí)鐘和電源,ii^Deep Sleep狀態(tài)。 系統(tǒng)喚醒的流程同睡眠的反過(guò)程類(lèi)似。定時(shí)喚醒模塊到設(shè)定時(shí)間或者被鍵盤(pán)等 中斷喚醒,打開(kāi)電源和時(shí)鐘源晶振,完成上電時(shí)序后打開(kāi)鎖相環(huán) (Phase-LockedLoop, PLL),然后恢復(fù)到睡眠前的時(shí)鐘和DSP Idle狀態(tài)。之后, ARM核打開(kāi)DSP核時(shí)鐘,給DSP核發(fā)一個(gè)喚醒中斷,DSP核恢復(fù)Idle狀態(tài) 前的工作狀態(tài),繼續(xù)執(zhí)行手機(jī)網(wǎng)絡(luò)同步任務(wù),這時(shí)ARM核可以開(kāi)始執(zhí)行應(yīng)用 層及高層協(xié)議棧任務(wù),系統(tǒng)處于Active狀態(tài)。在現(xiàn)有技術(shù)下,即使作為主控處理器的需要高頻時(shí)鐘的核處理器沒(méi)有別的 任務(wù),每次睡眠和喚醒過(guò)程也都會(huì)被使用,導(dǎo)致額外的處理器功耗的開(kāi)銷(xiāo)。對(duì) 于具有更多核的系統(tǒng),系統(tǒng)狀態(tài)以及交互和同步機(jī)制的復(fù)雜程度將大大增加。 并且,釆用軟件同步機(jī)制的控制方法不能保證硬件可靠的進(jìn)入睡眠狀態(tài), 作為主控處理器的核處理器接收其他的核處理器發(fā)送的中斷信號(hào),并根據(jù)此 中斷信號(hào)作出關(guān)閉時(shí)鐘和核電源的動(dòng)作需要時(shí)間,主要是因?yàn)楫?dāng)其他核處理器 發(fā)出中斷信號(hào)后,通過(guò)軟件將此中斷信號(hào)傳輸?shù)街骺靥幚砥?,此主控處理器?據(jù)此中斷的內(nèi)容作出控制,通過(guò)軟件將此控制信令傳輸?shù)狡渌暮颂幚砥?,?shí) 現(xiàn)對(duì)其他處理器的控制??梢钥吹皆谡麄€(gè)的控制過(guò)程中,中斷信號(hào)通過(guò)軟件傳 輸?shù)街骺靥幚砥?,主控處理器作出控制后通過(guò)軟件實(shí)現(xiàn)對(duì)其他核處理器的控 制,因此采用軟件實(shí)現(xiàn)的方法增加了控制實(shí)現(xiàn)的時(shí)間,無(wú)法有效的保證快捷準(zhǔn) 確的時(shí)鐘和電源的控制。另外軟件很難判斷時(shí)鐘和電源資源被占用的情況,貿(mào)然關(guān)閉時(shí)鐘和電源
會(huì)導(dǎo)致數(shù)據(jù)的丟失和系統(tǒng)工作狀態(tài)出錯(cuò)。例如直接存儲(chǔ)器存取(DirectMemory Access, DMA)外設(shè)正在工作,需要使用系統(tǒng)時(shí)鐘,如果這時(shí)候時(shí)鐘被關(guān)閉, 會(huì)導(dǎo)致數(shù)據(jù)丟失。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種動(dòng)態(tài)時(shí)鐘與電源的控制方法及裝置,用以解決現(xiàn)有 技術(shù)中動(dòng)態(tài)時(shí)鐘與電源的控制方法不可靠、對(duì)時(shí)鐘和電源被占用的情況難判斷 以及功耗大的問(wèn)題。
本發(fā)明實(shí)施例提供的一種動(dòng)態(tài)時(shí)鐘與電源的控制系統(tǒng),包括至少一個(gè)核 處理器和時(shí)鐘和電源管理模塊
所述至少一個(gè)核處理器中每個(gè)核處理器與所述時(shí)鐘和電源管理模塊相連, 用于向所述時(shí)鐘和電源管理模塊發(fā)送信號(hào);
所述時(shí)鐘和電源管理模塊,與所述每個(gè)核處理器相連,用于接收所述每個(gè) 核處理器發(fā)送的信號(hào),將所述信號(hào)處理為控制所述每個(gè)核處理器時(shí)鐘和電源的 控制信號(hào), 一艮據(jù)所述控制信號(hào)控制所述每個(gè)核處理器的時(shí)鐘和電源。
本發(fā)明實(shí)施例提供的一種動(dòng)態(tài)時(shí)鐘與電源的控制方法,適用于動(dòng)態(tài)時(shí)鐘和 電源的硬件控制系統(tǒng)中,包括
時(shí)鐘和電源管理模塊將至少一個(gè)核處理器發(fā)送的信號(hào),處理為控制所述至 少一個(gè)核處理器時(shí)鐘和電源的控制信號(hào);
所述時(shí)鐘和電源管理模塊根據(jù)所述控制信號(hào)控制所述至少一個(gè)核處理器 的時(shí)鐘和電源。
一種動(dòng)態(tài)時(shí)鐘和電源管理裝置,包括
時(shí)鐘和電源管理狀態(tài)機(jī),與外部待控裝置相連,用于接收并處理所述外部 待控裝置的輸入信號(hào),并將處理后的信號(hào)發(fā)送到譯碼器;
譯碼器,用于將所述時(shí)鐘和電源管理狀態(tài)機(jī)發(fā)送的信號(hào),處理為控制所述外部待控裝置時(shí)鐘和電源的控制信號(hào),并將控制所述外部待控裝置時(shí)鐘的信號(hào)發(fā)送到門(mén)處理電路;門(mén)處理電路,用于將接收的控制信號(hào)經(jīng)與門(mén)處理,處理為控制系統(tǒng)時(shí)鐘的 控制信號(hào)。本發(fā)明實(shí)施例在動(dòng)態(tài)控制時(shí)鐘與電源時(shí),在硬件上將每個(gè)核處理器直接和 時(shí)鐘和電源管理模塊相連,將每個(gè)核處理器發(fā)送的信號(hào)處理為控制時(shí)鐘和電源 的控制信號(hào),并且時(shí)鐘和電源管理模塊采用低頻時(shí)鐘源供電,節(jié)省了終端開(kāi)銷(xiāo), 在信號(hào)接收和處理上節(jié)省了時(shí)間,提高了控制的可靠性。因此,本發(fā)明可以提 高基于多核處理器芯片在移動(dòng)終端中時(shí)鐘與電源控制的可靠性,節(jié)省移動(dòng)終端 和CPU的資源,在一定程度上增加了系統(tǒng)的睡眠時(shí)間,提高移動(dòng)終端的待機(jī) 時(shí)間。
圖1為現(xiàn)有技術(shù)中雙核處理器基帶芯片工作才莫式狀態(tài)轉(zhuǎn)移圖;圖2為本發(fā)明實(shí)施例中實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘和電源的硬件控制連接電路圖;圖3為本發(fā)明實(shí)施例中動(dòng)態(tài)時(shí)鐘和電源控制的內(nèi)部原理圖;圖4為本發(fā)明實(shí)施例中系統(tǒng)從睡眠到喚醒的時(shí)鐘和電源的啟動(dòng)時(shí)序圖;圖5為本發(fā)明實(shí)施例中時(shí)鐘和電源管理模塊控制系統(tǒng)狀態(tài)變換圖。
具體實(shí)施方式
在本發(fā)明實(shí)施例中,時(shí)鐘和電源管理模塊將至少一個(gè)核處理器發(fā)送的信 號(hào),處理為控制每個(gè)核處理器時(shí)鐘和電源的控制信號(hào),時(shí)鐘和電源管理才莫塊才艮 據(jù)得到的控制信號(hào)控制每個(gè)核處理器的時(shí)鐘和電源,并且,時(shí)鐘和電源管理模 塊在硬件上與每個(gè)核處理器直接相連。動(dòng)態(tài)時(shí)鐘和電源控制的方法還包括,時(shí)鐘和電源管理模塊根據(jù)睡眠/喚醒定 時(shí)器發(fā)送的睡眠觸發(fā)信號(hào),控制系統(tǒng)時(shí)鐘和電源的關(guān)閉;4艮據(jù)睡眠/喚醒定時(shí)器發(fā)送的喚醒觸發(fā)信號(hào),或中斷管理模塊發(fā)送的硬件中斷信號(hào)控制系統(tǒng)時(shí)鐘和電 源的打開(kāi)。DMA外設(shè)與時(shí)鐘和電源管理模塊直接相連,向時(shí)鐘和電源管理模塊輸入 其運(yùn)行狀態(tài)指示信號(hào)。當(dāng)核處理器輸入的信號(hào)為核處理器工作狀態(tài)指示信號(hào)時(shí),時(shí)鐘和電源管理 模塊將所述指示信號(hào)處理為控制核處理器核時(shí)鐘和核總線時(shí)鐘使能的控制信 號(hào),和控制核處理器核電源和核總線電源的控制信號(hào),時(shí)鐘和電源管理模塊根 據(jù)得到的控制信號(hào)控制核處理器的核電源和核時(shí)鐘及核總線的時(shí)鐘和電源;當(dāng) 直接存儲(chǔ)器存儲(chǔ)DMA外設(shè)向時(shí)鐘和電源管理模發(fā)送運(yùn)行狀態(tài)指示信號(hào)時(shí),時(shí) 鐘和電源管理模塊將指示信號(hào)處理為控制DMA外設(shè)的時(shí)鐘和電源,時(shí)鐘和電 源管理模塊根據(jù)得到的控制信號(hào)控制DMA外設(shè)的時(shí)鐘和電源。并且,為了節(jié)省系統(tǒng)的開(kāi)銷(xiāo),時(shí)鐘和電源管理才莫塊以及睡眠/喚醒定時(shí)器采 用低頻時(shí)鐘源。在本發(fā)明實(shí)施例中,利用硬件邏輯自動(dòng)控制時(shí)鐘和電源,即根據(jù)外部待控 裝置的輸入信號(hào),包括核處理器的工作狀態(tài)指示信號(hào)和DMA外設(shè)的運(yùn)行狀 態(tài)信號(hào)進(jìn)行的處理,才艮據(jù)處理得到的控制信號(hào)控制時(shí)鐘和電源,當(dāng)?shù)玫降目刂?信號(hào)為所有核處理器和外設(shè)都處于Idle狀態(tài)時(shí),才能關(guān)閉系統(tǒng)總時(shí)鐘,然后按 照一定的順序關(guān)閉電源。在本發(fā)明實(shí)施例中,時(shí)鐘和電源管理模塊作為 一個(gè)控制時(shí)鐘和電源的裝 置,也可以稱(chēng)為時(shí)鐘和電源管理裝置。如圖2所示為本發(fā)明實(shí)施例提供的動(dòng)態(tài)時(shí)鐘和電源控制的硬件連接電路 圖,實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘和電源控制的硬件包括核處理器、DMA等外設(shè)、時(shí)鐘和 電源管理模塊、睡眠/喚醒定時(shí)器以及中斷管理模塊。其中,核處理器的引腳直 接與時(shí)鐘和電源管理模塊的引腳相連,其輸出的信號(hào)包括,反映核處理器工作 狀態(tài)的指示信號(hào)以及反映核總線運(yùn)行狀態(tài)的指示信號(hào),DMA等外設(shè)直接與時(shí) 鐘和電源管理才莫塊相連,在圖2中,為了清楚描述動(dòng)態(tài)時(shí)鐘和電源的控制過(guò)程將核處理器和DMA外設(shè)分開(kāi)表示,在處理過(guò)程中可以將核處理器和DMA外 設(shè)輸入的信號(hào)和起來(lái)處理;并且,在此只用一個(gè)核處理器x來(lái)說(shuō)明控制的過(guò)程, 當(dāng)有多個(gè)核處理器時(shí),其與時(shí)鐘和電源管理模塊的連接方式相同,即為了實(shí)現(xiàn) 直接向時(shí)鐘和電源管理模塊發(fā)送狀態(tài)信號(hào)。同時(shí),中斷管理模塊、睡眠/喚醒定 時(shí)器也直接和時(shí)鐘和電源管理模塊相連。其中,在本發(fā)明實(shí)施例中,用中斷管理模塊表示發(fā)送中斷信號(hào)的單元,在 實(shí)際的實(shí)現(xiàn)過(guò)程中,可能核處理器也可以實(shí)現(xiàn)中斷信號(hào)的發(fā)送,在此為了清楚 的描述控制的過(guò)程,將實(shí)現(xiàn)發(fā)送中斷信號(hào)的單元統(tǒng)一稱(chēng)為中斷管理模塊。時(shí)鐘電路為核處理器x以及DMA等外設(shè)提供時(shí)鐘,時(shí)鐘電路為核處理器 提供高頻時(shí)鐘,并為DMA等外設(shè)提供時(shí)鐘。電源電路直接和核處理器x、DMA 等外設(shè)及時(shí)鐘電路供電相連,為其供電,并且,每個(gè)核處理器有其單獨(dú)的供電 電源。同時(shí),在硬件連接電路中,睡眠/喚醒定時(shí)器直接與時(shí)鐘和電源管理模塊相 連,根據(jù)設(shè)定的時(shí)間實(shí)現(xiàn)對(duì)系統(tǒng)定時(shí)睡眠和喚醒的控制。并且在接收到中斷管 理模塊發(fā)送的硬件中斷請(qǐng)求信號(hào)時(shí),時(shí)鐘和電源管理模塊根據(jù)接收到的信號(hào)對(duì) 系統(tǒng)進(jìn)行喚醒的控制。為了保證睡目^y喚醒定時(shí)器能在定時(shí)到來(lái)時(shí)喚醒時(shí)鐘和電源管理模塊,以及 時(shí)鐘和電源管理模塊能接收到中斷信號(hào)及喚醒信號(hào),所以在本發(fā)明實(shí)施例中時(shí) 鐘和電源管理模塊和睡眠/喚醒定時(shí)器采用獨(dú)立電源供電,并且使用獨(dú)立的低頻 時(shí)鐘源,由于時(shí)鐘和電源管理模塊以及睡眠/喚醒定時(shí)器采用低頻的獨(dú)立時(shí)鐘 源,因此可以使系統(tǒng)節(jié)省功耗開(kāi)銷(xiāo),從而提高移動(dòng)終端的待機(jī)時(shí)間。在本發(fā)明實(shí)施例中處于工作狀態(tài)的核處理器和DMA等外設(shè)也向時(shí)鐘和電 源管理模塊發(fā)送狀態(tài)指示信號(hào),時(shí)鐘和電源管理模塊可以處理此信號(hào)為無(wú)效信 號(hào),只有當(dāng)核處理器和/或DMA等外設(shè)完成任務(wù)不需要時(shí)鐘時(shí),發(fā)送的狀態(tài)指 示信號(hào)時(shí)鐘和電源管理模塊才進(jìn)行處理,并根據(jù)處理的結(jié)果進(jìn)行控制。當(dāng)核處理器x和/或DMA等外設(shè)完成任務(wù)后不需要時(shí)鐘時(shí),核處理器x將 指示其工作狀態(tài)的信號(hào)輸入時(shí)鐘和電源管理^t塊,DMA等外設(shè)將指示其運(yùn)行 狀態(tài)的信號(hào)輸入時(shí)鐘和電源管理模塊,時(shí)鐘和電源管理模塊根據(jù)輸入的狀態(tài)信 號(hào)進(jìn)行處理輸出控制信號(hào),實(shí)現(xiàn)對(duì)時(shí)鐘和電源的控制。時(shí)鐘和電源管理模塊的 控制信號(hào)包括,控制各路電源使能的控制信號(hào),和控制各路時(shí)鐘使能的控制信 號(hào)。
如圖3所示為本發(fā)明實(shí)施例中時(shí)鐘和電源管理;漠塊的內(nèi)部原理圖,時(shí)鐘和 電源管理模塊包括時(shí)鐘和電源管理狀態(tài)機(jī)、譯碼器以及門(mén)處理器。
其中,時(shí)鐘和電源管理狀態(tài)機(jī)與外部待控裝置相連,用于接收外部待控裝 置輸入的信號(hào),包括每個(gè)核處理器發(fā)送的核處理器工作狀態(tài)指示信號(hào) ARMn一IDLE 、 DSPn_IDLE 、以及DMA夕卜設(shè)的運(yùn)行狀態(tài)指示信號(hào) DMA—SYSCLK—REQ,時(shí)鐘和電源管理狀態(tài)機(jī)將接收的信號(hào)進(jìn)行處理,將處理 后的信號(hào)發(fā)送到譯碼器,例如,時(shí)鐘和電源管理模塊狀態(tài)機(jī)可以將接收的信號(hào) 經(jīng)過(guò)放大、濾波或比較處理后發(fā)送到譯碼器,譯碼器將輸入的信號(hào)處理后得到 控制信號(hào),其中包括控制核處理器電源的控制信號(hào),和控制核處理器時(shí)鐘的 控制信號(hào)??刂坪颂幚砥鲿r(shí)鐘的控制信號(hào)包括控制核處理器核時(shí)鐘的控制信 號(hào)ARMn_cclk—en和DSPn_cclk_en;控制核處理器核總線時(shí)鐘的控制信號(hào) ARMn—bclk一en和DSPn—bclk一en。其中,控制核處理器核時(shí)鐘的控制信號(hào)控制 核處理器的時(shí)鐘,控制核處理器核總線時(shí)鐘的控制信號(hào)控制各個(gè)處理器的總線 時(shí)鐘。控制核處理器電源的控制信號(hào)包括控制核處理器核電源的控制信號(hào) VDD_ARMn—en和VDD—DSPn一en。還包括,控制DMA外設(shè)時(shí)鐘和電源的控 制信號(hào)。
譯碼器將處理得到的控制核處理器時(shí)鐘的控制信號(hào)發(fā)送到門(mén)處理電路,門(mén) 處理電路將輸入的控制信號(hào)經(jīng)過(guò)與門(mén)處理得到控制系統(tǒng)時(shí)鐘的信號(hào)OSC-EN。 本發(fā)明實(shí)施例中為了保證在關(guān)閉系統(tǒng)時(shí)鐘時(shí),所有的核處理器及外設(shè)都有效的關(guān)閉了時(shí)鐘,所以將處理得到的控制核處理器的時(shí)鐘信號(hào)經(jīng)過(guò)與門(mén)處理電路, 有效保證了在關(guān)閉系統(tǒng)時(shí)鐘的情況下,其他核處理器和外設(shè)的數(shù)據(jù)不丟失,以 及能夠被正常喚醒。
當(dāng)系統(tǒng)時(shí)鐘關(guān)閉后,睡眠/喚醒定時(shí)器按照配置的睡眠定時(shí),向時(shí)鐘和電源
管理模塊發(fā)送睡眠Sleep—Trig觸發(fā)信號(hào),時(shí)鐘和電源管理模塊接收到睡眠觸發(fā) 信號(hào)后,關(guān)閉系統(tǒng)電源,系統(tǒng)進(jìn)入睡眠狀態(tài)。在此過(guò)程中,睡眠/喚醒定時(shí)器只 有在系統(tǒng)時(shí)鐘關(guān)閉后才會(huì)向時(shí)鐘和電源管理模塊發(fā)送睡眠觸發(fā)信號(hào),可以有效 保證核處理器和其他外設(shè)的運(yùn)行安全。
下面詳細(xì)描述動(dòng)態(tài)時(shí)鐘和電源控制的過(guò)程
時(shí)鐘和電源管理狀態(tài)機(jī)的輸入信號(hào)包括ARM核和DSP核的Idle狀態(tài)指 示信號(hào)、DMA的時(shí)鐘請(qǐng)求信號(hào)DMA一SYSCLK一REQ、中斷管理模塊發(fā)送的硬 件中斷信號(hào)HW一IRQ以及睡眠/喚醒定時(shí)器發(fā)送的睡眠觸發(fā)信號(hào)Sleep—Trig和 喚醒觸發(fā)信號(hào)Wakeup一REQ等。時(shí)鐘和電源管理狀態(tài)機(jī)根據(jù)接收的輸入信號(hào)進(jìn) 行處理,得到控制時(shí)鐘和電源的控制信號(hào)。其中,時(shí)鐘和電源管理模塊處理后 得到的控制信號(hào)包括系統(tǒng)總時(shí)鐘控制信號(hào)OSC-EN、第n個(gè)ARM核總線時(shí) 鐘使能信號(hào)ARMn_bclk—en、第n個(gè)ARM核核時(shí)鐘使能信號(hào)ARMn_cclk—en、 第n個(gè)DSP核總線時(shí)鐘使能信號(hào)DSPn_bclk_en、第n個(gè)DSP核核時(shí)鐘使能信 號(hào)DSPn_cclk_en以及第n個(gè)ARM核核電源控制信號(hào)VDD一ARMn和第n個(gè) DSP核核電源控制信號(hào)VDD_DSPn。
當(dāng)系統(tǒng)所有核處理器和其他時(shí)鐘請(qǐng)求模塊都處于Idle狀態(tài),不需要時(shí)鐘時(shí), 時(shí)鐘和電源管理狀態(tài)機(jī)處理核處理器輸入的狀態(tài)信號(hào),輸出控制信號(hào) ARMn—bclk—en、 ARMn—cclk—en、 DSPn—bclk—en和DSPn_cclk—en,關(guān)閉各核處 理器的核時(shí)鐘及各核處理器核總線的時(shí)鐘,以及關(guān)閉DMA外設(shè)的時(shí)鐘和電源。 并且時(shí)鐘和電源管理狀態(tài)機(jī)輸出電源控制信號(hào)VDD一ARMn和VDD—DSPn,將 控制各核處理器的核電源按照一定先后順序關(guān)閉或者進(jìn)入低功耗4莫式。同時(shí), 經(jīng)過(guò)時(shí)鐘和電源管理狀體機(jī)和譯碼器處理后的各核處理器的時(shí)鐘使能控制信
ii號(hào)、及DMA外設(shè)的時(shí)鐘使能控制信號(hào)輸入門(mén)處理器,時(shí)鐘使能控制信號(hào)經(jīng)過(guò) 與門(mén)處理后得到控制系統(tǒng)總時(shí)鐘的控制信號(hào)OSC-EN, OSC-EN直接控制外部 時(shí)鐘源晶振的供電電源LDO的使能,當(dāng)所有核處理器及DMA外設(shè)的時(shí)鐘都 關(guān)閉時(shí),OSC-EN有效才能關(guān)閉系統(tǒng)時(shí)鐘。
當(dāng)系統(tǒng)時(shí)鐘關(guān)閉后,睡眠/喚醒定時(shí)器發(fā)出睡眠觸發(fā)信號(hào),時(shí)鐘和電源管理 模塊接收到此睡眠觸發(fā)信號(hào)后,輸出控制系統(tǒng)電源關(guān)閉的控制信號(hào)關(guān)閉系統(tǒng)電 源,使系統(tǒng)進(jìn)入睡眠狀態(tài)。
處于睡眠狀態(tài)的系統(tǒng),當(dāng)系統(tǒng)定時(shí)結(jié)束時(shí),睡眠/喚醒定時(shí)器向時(shí)鐘和電源 管理模塊輸入喚醒觸發(fā)信號(hào),時(shí)鐘和電源管理模塊的狀態(tài)發(fā)生變化,打開(kāi)系統(tǒng) 電源,然后按照一定順序打開(kāi)系統(tǒng)時(shí)鐘,隨之各核處理器的核電源被打開(kāi),各 核處理器的時(shí)鐘包括總線時(shí)鐘和核時(shí)鐘被打開(kāi),系統(tǒng)被喚醒;當(dāng)時(shí)鐘和電源管 理模塊接收到中斷管理模塊發(fā)送的中斷信號(hào)時(shí),時(shí)鐘和電源管理模塊的狀態(tài)發(fā) 生變化,打開(kāi)系統(tǒng)電源,然后按照一定順序打開(kāi)系統(tǒng)時(shí)鐘,因?yàn)橹袛喙芾砟K 與核處理器之間存在硬件上的關(guān)聯(lián),所以在時(shí)鐘和電源管理才莫塊收到中斷管理 模塊發(fā)送的硬件中斷信號(hào)時(shí),時(shí)鐘和電源管理模塊打開(kāi)與硬件中斷信號(hào)關(guān)聯(lián)的 核處理器的核電源,隨之打開(kāi)關(guān)聯(lián)的核處理器的時(shí)鐘包括核總線時(shí)鐘和核時(shí) 鐘,使關(guān)聯(lián)的核處理器處于工作狀態(tài),其他核處理器依然保持在省電狀態(tài)。
如圖4所示,為本發(fā)明實(shí)施例提供的系統(tǒng)從睡眠到喚醒的時(shí)鐘和電源的啟 動(dòng)時(shí)序圖。
當(dāng)有部分核處理器完成任務(wù)不需要時(shí)鐘處于空閑狀態(tài)時(shí),此情況包括核處 理器和/或其核總線不需要時(shí)鐘,當(dāng)核處理器和其核總線都不需要時(shí)鐘時(shí),時(shí)鐘 和電源管理模塊的控制過(guò)程包括處于空閑狀態(tài)的核處理器向時(shí)鐘和電源管理 模塊發(fā)送Idle狀態(tài)指示信號(hào),時(shí)鐘和電源管理狀態(tài)機(jī)將此Idle狀態(tài)指示信號(hào)處 理后發(fā)送到譯碼器,經(jīng)過(guò)譯碼器的處理得到控制核處理器時(shí)鐘和電源的控制信 號(hào),控制關(guān)閉核處理器的核時(shí)鐘和核總線時(shí)鐘,并且控制核處理器的核電源關(guān) 閉或者進(jìn)入低功耗狀態(tài)。當(dāng)有與此核處理器關(guān)聯(lián)的硬件中斷信號(hào)輸入時(shí),時(shí)鐘和電源管理^t塊打開(kāi)核處理器的核電源,并^^姿照一定順序打開(kāi)核處理器的核時(shí) 鐘和核總線時(shí)鐘,使此核處理器進(jìn)入工作狀態(tài)。
電源的控制。例如,某一核處理器結(jié)束任務(wù)后,即會(huì)向時(shí)鐘和電源管理模塊發(fā)
出Idle狀態(tài)指示信號(hào),時(shí)鐘和電源管理模塊接收到此Idle狀態(tài)指示信號(hào)后,輸 出控制核處理器時(shí)鐘使能的控制信號(hào),包括控制核時(shí)鐘和核總線時(shí)鐘使能的控 制信號(hào),隨之時(shí)鐘和電源管理模塊輸出控制信號(hào)關(guān)閉此核處理器的核電源,或 使核電源處于低功耗模式。因此采用本發(fā)明實(shí)施例提供的時(shí)鐘和電源的控制方 法和裝置,可以及時(shí)地根據(jù)核處理器的狀態(tài)進(jìn)行控制,并且通過(guò)硬件連接的方 法可以有效的控制時(shí)鐘和電源的使能,因此,采用本發(fā)明實(shí)施例提供的方法和 裝置可以有效地節(jié)省系統(tǒng)的功耗,提高系統(tǒng)的待機(jī)時(shí)間。
在硬件連接上,核處理器的一個(gè)或者多個(gè)引腳直接與時(shí)鐘和電源管理模塊 的引腳相連,核處理器通過(guò)相連的引腳將其運(yùn)行狀態(tài)和其總線的運(yùn)行狀態(tài)反映 給時(shí)鐘和電源管理模塊,時(shí)鐘和電源管理模塊處理輸入的信號(hào),得到控制核處 理器和核處理器總線的時(shí)鐘和電源的控制信號(hào)。
因此,采用本發(fā)明實(shí)施例提供的動(dòng)態(tài)時(shí)鐘和電源的控制方法,可以最大化 系統(tǒng)的睡眠時(shí)間,并且使系統(tǒng)進(jìn)入睡眠的過(guò)程簡(jiǎn)單可靠,避免了在一些設(shè)備需 要時(shí)鐘的情況下,關(guān)閉時(shí)鐘帶來(lái)的危險(xiǎn)性。同時(shí),由于本發(fā)明實(shí)施例中沒(méi)有采 用需要高頻時(shí)鐘的核處理器作為主控制器,而是采用一個(gè)需要低頻時(shí)鐘的時(shí)鐘 和電源管理模塊,因此大大降低了系統(tǒng)的功耗,可以有效延長(zhǎng)系統(tǒng)的待機(jī)時(shí)間。
并且,在系統(tǒng)中采用其他的核處理器時(shí)也可以采用本發(fā)明實(shí)施例提供的控 制方法。
以下對(duì)時(shí)鐘和電源管理模塊實(shí)現(xiàn)系統(tǒng)睡眠和喚醒的過(guò)程中,系統(tǒng)經(jīng)歷的幾 個(gè)狀態(tài)進(jìn)行介紹,如圖5所示,包括
狀態(tài)501、鎖相環(huán)工作PLL Active狀態(tài),系統(tǒng)電源打開(kāi)并且PLL穩(wěn)定后進(jìn) 入這個(gè)狀態(tài),此狀態(tài)下所有時(shí)鐘和電源都打開(kāi)。并且當(dāng)所有的核處理器及DMA外設(shè)都不需要時(shí)鐘時(shí),時(shí)鐘和電源管理模塊控制系統(tǒng)進(jìn)入下一個(gè)狀態(tài), 時(shí)鐘停止Clock Stop狀態(tài);
狀態(tài)502、時(shí)鐘關(guān)閉Clock Stop狀態(tài),此狀態(tài)為所有的核處理器及DMA 外設(shè)都不需要時(shí)鐘時(shí)進(jìn)入的狀態(tài)。進(jìn)入這個(gè)狀態(tài)后,時(shí)鐘和電源管理模塊將輸 出控制信號(hào),將總線時(shí)鐘和核時(shí)鐘使能關(guān)閉,例如,關(guān)閉ARM核的總線時(shí)鐘 使能ARMn_bclk_en、 ARM核的核時(shí)鐘使能ARMn—cclk_en、 DSP核的總線時(shí) 鐘使能DSPn—bclk_en、 DSP核的核時(shí)鐘使能DSPn—cclk—en等;
狀態(tài)503、核電源關(guān)閉Core Power Off狀態(tài),當(dāng)時(shí)鐘和電源管理;f莫塊關(guān)閉 核時(shí)鐘和總線時(shí)鐘后,時(shí)鐘和電源管理模塊依次控制核電源關(guān)閉或進(jìn)入低功耗
模式;
狀態(tài)504、系統(tǒng)時(shí)鐘關(guān)閉OSCOff狀態(tài),當(dāng)核時(shí)鐘和核電源關(guān)閉后,時(shí)鐘 和電源管理模塊控制系統(tǒng)進(jìn)入此狀態(tài),這時(shí)給外部晶振供電的LDO的使能信 號(hào)將被關(guān)閉,使系統(tǒng)進(jìn)入深睡眠狀態(tài)。直到定時(shí)喚醒模塊的請(qǐng)求信號(hào)或者硬件 中斷信號(hào)將系統(tǒng)喚醒;
狀態(tài)505、系統(tǒng)時(shí)鐘打開(kāi)OSC On狀態(tài),處于睡眠狀態(tài)的系統(tǒng)被中斷或定 時(shí)喚醒時(shí),首先系統(tǒng)打開(kāi)外部晶振的電源,然后系統(tǒng)進(jìn)入時(shí)鐘穩(wěn)定OSC Warm-Up狀態(tài);
步驟506、時(shí)鐘穩(wěn)定OSC Warm-Up狀態(tài),當(dāng)外部晶振的電源被打開(kāi)后需 要穩(wěn)定一段時(shí)間才能輸出比較可靠的時(shí)鐘信號(hào),具體的時(shí)序過(guò)程可以參考圖4 所示,然后系統(tǒng)將進(jìn)入Core Power Off狀態(tài),即,在沒(méi)有時(shí)鐘請(qǐng)求的情況下, 系統(tǒng)自動(dòng)進(jìn)入Core Power Off狀態(tài),以保證使系統(tǒng)的睡眠時(shí)間最大化;
步驟507、核電源打開(kāi)Core Power On狀態(tài),系統(tǒng)從睡眠狀態(tài)中喚醒,即 外部對(duì)時(shí)鐘由請(qǐng)求時(shí),系統(tǒng)則會(huì)由Core Power Off跳轉(zhuǎn)到此狀態(tài),在這個(gè)狀態(tài) 下所有的核處理器的核電源被打開(kāi);
步驟508、鎖相環(huán)穩(wěn)定PLL Warm-Up狀態(tài),當(dāng)系統(tǒng)從睡眠狀態(tài)中喚醒,并 且系統(tǒng)之前處于Clock Stop狀態(tài),系統(tǒng)則會(huì)跳轉(zhuǎn)到PLL Warm-Up狀態(tài),這時(shí)鎖相環(huán)PLL被打開(kāi),當(dāng)PLL穩(wěn)定后,系統(tǒng)狀態(tài)跳轉(zhuǎn)到PLL Active狀態(tài),并打 開(kāi)所有的核時(shí)鐘,完成系統(tǒng)的喚醒過(guò)程。
以上是本發(fā)明實(shí)施例提供的動(dòng)態(tài)控制時(shí)鐘和電源的方法,以及實(shí)現(xiàn)動(dòng)態(tài)時(shí) 鐘和電源控制的裝置,本發(fā)明實(shí)施例在動(dòng)態(tài)控制時(shí)鐘與電源時(shí),在硬件上將每 個(gè)核處理器直接和時(shí)鐘和電源管理模塊相連,將每個(gè)核處理器發(fā)送的信號(hào)處理 為控制時(shí)鐘和電源的控制信號(hào),并且時(shí)鐘和電源管理模塊采用低頻時(shí)鐘源供 電,節(jié)省了終端開(kāi)銷(xiāo),在信號(hào)接收和處理上節(jié)省了時(shí)間,提高了控制的可靠性。 因此,本發(fā)明可以提高基于多核處理器芯片在移動(dòng)終端中時(shí)鐘與電源控制的可 靠性,節(jié)省移動(dòng)終端和CPU的資源,在一定程度上增加了系統(tǒng)的睡眠時(shí)間, 提高移動(dòng)終端的待機(jī)時(shí)間。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā) 明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1、一種動(dòng)態(tài)時(shí)鐘和電源的控制系統(tǒng),其特征在于,包括時(shí)鐘和電源管理模塊和至少一個(gè)核處理器所述至少一個(gè)核處理器中每個(gè)核處理器與所述時(shí)鐘和電源管理模塊相連,用于向所述時(shí)鐘和電源管理模塊發(fā)送信號(hào);所述時(shí)鐘和電源管理模塊,與所述每個(gè)核處理器相連,用于接收所述每個(gè)核處理器發(fā)送的信號(hào),將所述信號(hào)處理為控制所述每個(gè)核處理器時(shí)鐘和電源的控制信號(hào),根據(jù)所述控制信號(hào)控制所述每個(gè)核處理器的時(shí)鐘和電源。
2、 如權(quán)利要求l所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 睡眠/喚醒定時(shí)器,與所述時(shí)鐘和電源管理;f莫塊相連,用于向所述時(shí)鐘和電源管理模塊發(fā)送觸發(fā)信號(hào),控制系統(tǒng)電源的打開(kāi)和關(guān)閉。
3、 如權(quán)利要求2所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 低頻時(shí)鐘源,與所述時(shí)鐘和電源管理模塊,或睡眠/喚醒定時(shí)器相連,用于向所述時(shí)鐘和電源管理模塊,或所述睡眠/喚醒定時(shí)器提供低頻時(shí)鐘。
4、 如權(quán)利要求l所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 直接存儲(chǔ)器存儲(chǔ)DMA外設(shè),與所述時(shí)鐘和電源管理^t塊相連,用于向所述時(shí)鐘和電源管理模塊發(fā)送DMA外設(shè)的運(yùn)行狀態(tài)指示信號(hào)。
5、 如權(quán)利要求l所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 中斷管理模塊,與所述時(shí)鐘和電源管理模塊相連,用于向所述時(shí)鐘和電源管理模塊發(fā)送硬件中斷信號(hào)。
6、 一種動(dòng)態(tài)時(shí)鐘和電源管理裝置,其特征在于,包括 時(shí)鐘和電源管理狀態(tài)機(jī),與外部待控裝置相連,用于接收并處理所述外部待控裝置的輸入信號(hào),并將處理后的信號(hào)發(fā)送到譯碼器;譯碼器,用于將所述時(shí)鐘和電源管理狀態(tài)機(jī)發(fā)送的信號(hào),處理為控制所述 外部待控裝置時(shí)鐘和電源的控制信號(hào),并將控制所述外部待控裝置時(shí)鐘的信號(hào) 發(fā)送到門(mén)處理電路;門(mén)處理電路,用于將接收的控制信號(hào)經(jīng)與門(mén)處理,處理為控制系統(tǒng)時(shí)鐘的 控制信號(hào)。
7、 一種動(dòng)態(tài)時(shí)鐘與電源的控制方法,適用于動(dòng)態(tài)時(shí)鐘和電源的硬件控制 系統(tǒng)中,其特征在于,該方法包括以下步驟時(shí)鐘和電源管理模塊將至少一個(gè)核處理器發(fā)送的信號(hào),處理為控制所述至 少 一個(gè)核處理器時(shí)鐘和電源的控制信號(hào);所述時(shí)鐘和電源管理模塊根據(jù)所述控制信號(hào)控制所述至少一個(gè)核處理器 的時(shí)4f和電源。
8、 如權(quán)利要求7所述的方法,其特征在于,所述方法還包括 所述時(shí)鐘和電源管理模塊根據(jù)睡目^y喚醒定時(shí)器發(fā)送的睡眠觸發(fā)信號(hào),控制系統(tǒng)電源的關(guān)閉。
9、 如權(quán)利要求8所述的方法,其特征在于,所述方法還包括 所述時(shí)鐘和電源管理模塊根據(jù)所述睡HRy喚醒定時(shí)器發(fā)送的喚醒觸發(fā)信號(hào),或中斷管理模塊發(fā)送的硬件中斷信號(hào)控制系統(tǒng)電源的打開(kāi)。
10、 如權(quán)利要求8或9所述的方法,其特征在于,所述方法還包括 采用低頻時(shí)鐘源為所述時(shí)鐘和電源管理模塊,或所述睡BRy喚醒定時(shí)器提供低頻時(shí)鐘。
11、 如權(quán)利要求7所述的方法,其特征在于,所述方法還包括 所述時(shí)鐘和電源管理模塊接收DMA外設(shè)的運(yùn)行指示信號(hào),將所述指示信號(hào)處理為控制DMA外設(shè)時(shí)鐘和電源的控制信號(hào)。
12、 如權(quán)利要求7所述的方法,其特征在于,所述時(shí)鐘和電源管理模塊根 據(jù)所述控制信號(hào)控制所述至少一個(gè)核處理器的時(shí)鐘和電源,包括所述時(shí)鐘和電源管理模塊根據(jù)所述控制信號(hào)控制每個(gè)核處理器的核時(shí)鐘 和核電源,和控制所述每個(gè)核處理器的核總線時(shí)鐘和核總線電源。
全文摘要
本發(fā)明公開(kāi)了一種動(dòng)態(tài)時(shí)鐘和電源的控制方法,該方法包括,時(shí)鐘和電源管理模塊將至少一個(gè)核處理器發(fā)送的信號(hào),處理為控制所述至少一個(gè)核處理器時(shí)鐘和電源的控制信號(hào);所述時(shí)鐘和電源管理模塊根據(jù)所述控制信號(hào)控制所述至少一個(gè)核處理器的時(shí)鐘和電源。本發(fā)明還公開(kāi)了一種動(dòng)態(tài)時(shí)鐘和電源控制的系統(tǒng)及裝置。在硬件上將核處理器直接和時(shí)鐘和電源管理模塊相連,將核處理器發(fā)送的信號(hào)處理為控制時(shí)鐘和電源的控制信號(hào)。因此,本發(fā)明可以提高基于多核處理器芯片在移動(dòng)終端中時(shí)鐘與電源控制的可靠性,從而降低系統(tǒng)軟件設(shè)計(jì)的復(fù)雜度,節(jié)省移動(dòng)終端和CPU的資源,在一定程度上增加了系統(tǒng)的睡眠時(shí)間,提高移動(dòng)終端的待機(jī)時(shí)間。
文檔編號(hào)H04M1/73GK101539797SQ200810102179
公開(kāi)日2009年9月23日 申請(qǐng)日期2008年3月18日 優(yōu)先權(quán)日2008年3月18日
發(fā)明者維 何, 史公正 申請(qǐng)人:聯(lián)芯科技有限公司;大唐移動(dòng)通信設(shè)備有限公司;上海大唐移動(dòng)通信設(shè)備有限公司