概述
得益于DS2409 MicroLAN耦合器的獨特設(shè)計,,它可以被用于實現(xiàn)多種特殊應(yīng)用,。本文首先列出了DS2409的特性和應(yīng)用,,接著介紹了可以實現(xiàn)相同功能的替代電路,。最后本文對這些替代電路做了詳細討論,。
DS2409特性描述
DS2409是一個特殊類型的2端口可尋址開關(guān)器件。與向傳統(tǒng)的可編程輸入/輸出口(PIO)輸出高,、低電平不同,,這個器件通過傳輸門來將其輸出通道與作為其輸入的1-Wire總線連接。在任何時刻,,只有一個1-Wire輸出通道有效,。除了1-Wire輸出通道以外,DS2409還有一個可控輸出通道,,該輸出通道可以配合主輸出通道使用(默認方式),,也可配合輔助輸出通道使用,還可以獨立使用,。這些功能的切換是通過控制狀態(tài)控制字節(jié)來完成的(參見DS2409數(shù)據(jù)資料),。狀態(tài)信息字節(jié)(參見DS2409數(shù)據(jù)資料)允許主機確認設(shè)備配置狀況、檢查器件工作狀態(tài)(使用或非使用狀態(tài)),、確認每個1-Wire輸出的邏輯狀態(tài)(高或者低),、事件標志位(置位/清零)。表1總結(jié)了DS2409的這些特性以及這些特性帶來的便利,。
表1. DS2409特性及優(yōu)勢
DS2409需要5V VDD供電,,上電后,所有1-Wire輸出通道都處于非工作狀態(tài),,并通過內(nèi)部上拉電阻拉到5V VDD電平,。短暫的電源掉電將使器件進入上電復位狀態(tài)。在VDD穩(wěn)定后,,1-Wire輸入端口作用一個短暫低電平,,使DS2409進入軟件上電復位狀態(tài)。當DS2409重新和主機連接后,,器件進入默認的上電復位配置狀態(tài),,1-Wire總線輸出通道都處于非工作狀態(tài),事件標志位狀態(tài)不確定,。
表1列出的特性主要面向下列3種應(yīng)用:智能探測點,、多層網(wǎng)絡(luò),、雙主機網(wǎng)絡(luò)(參見表2),。
表2. 特性及其應(yīng)用
智能探測點
圖1所示框圖是將iButton®作為電子鑰匙的門禁系統(tǒng),。R1/C1應(yīng)盡量靠近1-Wire適配器安裝。R1的作用在于當1-Wire總線中斷時,,DS2409可以實現(xiàn)一個軟復位,。C1在VDD過沖時可以避免DS2409阻塞1-Wire總線。

圖1. 帶智能探測點的門禁控制系統(tǒng)拓撲
除了主1-Wire總線外,,探測點(如DS9092 iButton探頭)位于DS2409主輸出端分支二級網(wǎng)絡(luò)上,。與輔助輸出口相連接的是一個ID芯片,比如一個1-Wire EEPROM器件,,這個器件中存儲了分支名稱,。正常工作情況下,所有分支都處于禁止狀態(tài)(即與主1-Wire總線斷開),,與此同時主機在進行條件搜索,,檢測事件是否發(fā)生。當一個iButton連接到探測點時,,將該分支上的DS2409事件標志位置位,。在下一個掃描周期中,主機將定位于該DS2409并使能輔助輸出通道,,以讀取分支名稱,。接下來,主機將訪問相同的DS2409并且使能主輸出通道,,以訪問接入系統(tǒng)的iButton,。當主輸出通道進入工作狀態(tài)后,點亮LED,,指示用戶已檢測到器件連接,。如果不需要點亮LED,控制輸出可以連接到一個門鎖,,軟件控制打開/關(guān)閉,。由于Smart-On命令具有短路檢測功能,DS2409可以防止探測點短路所引起的網(wǎng)絡(luò)故障,。
多層網(wǎng)絡(luò)
對于任何網(wǎng)絡(luò),,找到主機驅(qū)動負載和節(jié)點(或分支、從機)數(shù)量間的最佳平衡非常重要,。達到這個目的一種方式是網(wǎng)路分層(參見圖2),。圖中展示了一個4層網(wǎng)絡(luò),從始終保持有效狀態(tài)的主干開始(第0層),,每個子層都包含開關(guān)分支(第1層到第3層),。R1/C1應(yīng)靠近1-Wire主機,。如果通過1個或多個DS2409在1-Wire主干層和子層構(gòu)建多層網(wǎng)絡(luò),R1將保證主機再度連接時自動關(guān)斷通路,。C1在VDD過沖時避免DS2409阻塞1-Wire總線,。
為了有效控制這種網(wǎng)絡(luò),主機應(yīng)當了解每層各個分支DS2409從機的ROM ID,,以識別網(wǎng)絡(luò)拓撲,。為了打開第3層從機的通路(如箭頭所示),主機應(yīng)執(zhí)行下列命令:
對主干U1執(zhí)行Match ROM命令,。
使能主輸出通道(該操作將打開第1層兩個從器件的通路),。
對第1層U3執(zhí)行Match ROM命令。
使能主輸出通道(該操作將打開第2層的兩個從器件通路),。
對第2層U4執(zhí)行Match ROM命令,。
打開輔助輸出通道(該操作將打開第3層連接至該輸出的從器件通路)。

