一種解決usb設備異常喚醒系統(tǒng)的方法
【技術領域】
[0001]本發(fā)明涉及計算機B1S技術領域,具體涉及一種解決USB設備異常喚醒系統(tǒng)的方法,所用的技術為SMI中斷技術,所解決的是計算機在進入待機(睡眠)狀態(tài)后,USB設備存在異?;顒訌亩鴨拘巡僮飨到y(tǒng)的問題。
【背景技術】
[0002]現(xiàn)如今,筆記本已經(jīng)成為人們生活、工作和學習中不可缺少的工具。為了使人們具有更好的使用感受,筆記本不但在性能上追求更大的提升,在其他方面也有更高的要求,其中外圍接口的傳輸速度就是很重要的一項。由于現(xiàn)在的筆記本具有越來越多的功能要求,因此往往需要從芯片組上擴展出很多功能設備,其中USB(Universal Serial Bus)設備就是很重要的一部分。
[0003]USB是一種外部總線標準,USB具有傳輸速度快(USB1.1是12Mbps,USB2.0是480Mbps,USB3.0是5 Gbps)、使用方便、支持熱插拔、連接靈活及獨立供電等優(yōu)點,可連接鼠標、鍵盤、打印機、外置光驅(qū)及閃存盤等幾乎所有的外置設備。按照USB總線標準連接的外圍設備統(tǒng)稱為USB設備,由于USB的以上優(yōu)點,USB設備的使用變得越來越普及。SMI是SystemManagement Interrupt(系統(tǒng)管理中斷)的縮寫,是x86架構的CPU為了讓軟硬件設計者們更容易設計出符合需求的中斷程序而提供的功能。SMI的觸發(fā)方式分為硬觸發(fā)和軟觸發(fā)兩種,硬觸發(fā)的過程為:1、硬件觸發(fā)SMI中斷管腳;2、CPU進入SMM模式;3、執(zhí)行B1S中的SMI中斷函數(shù)。軟觸發(fā)的過程為:1、向地址為0xB2的1端口中寫入中斷號intN; 2、CPU進入SMM模式;3、執(zhí)行B1S中中斷號intN對應的中斷函數(shù)。
[0004]目前的主流芯片組都支持USB控制器功能,二十一世紀以來的主板也都采用支持USB功能的芯片組,因此USB設備在當前的計算機中越來越普遍。在B1S程序研發(fā)過程中可能會遇到以下問題:當系統(tǒng)進入S3后,有的USB設備狀態(tài)不穩(wěn)定,造成系統(tǒng)被異常喚醒。
[0005]ACPI規(guī)范定義共有六種狀態(tài),分別是SO到S5,它們代表的含義分別是:
50—實際上這就是我們平常的工作狀態(tài),所有設備全開,功耗一般會超過80W;
51—也稱為P0S(Poweron Suspend),這時除了通過CPU時鐘控制器將CPU關閉之外,其他的部件仍然正常工作,這時的功耗一般在30W以下;(其實有些CPU降溫軟件就是利用這種工作原理)
52—這時CPU處于停止運作狀態(tài),總線時鐘也被關閉,但其余的設備仍然運轉(zhuǎn);
53—這就是我們熟悉的STR(Suspendto RAM),這時的功耗不超過10W;
54—也稱為STD(Suspendto Disk),這時系統(tǒng)主電源關閉,但是硬盤仍然帶電并可以被喚醒;
55—這種狀態(tài)是最干脆的,就是連電源在內(nèi)的所有設備全部關閉,功耗為O。
[0006]我們最常用到的是S3狀態(tài),S卩Suspend to RAM(掛起到內(nèi)存)狀態(tài),簡稱思義,STR就是把系統(tǒng)進入STR前的工作狀態(tài)數(shù)據(jù)都存放到內(nèi)存中去。在STR狀態(tài)下,電源仍然繼續(xù)為內(nèi)存等最必要的設備供電,以確保數(shù)據(jù)不丟失,而其他設備均處于關閉狀態(tài),系統(tǒng)的耗電量極低。一旦我們按下Power按鈕(主機電源開關),系統(tǒng)就被喚醒,馬上從內(nèi)存中讀取數(shù)據(jù)并恢復到STR之前的工作狀態(tài)。內(nèi)存的讀寫速度極快,因此我們感到進入和離開STR狀態(tài)所花費的時間不過是幾秒鐘而已;而S4狀態(tài),S卩STD(掛起到硬盤)與STR的原理是完全一樣的,只不過數(shù)據(jù)是保存在硬盤中。由于硬盤的讀寫速度比內(nèi)存要慢得多,因此用起來也就沒有STR那么快了。STD的優(yōu)點是只通過軟件就能實現(xiàn)。
【發(fā)明內(nèi)容】
[0007]本發(fā)明要解決的技術問題是:針對這個問題,在本發(fā)明提供一種解決USB設備異常喚醒系統(tǒng)的方法,利用SMI中斷的方式,在系統(tǒng)進入S3狀態(tài)時,對相應的USB Port進行配置,使其在系統(tǒng)S3時處于Disable狀態(tài),從而不會引起系統(tǒng)的異常喚醒。
[0008]本發(fā)明所采用的技術方案為:
一種解決USB設備異常喚醒系統(tǒng)的方法,所述方法在系統(tǒng)進入S3時,產(chǎn)生一個SMI中斷,利用該中斷號注冊一個中斷處理函數(shù),在中斷函數(shù)中通過配置USB控制器的寄存器,使相應的USB Port處于disable狀態(tài)。
[0009]所述方法在系統(tǒng)從S3喚醒時,產(chǎn)生一個SMI中斷,利用該中斷號注冊一個中斷處理函數(shù),在該函數(shù)中通過配置USB控制器的寄存器,使相應的USB Port恢復enable狀態(tài),由此可達到控制USB設備在進入S3時的狀態(tài)。
[0010]所述方法操作步驟如下:
1)在B1S的ASL代碼中添加中斷產(chǎn)生代碼,在系統(tǒng)進入S3時和系統(tǒng)從S3喚醒時分別產(chǎn)生一個SMI中斷;
2)根據(jù)SMI中斷號,注冊一個中斷函數(shù),在該函數(shù)中分別完成對USB控制器中寄存器的配置過程;
3)當系統(tǒng)進入S3時或從S3狀態(tài)喚醒時,會觸發(fā)注冊的SMI中斷函數(shù),從而完成對USB控制器中寄存器的配置過程。
[0011]本發(fā)明的有益效果為:
本發(fā)明利用SMI中斷的方式,在系統(tǒng)進入S3狀態(tài)時,對相應的USB Port進行配置,使其在系統(tǒng)S3時處于Disable狀態(tài),從而不會引起系統(tǒng)的異常喚醒。
【附圖說明】
[0012]圖1為系統(tǒng)進入S3時的流程圖;
圖2為系統(tǒng)從S3喚醒時的流程圖。
【具體實施方式】
[0013]下面參照附圖所示,通過【具體實施方式】對本發(fā)明進一步說明:
實施例1:
如圖1所示,一種解決USB設備異常喚醒系統(tǒng)的方法,所述方法在系統(tǒng)進入S3時,產(chǎn)生一個SMI中斷,利用該中斷號注冊一個中斷處理函數(shù),在中斷函數(shù)中通過配置USB控制器的寄存器,使相應的USB Port處于disable狀態(tài)。
[0014]實施例2: 如圖2所示,在實施例1的基礎上,本實施例所述方法在系統(tǒng)從S3喚醒時,產(chǎn)生一個SMI中斷,利用該中斷號注冊一個中斷處理函數(shù),在該函數(shù)中通過配置USB控制器的寄存器,使相應的USB Port恢復enable狀態(tài),由此可達到控制USB設備在進入S3時的狀態(tài)。
[0015]實施例3:
在實施例2的基礎上,本實施例所述方法操作步驟如下:
1)在B1S的ASL代碼中添加中斷產(chǎn)生代碼,在系統(tǒng)進入S3時和系統(tǒng)從S3喚醒時分別產(chǎn)生一個SMI中斷;
2)根據(jù)SMI中斷號,注冊一個中斷函數(shù),在該函數(shù)中分別完成對USB控制器中寄存器的配置過程;
3)當系統(tǒng)進入S3時或從S3狀態(tài)喚醒時,會觸發(fā)注冊的SMI中斷函數(shù),從而完成對USB控制器中寄存器的配置過程。
[0016]以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關技術領域的普通技術人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應由權利要求限定。
【主權項】
1.一種解決USB設備異常喚醒系統(tǒng)的方法,其特征在于:所述方法在系統(tǒng)進入S3時,產(chǎn)生一個SMI中斷,利用該中斷號注冊一個中斷處理函數(shù),在中斷函數(shù)中通過配置USB控制器的寄存器,使相應的USB Port處于disable狀態(tài)。2.根據(jù)權利要求1所述的一種解決USB設備異常喚醒系統(tǒng)的方法,其特征在于:所述方法在系統(tǒng)從S3喚醒時,產(chǎn)生一個SMI中斷,利用該中斷號注冊一個中斷處理函數(shù),在該函數(shù)中通過配置USB控制器的寄存器,使相應的USB Port恢復enable狀態(tài),由此可達到控制USB設備在進入S3時的狀態(tài)。3.根據(jù)權利要求2所述的一種解決USB設備異常喚醒系統(tǒng)的方法,其特征在于,所述方法操作步驟如下: 1)在B1S的ASL代碼中添加中斷產(chǎn)生代碼,在系統(tǒng)進入S3時和系統(tǒng)從S3喚醒時分別產(chǎn)生一個SMI中斷; 2)根據(jù)SMI中斷號,注冊一個中斷函數(shù),在該函數(shù)中分別完成對USB控制器中寄存器的配置過程; 3)當系統(tǒng)進入S3時或從S3狀態(tài)喚醒時,會觸發(fā)注冊的SMI中斷函數(shù),從而完成對USB控制器中寄存器的配置過程。
【專利摘要】本發(fā)明公開了一種解決USB設備異常喚醒系統(tǒng)的方法,所述方法在系統(tǒng)進入S3時,產(chǎn)生一個SMI中斷,利用該中斷號注冊一個中斷處理函數(shù),在中斷函數(shù)中通過配置USB控制器的寄存器,使相應的USB?Port處于disable狀態(tài)。本發(fā)明利用SMI中斷的方式,在系統(tǒng)進入S3狀態(tài)時,對相應的USB?Port進行配置,使其在系統(tǒng)S3時處于Disable狀態(tài),從而不會引起系統(tǒng)的異常喚醒。
【IPC分類】G06F9/30, G06F9/44
【公開號】CN105487865
【申請?zhí)枴緾N201510839611
【發(fā)明人】吳登勇, 劉君朋, 王一礬
【申請人】山東超越數(shù)控電子有限公司
【公開日】2016年4月13日
【申請日】2015年11月27日