摘? 要: 在介紹1-Wire" title="1-Wire">1-Wire總線的基礎(chǔ)上,對1-Wire器件iButton及其工作原理進(jìn)行了介紹,并概括了它的特點。
關(guān)鍵詞: 1-Wire總線? 信息鈕扣? 通信協(xié)議
?
包括達(dá)拉斯半導(dǎo)體公司現(xiàn)在生產(chǎn)的信息鈕扣iButton(information Button)在內(nèi),已有30多種1-Wire器件,它們采用一種特殊的通信協(xié)議,通過單條連接線解決了控制、通信和供電等問題,降低了系統(tǒng)成本并簡化了設(shè)計,正越來越廣泛地應(yīng)用于日常生活中。例如iButton已用于金融、電信、商業(yè)以及軍事領(lǐng)域等。
1 1-Wire總線
1-Wire總線是一種簡單的信號電路,它僅用一根數(shù)據(jù)線即可與外界進(jìn)行信息交換。1-Wire總線器件的共性是:每個器件都有一個不會與其它任何器件重復(fù)的出廠時就已固化的序列號,也就是說,每一個器件都是唯一的。一旦器件的序列號已知,通過這個序列號,任意一個器件都可以從眾多連到同一1-Wire總線的器件中被選出用于通信。
通信時,總線控制器" title="總線控制器">總線控制器先發(fā)出一個“復(fù)位”信號以使總線同步,然后選擇受控器件進(jìn)行隨后的通信。這可以通過選擇一個特定的受控器件(利用該設(shè)備的系列號進(jìn)行選擇)或者通過對半檢索法找到總線上的下一個受控器件來實現(xiàn),當(dāng)然,也可以選擇所有的受控器件。一旦一個特定的器件被選中,那么在總線控制器發(fā)出下一次“復(fù)位”信號之前,所有其它器件都被掛起而忽略隨后的通信。
主機(jī)能向用于總線通信的所有器件發(fā)布指令,對它(或者它們)進(jìn)行數(shù)據(jù)的讀寫。這是因為每類器件運行不同的函數(shù),有不同的用途,而且一旦器件被選定,它所用的協(xié)議也就固定下來。即使每類器件有不同的協(xié)議和特征,它們也都有著同樣的選擇過程并且都遵循如圖1所示的流程。
?
?
2 iButton簡介
iButton是一個封裝在鈕扣型不銹鋼外殼里的微型計算機(jī)芯片,它的直徑為16mm,厚3~6mm。可以實現(xiàn)雙工通信,數(shù)據(jù)傳輸使用單總線協(xié)議,使得引腳數(shù)目降至最少:一根數(shù)據(jù)線,一根地線。不銹鋼封裝的內(nèi)圈圓面作為數(shù)據(jù)線,外圈圓面作為地線。見圖2。
iButton的外形如圖3。
iButton種類繁多,根據(jù)使用芯片的不同,可以分為三類:①Memory iButton具有64KB" title="64KB">64KB的存儲空間,可以存儲文字、數(shù)字化的圖像,有些還具有實時時鐘" title="實時時鐘">實時時鐘(如DS1904)、溫度傳感器(如DS1921);②Java-powered crypto iButton采用高速處理器和算法加速器來處理加密和解密算法中的數(shù)據(jù),它可以與Internet應(yīng)用程序進(jìn)行交互,可以作為一種遠(yuǎn)程身份驗證解決方案;③Thermochron iButton包含了溫度探測器和實時時鐘,可以保留熱交換的歷史記錄,還有512字節(jié)的附加存儲器用來存儲輸出的歷史記錄。
?? 包括達(dá)拉斯半導(dǎo)體公司現(xiàn)在生產(chǎn)的信息鈕扣iButton(information Button)在內(nèi),已有30多種1-Wire器件,它們采用一種特殊的通信協(xié)議,通過單條連接線解決了控制、通信和供電等問題,降低了系統(tǒng)成本并簡化了設(shè)計,正越來越廣泛地應(yīng)用于日常生活中。例如iButton已用于金融、電信、商業(yè)以及軍事領(lǐng)域等。
1 1-Wire總線
1-Wire總線是一種簡單的信號電路,它僅用一根數(shù)據(jù)線即可與外界進(jìn)行信息交換。1-Wire總線器件的共性是:每個器件都有一個不會與其它任何器件重復(fù)的出廠時就已固化的序列號,也就是說,每一個器件都是唯一的。一旦器件的序列號已知,通過這個序列號,任意一個器件都可以從眾多連到同一1-Wire總線的器件中被選出用于通信。
通信時,總線控制器先發(fā)出一個“復(fù)位”信號以使總線同步,然后選擇受控器件進(jìn)行隨后的通信。這可以通過選擇一個特定的受控器件(利用該設(shè)備的系列號進(jìn)行選擇)或者通過對半檢索法找到總線上的下一個受控器件來實現(xiàn),當(dāng)然,也可以選擇所有的受控器件。一旦一個特定的器件被選中,那么在總線控制器發(fā)出下一次“復(fù)位”信號之前,所有其它器件都被掛起而忽略隨后的通信。
主機(jī)能向用于總線通信的所有器件發(fā)布指令,對它(或者它們)進(jìn)行數(shù)據(jù)的讀寫。這是因為每類器件運行不同的函數(shù),有不同的用途,而且一旦器件被選定,它所用的協(xié)議也就固定下來。即使每類器件有不同的協(xié)議和特征,它們也都有著同樣的選擇過程并且都遵循如圖1所示的流程。
2 iButton簡介
iButton是一個封裝在鈕扣型不銹鋼外殼里的微型計算機(jī)芯片,它的直徑為16mm,厚3~6mm??梢詫崿F(xiàn)雙工通信,數(shù)據(jù)傳輸使用單總線協(xié)議,使得引腳數(shù)目降至最少:一根數(shù)據(jù)線,一根地線。不銹鋼封裝的內(nèi)圈圓面作為數(shù)據(jù)線,外圈圓面作為地線。見圖2。
??? iButton的外形如圖3。
iButton種類繁多,根據(jù)使用芯片的不同,可以分為三類:①Memory iButton具有64KB的存儲空間,可以存儲文字、數(shù)字化的圖像,有些還具有實時時鐘(如DS1904)、溫度傳感器(如DS1921);②Java-powered crypto iButton采用高速處理器和算法加速器來處理加密和解密算法中的數(shù)據(jù),它可以與Internet應(yīng)用程序進(jìn)行交互,可以作為一種遠(yuǎn)程身份驗證解決方案;③Thermochron iButton包含了溫度探測器和實時時鐘,可以保留熱交換的歷史記錄,還有512字節(jié)的附加存儲器用來存儲輸出的歷史記錄。
iButton也可以通過并口或串口與計算機(jī)進(jìn)行通信,其傳輸速率可達(dá)142kbps。其主機(jī)可以是PC機(jī)、掌上電腦或筆記本電腦,同時還需要有讀寫設(shè)備(如Blue Dot)以及相應(yīng)的軟件交接面,如iButton-TMEX。
3 iButton的工作原理
iButton芯片由多路復(fù)用器和存儲器兩部分構(gòu)成,其功能模塊如圖4所示。
?
?
??? 由于iButton采用單總線傳輸協(xié)議,所以只需一根數(shù)據(jù)線和一根地線,結(jié)構(gòu)極其簡單。傳輸數(shù)據(jù)時,通過數(shù)據(jù)線供電。微機(jī)及有關(guān)讀寫設(shè)備處于主動(Master)地位;iButton處于從屬(Slave)地位。如果iButton與Master尚未建立連接,則不能進(jìn)行數(shù)據(jù)的傳輸;一旦成功建立連接,只需幾微秒的時間,iButton便可將數(shù)據(jù)線置為低電平,以此通知Master已經(jīng)建立了連接,等待接收命令,這個脈沖稱為在線脈沖。Master也可通過發(fā)送“復(fù)位”信號使數(shù)據(jù)線變?yōu)榈碗娖?。?dāng)iButton接收到“復(fù)位”信號時,通過檢測數(shù)據(jù)線的電平狀態(tài),可在數(shù)據(jù)線變?yōu)?a class="cblue" href="http://ihrv.cn/search/?q=高電平" title="高電平">高電平后立即發(fā)出一個在線脈沖。復(fù)位脈沖/在線脈沖的時序見圖5。
?
?
?? ?iButton發(fā)出在線脈沖后,等待Master發(fā)出命令。收到命令后,便執(zhí)行相應(yīng)的操作。由于iButton處于從屬地位,因此每個幀從何時開始就由Master來定義。為了做到這一點,Master從數(shù)據(jù)線讀取一位數(shù)據(jù),根據(jù)狀態(tài)的不同做出相應(yīng)的判斷:如果iButton發(fā)出信號“1”,則下一個時隙即為幀的開始時刻;否則iButton將繼續(xù)保持?jǐn)?shù)據(jù)線為低電平直到某一確定的時間?,F(xiàn)以從iButton讀取數(shù)據(jù)為例說明具體的執(zhí)行過程:確定了下一幀的開始時刻后,Master首先向iButton發(fā)一個讀數(shù)據(jù)指令,iButton接收該指令后立即將被讀取位的內(nèi)容送至數(shù)據(jù)線上,微機(jī)從數(shù)據(jù)線上獲得數(shù)據(jù)。若數(shù)據(jù)線在iButton的采樣時區(qū)內(nèi)維持高電平,則讀取值為“1”;否則,為“0”。最后,iButton釋放數(shù)據(jù)線,數(shù)據(jù)線恢復(fù)為高電平,為Master繼續(xù)從iButton讀取數(shù)據(jù)作好準(zhǔn)備。圖6示出了從在線脈沖開始到讀取數(shù)據(jù)結(jié)束的時序。其中,黑色粗線表示Master的動作,灰色粗線表示iButton的應(yīng)答,細(xì)線表示上拉電阻的作用。
?
?
4 iButton的特點
??? 由于iButton的硅晶片被保護(hù)在堅固的不銹鋼外殼里,你可以把它扔在地上,踏上幾腳,磨擦它或者戴著它游泳都沒關(guān)系。由于其內(nèi)部采用了先進(jìn)的防靜電電路及芯片,確保了iButton能承受高達(dá)8kV的靜電而保證自身和存儲的數(shù)據(jù)安然無恙。iButton的結(jié)構(gòu)決定了它具有防撞擊、防水、耐腐蝕、抗磁擾、防折疊等特點;工作溫度范圍也較寬,可以在-40℃~80℃的溫度范圍內(nèi)正常工作,適用于惡劣的環(huán)境;它可以嵌在戒指、鑰匙串、錢包或手表上,隨身攜帶方便。
另外,iButton的廣泛應(yīng)用還在于它具有磁卡、IC卡所不具有的突出特點,具體表現(xiàn)在:
(1)存儲量大:iButton的最大數(shù)據(jù)存儲量可達(dá)64KB,如DS2506具有64KB的EPROM存儲器,DS1996具有64KB的NVRAM存儲器。
(2)速度快:讀寫數(shù)據(jù)時,只需與觸點輕輕接觸,瞬間便可完成,而且其傳輸速率可達(dá)142kbps。
(3)安全性高:每個芯片都具有全球唯一的64位序列號,該序列號在出廠時通過激光工藝刻在芯片上,并增加了保護(hù)層,具有不可偽造性,任何企圖更改序列號的行為都會使CRC校驗過程出錯。
(4)成本低:iButton所用的讀寫器其成本只有一百多元,維修成本小于0.01%。iButton的穩(wěn)定性高,故障率低,性能價格比非常高。
(5)壽命長:iButton的不銹鋼外殼內(nèi)置有高性能鋰電池,而且其功耗很低,可以確保其數(shù)據(jù)的存儲長達(dá)10年以上。它的使用沒有次數(shù)的限制,可以無限次地使用。
iButton的種種優(yōu)勢,決定了它勢必具有廣闊的應(yīng)用前景。
?
參考文獻(xiàn)
1?王永紅,凌志浩.智能信息載體iButton及其應(yīng)用. 北京:北京航空航天大學(xué)出版社,2001
2 Maxin公司.Application Note 155:1-Wire Software Resource Guide.
3 Maxin公司.Book of iButton Standard.