圖2. 多層網(wǎng)絡(luò)拓撲
由于采用VCC供電,,DS2409的最大1-Wire總線負載是100pF (50pF來自1-Wire總線輸入,,50pF來自輸出),而典型的寄生供電1-Wire器件總線負載為800pF至1000pF,。在示例拓撲中,,主機所要驅(qū)動的總負載是:主干網(wǎng)上的DS2409 (50pF)、第1層的兩個DS2409 (150pF,,2個輸入,、1個輸出)、第2層的兩個DS2409 (150pF),,連接在U4輔助輸出通道的所有從器件(50pF加上從機負載),。因此總負載是400pF加上從機負載。
根據(jù)應(yīng)用需求,,在每個分支可以掛接多于2個DS2409,,表3列出了最大分支數(shù)目以及相應(yīng)的來自于耦合器的負載。層與層之間,,分支數(shù)目呈指數(shù)方式增長,,然而來自DS2409的負載則呈線性增長。
表3. 多層分支數(shù)與DS2409負載
除了隨網(wǎng)絡(luò)層數(shù)增加而線性增加的通信負荷外,,用戶同時應(yīng)注意DS2409所引入的阻抗,。對于主輸出來說,典型值是10Ω (最大值20Ω);對于輔助通道來說,,典型值是15Ω (最大值30Ω),。非零阻抗降低了最終網(wǎng)絡(luò)層(主機至從機)的高電平,并拉高了主干網(wǎng)(從機至主機)的低電平。降低高電平通常不是什么問題,,但是由于低電平閥值被拉高,,通常建議用戶將網(wǎng)絡(luò)分層控制在4層或4層以內(nèi)。
雙主機網(wǎng)絡(luò)
在應(yīng)用中存在需要雙主機控制1-Wire總線的情況,,例如,,需要一個備份主機或者兩臺主機相互通信的情況。圖3是實現(xiàn)雙主機的示意圖,,在這個例子中,,DS1996存儲器iButton用作數(shù)據(jù)交換時的暫存器,可選擇ID芯片,,如果已安裝,則可存儲與系統(tǒng)相關(guān)的信息,,告知主機它們正在訪問一個共享網(wǎng)絡(luò),,該網(wǎng)絡(luò)同時帶有數(shù)據(jù)緩沖功能和握手邏輯。除了存儲器iButton外,,同樣可以存在一個1-Wire從機構(gòu)成的網(wǎng)絡(luò),。建議在雙主機網(wǎng)絡(luò)中同樣使用圖1所示的R1/C1組合,將R1/C1應(yīng)用于2個主機側(cè),。

