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