專利名稱:亂數產生序號的方法
技術領域:
本發明是有關于一種產生序號的方法,且特別是有關于一種亂數產生序號的方法。
在通用式系統串行總線(Universal System Bus,USB)或IEEE 1394串行總線中,會對每一臺機臺定義一個單獨而唯一的序號(SerialNumber,或稱為ID)。現行產生序號的方法大致上來說可以分成兩種其中一種產生序號的方法是將一個固定的序號使用在同種類的機臺上。這種方法雖然簡便,但是卻會使同種類的機臺沒辦法連結于同一個USB或IEEE 1394串行總線上且正常使用。
另外一種習知所采用的序號產生方法,就是將機臺的序號儲存在只讀存儲器(ROM)、電可編程只讀存儲器(EPROM)、電可擦寫只讀存儲器(EEPROM)或是快閃存儲器(flash memory)中,以使機臺的序號唯一。但是這種方法卻會導致機臺在生產的過程中,必須增加燒錄序號的成本以及增加儲存線路元件的費用。除此之外,還必須在生產過程中控制其序號不得重復。而為了達到這個功能,就必須配備相關的控制電路。
有鑒于此,本發明的目的在于提供一種亂數產生序號的方法,采用該方法可節省工時及相關元件的費用,同時可避免在同一串行總線上出現相同的序號。
為達到上述目的,本發明提出一種亂數產生序號的方法,其適用于合一個串行總線中運用一個使用序號的裝置上。這個方法首先根據一個種子數,以亂數產生此使用序號;接下來,檢測產生的使用序號在串行總線中是否重復;而當產生的使用序號與串行總線中除這一裝置外的任一同類裝置所對應的序號重復時,即重新產生一個使用序號。
其中,種子數可以是串行總線上任一個同類裝置所對應的序號,而使用序號則是由這些同類裝置所對應的序號以亂數方法結合得到。
此外,當此裝置為一臺掃描器的時候,種子數就可以經由燈管在開機后亮度上升的變異性,校正板反射光的亮度,電荷耦合元件(Charge CoupleDevice,CCD)的隨機噪音以及校正板邊緣與起始位置(home position)之間的距離等方式來取得。而若使用序號包括數個位數,則任一個位數都可以籍由任一種取得方式所取得的種子數來產生。
綜上所述,本發明所提供的亂數產生序號的方法,其藉由亂數來產生所需要的使用序號,而由于現今的裝置中大部分都安裝有中央處理器(Central Processing Unit,CPU),所以亂數的產生并不會是問題。使用本發明的方法可以節省工時及相關元件的費用,而且可以同時避免序號相同的困擾,使得同類的裝置可以安裝在同一個串行總線上。
有關本發明的詳細說明及技術內容,配合
如下圖1為根據本發明的一較佳實施例的實施步驟流程圖;圖2為根據本發明的另一較佳實施例的實施步驟流程圖。
請參照圖1,其為依照本發明一較佳實施例的一種實施步驟流程圖。首先在步驟110中,使用本發明之方法的裝置必須先取得一個種子數(seed),并根據此種子數來產生亂數。此處可以使用的種子數可以隨著裝置而變,選取最不需額外設備而能得到的種子數則是較好的方式。舉例來說,當此裝置是一臺掃描器的時候,種子數的取得方式可以是燈管在開機后亮度上升的變異性,校正板反射光的亮度,電荷耦合元件(ChargeCouple Device,CCU)的隨機噪音(random noise)或者校正板邊緣與起始位置(home position)之間的距離。
接下來,在步驟120中就將所得到的亂數組合而成使用序號。在這個步驟中,最典型的方式就是直接將步驟110所得到的亂數當作使用序號。之后,步驟130判定由步驟120所得到的使用序號是否與串行總線上的其他同類裝置重復。若是重復,則回到步驟110重新取得種子數,并進而得到新的亂數與使用序號。當然,也可以僅更新亂數,而不必重新取得種子數。
此外,當使用序號包括有數個位數的時候,可以重復進行數次步驟110,并在每次執行的過程中得到一個亂數。之后,在步驟120中再將每一次得到的亂數組合在一起。也就是說,可以將多個亂數當成組成使用序號的位數,而非限定僅能使用一個亂數來做為使用序號。
請參照圖2,其為根據本發明的另一較佳實施例的實施步驟流程圖。在本實施例中,使用本發明之方法的裝置首先在步驟210中取得串行總線上其他同類裝置的序號。接下來,在步驟220中再以亂數結合這些序號,并根據結合后的結果,得到此裝置的使用序號。最后,步驟230對使用序號進行檢查,以確定使用序號與其他同類裝置的序號并沒有重復。而當使用序號與其他同類裝置的序號重復的時候,就重回步驟220以重新亂數組合序號并得到另一個使用序號。
必須注意的是,本發明可以適用于具有中央處理器(Central ProcessingUnit,CPU)的裝置中,而非僅限定于此處所提及的掃描器中。此外,上述兩個實施例所公開的亂數產生序號的方法可以混用,而非必須分開使用。
綜上所述,本發明的優點在于可以節省工時及相關及相關元件的費用,而且可以輕易避免序號相同的困擾。
以上所述,僅為本發明的幾個較佳實施例而已,并不用于限制本發明的保護范圍。
權利要求
1.一種亂數產生序號的方法,其適用于在一串行總線中使用一使用序號的一裝置上,包括根據一種子數,以亂數產生該使用序號;檢測產生的該使用序號于該串行總線中是否重復;以及當產生的該使用序號與該串行總線中除該裝置外的任一同類裝置所對應的一序號重復時,則重新產生該使用序號。
2.根據權利要求1所述的亂數產生序號的方法,其特征在于該裝置為一掃描器時,該種子數的取得方式包括燈管在開機后亮度上升的變異性;校正板反射光的亮度;電荷耦合元件的隨機噪音;或校正板邊緣與起始位置之間的距離。
3.根據權利要求2所述的亂數產生序號的方法,其特征在于所產生的該使用序號包括一個以上位數。
4.根據權利要求3所述的亂數產生序號的方法,其特征在于所產生的該使用序號中的任一該位數,是由上述任一取得方式所取得的該種子數所產生。
5.根據權利要求1所述的亂數產生序號的方法,其特征在于所述的種子數為該串行總線上任一同類裝置所對應的該序號。
6.根據權利要求5所述的亂數產生序號的方法,其特征在于所產生的該使用序號是由任一該同類裝置所對應的該序號組合而成。
7.根據權利要求6所述的亂數產生序號的方法,其特征在于所述的使用序號,是以亂數方法排列該序號而成。
全文摘要
本發明公開了一種亂數產生序號的方法,其適用于在一個串行總線中運用一個使用序號的裝置上。該方法首先根據一個種子數,以亂數產生此使用序號;接下來,檢測產生的使用序號在串行總線中是否重復;而當產生的使用序號與串行總線中除這一裝置外的任一同類裝置所對應的序號重復時,即重新產生一個使用序號。
文檔編號G06F11/00GK1337631SQ0012125
公開日2002年2月27日 申請日期2000年8月9日 優先權日2000年8月9日
發明者邱垂桂 申請人:力捷電腦股份有限公司