圖3. 雙主機,,如果不能保證相同電壓,,則由同一電源為兩個DS2409供電
作為起點,DS2409的主輸出和輔助輸出通道都處于禁止狀態(tài),。公共網(wǎng)絡(luò)都從DS2409上拉到5V,,等效上拉電阻降低到750Ω。兩臺主機都定期讀取DS2409信息,,以確定另一個主機是否已經(jīng)接管了1-Wire總線網(wǎng)絡(luò),。
假定主機A訪問DS1996,向主機B傳送數(shù)據(jù),。為了訪問存儲器iButton (DS1996),,主機A首先打開U1的可控輸出,這將把U2的輔助輸出拉低,。同時,,主機B已經(jīng)讀到了U2的狀態(tài)信息,因此它知道主機A已經(jīng)接管總線,。接下來主機A打開耦合器U1的主輸出,,并且向存儲器iButton寫入數(shù)據(jù),這些操作結(jié)束后,主機A關(guān)閉U1的主輸出并且關(guān)閉控制輸出,。
主機B仍然在讀取U2的狀態(tài)信息,,并檢測到主機A已經(jīng)完成了寫操作。此時主機B打開U2的控制輸出,,這將把U1的輔助輸出拉低,。主機A讀到U1的狀態(tài)信息并且知道主機B已經(jīng)接管總線。這時主機B打開主輸出通道,,并從存儲器iButton中讀回數(shù)據(jù),。完成信息處理后,主機B向iButton寫入一個回應(yīng)信息,。在這個操作結(jié)束后,,主機B關(guān)閉U2的主輸出并關(guān)閉控制輸出。由于主機A仍在讀取U1的狀態(tài)信息,,能夠了解到主機B對總線的訪問已經(jīng)結(jié)束,。
功能命令及其典型用法
DS2409總共有11條命令,這些命令實現(xiàn)網(wǎng)絡(luò)控制功能,。表4列出了這些命令并闡述了它們的典型用法,。這些命令按照它們在網(wǎng)絡(luò)應(yīng)用中的重要性排序。詳細信息請參閱DS2409數(shù)據(jù)資料,。
表4. DS2409功能命令及其典型用法
我們重點介紹Smart-On命令(圖4),。圖中頂部的波形是1-Wire總線通信波形,本例中所示的是Smart-On Auxiliary命令,。第一字節(jié)是33h命令代碼,,之后是復位信號FFh和復位響應(yīng)(00h,表示檢測到應(yīng)答脈沖),,后面跟隨一個確認字節(jié)(33h,,表示沒有短路)。中間波形表示輔助輸出通道的狀態(tài),,即復位/應(yīng)答檢測(PD)周期,。底部波形表示可控輸出在開啟輔助輸出之前關(guān)閉主輸出通道時的波形變換。在確認字節(jié)后的任何通信,,都通過當前開通的通道進行,。應(yīng)答脈沖僅在其之前有一個All Lines Off命令時有效。

圖4. Smart-On Auxiliary命令
關(guān)閉輸出通道通常采用All Lines Off命令(圖5),。圖中頂部的波形是命令字節(jié)66h,,之后是確認字節(jié)。命令字節(jié)通過輸出通道輸出(中間波形),,但確認字節(jié)沒有從通道輸入,。底部波形表示當關(guān)閉輸出時,可控通道電平的跳變。

圖5. All Lines Off命令
除Smart-On命令外,,對于主輸出通道還有Direct-On命令(圖6),。示波器上的波形如同All Lines Off命令的鏡像。在命令碼A5h之后,,主輸出通道打開(底部波形),。確認字節(jié)從輸出通道輸出(中間波形)。如果使用了這個命令,,必須產(chǎn)生一個復位/應(yīng)答周期,,以保證打開通道上的從機與主機同步。

