專利名稱:計算機外設的電源管理方法及系統的制作方法
技術領域:
本發明涉及電源管理方法及系統,尤指一種計算機外設的電源管理方法及系統。
背景技術:
隨著電腦廣泛的使用,電腦已經走進人們的生活。同時電腦的外設也漸漸增加,例如顯示器,打印機,音箱等,這些設備的電源控制一般不是主機來控制的,例如音箱的電源管理。在關閉電腦后,音箱電源還得從外部的開關來關閉。由于主機沒法對外設進行電源管理,這些外設的電源管理工作就要用戶來完成,會給電腦用戶帶來不方便,造成電能的浪費。
針對上述問題,現有技術也提供一些外設電源管理技術方案。方案一,請參閱申請號為97221438.0的中國專利申請,通過對主機的電源進行檢測來控制外設的電源。該技術方案雖然對外設電源管理有一定的改善的,但還是主機還是不能控制外設的電源,沒有徹底解決問題。例如有個打印機,不是每一次開機都要用到打印機,所以還是有一定的電源的浪費。方案二,請參閱申請號為02134399.3的中國專利申請,通過應用程序來控制一個插座從而控制外設的電源。由于該電源管理是通過應用程序來管理的,因此沒有辦法在開機階段實現電源的管理。又因該方案二通過串口、并口或USB來控制一個插座,串口,并口是傳統的接口,現在有些傳統接口計算機上已經不設置,如果通過USB來控制插座,插座的成本會上升。
發明內容
本發明解決的問題是提供一種計算機外設的電源管理方法及系統,解決現有技術中不能用主機控制外設電源且技術方案成本高的問題。
為解決上述問題,本發明計算機外設的電源管理方法,用于控制與計算機連接外設的電源開啟和關閉,包括步驟觸發步驟,在基本輸入輸出系統或驅動程序或應用程序中設置外設的電源開啟和關閉位置;控制步驟,在基本輸入輸出系統或驅動程序或應用程序運行到外設的電源開啟和關閉位置時,對主板芯片輸出端口所在寄存器進行不同值的寫操作,用主板芯片輸出端口的電平值表示開啟或關閉,且所述主板芯片輸出端口與外設一一對應;執行步驟,根據主板芯片輸出端口的電平值,對主板芯片輸出端口對應的外設電源執行開啟或關閉。
主板芯片為南橋芯片時,所述控制步驟進一步包括從周邊元件擴展接口的配置空間查詢輸出端口寄存器的基地址;根據基地址找到對應的輸出端口寄存器;在基本輸入輸出系統或驅動程序或應用程序運行到外設的電源開啟和關閉位置時,對輸出端口寄存器進行寫操作。
外設包括有顯示器,其中顯示器的電源開啟位置指基本輸入輸出系統的主機開機位置,而顯示器的電源關閉位置指對操作系統的關機、休眠及待機的響應位置。
所述控制步驟可以內嵌在基本輸入輸出系統提供的高級配置與電源接口中運行。
外設包括有打印機,打印機的電源開啟位置指打印機驅動程序中打印響應位置,而打印機的電源關閉位置指打印機驅動程序中打印結束位置。
外設包括有音箱,音箱的電源開啟位置為聲卡驅動程序中的聲卡啟動響應位置,而音箱的電源關閉位置為聲卡驅動程序中的聲卡關閉響應位置。對于音箱的電源管理時,控制步驟可以內嵌在聲卡驅動程序中運行。
相應地,本發明計算機外設的電源管理系統,用于控制與計算機連接外設的電源開啟和關閉,包括觸發模塊,用于在基本輸入輸出系統和驅動程序或應用程序中設置外設的電源開啟和關閉位置;控制模塊,用于在基本輸入輸出系統或驅動程序或應用程序運行到外設的電源開啟和關閉位置時,對主板芯片輸出端口所在寄存器進行不同值的寫操作,用主板芯片輸出端口的電平值表示開啟或關閉,且所述主板芯片輸出端口與外設一一對應;執行電路,串聯在外設和電源之間,用于根據主板芯片輸出端口的電平值,對主板芯片輸出端口對應的外設電源執行開啟或關閉。
所述主板芯片為南橋芯片時,所述控制模塊進一步包括基地址查詢模塊,用于從周邊元件擴展接口的配置空間查詢輸出端口寄存器的基地址;寄存器查找模塊,根據基地址找到對應的輸出端口寄存器;寫操作模塊,在基本輸入輸出系統或驅動程序或應用程序運行到外設的電源開啟和關閉位置時,對輸出端口寄存器進行寫操作。
外設包括有顯示器,其中顯示器的電源開啟位置指基本輸入輸出系統的主機開機位置,而顯示器的電源關閉位置指對操作系統的關機、休眠及待機的響應位置。
控制模塊可以內嵌在基本輸入輸出系統提供的高級配置與電源接口中。
外設包括有音箱,音箱的電源開啟位置為聲卡驅動程序中的聲卡啟動響應位置,而音箱的電源關閉位置為聲卡驅動程序中的聲卡關閉響應位置。
對于音箱的電源管理時,控制模塊可以內嵌在聲卡驅動程序中運行。
所述執行電路包括多個開關電路,每個開關電路對應一個外設,包括在外設電源和該外設之間順序串聯的上拉電阻和繼電器,且該繼電器的控制端與該外設對應的主板芯片輸出端口連接。
與現有技術相比,本發明具有以下優點本發明通過基本輸入輸出系統或驅動程序或應用程序設定對應外設的電源開啟位置或電源關閉位置;控制主板芯片的輸出端口或輸入輸出端口的輸出的電平值,進而啟動執行電路或者執行步驟,從而實現外設的電源的管理。在進入操作系統后通過BIOS和操作系統或者應用程序配合來控制主板芯片的輸出端口或輸入輸出端口的輸出的電平,由端口的輸出電平來控制控制電路的開關,從而實現外設的電源的管理。這樣,不用用戶手動控制外設電源關閉,方便用戶;可以達到節省電能;方案實現成本低。
圖1是本發明計算機外設的電源管理方法流程圖。
圖2是本發明計算機外設的電源管理系統示意圖。
具體實施例方式
現有技術中在計算機主機的電源管理方面已經很完善的情況下,一般都會符合ACPI(Advanced Configuration Management Interfasce,高級配置與電源接口)電源管理規范。主機也很難都外設進行電源管理。本發明在不改變現在外設的前提,對現在的外設電源可以管理,從而解決現有技術中存在的問題。
現有技術中ACPI電源管理規范,是BIOS(基本輸入輸出系統)和OS(操作系統)電源管理的接口。BIOS通過ACPI報告OS怎么樣控制各種設備電源。例如ACPI有提供OS調用來打開設備的電源的方法_ON();BIOS只要在這里加入打開外設電源方法及條件。OS要用到這個外設時就會調用_ON來打開設備電源的。同理OS通過調用_OFF()這個方法來關閉設備電源的。
本發明通過BIOS來控制主板芯片的輸出端口或輸入輸出端口,由輸出端口的電平來控制外設的開關,從而實現外設的電源的管理。這樣不僅成本價格低,而且可以真正的做到計算機外設電源可以控制。
請參照圖1,本發明計算機外設的電源管理方法,用于控制與計算機連接外設的電源開啟和關閉,其特征在于,包括步驟觸發步驟,在基本輸入輸出系統或驅動程序或應用程序中設置外設的電源開啟和關閉位置;控制步驟,在基本輸入輸出系統或驅動程序或應用程序運行到外設的電源開啟和關閉位置時,對主板芯片輸出端口所在寄存器進行不同值的寫操作,用主板芯片輸出端口的電平值表示開啟或關閉,且所述主板芯片輸出端口與外設一一對應;執行步驟,根據主板芯片輸出端口的電平值,對主板芯片輸出端口對應的外設電源執行開啟或關閉。
主板芯片為南橋芯片時,所述控制步驟進一步包括從周邊元件擴展接口的配置空間查詢輸出端口寄存器的基地址;根據基地址找到對應的輸出端口寄存器;根據外設的電源開啟和關閉位置,對輸出端口寄存器進行寫操作。
外設包括有顯示器,其中顯示器的電源開啟位置指基本輸入輸出系統的主機開機位置,而顯示器的電源關閉位置指對操作系統的關機、休眠及待機的響應位置。
控制步驟內嵌在基本輸入輸出系統提供的高級配置與電源接口中運行。
外設包括有打印機,其中打印機的電源開啟位置指打印機驅動程序中打印響應位置,而打印機的電源關閉位置指打印機驅動程序中打印結束位置。
外設包括有音箱,音箱的電源開啟位置為聲卡驅動程序中的聲卡啟動響應位置,而音箱的電源關閉位置為聲卡驅動程序中的聲卡關閉響應位置。對于音箱的電源管理時,控制步驟內嵌在聲卡驅動程序中運行。
請參照圖2所示,本發明計算機外設的電源管理系統,用于控制與計算機連接外設的電源開啟和關閉,包括觸發模塊,用于在基本輸入輸出系統和驅動程序或應用程序中設置外設的電源開啟和關閉位置;控制模塊,用于在基本輸入輸出系統或驅動程序或應用程序運行到外設的電源開啟和關閉位置時,對主板芯片輸出端口所在寄存器進行不同值的寫操作,用主板芯片輸出端口的電平值表示開啟或關閉,且所述主板芯片輸出端口與外設一一對應;執行電路,串聯在外設和電源之間,用于根據主板芯片輸出端口的電平值,對主板芯片輸出端口對應的外設電源執行開啟或關閉。
主板芯片為南橋芯片時,所述控制模塊進一步包括基地址查詢模塊,用于從周邊元件擴展接口的配置空間查詢輸出端口寄存器的基地址;寄存器查找模塊,根據基地址找到對應的輸出端口寄存器;寫操作模塊,根據外設的電源開啟和關閉位置,對輸出端口寄存器進行寫操作。
外設包括有顯示器,其中顯示器的電源開啟位置指基本輸入輸出系統的主機開機位置,而顯示器的電源關閉位置指對操作系統的關機、休眠及待機的響應位置。控制模塊內嵌在基本輸入輸出系統提供的高級配置與電源接口中。
外設包括有音箱,音箱的電源開啟位置為聲卡驅動程序中的聲卡啟動響應位置,而音箱的電源關閉位置為聲卡驅動程序中的聲卡關閉響應位置。對于音箱的電源管理時,控制模塊內嵌在聲卡驅動程序中運行。
執行電路包括多個開關電路,每個開關電路對應一個外設,包括在外設電源和該外設之間順序串聯的上拉電阻和繼電器,且該繼電器的控制端與該外設對應的主板芯片輸出端口連接。
實施例一,利用BIOS控制外設的電源的開啟和關閉本實施例中采用南橋(INTEL的ICH4)的GPIO1(通用輸入輸出端口1)來控制顯示器的電源開關。
將在主機開機后,在BIOS沒開始運行VGA(視頻圖形陣列)的ROM(只讀存儲器)的位置設置為顯示器的電源開啟位置在BIOS運行到顯示器的電源開啟位置時,執行控制步驟讀取南橋芯片的PCI(周邊元件擴展接口)配置空間BUS0,Device31,Function0的地址為58~5Bh得到GPIO(通用輸入輸出端口)的基地址(Base address);通過訪問Base Address+04H得到顯示器對應的GPIO所在的寄存器;通過寫操作該寄存器來控制GPIO1的電平值,表示開啟電源。根據GPIO1的輸出電平,執行電路打開顯示器的電源。
APCI中提供電源控制方法中準備休眠函數_PTS(),當OS進入關機(S3),待機(S4),休眠(S5)時,都會調用_PTS()。所以BIOS只要在_PTS()(BIOS的該位置設置為顯示器的電源關閉位置)中加入執行步驟,控制GPIO1輸出表示關閉電源的電平值,從而關閉顯示器電源。在進入操作系統后,當用戶要進入關機,待機,休眠時不需要顯示器時,操作系統調用由BIOS提供ACPI的_PTS()。
當從關機,待機,休眠回來時,BIOS再次運行到顯示器電源開啟位置,執行控制步驟,南橋的GPIO電平來打開顯示器的電源。同理其他主板芯片,例如,SUPERIO主板芯片,寫操作顯示器對應的輸出端口的寄存器,針對電源開啟和關閉不同位置而使輸出端口電平值不同。
本實施例中,執行步驟或執行模塊內嵌在BIOS提供的APCI方法,對顯示器電源進行管理,且可以由操作系統調用。當然,也可以適用于其他外設的電源管理,可能調用的外設對應ACPI函數即可。
又如,本實施例中采用南橋(INTEL的ICH4)的GPIO2來控制音箱的電源開關。
聲卡開啟和聲卡關閉分別設定為音箱電源的啟動位置和音箱電源的關閉位置,操作系統分別調用APCI中提供電源控制方法中函數_ON()和函數_OFF()當運行到音箱電源的啟動位置和音箱電源的關閉位置,讀取南橋芯片的PCI(周邊元件擴展接口)配置空間BUS0,Device31,Function0的地址為58~5Bh得到GPIO(通用輸入輸出端口)的基地址(Base address);通過訪問BaseAddress+04H得到顯示器對應的GPIO所在的寄存器;通過寫操作該寄存器來控制GPIO2的電平值,表示開啟或關閉電源。根據GPIO2的輸出電平值,執行步驟或執行、關閉電路打開音箱的電源。當操作系統要發聲要用到音箱就會調用聲卡的_ON()來打開電源,當操作系統操作完成時會調用聲卡的_OFF()來關閉電源。
實施例二,利用應用程序實現外設電源開啟和關閉本實施例中采用南橋或SUPERIO的GPIO1來控制顯示器的電源開關,其中顯示器電源開啟同實施例一,不再贅述。
本是實施例中,在應用程序中設定顯示器電源關閉位置。
在進入操作系統后,當用戶要進入關機,待機,休眠時不需要顯示器時,應用程序通過操作系統的消息機制,得到系統要關機,待機,休眠的消息(應用程序為顯示器電源關閉位置);調用控制步驟或控制模塊,寫操作南橋芯片或SUPERIO的GPIO1電平;由GPIO1的輸出電平來控制執行步驟或執行模塊,從而關閉顯示器電源。當從S3,S4,S5回來時,BIOS再次控制南橋或SUPERIO的GPIO電平來打開顯示器的電源。
同理,其他外設電源也可以通過應用程序方式調用控制步驟或控制模塊,來實現該外設的電源開啟和關閉。
實施例三,利用外設驅動程序完成該外設電源開啟和關閉本實施例,執行步驟或執行模塊嵌在外設的驅動程序中,當驅動程序運行到外設電源開啟位置或外設電源關閉位置時,運行控制步驟或控制模塊,進而控制外設電源的開啟和關閉。
本實施例中采用南橋(INTEL的ICH4)的GPIO2來控制音箱的電源開關。
將聲卡驅動程序中聲卡啟動函數PoSetPowerState(fdo,DevicePowerState,1)和聲卡關閉函數PoSetPowerState(fdo,DevicePowerState,2或3或4)分別設定為音箱電源的啟動位置和音箱電源的關閉位置。
當聲卡驅動程序運行到音箱電源的啟動位置和音箱電源的關閉位置,讀取南橋芯片的PCI(周邊元件擴展接口)配置空間BUS0,Device31,Function0的地址為58~5Bh得到GPIO(通用輸入輸出端口)的基地址(Base address);通過訪問Base Address+04H得到顯示器對應的GPIO所在的寄存器;通過寫操作該寄存器來控制GPIO2的電平值,表示開啟或關閉電源。根據GPIO2的輸出電平值,執行步驟或執行、關閉電路打開音箱的電源。當操作系統要發聲要用到音箱就會調用聲卡的驅動程序中函數PoSetPowerState(fdo,DevicePowerState,1)來打開電源,當操作系統操作完成時會調用聲卡的驅動函數PoSetPowerState(fdo,DevicePowerState,2或3或4)來關閉電源。
綜上所述,本發明通過基本輸入輸出系統或驅動程序或應用程序設定對應外設的電源開啟位置或電源關閉位置;控制主板芯片的輸出端口或輸入輸出端口的輸出的電平值,進而啟動執行電路或者執行步驟,從而實現外設的電源的管理。在進入操作系統后通過BIOS和操作系統或者應用程序配合來控制主板芯片的輸出端口或輸入輸出端口的輸出的電平,由端口的輸出電平來控制控制電路的開關,從而實現外設的電源的管理。這樣,不用用戶手動控制外設電源關閉,方便用戶;可以達到節省電能;方案實現成本低。
權利要求
1.一種計算機外設的電源管理方法,用于控制與計算機連接外設的電源開啟和關閉,其特征在于,包括步驟觸發步驟,在基本輸入輸出系統或驅動程序或應用程序中設置外設的電源開啟和關閉位置;控制步驟,在基本輸入輸出系統或驅動程序或應用程序運行到外設的電源開啟和關閉位置時,對主板芯片輸出端口所在寄存器進行不同值的寫操作,用主板芯片輸出端口的電平值表示開啟或關閉,且所述主板芯片輸出端口與外設一一對應;執行步驟,根據主板芯片輸出端口的電平值,對主板芯片輸出端口對應的外設電源執行開啟或關閉。
2.如權利要求1所述的計算機外設的電源管理方法,其特征在于,主板芯片為南橋芯片時,所述控制步驟進一步包括從周邊元件擴展接口的配置空間查詢輸出端口寄存器的基地址;根據基地址找到對應的輸出端口寄存器;在基本輸入輸出系統或驅動程序或應用程序運行到外設的電源開啟和關閉位置時,對輸出端口寄存器進行寫操作。
3.如權利要求2所述的計算機外設的電源管理方法,其特征在于,外設包括有顯示器,其中顯示器的電源開啟位置指基本輸入輸出系統的主機開機位置,而顯示器的電源關閉位置指對操作系統的關機、休眠及待機的響應位置。
4.如權利要求1至3任一項所述的計算機外設的電源管理方法,其特征在于,控制步驟內嵌在基本輸入輸出系統提供的高級配置與電源接口中運行。
5.如權利要求2所述的計算機外設的電源管理方法,其特征在于,外設包括有打印機,打印機的電源開啟位置指打印機驅動程序中打印響應位置,而打印機的電源關閉位置指打印機驅動程序中打印結束位置。
6.如權利要求2所述的計算機外設的電源管理方法,其特征在于,外設包括有音箱,音箱的電源開啟位置為聲卡驅動程序中的聲卡啟動響應位置,而音箱的電源關閉位置為聲卡驅動程序中的聲卡關閉響應位置。
7.如權利要求2所述的計算機外設的電源管理方法,其特征在于,對于音箱的電源管理時,控制步驟內嵌在聲卡驅動程序中運行。
8.一種計算機外設的電源管理系統,用于控制與計算機連接外設的電源開啟和關閉,其特征在于,包括觸發模塊,用于在基本輸入輸出系統和驅動程序或應用程序中設置外設的電源開啟和關閉位置;控制模塊,用于在基本輸入輸出系統或驅動程序或應用程序運行到外設的電源開啟和關閉位置時,對主板芯片輸出端口所在寄存器進行不同值的寫操作,用主板芯片輸出端口的電平值表示開啟或關閉,且所述主板芯片輸出端口與外設一一對應;執行電路,串聯在外設和電源之間,用于根據主板芯片輸出端口的電平值,對主板芯片輸出端口對應的外設電源執行開啟或關閉。
9.如權利要求8所述的計算機外設的電源管理系統,其特征在于,主板芯片為南橋芯片時,所述控制模塊進一步包括基地址查詢模塊,用于從周邊元件擴展接口的配置空間查詢輸出端口寄存器的基地址;寄存器查找模塊,根據基地址找到對應的輸出端口寄存器;寫操作模塊,在基本輸入輸出系統或驅動程序或應用程序運行到外設的電源開啟和關閉位置時,對輸出端口寄存器進行寫操作。
10.如權利要求9所述的計算機外設的電源管理系統,其特征在于,外設包括有顯示器,其中顯示器的電源開啟位置指基本輸入輸出系統的主機開機位置,而顯示器的電源關閉位置指對操作系統的關機、休眠及待機的響應位置。
11.如權利要求8至10任一項所述的計算機外設的電源管理系統,其特征在于,控制模塊內嵌在基本輸入輸出系統提供的高級配置與電源接口中。
12.如權利要求9所述的計算機外設的電源管理系統,其特征在于,外設包括有音箱,音箱的電源開啟位置為聲卡驅動程序中的聲卡啟動響應位置,而音箱的電源關閉位置為聲卡驅動程序中的聲卡關閉響應位置。
13.如權利要求12所述的計算機外設的電源管理系統,其特征在于,對于音箱的電源管理時,控制模塊內嵌在聲卡驅動程序中運行。
14.如權利要求8、9、10、12或13任一項所述的計算機外設的電源管理系統,其特征在于,執行電路包括多個開關電路,每個開關電路對應一個外設,包括在外設電源和該外設之間順序串聯的上拉電阻和繼電器,且該繼電器的控制端與該外設對應的主板芯片輸出端口連接。
15.如權利要求11所述的計算機外設的電源管理系統,其特征在于,執行電路包括多個開關電路,每個開關電路對應一個外設,包括在外設電源和該外設之間順序串聯的上拉電阻和繼電器,且該繼電器的控制端與該外設對應的主板芯片輸出端口連接。
全文摘要
本發明公開一種計算機外設的電源管理方法及系統,用于控制與計算機連接外設的電源開啟和關閉。其中方法包括步驟觸發步驟,在基本輸入輸出系統或驅動程序或應用程序中設置外設的電源開啟和關閉位置;控制步驟,在基本輸入輸出系統或驅動程序或應用程序運行到外設的電源開啟和關閉位置時,對主板芯片輸出端口所在寄存器進行不同值的寫操作,用主板芯片輸出端口的電平值表示開啟或關閉,且所述主板芯片輸出端口與外設一一對應;執行步驟,根據主板芯片輸出端口的電平值,對主板芯片輸出端口對應的外設電源執行開啟或關閉。相應系統包括觸發模塊、控制模塊及執行電路。
文檔編號G06F13/10GK1797325SQ20041010262
公開日2006年7月5日 申請日期2004年12月24日 優先權日2004年12月24日
發明者湯良 申請人:聯想(北京)有限公司