1 引言
隨著計算機硬件、軟件技術及集成電路技術的迅速發(fā)展,,基于現場總線技術的通信網絡逐步取代分散式工業(yè)控制系統(tǒng),,成為計算機技術及電子技術應用領域中最具活力的一種邊緣分支并取得巨大進步。美國美信公司設計的1-Wire總線是眾多現場總線中極具競爭力的一種,。具備能與計算機進行數字通信,、總線負載量大、布線簡練,、精度高,、性能穩(wěn)定、價格便宜等諸多優(yōu)點,,特別是非常適合中短距離通信,,是工業(yè)系統(tǒng)設計的高級境界。
l-Wire測量網絡的實現需要與PC主機相結合,,所以在1-Wire總線組成的測量網絡中,,網絡適配器是必不可少的,它擔負著主機監(jiān)控單元與網絡節(jié)點之間數據傳輸的重要任務,。USB接口總線具有高速傳輸,、支持熱插拔、即插即用,、開發(fā)成本低等優(yōu)點,。DS2432提供了一種緊湊的密鑰存儲方案,有效地降低了硬件仿制的可行性,。據此,,本文提出了一種基于DS2432的l-Wire總線USB口適配器的設計方法。
2 DS2432的內部結構和加密原理
2.1 DS2432的內部結構
DS2432是倒裝芯片,,有8個引腳,,將控制,、尋址、數據和電源集于一個數據引腳,,可以在-40℃~+85℃,,2.8 V~5.25 V的寬電壓范圍內進行讀、寫操作,,內置多點控制,。其引腳排列如圖1所示。
DS2432的內部原理框圖如圖2所示,。該電路主要由64位掩模ROM,、64位暫存器、4個32字節(jié)的EEPROM,、64位寄存器,、64位密鑰存儲器及512位SHA-l(安全散列算法)引擎6個主數據部件組成。
2.2 DS2432的加密原理
DS2432有四個存儲區(qū):數據存儲器,、密鑰存儲器,、含有特定功能和用戶字節(jié)的寄存器頁和暫存器。數據存儲器每頁32個字節(jié),。密鑰,、寄存器頁和暫存器均為8字節(jié)。向數據存儲器寫數據,、裝載初始密鑰,,或者向寄存器頁寫入數據時,暫存器作為緩存器使用,。數據存儲器,、密鑰存儲器和寄存器頁位于線性地址空間中。數據存儲器和寄存器頁對讀訪問沒有限制,,但向數據存儲器和寄存器頁寫數據時則需要知道密鑰,。密鑰的安裝有二種方法,一是把數據從暫存器復制到密鑰存儲器,;二是當前密鑰和暫存器內容經過運算后生成新的密鑰,。密鑰不能直接讀取,只有SHA引擎能夠訪問它,,計算信息鑒定碼MAC,。
地址0088H-008FH為寄存器頁,,含有特定功能寄存器,、通用用戶字節(jié)以及1個工廠字節(jié)。一旦編程為AAH或55H,,這些字節(jié)中的大多數將被寫保護而不能再更改,。其他所有代碼既不能寫保護,,也不能激活與這個特定字節(jié)相關的特殊功能。特殊功能包括僅寫保護密鑰,;同時寫保護4個數據存儲器頁,;僅激活數據存儲器頁1的EPROM模式;僅激活數據存儲器頁0的EPROM模式,。一旦EPROM模式被激活,,在數據存儲器未加寫保護的情況下,地址0020H-003FH中的位只能從邏輯1改為邏輯O,。若讀取到的地址設為55H,,表明地址008E和008F是可讀/寫的用戶字節(jié),沒有任何特定功能和鎖定機制,。代碼AAH表明這二個字節(jié)被編程為16位的ID,,并且被加寫保護。主機與1-Wire設備進行通信時,,用戶要提供16位的ID識別碼,,用來協(xié)助應用軟件識別包含DS2432的l-Wire網絡適配器。
3 適配器的設計
3.1 硬件電路設計
適配器需2個接口電路分別與計算機主機系統(tǒng)和1-Wire網絡進行通信,。與主機系統(tǒng)進行通信主要通過USB協(xié)議實現,,稱為USB接口電路;與1-Wire網絡之間的通信通過USB到l-Wire總線的橋接電路DS2490S實現,,但需1個RJ-11插座,,稱為RJ-11橋接電路。本設備采用USB總線的供電方式,。
3.1.1 USB接口電路設計
USB接口電路的原理如圖3所示,。
R3是上拉電阻器,它可使USB口的D+端上拉到DS2490S的VB端,,表示USB主機系統(tǒng)是高速設備,,同時這個上拉電阻器告訴主機有USB設備插入。該上拉電阻器的設置對適配器的影響很大,,它的負載值和1-Wire網絡的總長決定1-Wire總線電壓上升到5 V的速度,。經過實驗測試選擇R3的阻值為27 Ω±lO%。R1,、R2為USB數據線保護電阻器,。L、L2具有禁止高頻干擾并且減弱EMI輻射的功能,。LF33CV為3.3 V電壓穩(wěn)壓器,,與周圍元件C1、C2組成強上拉部分,給EEPROM或溫度傳感器等器件提供額外的電源,。
3.1.2 RJ-ll橋接電路的設計
RJ-11橋接電路的原理如圖4所示,。
DS2490S是USB口與l-Wire器件的橋接電路,可直接連至USB主機系統(tǒng),。它可產生嚴格定時和受電壓擺率控制的1-Wire波形,,并且可滿足USB接口通信協(xié)議的要求,保證USB口與l-Wire器件正常,、安全地通信,。
晶體振蕩器電路主要由X1構成,在整個系統(tǒng)中非常重要,,可保證DS2490S穩(wěn)定工作,。為了產生12Mb/s的USB總線速率,系統(tǒng)使用12 MHz的晶體振蕩器,。電容器的接入是為了使晶體振蕩器更容易起振,。肖特基二極管D1,D2可消除來自于ESD采樣數的尖峰信號或通過分別導通D1,,D2至GND,,交叉耦合其他的鄰近電纜,防止l-Wire總線過電壓,。電阻器R5可限制ESD的電流并保護D1和D2,。R4、R5和D3組成諧振電路,,其特有的靜電晶體振蕩器放電功能可對1-Wire總線起到保護作用,。
建議在1-Wire網絡應用中使用阻抗約100 Ω非屏蔽雙絞電纜。在本電路設計中考慮到這方面的原因,,將R4,、R5的阻值定為1 kΩ,滿足了適配器數據通信的要求,。整體電路原理如圖5所示,。
3.2 適配器軟件設計
軟件設計主要包括計算機端USB接口驅動程序模塊設計和DS2490S橋接模塊與讀取DS2432模塊的固件設計。在設計中將軟件程序模塊化,,可方便調試和完善,。本適配器軟件的設計是在Win-dows2000系統(tǒng)環(huán)境下進行的,設計工具是VisualC++和DriverStudio,。Maxim公司為軟件開發(fā)者提供了大量的驅動程序和測試代碼,,使用時僅需針對具體情況進行修改。這里不對源代碼進行贅述,,
僅給出加密軟件流程,,如圖6所示,。
4 適配器通信信號性能測試
對于遠程1-Wire測量網絡的通信,在核實信號時,,尤其是在電纜末端,必須使用差分探測器和探測器的地浮動參考,。另外,,探測器的地連接將設旁路1-Wire參考地并改變系統(tǒng)的拓撲。如果沒有采用差分探測器,,必須從總線地通過變壓器或使用電池供電的示波器隔離示波器的地,。二者選其一來分離示波器電源供電電纜的安全地。當從遠端反射信號時,,在圖形下降沿末尾的中心會產生一些波動(俗稱“鞍”),,這是傳輸線的自然動作。電纜短于100 m時看不到該“鞍”,。由于條件所限,,本適配器的通信信號性能測試在實驗室內進行。將適配器接入主機USB接口,,再將示波器接入主機,,來掃描適配器傳輸的信號。圖7所示為示波器掃描時序,。由圖中可以看出輸入/輸出信號的時序基本滿足1-Wire器件的信號時序,,未出現尖峰或混沌現象,適配器的工作基本穩(wěn)定,。
5 結束語
本設計在適配器硬件,、用戶軟件及身份認證方面做了一些探索性工作。1-Wire總線設備是Maxim公司力推的產品,,雖然價格較高,,上市時間不長,在業(yè)界還沒有得到廣泛的應用,,但具有眾多優(yōu)點,,將會有很好的應用前景。