圖6. Direct-On Main命令DS2409替代方案
為了替代DS2409,,用戶應(yīng)當使用1-Wire可尋址開關(guān)(用于數(shù)字控制和檢測)和模擬開關(guān)(開通或關(guān)閉輸出),。用1個雙通道可尋址開關(guān)(如DS2413、DS2406或DS28E04)和一路或兩路模擬開關(guān),,可以部分替代DS2409,。完全替代器件則需要一個5通道1-Wire可尋址開關(guān)(如DS2408,8通道)和兩路模擬開關(guān),。需要注意的是,可尋址開關(guān)上電后所有PIO都處于斷開(不導通)狀態(tài),。
模擬開關(guān)必須為單刀雙擲(SPDT),,應(yīng)選擇供電電壓為5V ±10%的開關(guān)器件,導通電阻(RON)小于等于30Ω,,三個開關(guān)節(jié)點的電容應(yīng)不大于50pF,,開關(guān)時間小于100ns。如果內(nèi)置高ESD保護則更加理想,?;谏鲜隹紤],可以選擇下列模擬開關(guān):
單通道: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Ω,最大值,、低速切換)
上述所有模擬開關(guān)都不具備高ESD保護特性,。在試驗臺上使用單通道開關(guān)MAX4561,常開或常閉引腳具有±15kV ESD保護,。但由于MAX4561的RON典型值為45Ω,,不適合用來替代DS2409。
示例電路
圖7所示電路是部分替代電路,,實現(xiàn)DS2409的1-Wire輸出切換和輸出控制,。U1為2通道1-Wire可尋址開關(guān)(帶開漏PIO);U2是一個單刀雙擲模擬開關(guān),3個開關(guān)觸點對應(yīng)NO,、NC和COM引腳,。開關(guān)受IN引腳的數(shù)字輸入電平控制。
上電默認狀態(tài)下,,所有1-Wire可尋址開關(guān)的PIO都處于高阻狀態(tài),。通過電阻R2在開關(guān)的IN引腳作用一個高電平,使NO引腳連接到COM端,。NO引腳通過1.5kΩ上拉電阻R1連接至COM引腳的無效1-Wire輸出端,。這些配置等效于DS2409的上電狀態(tài)。
為了打開U2上的1-Wire輸出,,主機將PIO-A打開,,如同在U2的IN引腳作用一個低電平。使模擬開關(guān)的COM端從NO切向NC,,接通1-Wire總線,。將PIO-A關(guān)閉,則關(guān)閉1-Wire輸出,。主機也可以對PIO-B進行獨立于PIO-A的操作,,如替代DS2409手動模式下的控制輸出或用來控制其它類似R1/R2/U2的電路??刂苾蓚€模擬開關(guān)時,,1-Wire主機必須保證只有一個1-Wire輸出通道打開。這些可以通過軟件實現(xiàn),,也可以通過更安全的連接邏輯完成,,即通過PIO-A ^ /PIO-B和/PIO-A ^ PIO-B組合邏輯控制模擬開關(guān)。PIO-B也可以用于事件檢測(條件搜索)和短路檢測(虛線),。但不可模擬輸出有效前發(fā)出一個復位脈沖的情況,。

