專利名稱:一種usb設(shè)備的端口切換方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體涉及一種通用串行總線(Universal Serial Bus, USB)設(shè)備的端口切換方法和系統(tǒng)。
背景技術(shù):
基于USB接口的終端產(chǎn)品,很多都具有自動(dòng)安裝的功能(也稱為自啟動(dòng)功能或者 零光盤功能)。實(shí)際原理就是供用戶安裝的產(chǎn)品配套驅(qū)動(dòng)和管理軟件(或者只需要其中之 一),不再需要通過(guò)隨產(chǎn)品的物理光盤來(lái)提供,而是通過(guò)產(chǎn)品虛擬的光盤來(lái)提供。要實(shí)現(xiàn)此 功能,需要USB設(shè)備先虛擬成一個(gè)光盤,光盤中包含了正常模式下的驅(qū)動(dòng)程序和管理軟件 (或者只需要其中之一)。待用戶執(zhí)行此光盤上的安裝程序后,主機(jī)通過(guò)發(fā)送特定命令來(lái)讓 上述USB設(shè)備切換到正常工作模式。例如,常見(jiàn)的數(shù)據(jù)卡產(chǎn)品就普遍采用上述方案,廠商可以憑借主機(jī)軟件和設(shè)備均 由自己開(kāi)發(fā)的優(yōu)勢(shì),在主機(jī)軟件和設(shè)備固件之間約定特定的切換命令,以實(shí)現(xiàn)信息的傳遞。 比如自定義小型計(jì)算機(jī)系統(tǒng)接口(Small Computer Systemlnterface, SCSI)命令,自定義 USB請(qǐng)求等。這些特定的命令,都是由廠商自定義的,必須由廠商自己提供的主機(jī)軟件才能發(fā) 送。在某些情況下,可能廠商不愿意或者不能提供這類主機(jī)軟件,這時(shí)上述方案就存在問(wèn) 題。而且,這種切換命令的下發(fā),往往比較費(fèi)時(shí)。用戶使用時(shí),關(guān)心的是正常工作模式,其它 狀態(tài)時(shí)間太長(zhǎng),會(huì)降低用戶體驗(yàn)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種USB設(shè)備的端口切換方法和系統(tǒng),使 USB設(shè)備能夠迅速切換到正常工作模式,以提高用戶體驗(yàn)。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的—種通用串行總線USB設(shè)備的端口切換方法,該方法包括USB設(shè)備接入主機(jī)時(shí),上報(bào)第一套操作系統(tǒng)描述符MODS信息;主機(jī)將收到的第一套MODS信息修改為第二套MODS信息并存儲(chǔ);USB設(shè)備再次接入主機(jī)時(shí),主機(jī)根據(jù)存儲(chǔ)的第二套MODS信息自動(dòng)發(fā)送切換命令, USB設(shè)備據(jù)此切換到正常工作模式。所述修改的方法為將與USB設(shè)備事先約定的第二套MODS信息保存在第一套MODS信息所保存的位 置,完全覆蓋第一套MODS信息。該方法進(jìn)一步包括USB設(shè)備接入主機(jī)時(shí),枚舉為光盤設(shè)備或者光盤設(shè)備與其它設(shè)備的組合。所述枚舉的方法為USB設(shè)備通過(guò)USB描述符將自身上報(bào)為光盤或者光盤與其它設(shè)備的組合。
3
該方法進(jìn)一步包括主機(jī)發(fā)送第一類切換命令;當(dāng)所述USB設(shè)備收到第一類切換命令時(shí),自動(dòng)切換到 正常工作模式。一種USB設(shè)備的端口切換系統(tǒng),該系統(tǒng)包括存儲(chǔ)模塊、MODS切換命令接收模塊、切 換模塊;其中,所述存儲(chǔ)模塊,用于在USB設(shè)備接入主機(jī)時(shí),上報(bào)第一套MODS信息;所述MODS切換命令接收模塊,用于在USB設(shè)備再次接入主機(jī)時(shí),接收來(lái)自主機(jī)的 切換命令,并通知給切換模塊;所述切換模塊,用于根據(jù)所述切換命令控制USB設(shè)備切換到正常工作模式。所述主機(jī),用于接收第一套MODS信息,并在修改為第二套MODS信息后存儲(chǔ);以及, 在USB設(shè)備再次接入主機(jī)時(shí),根據(jù)存儲(chǔ)的第二套MODS信息自動(dòng)發(fā)送切換命令。所述存儲(chǔ)模塊,進(jìn)一步用于在USB設(shè)備接入主機(jī)時(shí),枚舉為光盤設(shè)備或者光盤設(shè)備與其它設(shè)備的組合。所述主機(jī)進(jìn)行所述修改時(shí),用于將與USB設(shè)備事先約定的第二套MODS信息保存在第一套MODS信息所保存的位 置,完全覆蓋第一套MODS信息;所述存儲(chǔ)模塊進(jìn)行所述枚舉時(shí),具體用于通過(guò)USB描述符將USB設(shè)備上報(bào)為光盤或者光盤與其它設(shè)備的組合。該系統(tǒng)進(jìn)一步包括光盤切換命令接收模塊,用于在主機(jī)第一次安裝驅(qū)動(dòng)程序和 管理軟件(或者只安裝其中之一)之后,接收主機(jī)發(fā)送的切換命令,并通知給切換模塊;所述切換模塊,進(jìn)一步用于根據(jù)該切換命令控制USB設(shè)備切換到正常工作模式。本發(fā)明方法和系統(tǒng),在計(jì)算機(jī)主機(jī)上安裝了驅(qū)動(dòng)程序和管理軟件(或者只安裝其 中之一)之后,如果將所述USB設(shè)備再次接入此計(jì)算機(jī),則計(jì)算機(jī)會(huì)根據(jù)存儲(chǔ)的第二套MODS 信息快速發(fā)送特定命令,使得USB設(shè)備迅速切換到正常工作模式,提高了用戶體驗(yàn)。
圖1為本發(fā)明實(shí)施例的USB設(shè)備的端口切換系統(tǒng)圖;圖2為本發(fā)明實(shí)施例一的流程示意圖;圖3為本發(fā)明實(shí)施例二的流程示意圖;圖4為本發(fā)明實(shí)施例的USB設(shè)備的端口切換流程簡(jiǎn)圖。
具體實(shí)施例方式在實(shí)際應(yīng)用中,可以取消廠家提供主機(jī)軟件與USB設(shè)備之間約定命令的發(fā)送,尤 其是在某些無(wú)法運(yùn)行主機(jī)軟件的場(chǎng)合。為了降低成本,同時(shí)提高USB設(shè)備的用戶體驗(yàn),可以 提供一種USB設(shè)備切換端口的方法以及相應(yīng)的USB設(shè)備系統(tǒng),使得所述USB設(shè)備能在安裝 過(guò)相應(yīng)驅(qū)動(dòng)的計(jì)算機(jī)上自動(dòng)快速實(shí)現(xiàn)端口切換。進(jìn)一步地,這種切換方法不需要廠商提供 特定的主機(jī)軟件作為支持,減少?gòu)S家隨機(jī)軟件量。需要說(shuō)明的是,可以利用主機(jī)操作系統(tǒng)支持的MODS (Microsoft OSDescriptors, 微軟操作系統(tǒng)描述符)作為技術(shù)支撐。
首先,USB設(shè)備接入主機(jī)時(shí)枚舉為光盤設(shè)備,或者光盤設(shè)備與其它設(shè)備的組合。在 枚舉過(guò)程中,USB設(shè)備同時(shí)會(huì)上報(bào)第一套MODS的相關(guān)信息,主機(jī)操作系統(tǒng)會(huì)將此信息存儲(chǔ) 下來(lái)。其次,通過(guò)管理軟件或者其它手段將主機(jī)保存的上述第一套MODS信息修改為第 二套MODS信息。第二套MODS信息為與USB設(shè)備事先約定的特定信息。再次,經(jīng)過(guò)上述過(guò)程后,若USB設(shè)備再次接入此計(jì)算機(jī),主機(jī)操作系統(tǒng)會(huì)根據(jù)存儲(chǔ) 的第二套MODS信息自動(dòng)發(fā)送相關(guān)切換命令。所述USB設(shè)備收到此命令后,可以迅速切換端 口,枚舉為正常工作模式。為了支持上述操作得以實(shí)施,還提供了一種USB設(shè)備系統(tǒng),包括存儲(chǔ)模塊,用于在USB設(shè)備接入主機(jī)時(shí)將USB設(shè)備枚舉為光盤設(shè)備(或者光盤與 其它設(shè)備的組合),同時(shí)提供第一套MODS信息的上報(bào)。光盤切換命令接收模塊,用于在主機(jī)第一次安裝驅(qū)動(dòng)程序和管理軟件(或者只安 裝其中之一)之后,接收主機(jī)程序發(fā)送的切換命令,此切換命令稱為第一類切換命令。MODS切換命令接收模塊,用于接收主機(jī)操作系統(tǒng)根據(jù)存儲(chǔ)的第二套MODS信息所 自動(dòng)發(fā)送的命令,此切換命令稱為第二類切換命令。切換模塊,當(dāng)光盤切換命令接收模塊收到切換命令,或者M(jìn)ODS切換命令接收模塊 收到切換命令之后,將所屬光盤(或者光盤與其它設(shè)備的組合)切換到正常工作模式。下面參照
,對(duì)本發(fā)明利用MODS信息進(jìn)行快速切換的步驟進(jìn)行詳細(xì)說(shuō)明。參見(jiàn)圖1,圖1為本發(fā)明實(shí)施例的USB設(shè)備的端口切換系統(tǒng)圖,該系統(tǒng)由存儲(chǔ)模塊 101、光盤切換命令接收模塊102、M0DS切換命令接收模塊103、切換模塊104組成。一般情 況下,還可以進(jìn)一步包括正常工作模式下的工作模塊,但本實(shí)施例中未明確標(biāo)示。實(shí)施例一參見(jiàn)圖2,圖2所示流程描述的是用戶在某臺(tái)計(jì)算機(jī)主機(jī)上第一次使用所述USB設(shè) 備的情況,圖2所示流程包括以下步驟步驟一將USB設(shè)備接入需要工作的主機(jī)中,如圖2中的標(biāo)號(hào)201所示。此USB設(shè) 備,可以是包含了附圖1中各功能模塊的設(shè)備。工作主機(jī)可以是個(gè)人計(jì)算機(jī),也可以是其 它支持USB主控制器的其它設(shè)備,例如上網(wǎng)本等。主機(jī)上運(yùn)行的操作系統(tǒng),本實(shí)施例采用 windows 7。實(shí)際上,其它操作系統(tǒng)如windowsxp、windows vista等操作系統(tǒng)均可,也在本 發(fā)明范圍之內(nèi)。步驟二 USB設(shè)備通過(guò)USB描述符將自身上報(bào)為光盤(或者光盤與其它設(shè)備的組 合)。在上報(bào)USB描述符的過(guò)程中,同時(shí)上報(bào)第一套MODS信息,由計(jì)算機(jī)的操作系統(tǒng)將此信 息保存在特定位置,準(zhǔn)備下次使用。操作系統(tǒng)下次如果檢測(cè)到特定位置已經(jīng)保存了 MODS信 息,就不會(huì)再向USB設(shè)備要求MODS信息。如附圖2中的標(biāo)號(hào)202所示。步驟三如圖2中的標(biāo)號(hào)203所示,計(jì)算機(jī)將第一套MODS信息自動(dòng)保存在特定位 置后,光盤里面的特定程序開(kāi)始執(zhí)行,將與USB設(shè)備事先約定的第二套MODS信息保存在第 一套MODS信息所保存的位置,完全覆蓋第一套MODS信息。這樣,下次USB設(shè)備再次接入時(shí), 操作系統(tǒng)從此特定位置讀取的將是第二套MODS信息。如果上述步驟三沒(méi)有執(zhí)行,即用戶沒(méi)有運(yùn)行光盤里面的特定程序,上述特定位置 保存的將是第一套MODS信息。下次USB設(shè)備再次接入時(shí),操作系統(tǒng)讀取的將是第一套MODS信息。步驟四主機(jī)軟件發(fā)送第一類切換命令,如圖2中的標(biāo)號(hào)204所示。此時(shí)USB設(shè)備 還保持在光盤(或者光盤與其它設(shè)備的組合)狀態(tài),所保存的第二套MODS信息只有在下次 USB設(shè)備接入時(shí)才有效,此時(shí)還沒(méi)有起作用,所以通過(guò)發(fā)送第一類切換命令,使所述USB設(shè) 備進(jìn)行切換。其中,發(fā)送第一類切換命令的主機(jī)軟件,可以是應(yīng)用程序,也可以是驅(qū)動(dòng)程序,或 者是其它主體。步驟五當(dāng)所述USB設(shè)備收到第一類切換命令時(shí),自動(dòng)切換到正常工作模式。如圖 2中的標(biāo)號(hào)205所示。正常工作模式可能對(duì)應(yīng)于復(fù)合設(shè)備,也可能是其它端口。正常工作模 式下,主機(jī)上可能運(yùn)行有管理軟件,也可能不需要。實(shí)施例二參見(jiàn)圖3,圖3所示流程描述的是用戶在某臺(tái)計(jì)算機(jī)主機(jī)上執(zhí)行實(shí)施例一或者與 實(shí)施例一包含關(guān)鍵技術(shù)一樣的動(dòng)作之后,再次使用所述USB設(shè)備的情況,圖3所示流程包括 以下步驟步驟一將所述USB設(shè)備接入主機(jī)中,如圖3中的標(biāo)號(hào)301所示。此主機(jī)上已經(jīng)執(zhí) 行過(guò)實(shí)施例一或者執(zhí)行了包含實(shí)施例一的關(guān)鍵技術(shù)的動(dòng)作。工作主機(jī)可以是個(gè)人計(jì)算機(jī), 也可以是其它支持USB主控制器的其它設(shè)備,例如上網(wǎng)本等。主機(jī)上運(yùn)行的操作系統(tǒng),為簡(jiǎn) 單起見(jiàn),本實(shí)施例采用windows 7。實(shí)際上,其它操作系統(tǒng)如windows xp,windows vista等 操作系統(tǒng)均可,也在本發(fā)明范圍之內(nèi)。步驟二 如圖3中的標(biāo)號(hào)302所示,所述USB設(shè)備開(kāi)始上報(bào)USB描述符。此時(shí)的 USB描述符是光盤(或者光盤與其它設(shè)備的組合)的描述符信息。因?yàn)檫€處于USB描述符 枚舉階段,SCSI命令還沒(méi)有開(kāi)始交互,所以用戶從主機(jī)上是看不到有光盤(或者光盤與其 它設(shè)備的組合)出現(xiàn)的。步驟三主機(jī)操作系統(tǒng)根據(jù)保存的MODS信息,發(fā)送第二類切換命令,此切換命令 中包含了 MODS信息的相關(guān)內(nèi)容,如圖3中的標(biāo)號(hào)303所示。通過(guò)實(shí)施例一的相關(guān)過(guò)程,操作系統(tǒng)中保存的應(yīng)該是第二套MODS信息。如果操作 系統(tǒng)中保存的依然是第一套MODS信息,表明實(shí)施例一并沒(méi)有執(zhí)行完成,需要繼續(xù)按照實(shí)施 例一進(jìn)行。步驟四當(dāng)所述USB設(shè)備收到第二類切換命令之后,判斷此第二類切換命令包含 的是哪一套MODS信息。如果包含的是第一套MODS信息,不予理會(huì),繼續(xù)按照實(shí)施例一執(zhí)行; 如果包含的是第二套MODS信息,所述USB設(shè)備自動(dòng)切換到正常工作模式,如圖3所示的標(biāo) 號(hào)304。正常工作模式可能對(duì)應(yīng)于復(fù)合設(shè)備,也可能是其它端口。正常工作模式下,主機(jī)上 可能運(yùn)行有管理軟件,也可能不需要。結(jié)合上述系統(tǒng)圖以及各實(shí)施例可見(jiàn),本發(fā)明USB設(shè)備的端口切換的操作思路可以 表示如圖4所示的流程,圖4所示流程包括以下步驟步驟410 =USB設(shè)備接入主機(jī)時(shí),上報(bào)第一套MODS信息。步驟420 主機(jī)將收到的第一套MODS信息修改為第二套MODS信息并存儲(chǔ)。步驟430 :USB設(shè)備再次接入主機(jī)時(shí),主機(jī)根據(jù)存儲(chǔ)的第二套MODS信息自動(dòng)發(fā)送切 換命令,USB設(shè)備據(jù)此切換到正常工作模式。
綜上所述可見(jiàn),無(wú)論是方法還是系統(tǒng),本發(fā)明USB設(shè)備的端口切換技術(shù),在計(jì)算機(jī) 主機(jī)上安裝了驅(qū)動(dòng)程序和管理軟件(或者只安裝其中之一)之后,如果將所述USB設(shè)備再 次接入此計(jì)算機(jī),則計(jì)算機(jī)會(huì)根據(jù)存儲(chǔ)的第二套MODS信息快速發(fā)送特定命令,使得USB設(shè) 備迅速切換到正常工作模式,提高了用戶體驗(yàn)。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種通用串行總線USB設(shè)備的端口切換方法,其特征在于,該方法包括 USB設(shè)備接入主機(jī)時(shí),上報(bào)第一套操作系統(tǒng)描述符MODS信息;主機(jī)將收到的第一套MODS信息修改為第二套MODS信息并存儲(chǔ); USB設(shè)備再次接入主機(jī)時(shí),主機(jī)根據(jù)存儲(chǔ)的第二套MODS信息自動(dòng)發(fā)送切換命令,USB設(shè) 備據(jù)此切換到正常工作模式。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述修改的方法為將與USB設(shè)備事先約定的第二套MODS信息保存在第一套MODS信息所保存的位置,完 全覆蓋第一套MODS信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,該方法進(jìn)一步包括USB設(shè)備接入主機(jī)時(shí),枚舉為光盤設(shè)備或者光盤設(shè)備與其它設(shè)備的組合。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述枚舉的方法為USB設(shè)備通過(guò)USB描述符將自身上報(bào)為光盤或者光盤與其它設(shè)備的組合。
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的方法,其特征在于,該方法進(jìn)一步包括主機(jī)發(fā)送第一類切換命令;當(dāng)所述USB設(shè)備收到第一類切換命令時(shí),自動(dòng)切換到正常 工作模式。
6.一種USB設(shè)備的端口切換系統(tǒng),其特征在于,該系統(tǒng)包括存儲(chǔ)模塊、MODS切換命令接 收模塊、切換模塊;其中,所述存儲(chǔ)模塊,用于在USB設(shè)備接入主機(jī)時(shí),上報(bào)第一套MODS信息; 所述MODS切換命令接收模塊,用于在USB設(shè)備再次接入主機(jī)時(shí),接收來(lái)自主機(jī)的切換 命令,并通知給切換模塊;所述切換模塊,用于根據(jù)所述切換命令控制USB設(shè)備切換到正常工作模式。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述主機(jī),用于接收第一套MODS信息,并在修改為第二套MODS信息后存儲(chǔ);以及,在 USB設(shè)備再次接入主機(jī)時(shí),根據(jù)存儲(chǔ)的第二套MODS信息自動(dòng)發(fā)送切換命令。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述存儲(chǔ)模塊,進(jìn)一步用于 在USB設(shè)備接入主機(jī)時(shí),枚舉為光盤設(shè)備或者光盤設(shè)備與其它設(shè)備的組合。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于, 所述主機(jī)進(jìn)行所述修改時(shí),用于將與USB設(shè)備事先約定的第二套MODS信息保存在第一套MODS信息所保存的位置,完 全覆蓋第一套MODS信息;所述存儲(chǔ)模塊進(jìn)行所述枚舉時(shí),具體用于通過(guò)USB描述符將USB設(shè)備上報(bào)為光盤或者光盤與其它設(shè)備的組合。
10.根據(jù)權(quán)利要求6至9任一項(xiàng)所述的系統(tǒng),其特征在于,該系統(tǒng)進(jìn)一步包括光盤切換命令接收模塊,用于在主機(jī)第一次安裝驅(qū)動(dòng)程序和管理 軟件(或者只安裝其中之一)之后,接收主機(jī)發(fā)送的切換命令,并通知給切換模塊; 所述切換模塊,進(jìn)一步用于根據(jù)該切換命令控制USB設(shè)備切換到正常工作模式。
全文摘要
本發(fā)明公開(kāi)了一種USB設(shè)備的端口切換方法和系統(tǒng),均可在USB設(shè)備接入主機(jī)時(shí),上報(bào)第一套MODS信息;主機(jī)將收到的第一套MODS信息修改為第二套MODS信息并存儲(chǔ);USB設(shè)備再次接入主機(jī)時(shí),主機(jī)根據(jù)存儲(chǔ)的第二套MODS信息自動(dòng)發(fā)送切換命令,USB設(shè)備據(jù)此切換到正常工作模式。本發(fā)明方法和系統(tǒng),在計(jì)算機(jī)主機(jī)上安裝了驅(qū)動(dòng)程序和管理軟件(或者只安裝其中之一)之后,如果將所述USB設(shè)備再次接入此計(jì)算機(jī),則計(jì)算機(jī)會(huì)根據(jù)存儲(chǔ)的第二套MODS信息快速發(fā)送特定命令,使得USB設(shè)備迅速切換到正常工作模式,提高了用戶體驗(yàn)。
文檔編號(hào)G06F13/10GK102103555SQ20111003329
公開(kāi)日2011年6月22日 申請(qǐng)日期2011年1月30日 優(yōu)先權(quán)日2011年1月30日
發(fā)明者龐盛金, 王琪, 鄧慶田, 馬少峰 申請(qǐng)人:中興通訊股份有限公司