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