專利名稱:一種獲得usb設(shè)備的序列號的方法及裝置的制作方法
一種獲得USB設(shè)備的序列號的方法及裝置
技術(shù)領(lǐng)城
本發(fā)明涉及計算機(jī)及嵌入式領(lǐng)域,特別是涉及獲得USB設(shè)備的序列號的 方法及裝置。
背景技術(shù):
隨著計算機(jī)硬件飛速發(fā)展,外圍設(shè)備日益增多,鍵盤、鼠標(biāo)、調(diào)制解調(diào)器、 打印機(jī)、掃描儀早已為人所共知,數(shù)碼相機(jī)、MP3隨身聽接踵而至,這么多的 設(shè)備,如何接入個人計算機(jī)? USB就是基于這個目的產(chǎn)生的。USB是英文 Universal Serial BUS的縮寫,中文含義是通用串行總線,是一個使計算機(jī)周邊 設(shè)備連接標(biāo)準(zhǔn)化、單一化的接口 。包括USB接口的設(shè)備稱為USB設(shè)備。
USB協(xié)議中要求USB設(shè)備有序列號,該序列號用于唯一標(biāo)識USB設(shè)備。 現(xiàn)有技術(shù)的實現(xiàn)方式是在生產(chǎn)USB設(shè)備過程中,生產(chǎn)商需要為每個USB設(shè) 備燒寫不同的序列號,其實現(xiàn)成本較高。
目前各生產(chǎn)廠商為了節(jié)約成本,通常不提供序列號,即序列號一項為空, 這給實際應(yīng)用帶來不便。例如,當(dāng)一個USB設(shè)備與主機(jī)的USB接口 A連接時, 主機(jī)識別出該USB設(shè)備并加載相應(yīng)的驅(qū)動,如果該USB設(shè)備轉(zhuǎn)與主機(jī)的USB 接口B連接時,由于USB設(shè)備沒有序列號,主機(jī)需要重新識別該USB設(shè)備并 加載相應(yīng)的驅(qū)動。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種獲得USB設(shè)備的序列號的方法及裝置,用于實現(xiàn) 為USB設(shè)備配置序列號,并且實現(xiàn)簡單,成a低。 一種獲得USB設(shè)備的序列號的方法,包括以下步驟 主機(jī)識別出有USB設(shè)備接入后,生成序列號;主機(jī)通過驅(qū)動將序列號發(fā)送給USB設(shè)備; USB設(shè)備保存收到的序列號。 一種主才幾,包括
生成模塊,用于在測試階段生成序列號; USB接口才莫塊,用于與USB設(shè)備連接;
驅(qū)動模塊,用于通過驅(qū)動將序列號發(fā)送給USB設(shè)備,并指示USB設(shè)備保 存收到的序列號。
一種USB設(shè)備,包括
USB接口模塊,用于與主機(jī)連接,并接收主機(jī)通過驅(qū)動發(fā)送的序列號; 存儲模塊,用于存儲數(shù)據(jù);
運行模塊,用于從驅(qū)動中解析出序列號,并將序列號保存到存儲模塊。 本發(fā)明實施例中USB設(shè)備接收主機(jī)發(fā)送的序列號并保存,從而獲得了序
列號,實現(xiàn)過程簡單,成^4交低。主機(jī)可以同時連接多個USB設(shè)備,并向多
個USB設(shè)備發(fā)送序列號,適合于批量生產(chǎn)。
圖1為本發(fā)明實施例中系統(tǒng)的結(jié)構(gòu)圖2為本發(fā)明實施例中獲得USB設(shè)備的序列號的主要方法流程圖; 圖3為本發(fā)明實施例中獲得USB設(shè)備的序列號的詳細(xì)方法流程圖; 圖4為本發(fā)明實施例中帶標(biāo)志位驗證過程的獲得USB設(shè)備的序列號的詳 細(xì)方法流禾呈圖5為本發(fā)明實施例中主機(jī)的結(jié)構(gòu)圖6為本發(fā)明實施例中USB設(shè)備的結(jié)構(gòu)圖。
具體實施例方式
本發(fā)明實施例中,由主機(jī)生成序列號,并通過驅(qū)動將序列號發(fā)送給USB 設(shè)備,使USB設(shè)備獲得序列號。這樣,實現(xiàn)了為USB設(shè)備配置序列號,并且在USB設(shè)備的設(shè)計和生產(chǎn)階段可批量生產(chǎn)USB設(shè)備,所需成本較低。 參見圖1,本實施例中的系統(tǒng)包括主機(jī)101和USB設(shè)備102。 主機(jī)IOI用于運行通用的程序,通過USB接口與USB設(shè)備102連接,并
對USB設(shè)備102進(jìn)行測試等。在測試階段生成序列號,通過驅(qū)動將序列號發(fā)
送給USB設(shè)備,并指示USB設(shè)備保存收到的序列號。
USB設(shè)備102,通過USB接口與主機(jī)101連接,可作為主機(jī)101的外圍
設(shè)備,用于實現(xiàn)特定的功能。接收主機(jī)101通過驅(qū)動發(fā)送的序列號,從驅(qū)動中
解析出序列號并保存。
主機(jī)101可以同時與多個USB設(shè)備102連4妻,為多個USB設(shè)備102生成
不同的序列號,并分別發(fā)送給多個USB設(shè)備102。
參見圖2,本實施例中獲得USB設(shè)備的序列號的主要方法流程如下 步驟201:主機(jī)101識別出有USB設(shè)備102接入。該識別過程可以是主機(jī)
101通過掃描USB接口來識別,也可以是USB設(shè)備102連接主機(jī)101后通過
硬件觸發(fā),如發(fā)送電平信號的方式,主機(jī)101通過接收的電平信號來識別。 步驟202:主機(jī)101生成序列號。主機(jī)101生成序列號有多種具體實現(xiàn)方
式,如通過生成隨機(jī)數(shù)的方式隨機(jī)生成不重復(fù)的序列號;或者,如按照從大到
小或從小到大的順序依次生成序列號。還可能有其它生成序列號的方式,此處
不--列舉。
步驟203:主機(jī)101通過驅(qū)動將序列號發(fā)送給USB設(shè)備102。該驅(qū)動可以 是USB設(shè)備102的設(shè)備驅(qū)動。
步驟204: USB設(shè)備102保存收到的序列號。
參見圖3,本實施例中獲得USB設(shè)備的序列號的詳細(xì)方法流程如下 步驟301:主機(jī)101識別出有USB設(shè)備102接入。 步驟302:主機(jī)101對USB設(shè)備102進(jìn)行測試。
步驟303:在各項測試均通過時,主機(jī)101生成序列號。該序列號不僅可 以唯一標(biāo)識USB設(shè)備102,由于是在測試通過時生成的,所以還可以表示該USB設(shè)備102是合格產(chǎn)品。若有測試未通過,則可進(jìn)行調(diào)試等操作。 步驟304:主機(jī)101通過驅(qū)動將序列號發(fā)送給USB設(shè)備102。 步驟305: USB設(shè)備102接收驅(qū)動。 步驟306: USB設(shè)備102從驅(qū)動中解析出序列號。 步驟307: USB i殳備102將序列號保存到本地。
本實施例在測試階段生成序列號并保存到USB設(shè)備102,不需要在生產(chǎn)階 段為USB設(shè)備102逐一燒寫序列號,從而節(jié)省了成本。本實施例可以在USB 設(shè)備102的設(shè)計階段,設(shè)計出USB設(shè)備102具有從驅(qū)動中解析出序列號并將 序列號保存到本地的功能,并在生產(chǎn)階段,將實現(xiàn)該功能的軟件燒寫到USB 設(shè)備102中。這樣便可批量生產(chǎn)USB設(shè)備102,實現(xiàn)成本較低。
在USB設(shè)備102的設(shè)計階段,還可以為USB設(shè)備102設(shè)計一標(biāo)志位,用 于表示是否已設(shè)置或更新了序列號,如標(biāo)志位為"0",表示未設(shè)置或更新序列 號,為'T,,表示已設(shè)置或更新序列號。本實施例中標(biāo)志位的初始值為0,設(shè) 置后的值為1。下面通過一個典型實施例來詳細(xì)介紹實現(xiàn)過程。
參見圖4,本實施例中帶標(biāo)志位驗證過程的獲得USB設(shè)備的序列號的詳細(xì) 方法流程如下
步驟401:主機(jī)101識別出有USB設(shè)備102接入。
步驟402:主機(jī)101對USB設(shè)備102進(jìn)行測試。
步驟403:在各項測試均通過時,主才幾101生成序列號。
步驟404:主機(jī)101通過驅(qū)動將序列號發(fā)送給USB設(shè)備102。
步驟405: USB設(shè)備102從驅(qū)動中解析出序列號。
步驟406: USB設(shè)備102檢查是否已設(shè)標(biāo)志位,若是,則結(jié)束流程,否則 繼續(xù)步驟407。此步驟可以避免重復(fù)設(shè)置序列號。
步驟407: USB設(shè)備102將序列號保存到預(yù)留的存儲空間,并設(shè)置標(biāo)志位。 該預(yù)留的存儲空間可以是在USB設(shè)備102的設(shè)計和生產(chǎn)階段預(yù)留的,USB設(shè) 備102中便有了保存序列號的固定存儲空間,不易被后續(xù)操作修改或刪除,有助于提高安全性。
可以通過為序列號設(shè)置初值的方式來預(yù)留存儲空間。較佳的,主機(jī)101生 成的序列號不同于該初值。USB設(shè)備102可進(jìn)一步判斷解析出的序列號是否與 初值相同,如果相同,則向主機(jī)101返回響應(yīng)消息,以請求重新獲得序列號, 如果不同,則將解析出的序列號保存到初值所在位置,即將初值更新為解析出 的序列號。這樣,也可以不專門設(shè)計標(biāo)志位,而可以將預(yù)留的存儲空間作為標(biāo) 志位,如果預(yù)留的存儲空間存儲的是初值,則表示未設(shè)置的標(biāo)志位,如果不是 初值,則表示已設(shè)置了標(biāo)志位。
在步驟405和步驟406中,USB設(shè)備102是受到解析出序列號的觸發(fā),檢 查是否已設(shè)標(biāo)志位。或者,主機(jī)101在驅(qū)動中攜帶序列號的設(shè)置標(biāo)志,USB設(shè) 備102在解析出序列號的設(shè)置標(biāo)志后,檢查是否已設(shè)標(biāo)志位,在未設(shè)標(biāo)志位的 情況下,再從驅(qū)動中解析出序列號?;蛘?,USB設(shè)備102在解析出序列號的設(shè) 置標(biāo)志后,不檢查是否已設(shè)標(biāo)志位,直接從驅(qū)動中解析出序列號并保存。
以上是對系統(tǒng)和方法實現(xiàn)流程的介紹,該方法由主機(jī)101和USB設(shè)備102 實現(xiàn),下面對主機(jī)101和USB設(shè)備102的結(jié)構(gòu)和功能進(jìn)行介紹。
參見圖5,本實施例中主機(jī)IOI包括生成模塊501、 USB接口模塊502和 驅(qū)動模塊503。
生成模塊501用于在測試階段生成序列號。
USB接口模塊502用于與USB設(shè)備連接。
驅(qū)動模塊503用于通過驅(qū)動將序列號發(fā)送給USB設(shè)備,并指示USB設(shè)備 保存收到的序列號。
主機(jī)101還包括測試模塊504用于對USB設(shè)備進(jìn)行測試。生成模塊501 在測試階段對USB設(shè)備的各項測試均通過時,生成序列號。
參見圖6,本實施例中USB設(shè)備102包括USB接口模塊601、存儲模塊 602和運行模塊603。
USB接口模塊601用于與主機(jī)101連接,并接收主機(jī)101通過驅(qū)動發(fā)送的序列號。
存儲模塊602用于存儲數(shù)據(jù)。
運行模塊603用于從驅(qū)動中解析出序列號,并將序列號保存到存儲模塊。 運行模塊603還用于檢查預(yù)設(shè)的標(biāo)志位是否表示已經(jīng)設(shè)置了序列號;在未設(shè)置 序列號的情況下,將收到的序列號保存到存儲模塊。以及將收到的序列號保存 到存儲模塊中的指定位置。所述指定位置為在USB設(shè)備的設(shè)計和生產(chǎn)階段, 在USB設(shè)備上為序列號預(yù)留存儲空間,該預(yù)留的存儲空間為所述指定位置。
用于實現(xiàn)本發(fā)明實施例的軟件可以存儲于軟盤、硬盤、光盤和閃存等存儲 介質(zhì)。
本發(fā)明實施例中USB設(shè)備接收主機(jī)發(fā)送的序列號并保存,從而獲得了序 列號,實現(xiàn)過程簡單,成本較低。主機(jī)可以同時連接多個USB設(shè)備,并向多 個USB設(shè)備發(fā)送序列號,適合于批量生產(chǎn)。并且,本發(fā)明實施例在測試通過 時向USB設(shè)備發(fā)送序列號,不僅實現(xiàn)了對USB設(shè)備的唯一標(biāo)識,還表明該 USB設(shè)備是合格產(chǎn)品。采用本發(fā)明實施例可批量生產(chǎn)USB設(shè)備,有助于降低 成本。以及,本發(fā)明實施例中USB設(shè)備將序列號保存在指定位置,不易被修 改或刪除,提高了安全性。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)
明的精神和范圍。這樣,倘若對本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求 及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1、一種獲得USB設(shè)備的序列號的方法,其特征在于,包括以下步驟主機(jī)識別出有USB設(shè)備接入后,生成序列號;主機(jī)通過驅(qū)動將所述序列號發(fā)送給USB設(shè)備;USB設(shè)備保存收到的序列號。
2、 如權(quán)利要求l所述的方法,其特征在于,主機(jī)生成序列號的步驟包括: 主機(jī)對USB設(shè)備的各項測試均通過時,生成序列號。
3、 如權(quán)利要求l所述的方法,其特征在于,USB設(shè)備保存收到的序列號 之前,檢查預(yù)設(shè)的標(biāo)志位是否表示已經(jīng)設(shè)置了序列號;在未設(shè)置序列號的情況下,USB設(shè)備保存收到的序列號。
4、 如權(quán)利要求l所述的方法,其特征在于,USB設(shè)備保存收到的序列號 的步驟包括USB設(shè)備將收到的序列號保存到指定位置。
5、 如權(quán)利要求4所述的方法,其特征在于,USB設(shè)備將收到的序列號保 存到指定位置的步驟包括USB設(shè)備用所述序列號更新預(yù)先為序列號設(shè)置的初 值。
6、 一種主機(jī),其特征在于,包括 生成模塊,用于在測試階段生成序列號; USB接口模塊,用于與USB設(shè)備連接;驅(qū)動模塊,用于通過驅(qū)動將序列號發(fā)送給USB設(shè)備,并指示USB設(shè)備保 存收到的序列號。
7、 如權(quán)利要求6所述的主機(jī),其特征在于,還包括測試模塊,用于對 USB設(shè)備進(jìn)行測試;生成才莫塊在測試階段對USB設(shè)備的各項測試均通過時,生成序列號。
8、 一種USB設(shè)備,其特征在于,包括USB接口模塊,用于與主機(jī)連接,并接收主機(jī)通過驅(qū)動發(fā)送的序列號; 存儲模塊,用于存儲數(shù)據(jù);運行模塊,用于從驅(qū)動中解析出序列號,并將序列號保存到存儲模塊。
9、 如權(quán)利要求8所述的USB設(shè)備,其特征在于,運行模塊還用于檢查預(yù) 設(shè)的標(biāo)志位是否表示已經(jīng)設(shè)置了序列號;在未設(shè)置序列號的情況下,將收到的 序列號保存到存儲模塊。
10、 如權(quán)利要求8所述的USB設(shè)備,其特征在于,運行模塊將收到的序 列號保存到存儲模塊中的指定位置。
11、 如權(quán)利要求IO所述的USB設(shè)備,其特征在于,運行模塊用所述序列 號更新預(yù)先為序列號設(shè)置的初值。
全文摘要
本發(fā)明公開了一種獲得USB設(shè)備的序列號的方法,用于實現(xiàn)為USB設(shè)備配置序列號,并且實現(xiàn)簡單,成本較低。所述方法包括主機(jī)識別出有USB設(shè)備接入后,生成序列號;主機(jī)通過驅(qū)動將序列號發(fā)送給USB設(shè)備;USB設(shè)備保存收到的序列號。本發(fā)明還公開了用于實現(xiàn)所述方法的裝置。
文檔編號G06F13/10GK101615165SQ200910090370
公開日2009年12月30日 申請日期2009年8月6日 優(yōu)先權(quán)日2009年8月6日
發(fā)明者曹玉弟 申請人:北京中星微電子有限公司