欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

設(shè)定通用串行總線設(shè)備的方法及計(jì)算機(jī)可讀取的記錄媒體的制作方法

文檔序號:6608467閱讀:148來源:國知局
專利名稱:設(shè)定通用串行總線設(shè)備的方法及計(jì)算機(jī)可讀取的記錄媒體的制作方法
技術(shù)領(lǐng)域
本發(fā)明是有關(guān)于一種設(shè)定USB設(shè)備的方法及一種計(jì)算機(jī)可讀取的記錄 媒體,特別是指一種設(shè)定USB設(shè)備的狀態(tài)的方法及一種計(jì)算機(jī)可讀取的記 錄媒體。
背景技術(shù)
通用串行總線(Universal Serial Bus,以下筒稱USB)是一種計(jì)算機(jī)接口設(shè) 備與計(jì)算機(jī)之間的接口標(biāo)準(zhǔn),當(dāng)使用者將支持USB的設(shè)備插接到計(jì)算機(jī)時(shí), 使用者不須在計(jì)算機(jī)中執(zhí)行IRQ中斷、1/0地址及DMA等相關(guān)系統(tǒng)資源的 設(shè)定動作即可使用USB設(shè)備提供的服務(wù),大大提升使用的便利性。當(dāng)USB設(shè)備插接于筆記本型計(jì)算機(jī)時(shí),USB設(shè)備即一直處于接近最大 功率消耗的狀態(tài),且其使用的是筆記本型計(jì)算機(jī)電池的電力。但是沒有外接 電源的筆記本型計(jì)算機(jī)其電池的電力是有限的,因此USB設(shè)備的功率消耗 直接影響到筆記本型計(jì)算機(jī)可使用的時(shí)間。圖1是一個(gè)公知USB設(shè)備的工作狀態(tài)轉(zhuǎn)換圖。USB設(shè)備可被設(shè)定在以 下三個(gè)狀態(tài)的一者 一未插接狀態(tài)91、 一工作狀態(tài)92及一懸置(suspend)狀 態(tài)93,且是透過以下4個(gè)動作使USB設(shè)備在該三個(gè)狀態(tài)之間轉(zhuǎn)換,即移 除USB設(shè)備81、插接USB設(shè)備82、懸置計(jì)算機(jī)83及回復(fù)計(jì)算機(jī)84。值得注意的是,由圖1中可知,只有懸置計(jì)算機(jī)83的動作,才可使USB 設(shè)備的驅(qū)動程序?qū)SB設(shè)備設(shè)定到該功率消耗較低的懸置狀態(tài)93,否則 USB設(shè)備的驅(qū)動程序并不會主動地將其設(shè)定在該懸置狀態(tài)93。也就是說, 必須整臺筆記本型計(jì)算機(jī)都處于懸置狀態(tài),而無法只設(shè)定USB設(shè)備單獨(dú)處 于懸置狀態(tài)。但是對于經(jīng)常被使用者操作的筆記本型計(jì)算機(jī)而言,就無法利 用此方法減少USB設(shè)備的功率消耗。另 一個(gè)降低USB設(shè)備功率消耗的方法是在不需使用USB設(shè)備的時(shí)候?qū)?其移除,需要使用的時(shí)候再將其插接上筆記本型計(jì)算機(jī)。但是對使用者而言, 頻繁的移除/插接USB設(shè)備將是一件麻煩的事情。另外,有些USB設(shè)備其傳送或是接收數(shù)據(jù)是隨機(jī)的,使用者將無法判斷何時(shí)會需要用到USB設(shè)備。因此本方法不適用于所有USB設(shè)備上。此外,ACPI(Advanced Configuration Power Interface)工業(yè)標(biāo)準(zhǔn)定義了 5 種CPU功率消耗的模式且分別是C0 C4,當(dāng)筆記本型計(jì)算機(jī)的CPU空閑(idle) 時(shí),Windows XP以后版本的操作系統(tǒng)會自動將CPU設(shè)定在較省電的C3模 式,但是因?yàn)閃indows XP操作系統(tǒng)的瑕疵(bug),當(dāng)USB設(shè)備插接在筆記 本型計(jì)算機(jī)時(shí),將使CPU無法自動進(jìn)入C3模式,導(dǎo)致CPU即便在空閑時(shí)' 其功率消耗仍然無法降低。因此,如何設(shè)定USB設(shè)備在懸置狀態(tài)93,以使 插接USB設(shè)備的筆記本型計(jì)算機(jī)CPU能夠自動進(jìn)入低功率消耗的C3模式 是一項(xiàng)有待改進(jìn)的課題。發(fā)明內(nèi)容因此,本發(fā)明的目的,即在提供一種設(shè)定USB設(shè)備的狀態(tài)的方法,該 方法可適時(shí)將USB設(shè)備設(shè)定到懸置狀態(tài)以節(jié)省計(jì)算機(jī)的功率消耗,并進(jìn)一 步使CPU可以進(jìn)入C3工作模式。于是,本發(fā)明一種設(shè)定一USB設(shè)備的方法,其中該USB設(shè)備適插接于 一電子裝置,該方法包含下列步驟該電子裝置判斷該USB設(shè)備是否空閑;及當(dāng)該USB設(shè)備是空閑時(shí),該電子裝置將該USB設(shè)備設(shè)定為懸置狀態(tài)。 而本發(fā)明一種計(jì)算機(jī)可讀取的記錄媒體,記錄了用以使一計(jì)算機(jī)執(zhí)行設(shè)定一 USB設(shè)備的復(fù)數(shù)個(gè)程序,這些程序包含一使該計(jì)算機(jī)判斷該USB設(shè)備是否空閑的第 一程序及 一使該計(jì)算機(jī)在判斷該USB設(shè)備是空閑時(shí),將該USB設(shè)備設(shè)定為懸置狀態(tài)的第二程序。