圖7. DS2409部分替代電路,,U1可以選用DS2406,、DS2413或DS28E04
DS2406可尋址開關(guān)
圖7所示電路已經(jīng)用DS2406可尋址開關(guān)進行測試。模擬開關(guān)(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的跳變波形,,控制模擬開關(guān),。在CRC16字節(jié)之后的復位/應(yīng)答周期結(jié)束之前,不會出現(xiàn)1-Wire總線輸出波形(中間波形),。圖8并未顯示復位/應(yīng)答周期,。
圖9顯示了關(guān)閉輸出的過程,頂部波形是跟隨在寫入0007h單元的7Fh數(shù)據(jù)字節(jié)之后的CRC16字節(jié)(1Eh,,12h);底部波形是控制模擬開關(guān)的PIO-B的跳變波形;PIO-B狀態(tài)轉(zhuǎn)變后,,1-Wire輸出(中間波形)終止,然后主機發(fā)出復位/應(yīng)答脈沖,。圖9并未顯示復位/應(yīng)答周期。
除了向狀態(tài)寄存器寫入命令以改變PIO狀態(tài)外,,PIO還可以由Channel Access命令(代碼F5h)控制,,但本文沒有介紹該操作。另請注意,,DS2406在斷電后不到1分鐘之內(nèi)執(zhí)行了一次上電復位操作,。而DS2409在斷電后或1-Wire輸入斷開(低電平)大約幾個毫秒后執(zhí)行上電復位操作。DS2406將鎖存其PIO狀態(tài),,由此,,該器件支持事件檢測(條件搜索)和短路檢測(虛線)。通過Channel Access命令清除閉鎖狀態(tài)(通道控制字節(jié)1),。

圖8. 利用DS2406進行部分替代,輸出有效

圖9. 利用DS2406進行部分替代,,輸出禁止
DS2413可尋址開關(guān)
按照圖7所示電路對DS2413可尋址開關(guān)進行了測試,。模擬開關(guān)的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 (底部波形)用于控制模擬開關(guān),其狀態(tài)在PIO輸出數(shù)據(jù)字節(jié)的反碼之后發(fā)生改變,。因此,,確認字節(jié)和PIO引腳狀態(tài)在1-Wire輸出通道出現(xiàn)(中間波形)。為了確??偩€的從機與主機同步,,主機必須發(fā)出復位/應(yīng)答脈沖。

圖10. 利用DS2413進行部分替代,,輸出有效

圖11. 利用DS2413進行部分替代,,輸出禁止
圖11所示為輸出禁止波形,。頂部波形是PIO輸出數(shù)據(jù)字節(jié)(第一個是原碼FFh,隨后是反碼00h),。確認字節(jié)和新的PIO引腳狀態(tài)(3Ch)并未在圖中表示出來,。PIO-A (底部波形)用于控制模擬開關(guān),其狀態(tài)在PIO輸出數(shù)據(jù)字節(jié)的反碼之后發(fā)生改變,。確認字節(jié)和PIO引腳狀態(tài)沒有通過1-Wire輸出(中間波形),。
請注意,DS2413與1-Wire總線斷開5分鐘后,,執(zhí)行一次上電復位,。而DS2406在1分鐘內(nèi)即進行上電復位。DS2413并不鎖存引腳狀態(tài),,因此它不支持條件搜索,,但可以實現(xiàn)短路檢測(虛線)。DS28E04可尋址開關(guān)
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可尋址開關(guān))
圖7所示的電路用于替代:a) 一路1-Wire開關(guān)輸出和控制輸出,,但不支持事件/短路檢測;b) 一個帶事件/短路檢測的1-Wire開關(guān)輸出。這限制了2路可尋址開關(guān)的選擇,。為了全面替代器件,,需要5個PIO通道(圖12)。
全面替代電路采用兩個模擬開關(guān)(U2,、U3),,開關(guān)受控于DS2408 8通道可尋址開關(guān)(U1)的PIO端口P1和P2。P2,、P3口連接在1-Wire開關(guān)輸出通道,,支持短路和事件檢測。P4用來替代控制輸出,。P5至P7留作它用,。必要時,可以利用P5控制另一個模擬開關(guān),。從而獲得第三路1-Wire輸出,,通過P6支持短路/事件檢測。P7和P4用來指示三個1-Wire通道的哪個通道處于有效狀態(tài),。
按照與DS2413相同的方式控制DS2408的PIO,,因此圖10、圖11仍然適合這里的應(yīng)用,??删幊藾S2408的條件搜索,在其PIO引腳檢驗是否發(fā)生事件,。通過Reset Activity Latches命令清除鎖存。
與其它可尋址開關(guān)不同,,DS2408需要一個外部復位信號(U4)來保證PIO在上電后處于非導通狀態(tài),。寄生供電模式下,1-Wire總線上一個短于5s的低電平將使DS2408進入上電復位狀態(tài),。
ESD保護
DS2409在1-Wire輸入和兩路1-Wire輸出通道都內(nèi)置了ESD保護,,不再需要額外的ESD保護機制。1-Wire可尋址開關(guān)的1-Wire輸入通道同樣具有ESD保護,,但其PIO引腳都未加ESD保護,。多數(shù)模擬開關(guān)的ESD保護都很有限,,建議增加ESD保護電路,特別是對于連接1-Wire輸入和輸出通道的引腳,。在選擇ESD保護器件時,,應(yīng)選擇電容較小的器件,符合這類條件的ESD保護器件有:MAX3202E/MAX3203E/MAX3204E或MAX3207E/MAX3208E系列,。

圖12. DS2409全面替代電路
總結(jié)
DS2409對于構(gòu)建單主機大型1-Wire網(wǎng)絡(luò)非常有效,。其它的應(yīng)用包括:門禁控制和雙主機1-Wire網(wǎng)絡(luò)的智能接入點。但是,,DS2409已進入停產(chǎn)階段,,這會給一些用戶造成麻煩。本文重點介紹了支持同樣應(yīng)用的一些DS2409替代方案,。