用于生成唯一設(shè)備id的系統(tǒng)和方法
【專利說明】
[0001 ] 背景
技術(shù)領(lǐng)域
技術(shù)領(lǐng)域 [0002] 總體上涉及網(wǎng)絡(luò)中的設(shè)備,并且更具體地,涉及網(wǎng)絡(luò)中的設(shè)備的唯一設(shè) 備標(biāo)識信息的生成。
[0003] 背景討論
[0004] 采用共享總線拓撲的聯(lián)網(wǎng)標(biāo)準在工業(yè)應(yīng)用中具有廣泛的安裝基礎(chǔ)。這些聯(lián)網(wǎng)標(biāo)準 包括M0DBUS、CAN、I2C和許多基于無線的網(wǎng)絡(luò)(例如WLAN、Zigbee和藍牙)。這些網(wǎng)絡(luò)的成功 有各種各樣的原因,并且一些成功的原因包括易于實現(xiàn)、材料的低成本和在噪聲、工業(yè)環(huán)境 中的穩(wěn)定的性能。
[0005] 網(wǎng)絡(luò)通常使用如本領(lǐng)域已知的總線來允許微控制器和設(shè)備彼此通信。網(wǎng)絡(luò)可連接 多個節(jié)點。網(wǎng)絡(luò)中的節(jié)點的范圍可從簡單的I/O設(shè)備到具有接口、顯示器和復(fù)雜的軟件的嵌 入式計算機。該節(jié)點還可以是允許標(biāo)準計算機通過USB或以太網(wǎng)端口與網(wǎng)絡(luò)上的設(shè)備進行 通信的網(wǎng)關(guān)。
[0006] 概述
[0007] 根據(jù)各個方面和實施例,包括網(wǎng)絡(luò)的設(shè)備和方法被提供。本發(fā)明對生成網(wǎng)絡(luò)中的 每個設(shè)備的唯一設(shè)備標(biāo)識符的當(dāng)前方法進行了改進。更具體地,本發(fā)明的至少一些實施例 涉及使用靜態(tài)隨機存取存儲器(SRAM)作為偽隨機數(shù)字生成器(PANG)的種子(seed)來生成 具有隨機生成的數(shù)字的設(shè)備標(biāo)識符。
[0008] 根據(jù)一些方面,包括網(wǎng)絡(luò)接口、存儲器和至少一個處理器的設(shè)備被提供。存儲器可 包括隨機存取存儲器(RAM)和非易失性存儲器。處理器可被耦合到存儲器并被耦合到網(wǎng)絡(luò) 接口并被配置為指定RAM的未初始化的區(qū)、使用來自RAM的未初始化的區(qū)的數(shù)據(jù)生成設(shè)備的 網(wǎng)絡(luò)設(shè)備標(biāo)識符、將該網(wǎng)絡(luò)設(shè)備標(biāo)識符存儲在非易失性存儲器中并將該網(wǎng)絡(luò)設(shè)備標(biāo)識符分 配給該設(shè)備。
[0009] 在設(shè)備中,至少一個處理器還可被配置為設(shè)置設(shè)備標(biāo)識符標(biāo)志以響應(yīng)于將該網(wǎng)絡(luò) 設(shè)備標(biāo)識符分配給該設(shè)備。該至少一個處理器還可被配置為使用來自RAM的未初始化的區(qū) 的數(shù)據(jù)作為偽隨機數(shù)字生成器的種子來生成網(wǎng)絡(luò)設(shè)備標(biāo)識符。該至少一個處理器還可被配 置為使用真隨機數(shù)字生成器來生成網(wǎng)絡(luò)設(shè)備標(biāo)識符。
[0010]在設(shè)備中,該至少一個處理器還被配置為自動地生成設(shè)備的設(shè)備地址、接收指示 第二設(shè)備具有該設(shè)備地址的消息、將設(shè)備的設(shè)備標(biāo)識符與第二設(shè)備的第二設(shè)備標(biāo)識符進行 比較以及將設(shè)備地址分配給該設(shè)備以響應(yīng)于將該設(shè)備標(biāo)識符與第二設(shè)備標(biāo)識符進行比較。
[0011] 根據(jù)一些實施例,網(wǎng)絡(luò)接口可被配置為耦合到控制器區(qū)域網(wǎng)絡(luò)。非易失性存儲器 可以是電可擦除可編程只讀存儲器。RAM可以是靜態(tài)隨機存取存儲器。
[0012] 根據(jù)各個實施例,用于生成設(shè)備標(biāo)識符的方法被提供。方法可包括以下動作:指定 未初始化的隨機存取存儲器(RAM)的區(qū)、使用來自未初始化的RAM的區(qū)的數(shù)據(jù)生成網(wǎng)絡(luò)上的 設(shè)備的設(shè)備標(biāo)識符、將設(shè)備標(biāo)識符儲存在非易失性存儲器中以及將設(shè)備標(biāo)識符分配給設(shè) 備。
[0013] 方法還可包括設(shè)置設(shè)備標(biāo)識符標(biāo)志以響應(yīng)于將設(shè)備標(biāo)識符分配給設(shè)備的動作。另 外,生成設(shè)備標(biāo)識符可包括使用數(shù)據(jù)作為偽隨機數(shù)字生成器的種子來生成設(shè)備標(biāo)識符。另 外,生成設(shè)備標(biāo)識符還包括使用真隨機數(shù)字生成器來生成設(shè)備標(biāo)識符。非易失性存儲器中 的設(shè)備標(biāo)識符可包括將設(shè)備標(biāo)識符儲存在電可擦除可編程只讀存儲器中。另外地,生成網(wǎng) 絡(luò)上的設(shè)備的設(shè)備標(biāo)識符可包括生成控制器區(qū)域網(wǎng)上的設(shè)備的設(shè)備標(biāo)識符。
[0014] 在一些實施例中,方法包括以下動作:自動地生成設(shè)備的設(shè)備地址、接收指示第二 設(shè)備具有該設(shè)備地址的消息、將設(shè)備的設(shè)備標(biāo)識符與第二設(shè)備的第二設(shè)備標(biāo)識符比較以及 將設(shè)備地址分配給該設(shè)備以響應(yīng)于將該設(shè)備標(biāo)識符與第二設(shè)備標(biāo)識符進行比較。另外,指 定RAM的區(qū)可包括指定靜態(tài)隨機存取存儲器的區(qū)。
[0015] 根據(jù)一些方面,提供了非暫時性計算機可讀介質(zhì),其上存儲有用于生成設(shè)備標(biāo)識 符的指令序列。指令序列可包括將促使至少一個處理器指定未初始化的隨機存取存儲器 (RAM)的區(qū)、生成網(wǎng)絡(luò)上的設(shè)備的設(shè)備標(biāo)識符(其中設(shè)備標(biāo)識符使用來自未初始化的RAM的 區(qū)的數(shù)據(jù)來生成)、將設(shè)備標(biāo)識符儲存在非易失性存儲器中以及將設(shè)備標(biāo)識符分配給設(shè)備 的指令。
[0016]根據(jù)一些實施例,指令序列還包括將促使至少一個處理器自動地生成設(shè)備的設(shè)備 地址、接收指示第二設(shè)備具有該設(shè)備地址的消息、將設(shè)備的設(shè)備標(biāo)識符與第二設(shè)備的第二 設(shè)備標(biāo)識符比較以及將設(shè)備地址分配給該設(shè)備以響應(yīng)于將該設(shè)備標(biāo)識符與第二設(shè)備標(biāo)識 符進行比較的指令。
[0017] 根據(jù)一些實施例,指令序列可包含另外的指令,其將促使至少一個處理器設(shè)置設(shè) 備標(biāo)識符標(biāo)志以響應(yīng)于將設(shè)備標(biāo)識符分配給該設(shè)備。另外地,指令序列可包括另外的指令, 其將促使至少一個處理器使用來自未初始化的RAM的區(qū)的數(shù)據(jù)作為偽隨機數(shù)字生成器的種 子。
[0018] 還有其它方面、實施例及這些示例性的方面和實施例的優(yōu)點在下面詳細討論。此 外,需要理解的是,上述信息和下面的詳細描述兩者都僅僅是各個方面和各種實施例的說 明性的示例,并且旨在提供用于理解所要求保護的各方面和各實施例的性質(zhì)和特性的綜述 或者框架。本文公開的任何示例或?qū)嵤├膳c任何其他示例或?qū)嵤├M合。對"示例(an example)"、"實施例(an embodiment)"、"一些不例(some examples)"、"一些實施例(some embodiments)"、"可選的不例(an alternate ex amp le)"、"各種實施例(various embodiments )"、"一個不例(one examp 1 e )"、"至少一個實施例(at least one embodiment)"、"這個和其它的示例(this and other examples)"等等的引用不一定相互 排斥并且旨在表示,結(jié)合示例或?qū)嵤├枋龅奶囟ǖ奶卣?、結(jié)構(gòu)或特性可被包括在至少一 個示例或?qū)嵤├?。本文出現(xiàn)的這些術(shù)語不一定都提及相同的示例或?qū)嵤├6?,如果?文檔和通過引用并入本文的的文檔之間的術(shù)語的使用不一致,則在合并的參考文獻中的術(shù) 語的使用是對本文檔的術(shù)語使用的補充;對于不可調(diào)和的不一致,以本文檔中的術(shù)語使用 為準。
[0019]在下文參照附圖詳細地描述了本發(fā)明的另外的特征和優(yōu)點以及本發(fā)明的各種實 施例的結(jié)構(gòu)和操作。在附圖中,相似的參考數(shù)字指示相似的或在功能上相似的要素。此外, 參考數(shù)字的最左邊的一個或兩個數(shù)位標(biāo)示參考數(shù)字第一次在其中出現(xiàn)的圖。
【附圖說明】
[0020]下文參考附圖討論了至少一個實施例的各個方面,該附圖不旨在按比例繪制。各 圖被包含以提供各個方面和實施例的圖示以及進一步的理解,并且被并入該說明書且構(gòu)成 該說明書的一部分,但是不旨在作為任何特定的實施例的限制的定義。各圖連同該說明書 的剩余部分一起用來解釋所描述的和所要求保護的各方面和實施例的原理和操作。各圖 中,在各個圖中示出的每個相同的或者幾乎相同的組件用相似的數(shù)字來標(biāo)示。出于清楚的 目的,并非每個組件都可以被在每個圖中標(biāo)記。在附圖中:
[0021 ]圖1是根據(jù)一個實施例的示例網(wǎng)絡(luò)的框圖;
[0022]圖2是在一個實施例中使用的示例計算機系統(tǒng)的框圖;
[0023] 圖3是示出根據(jù)一個實施例使用真隨機數(shù)字生成器生成設(shè)備的設(shè)備標(biāo)識符的過程 的流程圖;
[0024] 圖4是示出根據(jù)一個實施例使用偽隨機數(shù)字生成器生成設(shè)備的設(shè)備標(biāo)識符的過程 的流程圖;以及
[0025]圖5是根據(jù)至少一個實施例的用于設(shè)備地址驗證和要求的示例狀態(tài)機。
[0026] 詳細描述
[0027] 根據(jù)一些示例,耦合到總線的設(shè)備使用協(xié)議棧用于內(nèi)部設(shè)備通信,并且協(xié)議棧包 括地址生成和設(shè)備標(biāo)識功能。為了實現(xiàn)這兩個特征,每個設(shè)備具有值或標(biāo)識符(例如,七字 節(jié)值)以唯一地識別網(wǎng)絡(luò)上的設(shè)備。當(dāng)前,根據(jù)一些示例,利用壓縮算法使用設(shè)備的十二個 字符序列號將設(shè)備的標(biāo)識符生成為七字節(jié)值。然而,當(dāng)廠商改變序列號格式時,壓縮算法通 常也將需要改變,且相同的算法可能不能用于不同的設(shè)備。另外,在許多設(shè)備中,輸入產(chǎn)品 序列號是人工過程,因此當(dāng)技術(shù)人員替換設(shè)備中的控制器時,序列號不得不被人工正確地 輸入。如果設(shè)備被替換且技術(shù)人員輸入了