?
摘要:DS2409的設計初衷是將其用做門禁控制的探測點(即讀取頭)以及用來減少大型1-Wire?網(wǎng)絡中總線上的負載。DS2409也被用來實現(xiàn)雙主機網(wǎng)絡。但目前Maxim已經(jīng)決定停止生產(chǎn)DS2409并鼓勵所有使用DS2409的客戶實施相應的設計改進以應對這個情況。這篇應用筆記介紹了使用DS2409的1-Wire網(wǎng)絡系統(tǒng)的替代方案,這些方案并不要求對現(xiàn)有的網(wǎng)絡進行重新設計。
概述
得益于DS2409 MicroLAN耦合器的獨特設計,它可以被用于實現(xiàn)多種特殊應用。本文首先列出了DS2409的特性和應用,接著介紹了可以實現(xiàn)相同功能的替代電路。最后本文對這些替代電路做了詳細討論。
DS2409特性描述
DS2409是一個特殊類型的2端口可尋址開關器件。與向傳統(tǒng)的可編程輸入/輸出口(PIO)輸出高、低電平不同,這個器件通過傳輸門來將其輸出通道與作為其輸入的1-Wire總線連接。在任何時刻,只有一個1-Wire輸出通道有效。除了1-Wire輸出通道以外,DS2409還有一個可控輸出通道,該輸出通道可以配合主輸出通道使用(默認方式),也可配合輔助輸出通道使用,還可以獨立使用。這些功能的切換是通過控制狀態(tài)控制字節(jié)來完成的(參見DS2409數(shù)據(jù)資料)。狀態(tài)信息字節(jié)(參見DS2409數(shù)據(jù)資料)允許主機確認設備配置狀況、檢查器件工作狀態(tài)(使用或非使用狀態(tài))、確認每個1-Wire輸出的邏輯狀態(tài)(高或者低)、事件標志位(置位/清零)。表1總結了DS2409的這些特性以及這些特性帶來的便利。
表1. DS2409特性及優(yōu)勢
DS2409需要5V VDD供電,上電后,所有1-Wire輸出通道都處于非工作狀態(tài),并通過內部上拉電阻拉到5V VDD電平。短暫的電源掉電將使器件進入上電復位狀態(tài)。在VDD穩(wěn)定后,1-Wire輸入端口作用一個短暫低電平,使DS2409進入軟件上電復位狀態(tài)。當DS2409重新和主機連接后,器件進入默認的上電復位配置狀態(tài),1-Wire總線輸出通道都處于非工作狀態(tài),事件標志位狀態(tài)不確定。
表1列出的特性主要面向下列3種應用:智能探測點、多層網(wǎng)絡、雙主機網(wǎng)絡(參見表2)。
表2. 特性及其應用
智能探測點
圖1所示框圖是將iButton?作為電子鑰匙的門禁系統(tǒng)。R1/C1應盡量靠近1-Wire適配器安裝。R1的作用在于當1-Wire總線中斷時,DS2409可以實現(xiàn)一個軟復位。C1在VDD過沖時可以避免DS2409阻塞1-Wire總線。
?
圖1. 帶智能探測點的門禁控制系統(tǒng)拓撲
除了主1-Wire總線外,探測點(如DS9092 iButton探頭)位于DS2409主輸出端分支二級網(wǎng)絡上。與輔助輸出口相連接的是一個ID芯片,比如一個1-Wire EEPROM器件,這個器件中存儲了分支名稱。正常工作情況下,所有分支都處于禁止狀態(tài)(即與主1-Wire總線斷開),與此同時主機在進行條件搜索,檢測事件是否發(fā)生。當一個iButton連接到探測點時,將該分支上的DS2409事件標志位置位。在下一個掃描周期中,主機將定位于該DS2409并使能輔助輸出通道,以讀取分支名稱。接下來,主機將訪問相同的DS2409并且使能主輸出通道,以訪問接入系統(tǒng)的iButton。當主輸出通道進入工作狀態(tài)后,點亮LED,指示用戶已檢測到器件連接。如果不需要點亮LED,控制輸出可以連接到一個門鎖,軟件控制打開/關閉。由于Smart-On命令具有短路檢測功能,DS2409可以防止探測點短路所引起的網(wǎng)絡故障。
多層網(wǎng)絡
對于任何網(wǎng)絡,找到主機驅動負載和節(jié)點(或分支、從機)數(shù)量間的最佳平衡非常重要。達到這個目的一種方式是網(wǎng)路分層(參見圖2)。圖中展示了一個4層網(wǎng)絡,從始終保持有效狀態(tài)的主干開始(第0層),每個子層都包含開關分支(第1層到第3層)。R1/C1應靠近1-Wire主機。如果通過1個或多個DS2409在1-Wire主干層和子層構建多層網(wǎng)絡,R1將保證主機再度連接時自動關斷通路。C1在VDD過沖時避免DS2409阻塞1-Wire總線。
為了有效控制這種網(wǎng)絡,主機應當了解每層各個分支DS2409從機的ROM ID,以識別網(wǎng)絡拓撲。為了打開第3層從機的通路(如箭頭所示),主機應執(zhí)行下列命令:
對主干U1執(zhí)行Match ROM命令。
使能主輸出通道(該操作將打開第1層兩個從器件的通路)。
對第1層U3執(zhí)行Match ROM命令。
使能主輸出通道(該操作將打開第2層的兩個從器件通路)。
對第2層U4執(zhí)行Match ROM命令。
打開輔助輸出通道(該操作將打開第3層連接至該輸出的從器件通路)。
?
圖2. 多層網(wǎng)絡拓撲
由于采用VCC供電,DS2409的最大1-Wire總線負載是100pF (50pF來自1-Wire總線輸入,50pF來自輸出),而典型的寄生供電1-Wire器件總線負載為800pF至1000pF。在示例拓撲中,主機所要驅動的總負載是:主干網(wǎng)上的DS2409 (50pF)、第1層的兩個DS2409 (150pF,2個輸入、1個輸出)、第2層的兩個DS2409 (150pF),連接在U4輔助輸出通道的所有從器件(50pF加上從機負載)。因此總負載是400pF加上從機負載。
根據(jù)應用需求,在每個分支可以掛接多于2個DS2409,表3列出了最大分支數(shù)目以及相應的來自于耦合器的負載。層與層之間,分支數(shù)目呈指數(shù)方式增長,然而來自DS2409的負載則呈線性增長。
表3. 多層分支數(shù)與DS2409負載
除了隨網(wǎng)絡層數(shù)增加而線性增加的通信負荷外,用戶同時應注意DS2409所引入的阻抗。對于主輸出來說,典型值是10Ω (最大值20Ω);對于輔助通道來說,典型值是15Ω (最大值30Ω)。非零阻抗降低了最終網(wǎng)絡層(主機至從機)的高電平,并拉高了主干網(wǎng)(從機至主機)的低電平。降低高電平通常不是什么問題,但是由于低電平閥值被拉高,通常建議用戶將網(wǎng)絡分層控制在4層或4層以內。
雙主機網(wǎng)絡
在應用中存在需要雙主機控制1-Wire總線的情況,例如,需要一個備份主機或者兩臺主機相互通信的情況。圖3是實現(xiàn)雙主機的示意圖,在這個例子中,DS1996存儲器iButton用作數(shù)據(jù)交換時的暫存器,可選擇ID芯片,如果已安裝,則可存儲與系統(tǒng)相關的信息,告知主機它們正在訪問一個共享網(wǎng)絡,該網(wǎng)絡同時帶有數(shù)據(jù)緩沖功能和握手邏輯。除了存儲器iButton外,同樣可以存在一個1-Wire從機構成的網(wǎng)絡。建議在雙主機網(wǎng)絡中同樣使用圖1所示的R1/C1組合,將R1/C1應用于2個主機側。
?
圖3. 雙主機,如果不能保證相同電壓,則由同一電源為兩個DS2409供電
作為起點,DS2409的主輸出和輔助輸出通道都處于禁止狀態(tài)。公共網(wǎng)絡都從DS2409上拉到5V,等效上拉電阻降低到750Ω。兩臺主機都定期讀取DS2409信息,以確定另一個主機是否已經(jīng)接管了1-Wire總線網(wǎng)絡。
假定主機A訪問DS1996,向主機B傳送數(shù)據(jù)。為了訪問存儲器iButton (DS1996),主機A首先打開U1的可控輸出,這將把U2的輔助輸出拉低。同時,主機B已經(jīng)讀到了U2的狀態(tài)信息,因此它知道主機A已經(jīng)接管總線。接下來主機A打開耦合器U1的主輸出,并且向存儲器iButton寫入數(shù)據(jù),這些操作結束后,主機A關閉U1的主輸出并且關閉控制輸出。
主機B仍然在讀取U2的狀態(tài)信息,并檢測到主機A已經(jīng)完成了寫操作。此時主機B打開U2的控制輸出,這將把U1的輔助輸出拉低。主機A讀到U1的狀態(tài)信息并且知道主機B已經(jīng)接管總線。這時主機B打開主輸出通道,并從存儲器iButton中讀回數(shù)據(jù)。完成信息處理后,主機B向iButton寫入一個回應信息。在這個操作結束后,主機B關閉U2的主輸出并關閉控制輸出。由于主機A仍在讀取U1的狀態(tài)信息,能夠了解到主機B對總線的訪問已經(jīng)結束。
功能命令及其典型用法
DS2409總共有11條命令,這些命令實現(xiàn)網(wǎng)絡控制功能。表4列出了這些命令并闡述了它們的典型用法。這些命令按照它們在網(wǎng)絡應用中的重要性排序。詳細信息請參閱DS2409數(shù)據(jù)資料。
表4. DS2409功能命令及其典型用法
我們重點介紹Smart-On命令(圖4)。圖中頂部的波形是1-Wire總線通信波形,本例中所示的是Smart-On Auxiliary命令。第一字節(jié)是33h命令代碼,之后是復位信號FFh和復位響應(00h,表示檢測到應答脈沖),后面跟隨一個確認字節(jié)(33h,表示沒有短路)。中間波形表示輔助輸出通道的狀態(tài),即復位/應答檢測(PD)周期。底部波形表示可控輸出在開啟輔助輸出之前關閉主輸出通道時的波形變換。在確認字節(jié)后的任何通信,都通過當前開通的通道進行。應答脈沖僅在其之前有一個All Lines Off命令時有效。
?
圖4. Smart-On Auxiliary命令
關閉輸出通道通常采用All Lines Off命令(圖5)。圖中頂部的波形是命令字節(jié)66h,之后是確認字節(jié)。命令字節(jié)通過輸出通道輸出(中間波形),但確認字節(jié)沒有從通道輸入。底部波形表示當關閉輸出時,可控通道電平的跳變。
?
圖5. All Lines Off命令
除Smart-On命令外,對于主輸出通道還有Direct-On命令(圖6)。示波器上的波形如同All Lines Off命令的鏡像。在命令碼A5h之后,主輸出通道打開(底部波形)。確認字節(jié)從輸出通道輸出(中間波形)。如果使用了這個命令,必須產(chǎn)生一個復位/應答周期,以保證打開通道上的從機與主機同步。
?
圖6. Direct-On Main命令
DS2409替代方案
為了替代DS2409,用戶應當使用1-Wire可尋址開關(用于數(shù)字控制和檢測)和模擬開關(開通或關閉輸出)。用1個雙通道可尋址開關(如DS2413、DS2406或DS28E04)和一路或兩路模擬開關,可以部分替代DS2409。完全替代器件則需要一個5通道1-Wire可尋址開關(如DS2408,8通道)和兩路模擬開關。需要注意的是,可尋址開關上電后所有PIO都處于斷開(不導通)狀態(tài)。
模擬開關必須為單刀雙擲(SPDT),應選擇供電電壓為5V ±10%的開關器件,導通電阻(RON)小于等于30Ω,三個開關節(jié)點的電容應不大于50pF,開關時間小于100ns。如果內置高ESD保護則更加理想。基于上述考慮,可以選擇下列模擬開關:
單通道:MAX4729 (5.7Ω,最大值)、MAX4730 (5.7Ω,最大值)、MAX4644 (4.75Ω,最大值)
雙通道:MAX4717 (3.5Ω,最大值)、MAX4719 (25Ω,最大值)、MAX4635 (4.5Ω,最大值)、MAX4636 (4.5Ω,最大值)、MAX4750(30Ω,最大值)
三通道:MAX4693 (25Ω,典型值;40Ω,最大值、低速切換)
上述所有模擬開關都不具備高ESD保護特性。在試驗臺上使用單通道開關MAX4561,常開或常閉引腳具有±15kV ESD保護。但由于MAX4561的RON典型值為45Ω,不適合用來替代DS2409。
示例電路
圖7所示電路是部分替代電路,實現(xiàn)DS2409的1-Wire輸出切換和輸出控制。U1為2通道1-Wire可尋址開關(帶開漏PIO);U2是一個單刀雙擲模擬開關,3個開關觸點對應NO、NC和COM引腳。開關受IN引腳的數(shù)字輸入電平控制。
上電默認狀態(tài)下,所有1-Wire可尋址開關的PIO都處于高阻狀態(tài)。通過電阻R2在開關的IN引腳作用一個高電平,使NO引腳連接到COM端。NO引腳通過1.5kΩ上拉電阻R1連接至COM引腳的無效1-Wire輸出端。這些配置等效于DS2409的上電狀態(tài)。
為了打開U2上的1-Wire輸出,主機將PIO-A打開,如同在U2的IN引腳作用一個低電平。使模擬開關的COM端從NO切向NC,接通1-Wire總線。將PIO-A關閉,則關閉1-Wire輸出。主機也可以對PIO-B進行獨立于PIO-A的操作,如替代DS2409手動模式下的控制輸出或用來控制其它類似R1/R2/U2的電路。控制兩個模擬開關時,1-Wire主機必須保證只有一個1-Wire輸出通道打開。這些可以通過軟件實現(xiàn),也可以通過更安全的連接邏輯完成,即通過PIO-A ^ /PIO-B和/PIO-A ^ PIO-B組合邏輯控制模擬開關。PIO-B也可以用于事件檢測(條件搜索)和短路檢測(虛線)。但不可模擬輸出有效前發(fā)出一個復位脈沖的情況。
?
圖7. DS2409部分替代電路,U1可以選用DS2406、DS2413或DS28E04
DS2406可尋址開關
圖7所示電路已經(jīng)用DS2406可尋址開關進行測試。模擬開關(MAX4561)的IN引腳連接到DS2406的PIO-B。PIO-A用來控制輸出,開啟LED。通過Write Status命令(代碼55h)控制存儲器0007h (SRAM控制位)操作PIO,該SRAM控制位的第6位直接控制PIO-B通道的狀態(tài)。圖8顯示了輸出使能過程,圖中頂部波形圖是CRC16字節(jié)(1Fh,E2h),跟隨在0007h單元寫入的3Fh數(shù)據(jù)字節(jié)之后。底部波形是PIO-B的跳變波形,控制模擬開關。在CRC16字節(jié)之后的復位/應答周期結束之前,不會出現(xiàn)1-Wire總線輸出波形(中間波形)。圖8并未顯示復位/應答周期。
圖9顯示了關閉輸出的過程,頂部波形是跟隨在寫入0007h單元的7Fh數(shù)據(jù)字節(jié)之后的CRC16字節(jié)(1Eh,12h);底部波形是控制模擬開關的PIO-B的跳變波形;PIO-B狀態(tài)轉變后,1-Wire輸出(中間波形)終止,然后主機發(fā)出復位/應答脈沖。圖9并未顯示復位/應答周期。
除了向狀態(tài)寄存器寫入命令以改變PIO狀態(tài)外,PIO還可以由Channel Access命令(代碼F5h)控制,但本文沒有介紹該操作。另請注意,DS2406在斷電后不到1分鐘之內執(zhí)行了一次上電復位操作。而DS2409在斷電后或1-Wire輸入斷開(低電平)大約幾個毫秒后執(zhí)行上電復位操作。DS2406將鎖存其PIO狀態(tài),由此,該器件支持事件檢測(條件搜索)和短路檢測(虛線)。通過Channel Access命令清除閉鎖狀態(tài)(通道控制字節(jié)1)。
?
圖8. 利用DS2406進行部分替代,輸出有效
?
圖9. 利用DS2406進行部分替代,輸出禁止
DS2413可尋址開關
按照圖7所示電路對DS2413可尋址開關進行了測試。模擬開關的IN引腳與DS2413的PIO-A連接。PIO-B用于控制輸出,點亮LED。通過PIO Access Write命令(代碼5Ah)實現(xiàn)PIO的操作,圖10所示為輸出使能過程。頂部波形是PIO輸出數(shù)據(jù)字節(jié)(第一個是原碼FEh,隨后是反碼01h),然后是AAh確認字節(jié),以及新的PIO引腳狀態(tài)(3Ch)。PIO-A (底部波形)用于控制模擬開關,其狀態(tài)在PIO輸出數(shù)據(jù)字節(jié)的反碼之后發(fā)生改變。因此,確認字節(jié)和PIO引腳狀態(tài)在1-Wire輸出通道出現(xiàn)(中間波形)。為了確保總線的從機與主機同步,主機必須發(fā)出復位/應答脈沖。
?
圖10. 利用DS2413進行部分替代,輸出有效
?
圖11. 利用DS2413進行部分替代,輸出禁止
圖11所示為輸出禁止波形。頂部波形是PIO輸出數(shù)據(jù)字節(jié)(第一個是原碼FFh,隨后是反碼00h)。確認字節(jié)和新的PIO引腳狀態(tài)(3Ch)并未在圖中表示出來。PIO-A (底部波形)用于控制模擬開關,其狀態(tài)在PIO輸出數(shù)據(jù)字節(jié)的反碼之后發(fā)生改變。確認字節(jié)和PIO引腳狀態(tài)沒有通過1-Wire輸出(中間波形)。
請注意,DS2413與1-Wire總線斷開5分鐘后,執(zhí)行一次上電復位。而DS2406在1分鐘內即進行上電復位。DS2413并不鎖存引腳狀態(tài),因此它不支持條件搜索,但可以實現(xiàn)短路檢測(虛線)。
DS28E04可尋址開關
DS28E04是帶有2個PIO的1-Wire EEPROM。PIO上電時處于非導通狀態(tài),POL引腳需要接高電平(5V)。兩個PIO的控制方式與DS2413相同,因此圖10和圖11也適合這種情況。寄生供電模式下,通過一個低于15s的1-Wire總線低電平使DS28E04進入上電復位。DS28E04具有PIO狀態(tài)鎖存功能,因此,它支持事件檢測(條件搜索)和短路檢測(虛線)。通過Reset Activity Latches命令清除鎖存。
全面替代(DS2408可尋址開關)
圖7所示的電路用于替代:a) 一路1-Wire開關輸出和控制輸出,但不支持事件/短路檢測;b) 一個帶事件/短路檢測的1-Wire開關輸出。這限制了2路可尋址開關的選擇。為了全面替代器件,需要5個PIO通道(圖12)。
全面替代電路采用兩個模擬開關(U2、U3),開關受控于DS2408 8通道可尋址開關(U1)的PIO端口P1和P2。P2、P3口連接在1-Wire開關輸出通道,支持短路和事件檢測。P4用來替代控制輸出。P5至P7留作它用。必要時,可以利用P5控制另一個模擬開關。從而獲得第三路1-Wire輸出,通過P6支持短路/事件檢測。P7和P4用來指示三個1-Wire通道的哪個通道處于有效狀態(tài)。
按照與DS2413相同的方式控制DS2408的PIO,因此圖10、圖11仍然適合這里的應用。可編程DS2408的條件搜索,在其PIO引腳檢驗是否發(fā)生事件。通過Reset Activity Latches命令清除鎖存。
與其它可尋址開關不同,DS2408需要一個外部復位信號(U4)來保證PIO在上電后處于非導通狀態(tài)。寄生供電模式下,1-Wire總線上一個短于5s的低電平將使DS2408進入上電復位狀態(tài)。
ESD保護
DS2409在1-Wire輸入和兩路1-Wire輸出通道都內置了ESD保護,不再需要額外的ESD保護機制。1-Wire可尋址開關的1-Wire輸入通道同樣具有ESD保護,但其PIO引腳都未加ESD保護。多數(shù)模擬開關的ESD保護都很有限,建議增加ESD保護電路,特別是對于連接1-Wire輸入和輸出通道的引腳。在選擇ESD保護器件時,應選擇電容較小的器件,符合這類條件的ESD保護器件有:MAX3202E/MAX3203E/MAX3204E或MAX3207E/MAX3208E系列。
?
圖12. DS2409全面替代電路
總結
DS2409對于構建單主機大型1-Wire網(wǎng)絡非常有效。其它的應用包括:門禁控制和雙主機1-Wire網(wǎng)絡的智能接入點。但是,DS2409已進入停產(chǎn)階段,這會給一些用戶造成麻煩。本文重點介紹了支持同樣應用的一些DS2409替代方案。
評論
查看更多