有鑑於此,本發明提供一種嵌入式控制器與省電控制方法,讓嵌入式控制器可以藉由多個計時器的控制,達到節省耗電量的效果。
本發明提出一種嵌入式控制器,適用於一計算機系統,用以執行多數個任務。嵌入式控制器包括計時模組以及控制單元。計時模組包括多個計時器,各計時器分別對應至上述多個任務的其中之一。控制單元耦接計時模組,控制單元根據各任務來分別設定相對應之各計時器的喚醒週期。當各計時器的各喚醒週期期滿時,各計時器分別產生喚醒訊號至控制單元。控制單元分別依據所接收到的各喚醒訊號,來控制嵌入式控制器從低功耗模式轉換成工作模式,控制單元分別執行產生喚醒訊號的各計時器所相對應之各任務之後,再控制嵌入式控制器從工作模式轉換回低功耗模式。
在本發明之一實施例中,上述之嵌入式控制器更包括一時脈產生單元,此時脈產生單元耦接時脈源與計時模組。時脈產生單元接收時脈源所產生的參考時脈訊號,據以產生工作時脈訊號,且各計時器根據工作時脈訊號來判斷各喚醒週期是否期滿。
在本發明之一實施例中,上述之嵌入式控制器中,當嵌入式控制器的控制單元同時接收到該些計時器所發出的多數個喚醒訊號時,控制單元據以控制嵌入式控制器從低功耗模式轉換成工作模式。控制單元依序執行各計時器所對應的各任務,並在發出喚醒訊號的計時器所對應的任務皆完成後,再控制嵌入式控制器從工作模式轉換回低功耗模式。
在本發明之一實施例中,上述之嵌入式控制器中,控制單元根據各任務之重要性順序來分別設定相對應之各計時器的各喚醒週期。
在本發明之一實施例中,上述之嵌入式控制器中,嵌入式控制器更耦接至多數個周邊裝置,控制單元所執行的任務包括控制這些週邊裝置或與這些周邊裝置進行資料存取。
在本發明之一實施例中,上述嵌入式控制器中,各計時器分別對應至各周邊裝置,控制單元依據各周邊裝置所需的處理順序來設定各計時器的各喚醒週期。
在本發明之一實施例中,上述之嵌入式控制器中,當計算機系統處於英特爾公司所訂定的S0i3省電狀態時,控制單元依據各計時器的各喚醒訊號而控制嵌入式控制器在低功耗模式與工作模式之間進行轉換。
本發明提出一種省電控制方法,適用於嵌入式控制器,此省電控制方法包括下列步驟。由嵌入式控制器配置多數個計時器以分別對應於嵌入式控制器所執行的多數個任務,並且分別設定各計時器的喚醒週期。當各計時器的各喚醒週期期滿時,各計時器分別產生一喚醒訊號。當接收到這些計時器所發出的各喚醒訊號時,據以從低功耗模式轉換成工作模式。分別執行產生各喚醒訊號的各計時器所相對應之各該任務。當所有產生各喚醒訊號的各計時器所相對應之各任務皆執行完畢時,從工作模式轉換回低功耗模式。
本發明提出一種省電控制方法,適用於可攜式電子裝置,此方法包括下列步驟。首先,對應於多個待執行任務而各別配置計時器,並分別設定各計時器的喚醒週期。當各計時器的各喚醒週期分別期滿時,各自產生喚醒訊號,以控制可攜式電子裝置的嵌入式控制器從低功耗模式轉換成工作模式。然後,由嵌入式控制器執行產生喚醒訊號的計時器所對應之待執行任務後,控制嵌入式控制器從工作模式轉換回低功耗模式。
基於上述,本發明所提供之嵌入式控制器及省電控制方法藉由各別配置計時器於多個待執行任務,且並於各計時器的各喚醒週期分別期滿時,各自產生喚醒訊號,以控制嵌入式控制器從低功耗模式轉換成工作模式。據此,可縮短嵌入式控制器處於工作模式的時間,進而降低嵌入式控制器的耗電量,達到省電的目的。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
依據ACPI標準,電源狀態包括S0~S5狀態,其中,S0狀態即是一般所謂的工作狀態,而S1~S5狀態為計算機系統提供不同程度的省電狀態。舉例來說,為了避免記憶體中儲存的作業系統狀態隨著電源關閉而消失並且為了達到省電的效果,在S3狀態之下,電力僅供應給記憶體而可讓記憶體正常運作。此外,英特爾(Intel)公司又訂定了一種新的省電狀態,稱之為S0i3省電狀態。在S0i3狀態下,整個計算機系統的功耗大約在110毫瓦左右,且僅需約300毫秒的時間就可以快速地從S0i3省電狀態轉換成S0工作狀態。本發明之實施例即是以因應計算機系統在S0i3狀態中各元件已經大幅降低功耗的情形下,來考慮嵌入式控制器的耗電量,藉由配置多個計時器來轉換嵌入式控制器的工作狀態,以達到節省電力的功效,但本發明不以此工作狀態為限。為了使本發明之內容更為明瞭,以下列舉實施例作為本發明確實能夠據以實施的範例。
圖2是依照本發明一實施例所繪示之計算機系統的方塊圖。請參照圖2,本實施例的計算機系統10例如是桌上型電腦、筆記型電腦、平板電腦或智慧型手機等,在此並不限制其範圍。計算機系統10包括中央處理器(Central Processing Unit,CPU)120、晶片組130、LPC匯流排(Low pin count bus)140、周邊裝置150-1~150-N以及嵌入式控制器110。其中,嵌入式控制器110用以控制計算機系統10的周邊裝置150-1~150-N,舉例來說,周邊裝置150-1~150-N可以是風扇,也可以是觸控板或鍵盤(未繪示)等輸入裝置,本發明對此不限制。另一方面,嵌入式控制器110也可對計算機系統10的電源進行管理。
在本發明之一實施例中,嵌入式控制器110更包括控制單元111、計時模組112以及時脈產生單元113。時脈產生單元113耦接時脈源與計時模組112,時脈產生單元113接收時脈源所產生的參考時脈訊號,據以產生工作時脈訊號,好讓嵌入式控制器110之各個單元可以正常運作。值得一提的是,時脈源可以是由一石英振盪器(未繪示)所建構,也可以是連接嵌入式控制器110的主裝置,像是中央處理器120或晶片組130。時脈產生單元113可以同時接收石英振盪器所產生的參考時脈訊號與經由LPC匯流排140傳送來的參考時脈訊號,據以產生工作時脈訊號。
嵌入式控制器110的計時模組112包括多個計時器112-1~112-N。計時器112-1~112-N利用時脈產生單元113產生的工作時脈訊號,來達成計時的效果。一般來說,計時器112-1~112-N可以透過計數具有一定頻率的工作時脈訊號,而以在預設的時間點輸出計時信號,或是週期性的輸出計時信號,進而達到計時的效果。計時器112-1~112-N可以硬體型式來實作,亦可以韌體/軟體型式來實作,本發明不限於此。另外,周邊裝置以及計時器的個數在此不做限制,因此N為一正整數。
控制單元111耦接計時模組112,用以執行多個任務。計時器112-1~112-N分別對應至上述多個任務的其中之一,而控制單元111根據各任務來分別設定相對應之各計時器112-1~112-N的喚醒週期。詳細來說,對於不同的任務而言,依照其任務內容會有不同的喚醒週期,而控制單元111便依據上述不同的各任務來分別設定相對應之各計時器112-1~112-N的喚醒週期。簡單來說,一個任務會有一個喚醒週期以及相對應的一個計時器。
計時器112-1~112-N根據時脈產生單元113所產生的工作時脈訊號來判斷各自的喚醒週期是否期滿。當計時器112-1~112-N各自的喚醒週期期滿(expired)時,計時器112-1~112-N分別產生喚醒訊號至控制單元111。控制單元111分別依據所接收到的各個喚醒訊號,來控制嵌入式控制器110從低功耗模式轉換成工作模式。在嵌入式控制器110進入工作狀態後,控制單元111分別執行產生喚醒訊號的計時器112-1~112-N所相對應之各任務。控制單元111完成所有任務之後,再控制嵌入式控制器110從工作模式轉換回低功耗模式。
另外需要說明的是,由於各個任務的喚醒週期並不相同,控制單元111接收到喚醒訊號的時間也相異,因此有可能同時接收到計時器112-1~112-N所發出的多個喚醒訊號。舉例來說,控制單元111可能在某個時間點只接收到計時器112-1所發出的喚醒訊號,也可能在另一個時間點接收到計時器112-1與計時器112-2所發出的喚醒訊號。不論控制單元111接收幾個喚醒訊號,一旦只要控制單元111接收到喚醒訊號,便會控制嵌入式控制器110從低功耗模式轉換成工作模式。
嵌入式控制器110轉換成工作模式之後,控制單元111便依序執行各計時器112-1~112-N所對應的任務,並在任務皆完成後,再控制嵌入式控制器110從工作模式轉換回低功耗模式。舉例來說,控制單元111可能在某個時間點只接收到計時器112-1所發出的喚醒訊號,並在控制嵌入式控制器110轉換成工作模式後,控制單元111執行計時器112-1所對應的任務。控制單元111完成計時器112-1所對應的任務後,便控制嵌入式控制器110從工作模式轉換回低功耗模式。
此外,控制單元111也可能在另一個時間點同時接收到計時器112-1與計時器112-2所發出的喚醒訊號。於是,嵌入式控制器110在轉換成工作模式後,控制單元111開始分別執行計時器112-1與計時器112-2所對應的任務。在控制單元111完成計時器112-1與計時器112-2所對應的任務後,便控制嵌入式控制器110從工作模式轉換回低功耗模式。需要注意的是,本發明並不限定各個任務執行的先後順序。
在本發明的另一實施例中,嵌入式控制器110耦接至多個周邊裝置150-1~150-N,控制單元111所執行的任務包括控制周邊裝置150-1~150-N或與周邊裝置150-1~150-N進行資料存取。這裡的周邊裝置例如是風扇、鍵盤裝置、觸控面板或顯示螢幕等,但本發明不以此為限。而計時器112-1~112-N分別對應至周邊裝置150-1~150-N,嵌入式控制器110的控制單元111依據周邊裝置150-1~150-N所需的處理順序來設定計時器112-1~112-N的喚醒週期。
需要再次說明的是,在本發明之另一實施例中,當計算機系統10處於英特爾(Intel)公司所訂定的S0i3省電狀態時,嵌入式控制器110便可以依據計時器112-1~112-N的喚醒訊號而在低功耗模式與工作模式之間進行轉換。
圖3是依照本發明另一實施例所繪示之省電控制方法的流程圖。本實施例的方法亦適用於圖2的計算機系統10。以下請配合參照圖2與圖3。
首先,在步驟S310中,控制單元111配置計時模組112的計時器112-1~112-N以分別對應於嵌入式控制器110所執行的多個任務,並且由控制單元111來分別設定各計時器112-1~112-N的喚醒週期。舉例來說,嵌入式控制器110有5個需要執行的任務Task1~Task5,任務Task1~Task5依照其任務內容分別有不同的喚醒週期T1~T5,也有相對應的計時器112-1~112-5,其對應關係如表1所示,但並非用以限定本發明。
接著,在步驟S330中,當計時器112-1~112-N的喚醒週期期滿時,計時器112-1~112-N分別產生喚醒訊號至控制單元111。在步驟S350中,當控制單元111接收到計時器112-1~112-N所發出的喚醒訊號時,據以控制嵌入式控制器110從低功耗模式轉換成工作模式。在步驟S370中,由控制單元111分別執行產生喚醒訊號的計時器112-1~112-N所相對應之任務。控制單元111完成所有任務之後,在步驟S390中,控制單元111控制嵌入式控制器110從工作模式轉換回低功耗模式。
另外,在本發明的另一實施例中,控制單元111更可以根據任務之重要性順序來分別設定相對應之計時器的喚醒週期。也就是說,對於比較重要的任務而言,由於任務內容可能較急迫,其所需要執行的頻率也就相對的較高,據此設定較短的喚醒週期。相反地,對於比較不重要的任務而言,可以設定較長的喚醒週期,以較低的執行頻率執行之。
另一方面,圖4是依照本發明另一實施例所繪示之嵌入式控制器的工作時序示意圖。圖4所示實施例可以參照圖2與圖3的相關說明。請參照圖4,在本實施例中假設嵌入式控制器有5個待處理的任務分別為Task1~Task5,計時器分別為Timer1~Timer5,且各任務Task1~Task5各自有相異的喚醒週期,其中從短週期至長週期依序為T1、T2、T3、T4以及T5,其中更假設T2為T1的兩倍、T3為T1的三倍、T4為T1的五倍,以及T5為T1的十倍。另外,本實施例中嵌入式控制器處理每件任務所需時間為t,需說明的是,以上之各時間的假設,僅用來說明本發明之內容,並非用以限定本發明。
如圖4所示,嵌入式控制器的控制單元於時間點t0接收到計時器Timer1~Timer5所發出的喚醒訊號。因此嵌入式控制器於時間點t0從低功耗模式轉換成工作模式以及開始分別執行任務Task1~Task5,總共需要花費時間5t來執行任務Task1~Task5,並在任務Task1~Task5完成之後,嵌入式控制器從工作模式轉換成低功耗模式。
於時間點(t0+T1)時,嵌入式控制器的控制單元只接收到計時器Timer1所發出的喚醒訊號。因此嵌入式控制器於時間點(t0+T1)從低功耗模式轉換成工作模式以及開始執行任務Task1,並在花費時間t執行任務Task1之後,從工作模式轉換成低功耗模式。
於時間點(t0+T2)時,嵌入式控制器的控制單元接收到計時器Timer1與Timer2所發出的喚醒訊號。因此嵌入式控制器於時間點(t0+T2)從低功耗模式轉換成工作模式以及開始執行任務Task1與Task2,並在花費時間2t執行任務Task1與Task2之後,從工作模式轉換成低功耗模式。
於時間點(t0+T3)時,嵌入式控制器的控制單元接收到計時器Timer1與Timer3所發出的喚醒訊號。因此嵌入式控制器於時間點(t0+T3)從低功耗模式轉換成工作模式以及開始執行任務Task1與Task3,並在花費時間2t執行任務Task1與Task3之後,從工作模式轉換成低功耗模式。
於時間點(t0+T4)時,嵌入式控制器的控制單元接收到計時器Timer1與Timer4所發出的喚醒訊號。因此嵌入式控制器於時間點(t0+T4)從低功耗模式轉換成工作模式以及開始執行任務Task1與Task4,並在花費時間2t執行任務Task1與Task4之後,從工作模式轉換成低功耗模式。
於時間點(t0+T5)時,嵌入式控制器的控制單元接收到計時器Timer1、Timer2、Timer4與Timer5所發出的喚醒訊號。因此嵌入式控制器於時間點(t0+T5)從低功耗模式轉換成工作模式以及開始執行任務Task1、Task2、Task4與Task5,並在花費時間4t執行任務Task1、Task2、Task4與Task5之後,從工作模式轉換成低功耗模式。
在此,雖然上述示範性實施例僅以描述部份時間點做說明,但其餘時間點之原理皆與其類似,故而在此並不再加以贅述之。依據上述之喚醒週期的設置與上述對於嵌入式控制器與計時器的說明,嵌入式控制器便可以利用各個不同的計時器據以在工作模式與低功耗模式之間轉換,也就是說,當遇到需要執行的任務時,嵌入式控制器從低功耗模式轉換成工作模式,並且在處於工作模式時只會處理需要執行的任務,以減少嵌入式控制器處於工作模式的時間。
此外,需要說明的是,嵌入式控制器的控制單元於時間點t0+T5會同時接收計時器Timer1、Timer2、Timer4與Timer5所發出的喚醒訊號。而嵌入式控制器在轉換成工作模式之後,嵌入式控制器的控制單元便依序執行任務Task1、Task2、Task4與Task5,並在任務Task1、Task2、Task4與Task5皆完成後,再從工作模式轉換回低功耗模式,其中並不限定執行任務Task1、Task2、Task4與Task5的順序。
在此舉一實際應用情境作為說明,假設嵌入式控制器處於工作模式所需的耗電量為20毫安培(mA),處於低功耗模式的耗電量為2mA,又假設每個任務需要處理的時間t為0.1ms。圖4所示之實施例中,各喚醒週期T1、T2、T3、T4以及T5分別假設為10ms、20ms、30ms、50ms以及100ms。在圖1習知的嵌入式控制器中,嵌入式控制器每10ms有0.5ms處於工作模式,每10ms有9.5ms處於低功耗模式,經過100ms後嵌入式控制器的耗電量為:(20mA*5ms/100ms)+(2mA*95ms/100ms)=2.9mA。
在圖4所示之實施例中,嵌入式控制器每10ms處於工作模式的時間並不是固定的,而是有關於需要處理的任務數量,所以在經過100ms後嵌入式控制器的耗電量為:(20mA*2.6ms/100ms)+(2mA*97.4ms/100ms)=2.468mA。
由此可見,利用多個計時器讓嵌入式控制器可以在需要執行任務之時才轉換成工作模式,據此降低其耗電量。
圖5A是依照本發明一實施例所繪示之可攜式電子裝置的方塊圖。圖5B是搭配對照圖5A之可攜式電子裝置所繪示之省電控制方法的流程圖。請參照圖5A與圖5B,在本實施例中,本發明之省電控制方法適用於可攜式電子裝置60中的嵌入式控制器610,而可攜式電子裝置60例如是手機、個人數位助理或筆記型電腦等。嵌入式控制器610具有計時模組612與控制單元611,其耦接關係及功能係與前述實施例中的嵌入式控制器110具有計時模組112與控制單元111相同或相似,在此不贅述。計時模組612包括多個計時器612-1~612-N,用以輸出喚醒訊號至可攜式電子裝置的嵌入式控制器610。計時器的個數在此不做限制,因此N為一正整數。
首先,在步驟S510中,可攜式電子裝置60對應於多個待執行任務而各別配置計時器612-1~612-N,並分別設定各計時器612-1~612-N的喚醒週期。與前述實施例不同的是,可由可攜式電子裝置60的其他單元來設置計時器的喚醒週期,像是可攜式電子裝置60的處理器等具有運算功能的單元,非限定於由只透過嵌入式控制器610內部自身的元件來設定。接著,在本實施例中,於步驟S520中,控制單元111更同步化各個計時器612-1~612-N。
然後,在步驟S530-1~S530-N中,分別判斷各個計時器的喚醒週期是否期滿。當各計時器612-1~612-N的喚醒週期未期滿時,計時器612-1~612-N未產生喚醒訊號,在步驟S570中,可攜式電子裝置60的嵌入式控制器610維持於低功耗模式。當各計時器612-1~612-N的喚醒週期期滿時,接續相對應之步驟S540-1~S540-N,計時器612-1~612-N各自產生喚醒訊號,控制單元111據以根據喚醒訊號來控制可攜式電子裝置60的嵌入式控制器610從低功耗模式轉換成工作模式。在嵌入式控制器610從低功耗模式轉換成工作模式之後,接續相對應之步驟S550-1~S550-N,由嵌入式控制器610執行產生喚醒訊號的計時器620-1~620-N所對應之待執行任務。在嵌入式控制器610完成一個或多個任務之後,在步驟S560中,控制單元111控制嵌入式控制器610從工作模式轉換回低功耗模式。
綜上所述,本發明藉由設置多個計時器,使嵌入式控制器可以據以在工作模式與低功耗模式之間轉換,以減少嵌入式控制器處於工作模式的時間,因此降低嵌入式控制器的耗電量,達到省電的功效。此外,由於嵌入式控制器不需要花費時間在不需要處理的任務上,使應該被處理的任務能夠更即時的被執行。另外,在習知的方法中雖有更換較省電的嵌入式控制器晶片或減少嵌入式控制器處理每件任務的時間等方法,以降低嵌入式控制器的耗電量。但更換嵌入式控制器的晶片硬體成本高,減少執行任務時間可能使任務執行不全等狀況發生。本發明之嵌入式控制器不需要更改其晶片硬體就可以達到省電的效果,避免置換晶片的製造成本。再者,也不需要減少每件任務的執行時間,使嵌入式控制器能更完整且穩當的執行每件任務,卻又可以達到省電的功效。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。