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