亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種解決usb設(shè)備異常喚醒系統(tǒng)的方法

文檔序號(hào):9727143閱讀:2428來源:國(guó)知局
一種解決usb設(shè)備異常喚醒系統(tǒng)的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)B1S技術(shù)領(lǐng)域,具體涉及一種解決USB設(shè)備異常喚醒系統(tǒng)的方法,所用的技術(shù)為SMI中斷技術(shù),所解決的是計(jì)算機(jī)在進(jìn)入待機(jī)(睡眠)狀態(tài)后,USB設(shè)備存在異?;顒?dòng)從而喚醒操作系統(tǒng)的問題。
【背景技術(shù)】
[0002]現(xiàn)如今,筆記本已經(jīng)成為人們生活、工作和學(xué)習(xí)中不可缺少的工具。為了使人們具有更好的使用感受,筆記本不但在性能上追求更大的提升,在其他方面也有更高的要求,其中外圍接口的傳輸速度就是很重要的一項(xiàng)。由于現(xiàn)在的筆記本具有越來越多的功能要求,因此往往需要從芯片組上擴(kuò)展出很多功能設(shè)備,其中USB(Universal Serial Bus)設(shè)備就是很重要的一部分。
[0003]USB是一種外部總線標(biāo)準(zhǔn),USB具有傳輸速度快(USB1.1是12Mbps,USB2.0是480Mbps,USB3.0是5 Gbps)、使用方便、支持熱插拔、連接靈活及獨(dú)立供電等優(yōu)點(diǎn),可連接鼠標(biāo)、鍵盤、打印機(jī)、外置光驅(qū)及閃存盤等幾乎所有的外置設(shè)備。按照USB總線標(biāo)準(zhǔn)連接的外圍設(shè)備統(tǒng)稱為USB設(shè)備,由于USB的以上優(yōu)點(diǎn),USB設(shè)備的使用變得越來越普及。SMI是SystemManagement Interrupt(系統(tǒng)管理中斷)的縮寫,是x86架構(gòu)的CPU為了讓軟硬件設(shè)計(jì)者們更容易設(shè)計(jì)出符合需求的中斷程序而提供的功能。SMI的觸發(fā)方式分為硬觸發(fā)和軟觸發(fā)兩種,硬觸發(fā)的過程為:1、硬件觸發(fā)SMI中斷管腳;2、CPU進(jìn)入SMM模式;3、執(zhí)行B1S中的SMI中斷函數(shù)。軟觸發(fā)的過程為:1、向地址為0xB2的1端口中寫入中斷號(hào)intN; 2、CPU進(jìn)入SMM模式;3、執(zhí)行B1S中中斷號(hào)intN對(duì)應(yīng)的中斷函數(shù)。
[0004]目前的主流芯片組都支持USB控制器功能,二十一世紀(jì)以來的主板也都采用支持USB功能的芯片組,因此USB設(shè)備在當(dāng)前的計(jì)算機(jī)中越來越普遍。在B1S程序研發(fā)過程中可能會(huì)遇到以下問題:當(dāng)系統(tǒng)進(jìn)入S3后,有的USB設(shè)備狀態(tài)不穩(wěn)定,造成系統(tǒng)被異常喚醒。
[0005]ACPI規(guī)范定義共有六種狀態(tài),分別是SO到S5,它們代表的含義分別是:
50—實(shí)際上這就是我們平常的工作狀態(tài),所有設(shè)備全開,功耗一般會(huì)超過80W;
51—也稱為P0S(Poweron Suspend),這時(shí)除了通過CPU時(shí)鐘控制器將CPU關(guān)閉之外,其他的部件仍然正常工作,這時(shí)的功耗一般在30W以下;(其實(shí)有些CPU降溫軟件就是利用這種工作原理)
52—這時(shí)CPU處于停止運(yùn)作狀態(tài),總線時(shí)鐘也被關(guān)閉,但其余的設(shè)備仍然運(yùn)轉(zhuǎn);
53—這就是我們熟悉的STR(Suspendto RAM),這時(shí)的功耗不超過10W;
54—也稱為STD(Suspendto Disk),這時(shí)系統(tǒng)主電源關(guān)閉,但是硬盤仍然帶電并可以被喚醒;
55—這種狀態(tài)是最干脆的,就是連電源在內(nèi)的所有設(shè)備全部關(guān)閉,功耗為O。
[0006]我們最常用到的是S3狀態(tài),S卩Suspend to RAM(掛起到內(nèi)存)狀態(tài),簡(jiǎn)稱思義,STR就是把系統(tǒng)進(jìn)入STR前的工作狀態(tài)數(shù)據(jù)都存放到內(nèi)存中去。在STR狀態(tài)下,電源仍然繼續(xù)為內(nèi)存等最必要的設(shè)備供電,以確保數(shù)據(jù)不丟失,而其他設(shè)備均處于關(guān)閉狀態(tài),系統(tǒng)的耗電量極低。一旦我們按下Power按鈕(主機(jī)電源開關(guān)),系統(tǒng)就被喚醒,馬上從內(nèi)存中讀取數(shù)據(jù)并恢復(fù)到STR之前的工作狀態(tài)。內(nèi)存的讀寫速度極快,因此我們感到進(jìn)入和離開STR狀態(tài)所花費(fèi)的時(shí)間不過是幾秒鐘而已;而S4狀態(tài),S卩STD(掛起到硬盤)與STR的原理是完全一樣的,只不過數(shù)據(jù)是保存在硬盤中。由于硬盤的讀寫速度比內(nèi)存要慢得多,因此用起來也就沒有STR那么快了。STD的優(yōu)點(diǎn)是只通過軟件就能實(shí)現(xiàn)。