圖l是一公知USB設(shè)備的狀態(tài)轉(zhuǎn)換圖;圖2是一示意圖,說明一 USB設(shè)備的驅(qū)動程序透過一核心棧及一根集 線器驅(qū)動程序控制該USB設(shè)備的狀態(tài);圖3是本發(fā)明設(shè)定USB設(shè)備的狀態(tài)的方法的一實(shí)施例的一流程圖;及. 圖4是應(yīng)用根據(jù)圖3的實(shí)施例的USB設(shè)備2的工作狀態(tài)轉(zhuǎn)換圖。附圖標(biāo)記說明U 19步驟2 USB設(shè)備3計(jì)算機(jī)31驅(qū)動程序棧311 USB設(shè)備驅(qū)動程序312根集線器驅(qū)動程序32核心棧321 輸出入管理員322 電源管理員 81移除USB設(shè)備 82插接USB設(shè)備 83懸置計(jì)算機(jī)84回復(fù)計(jì)算機(jī) 85判定USB設(shè)備是否空閑 86存取需求/喚醒信號 91-93狀態(tài)具體實(shí)施方式
有關(guān)本發(fā)明的前述及其它技術(shù)內(nèi)容、特點(diǎn)與功效,在以下配合參考附圖 的一個(gè)實(shí)施例的詳細(xì)說明中,將可清楚的呈現(xiàn)。參閱圖2 4,本發(fā)明設(shè)定USB設(shè)備的狀態(tài)的方法,適用于將一插接于一 計(jì)算機(jī)3的USB設(shè)備2設(shè)定為一懸置狀態(tài)93,該計(jì)算機(jī)3透過一窗口操作. 系統(tǒng)(圖未示)支持一 USB驅(qū)動程序棧31(driver stack)的執(zhí)行。該USB驅(qū)動程序棧31包括USB設(shè)備的驅(qū)動程序311及一邏輯上位于 該USB設(shè)備驅(qū)動程序311下層的USB根集線器驅(qū)動程序312(root hub driver)。該操作系統(tǒng)包括一 USB核心棧32(kernel mode driver stack),該核心棧 32具有一輸出入管理員321(1/0 manager)及一電源管理員322(power manager)。該USB設(shè)備驅(qū)動程序311透過該核心棧32及該USB根集線器驅(qū) 動程序312控制該USB設(shè)備2。在以下的說明中是以該窗口操作系統(tǒng)為平臺,并透過在該窗口操作系統(tǒng)中支持WDM(Windows Driver Model)的驅(qū)動程序棧31設(shè)定該USB設(shè)備2的 狀態(tài),但是不以此為限。該方法的一實(shí)施例中,在該USB設(shè)備2插接至該計(jì)算機(jī)3之后,開始 如下步驟步驟11是該USB設(shè)備的驅(qū)動程序311將一定時(shí)器(圖未示)歸零后開始 計(jì)時(shí),接著執(zhí)行步驟12。步驟12是該USB設(shè)備的驅(qū)動程序311判斷該定時(shí)器的時(shí)間是否到達(dá)一 預(yù)設(shè)時(shí)間,若是,則執(zhí)行步驟13;若否,則跳到步驟12。步驟13是該USB設(shè)備的驅(qū)動程序311判斷該USB設(shè)備2在該預(yù)設(shè)時(shí) 間內(nèi)是否一直是空閑(idle)的,若是則執(zhí)行步驟14;若否,則跳到步驟11。由于在該操作系統(tǒng)中執(zhí)行的應(yīng)用程序(application program)(圖未示)對該 USB設(shè)備2的存取需求(1/0 request)必須經(jīng)由該USB設(shè)備驅(qū)動程序311 ,因 此該USB設(shè)備驅(qū)動程序311可判斷該USB設(shè)備在該預(yù)設(shè)時(shí)間內(nèi)是否一直是步驟14是該USB設(shè)備的驅(qū)動程序311發(fā)出一懸置要求(Idle request)IRP(1/0 R叫uest Packet),并對該核心棧32設(shè)定該懸置要求IRP對應(yīng) 的 一回調(diào)函凄t(callback routine)及一完成函凄吏(complete routine)。在本發(fā)明的一實(shí)施例中,該懸置要求IRP的主功能代碼(Major Function Code) 及 句 柄 (I/O Control Code) 分 別 為 IRP—MJ—INTERNAL—DEVICE—CONTROL 及 IOCTL—INTERNAL—USB—SUBMIT—IDLE—NOTIFICATION 。且該USB設(shè)備 的驅(qū)動程序311是利用該輸出入管理員321的一個(gè)IoCallDriver函數(shù)(routine) 將該懸置要求IRP傳送給該核心棧32,該核心棧32再將該懸置要求IRP傳 送給該USB根集線器驅(qū)動程序312,以通知該USB根集線器驅(qū)動程序312 可準(zhǔn)備使該USB設(shè)備2進(jìn)入該懸置狀態(tài)93。該回調(diào)函數(shù)用于透過該核心棧32的電源管理員322將該USB設(shè)備2設(shè) 定到懸置狀態(tài)93對應(yīng)的電源使用狀態(tài)。由于該USB設(shè)備2進(jìn)入懸置狀態(tài)93 后,還必須偵測是否被使用者操作,以準(zhǔn)備回到工作狀態(tài)92。因此該回調(diào)函 數(shù)也使該USB設(shè)備2在懸置狀態(tài)93下能夠偵測是否被操作。該完成函數(shù)用于在該懸置要求IRP被完成后,設(shè)定該USB設(shè)備2回到閑的。工作狀態(tài)92對應(yīng)的電源使用狀態(tài)。步驟15是該USB根集線器驅(qū)動程序312暫停處理該懸置要求IRP,并 呼叫該懸置要求IRP對應(yīng)的回調(diào)函數(shù),準(zhǔn)備使該USB設(shè)備2進(jìn)入懸置狀態(tài) 93,接著執(zhí)行步驟16。步驟16是該回調(diào)函數(shù)判斷該USB設(shè)備2是否支持遠(yuǎn)程喚醒(remote wakeup)功能,若是則執(zhí)行步驟17;若否則執(zhí)行步驟18。若是該USB設(shè)備2支持遠(yuǎn)程喚醒功能且該USB設(shè)備2在懸置狀態(tài)93, 則使用者直接的對該USB設(shè)備2操作動作,例如當(dāng)該USB設(shè)備是一卡片閱 讀機(jī)時(shí), 一個(gè)插入或是拔出記憶卡(圖未示)的動作,將轉(zhuǎn)換為一輸入到該筆 記本型計(jì)算機(jī)3的喚醒信號,并使該USB設(shè)備的驅(qū)動程序311將該USB設(shè) 備2轉(zhuǎn)換到工作狀態(tài)92。若是該計(jì)算機(jī)3被設(shè)定到例如懸置狀態(tài)等的非工作 狀態(tài),該喚醒信號也可轉(zhuǎn)換該筆記本型計(jì)算機(jī)3到工作狀態(tài)。若是該USB設(shè)備2不支持遠(yuǎn)程喚醒,使用者對該USB設(shè)備2的動作并 無法轉(zhuǎn)換該USB設(shè)備2及該計(jì)算機(jī)3的狀態(tài),使用者必須透過一個(gè)對USB 設(shè)備2的存取需求轉(zhuǎn)換該USB設(shè)備2的狀態(tài),例如當(dāng)該USB設(shè)備2是一-片閱讀機(jī)時(shí)在一檔案總管(file manager)(圖未示)或是其它應(yīng)用程序中點(diǎn)擊 (click)該卡片閱讀機(jī)圖標(biāo)(icon)的動作。步驟17是該回調(diào)函數(shù)發(fā)送一個(gè)等待喚醒IRP給該驅(qū)動程序棧31,以使 該驅(qū)動程序??身憫?yīng)該喚醒信號,接著執(zhí)行步驟18。且在步驟17中,也設(shè) 定該等待喚醒IRP的完成函數(shù)。當(dāng)該USB設(shè)備2支持遠(yuǎn)程喚醒時(shí),該回調(diào)函數(shù)必須使進(jìn)入懸置狀態(tài)93. 的USB設(shè)備2能夠偵測是否產(chǎn)生喚醒信號,以準(zhǔn)備回到工作狀態(tài)92。該等待喚醒IRP用以接收該喚醒信號以轉(zhuǎn)換該USB設(shè)備2到工作狀態(tài)92。步驟18是在該回調(diào)函數(shù)中,該USB設(shè)備的驅(qū)動程序311利用該核心棧 32的電源管理員322的一 PoRequestPowerlrp函數(shù)傳送一設(shè)定電位IRP給該 核心棧32,以通知該核心棧32將該USB設(shè)備2設(shè)定到懸置狀態(tài)93,并取 消該定時(shí)器計(jì)時(shí),接著跳到步驟19。步驟19是當(dāng)該USB設(shè)備驅(qū)動程序311接收到對該USB設(shè)備2的存取 需求或是該喚醒信號產(chǎn)生時(shí),該USB設(shè)備驅(qū)動程序311取消該懸置要求IRP, 并設(shè)定該USB設(shè)備2到工作狀態(tài)92,接著跳到步驟11。該核心棧32依據(jù)該USB設(shè)備2是否支持遠(yuǎn)程喚醒,分別使該等待喚醒 IRP及該懸置要求IRP的完成函數(shù)被執(zhí)行,以將該USB設(shè)備2設(shè)定到工作 狀態(tài)92。若該USB設(shè)備的驅(qū)動程序311接收到存取需求時(shí),該USB設(shè)備的驅(qū)動 程序311透過該核心棧32的輸出入管理員321的一 IoCancellrp函數(shù),通知 該USB根集線器驅(qū)動程序312取消該懸置要求IRP。該核心棧32并使該懸置要求IRP的完成函數(shù)被執(zhí)行。在該完成函數(shù)中, 該USB設(shè)備驅(qū)動程序311透過該核心棧32的PoRequestPowerIrp函數(shù)傳送 一設(shè)定電位IRP給該核心棧32,以通知該核心棧32將該USB設(shè)備2設(shè)定到 工作狀態(tài)92。若該USB設(shè)備2支持遠(yuǎn)程喚醒且接收到該喚醒信號,則該USB設(shè)備驅(qū) 動程序311在該等待喚醒IRP的完成函數(shù)中將該USB設(shè)備2設(shè)定到工作狀 態(tài)92。圖4是根據(jù)本發(fā)明的上述實(shí)施例的USB設(shè)備2的工作狀態(tài)轉(zhuǎn)換圖。該 USB設(shè)備2也可在該未插接狀態(tài)91、該工作狀態(tài)92及該懸置狀態(tài)93之間' 轉(zhuǎn)換,與圖1不同的地方在于,多了一個(gè)透過該USB設(shè)備的驅(qū)動程序311 判斷該USB設(shè)備2是否空閑85的動作,若是,則該USB設(shè)備驅(qū)動程序311 將該USB設(shè)備2設(shè)定到該懸置狀態(tài)93,從而使該計(jì)算機(jī)3的CPU可進(jìn)入 C3工作模式;若否,則維持該USB設(shè)備2在該工作狀態(tài)92。而對該USB 設(shè)備2的存取需求/喚醒信號86,可使該USB設(shè)備2脫離該懸置狀態(tài)93而 進(jìn)入該工作狀態(tài)92。在上述本發(fā)明的實(shí)施例中,該USB設(shè)備的驅(qū)動程序311是依據(jù)該定時(shí) 器判斷該USB設(shè)備2是否空閑,或是可以將所有輸入輸出(I/0)請求放入一 個(gè)I/0序列中,且在每個(gè)I/0請求完成的時(shí)候都檢查此I/0序列,并當(dāng)此I/0 序列為空時(shí),判斷該USB設(shè)備2為空閑。但判斷該USB設(shè)備2是否空閑的 方式并不限于這些例子。此外,本發(fā)明設(shè)定USB設(shè)備的狀態(tài)的方法適用于會妨礙CPU進(jìn)入C3 模式的USB設(shè)備,例如隨身碟(flashdisk)、卡片閱讀機(jī)等。且本發(fā)明也可以 應(yīng)用到插接在其它具有USB接口的電子裝置的USB設(shè)備,節(jié)省功率消耗。綜合上述,本發(fā)明設(shè)定USB設(shè)備的狀態(tài)的方法的實(shí)施例系透過USB設(shè) 備的驅(qū)動程序檢查在一段預(yù)設(shè)時(shí)間內(nèi)其對應(yīng)驅(qū)動的USB設(shè)備的狀態(tài),且當(dāng)USB設(shè)備在該段時(shí)間內(nèi)一直是空閑時(shí),將USB設(shè)備設(shè)定到較省電的懸置狀 態(tài)93,減低USB設(shè)備的功率消耗,并使筆記本型計(jì)算機(jī)3的CPU也可以進(jìn) 入省電的C3^t式,從而延長筆記本型計(jì)算機(jī)3的使用時(shí)間,因此確實(shí)可以 達(dá)到本發(fā)明的目的。此外,也不需整臺筆記本型計(jì)算機(jī)3都處于懸置狀態(tài), 而可只設(shè)定USB設(shè)備單獨(dú)處于懸置狀態(tài)。以上所述的僅是本發(fā)明的 一 實(shí)施例而已,并不能以此限定本發(fā)明實(shí)施的 范圍,只要是依本發(fā)明申請專利范圍及發(fā)明說明內(nèi)容所作的簡單的等效變化 與修飾,都仍屬于本發(fā)明專利涵蓋的范圍內(nèi)。
權(quán)利要求
1. 一種設(shè)定一USB設(shè)備的方法,該方法包含下列步驟將該USB設(shè)備插接至一電子裝置;判斷該USB設(shè)備是否空閑;及當(dāng)該USB設(shè)備是空閑時(shí),將該USB設(shè)備設(shè)定為懸置狀態(tài)。
2. 如權(quán)利要求l所述的方法,另包含有該USB設(shè)備插接至一電子裝置后,使用一定時(shí)器開始計(jì)數(shù); 計(jì)數(shù)一預(yù)設(shè)時(shí)間后,判斷該USB設(shè)備是否接收到一存取需求。
3. 如權(quán)利要求2所述的方法,更包含有當(dāng)該USB設(shè)備接收到一存取需求時(shí),將該USB設(shè)備設(shè)定到工作狀態(tài)。
4. 如權(quán)利要求1所述的設(shè)定方法,更包含有 判斷該USB設(shè)備是否支持一遠(yuǎn)程喚醒功能。
5. 如權(quán)利要求1所述的方法,其中,當(dāng)該USB設(shè)備并非空閑時(shí),該USB 設(shè)備被設(shè)定為工作狀態(tài)。
6. 如權(quán)利要求l所述的方法,其中,該USB設(shè)備進(jìn)入懸置狀態(tài)后,該 電子裝置會進(jìn)入一省電模式。
7. 如權(quán)利要求1所述的方法,其中判斷該USB設(shè)備是否空閑的步驟, 更包含有將所有輸入輸出(1/0)請求放入一序列中; 在每個(gè)I/O請求完成的時(shí)候都檢查此序列;以及 當(dāng)此I/O序列為空時(shí),判斷該USB設(shè)備為空閑。
8. —種計(jì)算機(jī)可讀取的記錄媒體,該記錄媒體記錄了用以使一計(jì)算機(jī)執(zhí) 行設(shè)定一USB設(shè)備的復(fù)數(shù)程序,該等程序包含一使該計(jì)算機(jī)判斷該USB設(shè)備是否空閑的第 一程序;及 一使該計(jì)算機(jī)在判斷該USB設(shè)備是空閑時(shí),將該USB設(shè)備設(shè)定為懸置 狀態(tài)的第二程序。
9. 如權(quán)利要求8所述的計(jì)算機(jī)可讀取的記錄媒體,其中,該第一程序是 使該計(jì)算機(jī)依據(jù)在一段預(yù)設(shè)時(shí)間內(nèi)是否有對該USB設(shè)備的存取需求判斷該 USB設(shè)備是否空閑。
10. 如權(quán)利要求8所述的計(jì)算機(jī)可讀取的記錄媒體,還包含一在該第二程序之后的第三程序,該第三程序是使該計(jì)算機(jī)在接收到存取需求時(shí),將 該USB設(shè)備設(shè)定到工作狀態(tài)。
11. 如權(quán)利要求8所述的計(jì)算機(jī)可讀取的記錄媒體,還包含一在該第 一程序與該第二程序之間的程序,該程序是若該USB設(shè)備支持遠(yuǎn)程喚醒, 使該計(jì)算機(jī)設(shè)定該USB設(shè)備在進(jìn)入懸置狀態(tài)后能夠偵測是否有喚醒信號產(chǎn) 生,且更包含一在該第二程序之后的第三程序,該第三程序是使該計(jì)算機(jī)在 該USB設(shè)備偵測到喚醒信號產(chǎn)生時(shí),將該USB設(shè)備設(shè)定到工作狀態(tài)。
全文摘要
一種設(shè)定一USB設(shè)備的方法,其中該USB設(shè)備適插接于一電子裝置,該方法包含下列步驟該電子裝置判斷該USB設(shè)備是否空閑;及當(dāng)該USB設(shè)備是空閑時(shí),該電子裝置將該USB設(shè)備設(shè)定為懸置狀態(tài)。
文檔編號G06F1/32GK101281418SQ200710093700
公開日2008年10月8日 申請日期2007年4月3日 優(yōu)先權(quán)日2007年4月3日
發(fā)明者嵩 李, 濱 杜, 陳正昌 申請人:瑞昱半導(dǎo)體股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
临安市| 赤壁市| 德昌县| 建始县| 平顺县| 平舆县| 石棉县| 全椒县| 固原市| 承德市| 扎赉特旗| 龙口市| 封丘县| 建湖县| 诸城市| 陇川县| 乌审旗| 濮阳县| 陆川县| 原平市| 柘荣县| 牟定县| 加查县| 夏河县| 兰溪市| 依安县| 通榆县| 临沭县| 宿州市| 弥渡县| 临猗县| 连江县| 宣汉县| 林甸县| 罗田县| 福鼎市| 九台市| 长阳| 佛山市| 黑河市| 错那县|