【發(fā)明內(nèi)容】

[0007]本發(fā)明要解決的技術(shù)問題是:針對(duì)這個(gè)問題,在本發(fā)明提供一種解決USB設(shè)備異常喚醒系統(tǒng)的方法,利用SMI中斷的方式,在系統(tǒng)進(jìn)入S3狀態(tài)時(shí),對(duì)相應(yīng)的USB Port進(jìn)行配置,使其在系統(tǒng)S3時(shí)處于Disable狀態(tài),從而不會(huì)引起系統(tǒng)的異常喚醒。
[0008]本發(fā)明所采用的技術(shù)方案為:
一種解決USB設(shè)備異常喚醒系統(tǒng)的方法,所述方法在系統(tǒng)進(jìn)入S3時(shí),產(chǎn)生一個(gè)SMI中斷,利用該中斷號(hào)注冊(cè)一個(gè)中斷處理函數(shù),在中斷函數(shù)中通過配置USB控制器的寄存器,使相應(yīng)的USB Port處于disable狀態(tài)。
[0009]所述方法在系統(tǒng)從S3喚醒時(shí),產(chǎn)生一個(gè)SMI中斷,利用該中斷號(hào)注冊(cè)一個(gè)中斷處理函數(shù),在該函數(shù)中通過配置USB控制器的寄存器,使相應(yīng)的USB Port恢復(fù)enable狀態(tài),由此可達(dá)到控制USB設(shè)備在進(jìn)入S3時(shí)的狀態(tài)。
[0010]所述方法操作步驟如下:
1)在B1S的ASL代碼中添加中斷產(chǎn)生代碼,在系統(tǒng)進(jìn)入S3時(shí)和系統(tǒng)從S3喚醒時(shí)分別產(chǎn)生一個(gè)SMI中斷;
2)根據(jù)SMI中斷號(hào),注冊(cè)一個(gè)中斷函數(shù),在該函數(shù)中分別完成對(duì)USB控制器中寄存器的配置過程;
3)當(dāng)系統(tǒng)進(jìn)入S3時(shí)或從S3狀態(tài)喚醒時(shí),會(huì)觸發(fā)注冊(cè)的SMI中斷函數(shù),從而完成對(duì)USB控制器中寄存器的配置過程。
[0011]本發(fā)明的有益效果為:
本發(fā)明利用SMI中斷的方式,在系統(tǒng)進(jìn)入S3狀態(tài)時(shí),對(duì)相應(yīng)的USB Port進(jìn)行配置,使其在系統(tǒng)S3時(shí)處于Disable狀態(tài),從而不會(huì)引起系統(tǒng)的異常喚醒。
【附圖說明】
[0012]圖1為系統(tǒng)進(jìn)入S3時(shí)的流程圖;
圖2為系統(tǒng)從S3喚醒時(shí)的流程圖。
【具體實(shí)施方式】
[0013]下面參照附圖所示,通過【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)一步說明:
實(shí)施例1:
如圖1所示,一種解決USB設(shè)備異常喚醒系統(tǒng)的方法,所述方法在系統(tǒng)進(jìn)入S3時(shí),產(chǎn)生一個(gè)SMI中斷,利用該中斷號(hào)注冊(cè)一個(gè)中斷處理函數(shù),在中斷函數(shù)中通過配置USB控制器的寄存器,使相應(yīng)的USB Port處于disable狀態(tài)。
[0014]實(shí)施例2: 如圖2所示,在實(shí)施例1的基礎(chǔ)上,本實(shí)施例所述方法在系統(tǒng)從S3喚醒時(shí),產(chǎn)生一個(gè)SMI中斷,利用該中斷號(hào)注冊(cè)一個(gè)中斷處理函數(shù),在該函數(shù)中通過配置USB控制器的寄存器,使相應(yīng)的USB Port恢復(fù)enable狀態(tài),由此可達(dá)到控制USB設(shè)備在進(jìn)入S3時(shí)的狀態(tài)。
[0015]實(shí)施例3:
在實(shí)施例2的基礎(chǔ)上,本實(shí)施例所述方法操作步驟如下:
1)在B1S的ASL代碼中添加中斷產(chǎn)生代碼,在系統(tǒng)進(jìn)入S3時(shí)和系統(tǒng)從S3喚醒時(shí)分別產(chǎn)生一個(gè)SMI中斷;
2)根據(jù)SMI中斷號(hào),注冊(cè)一個(gè)中斷函數(shù),在該函數(shù)中分別完成對(duì)USB控制器中寄存器的配置過程;
3)當(dāng)系統(tǒng)進(jìn)入S3時(shí)或從S3狀態(tài)喚醒時(shí),會(huì)觸發(fā)注冊(cè)的SMI中斷函數(shù),從而完成對(duì)USB控制器中寄存器的配置過程。
[0016]以上實(shí)施方式僅用于說明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
【主權(quán)項(xiàng)】
1.一種解決USB設(shè)備異常喚醒系統(tǒng)的方法,其特征在于:所述方法在系統(tǒng)進(jìn)入S3時(shí),產(chǎn)生一個(gè)SMI中斷,利用該中斷號(hào)注冊(cè)一個(gè)中斷處理函數(shù),在中斷函數(shù)中通過配置USB控制器的寄存器,使相應(yīng)的USB Port處于disable狀態(tài)。2.根據(jù)權(quán)利要求1所述的一種解決USB設(shè)備異常喚醒系統(tǒng)的方法,其特征在于:所述方法在系統(tǒng)從S3喚醒時(shí),產(chǎn)生一個(gè)SMI中斷,利用該中斷號(hào)注冊(cè)一個(gè)中斷處理函數(shù),在該函數(shù)中通過配置USB控制器的寄存器,使相應(yīng)的USB Port恢復(fù)enable狀態(tài),由此可達(dá)到控制USB設(shè)備在進(jìn)入S3時(shí)的狀態(tài)。3.根據(jù)權(quán)利要求2所述的一種解決USB設(shè)備異常喚醒系統(tǒng)的方法,其特征在于,所述方法操作步驟如下: 1)在B1S的ASL代碼中添加中斷產(chǎn)生代碼,在系統(tǒng)進(jìn)入S3時(shí)和系統(tǒng)從S3喚醒時(shí)分別產(chǎn)生一個(gè)SMI中斷; 2)根據(jù)SMI中斷號(hào),注冊(cè)一個(gè)中斷函數(shù),在該函數(shù)中分別完成對(duì)USB控制器中寄存器的配置過程; 3)當(dāng)系統(tǒng)進(jìn)入S3時(shí)或從S3狀態(tài)喚醒時(shí),會(huì)觸發(fā)注冊(cè)的SMI中斷函數(shù),從而完成對(duì)USB控制器中寄存器的配置過程。
【專利摘要】本發(fā)明公開了一種解決USB設(shè)備異常喚醒系統(tǒng)的方法,所述方法在系統(tǒng)進(jìn)入S3時(shí),產(chǎn)生一個(gè)SMI中斷,利用該中斷號(hào)注冊(cè)一個(gè)中斷處理函數(shù),在中斷函數(shù)中通過配置USB控制器的寄存器,使相應(yīng)的USB?Port處于disable狀態(tài)。本發(fā)明利用SMI中斷的方式,在系統(tǒng)進(jìn)入S3狀態(tài)時(shí),對(duì)相應(yīng)的USB?Port進(jìn)行配置,使其在系統(tǒng)S3時(shí)處于Disable狀態(tài),從而不會(huì)引起系統(tǒng)的異常喚醒。
【IPC分類】G06F9/30, G06F9/44
【公開號(hào)】CN105487865
【申請(qǐng)?zhí)枴緾N201510839611
【發(fā)明人】吳登勇, 劉君朋, 王一礬
【申請(qǐng)人】山東超越數(shù)控電子有限公司
【公開日】2016年4月13日
【申請(qǐng)日】2015年11月27日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1