DS2409設計用于訪問控制探測點(即讀卡器),并降低大型1-Wire?網絡中的總線負載。該器件還用于實現雙主站網絡。目前,Maxim正在逐步淘汰DS2409,并鼓勵所有客戶規劃替代方案。本應用筆記給出了支持和工作目前使用DS2409的1-Wire網絡的替代方法。此處介紹的設計仿真不需要完全重新設計網絡。
介紹
DS2409 MicroLAN耦合器具有獨特的功能集,可用于多種專業應用。本應用筆記首先列出了DS2409的特性和應用,然后列出了可用于實現類似功能的替代電路。隨后,將更詳細地討論替代電路。
DS2409 說明
DS2409是一種特殊類型的2端口可尋址開關。該器件無需將可編程輸入/輸出(PIO)切換至高電平或低電平,而是使用傳輸柵極將其輸出端口連接到輸入的1-Wire線路。在任何給定時間,激活的1-Wire輸出不得超過一個。除1-Wire輸出外,DS2409還具有控制輸出,可與主輸出(默認)、輔助輸出連接或獨立工作。此配置通過狀態控制字節進行控制(參見數據手冊)。狀態信息字節(參見數據手冊)允許主機驗證器件配置,并檢查每個1-Wire輸出的狀態(活動或非活動)、邏輯狀態(高電平或低電平)和事件標志(設置/清除)。表 1 總結了這些功能和其他功能,并解釋了它們的優點。
表 1.DS2409的特性和優勢 | ||
功能名稱 | 描述 | 好處 |
任何時候激活的輸出不超過一個 | 輸入的1-Wire線路只能連接一個輸出。 | 保持低總線負載。 |
控制輸出 | DS2409具有漏極開路控制輸出。上電時,控制輸出配置為在主輸出激活時點亮 LED。在軟件控制下,控制輸出可以與輔助輸出相關聯或直接打開/關閉。 | 自動指示活動通道。還可用于實現握手功能,如下面的雙主站網絡示例所示。 |
事件檢測 | 兩個輸出都具有事件檢測功能。如果輸出處于非活動狀態,則輸出上的下降沿(例如,由到達的1-Wire從機的存在脈沖引起)設置事件標志。 | 鎖定事件可降低總線流量。 |
條件搜索 | 如果設置了主輸出的事件標志,則部件將參與條件搜索。 | 減少訪問控制應用程序中的總線流量。 |
輸出激活前復位脈沖 | 兩個輸出在激活前均置位復位脈沖(參見 Smart-On 命令,表 4)。 | 減少通過多層網絡打開路徑時的通信開銷。 |
短路檢測 | 兩個輸出都具有短路檢測功能(請參閱智能開啟命令)。 | 防止公交車因短路或破壞而坍塌。 |
DS2409需要5V VDD為操作提供。上電時,兩個1-Wire輸出均處于非活動狀態,并被拉至VDD通過內部電阻器。電源斷開短路會導致器件執行上電復位。與 VDD電源可用時,輸入1-Wire線路的短時中斷導致DS2409執行軟上電復位。當主機重新連接時,配置復位至上電默認狀態,1-Wire輸出處于非活動狀態;事件標志的狀態未定義。
表1中的功能針對三個主要應用:智能探測點、多層網絡和雙主站網絡(見Table 2)。
表 2.功能與應用程序矩陣 | |||
功能名稱 | 應用 | ||
智能探測點 | 多層網絡 | 雙主站網絡 | |
不超過一個輸出處于活動狀態 | — | — | |
控制輸出 | — |
(手動模式) |
|
事件檢測 | — | ||
條件搜索 | — | — | |
輸出激活前復位脈沖 | — | — | |
短路檢測 | — |
智能探測點
圖 1 顯示了使用 iButton? 設備作為電子鑰匙的門禁系統的拓撲結構。R1/C1組合應包含在1-Wire適配器附近。需要R1來確保DS2409在1-Wire總線中斷時執行軟上電復位。C1可防止DS2409在V電壓下阻礙1-Wire總線DD儲運損耗。
圖1.具有智能探測點的訪問控制拓撲。
探頭點(例如DS9092 iButton探頭)位于DS2409主輸出分支的二級網絡上,而不是主1-Wire總線。連接到輔助輸出的是ID芯片,例如,使用分支名稱編程的1-Wire EEPROM。在正常操作期間,所有分支都處于非活動狀態(與主總線斷開連接),而主機執行條件搜索以檢測事件。到達其中一個探測點的i按鈕設置控制分支的DS2409的事件標志。在下一個掃描周期中,主機定位DS2409并激活輔助輸出以讀取分支名稱。接下來,主機訪問相同的DS2409并激活主輸出,與剛剛到達的i按鈕通信。當主輸出處于活動狀態時,LED 亮起,向用戶確認檢測到到達。控制輸出可以接線以在軟件控制下解鎖門,而不是點亮 LED。由于Smart-On命令的短路檢測,DS2409可防止探頭短路時網絡故障。
多層網絡
對于任何網絡,重要的是在主站必須驅動的負載與服務的節點(或短臂或從站)數量之間找到最佳平衡。實現此目的的一種方法是多層拓撲(圖 2)。該圖顯示了四個層,從始終處于活動狀態的主干(第 0 層)開始。每個后續層都由切換的分支(第 1 層到第 3 層)組成。R1/C1組合應包含在1-Wire主機附近。如果建立了一條穿過DS2409器件的路徑,并且1-Wire主干線和主機之間的連接中斷,R1確保在主機重新連接時自動關閉路徑。C1可防止DS2409在V電壓下阻礙1-Wire總線DD儲運損耗。
為了有效地控制這樣的網絡,主機應該以每層每個分支上所有DS2409從站的ROM ID號的形式知道網絡的拓撲結構。要打開第 3 層上從站的路徑,如綠松石箭頭所示,主站必須發出以下命令序列:
將 ROM 與中繼上的 U1 匹配。
激活主輸出(這將打開第 1 層上兩個從站的路徑)。
在第 1 層上匹配 U3 的 ROM。
激活主輸出(這將打開第 2 層上兩個從站的路徑)。
在第 2 層上匹配 U4 的 ROM。
激活輔助輸出(這將打開連接到此輸出的第 3 層從站的路徑)。
圖2.多層網絡拓撲。
作為 V抄送DS2409在1-Wire總線上加載最大100pF(1-Wire輸入為50pF,激活輸出為50pF)。相比之下,典型的寄生供電1-Wire從機增加了800pF至1000pF的負載。在本示例拓撲中,主站必須驅動的總負載為:中繼端(50pF)上有一個DS2409,第1層有兩個DS2409(150pF,兩個輸入,一個輸出),第2層(150pF)上有兩個DS2409,所有從機都連接到U4的輔助端口(50pF +從機)。這總共是 400pF 加上從站。
根據應用要求,每個分支上可能有兩個以上的DS2409。表 3 顯示了創建的最大分支數和耦合器的相應負載。每層,分支的數量呈指數級增長,而DS2409的負載僅呈線性增長。
表 3.創建的多層分支與DS2409負載 | ||||
網絡深度 | 配置 | |||
每個分支兩個 DS2409 | 每個分支三個 DS2409 | 每個分支 4 個 DS2409 | ||
第 0 層 | 創建的分支 | 4 | 6 | 8 |
DS2409總負載 | 兩部分 | 三部分 | 四個部分 | |
第 1 層 | 創建的分支 | 16 | 36 | 64 |
DS2409總負載 | 四個部分 | 六個部分 | 八個部分 | |
第 2 層 | 創建的分支 | 64 | 216 | 512 |
DS2409總負載 | 六個部分 | 九個部分 | 12 部分 | |
第 3 層 | 創建的分支 | 256 | 1296 | 4096 |
DS2409總負載 | 八個部分 | 12 部分 | 16 部分 | |
第 n 層 | 創建的分支 | 4 × 4n | 6 × 6n | 8 × 8n |
DS2409總負載 | 2 × n + 2 | 3 × n + 3 | 4 × n + 4 |
除了打開通往目標層的路徑的通信開銷(隨層數線性增加)之外,還需要考慮DS2409增加到路徑中的阻抗。對于主輸出,這通常為10Ω(20Ω,最大值),而輔助輸出通常為15Ω(30Ω,最大值)。非零阻抗的總體效應降低了目標層(主站到從機)上的高電平電壓,并提高了干線(從站到主站)上的低電平電壓。降低的高水平通常不是問題。但是,由于升高的低級別,不應超出第 4 層。
雙主站網絡
在某些情況下,兩個主站需要控制1-Wire網絡,例如作為備份或相互交換數據。圖3顯示了實現此目的的電路。在本例中,DS1996存儲器i按鈕用作要交換的數據包的臨時存儲器。ID 芯片是可選的。如果安裝,它們可以存儲特定于系統的數據,告訴主機它們正在訪問具有存儲緩沖區和握手邏輯的共享網絡。除了存儲器i按鈕之外,還可以有一個1-Wire從站網絡。圖1所示的R1/C1組合也推薦用于雙主站應用;它應該包括在雙方。
圖3.雙主站概念。如果不能保證相同的電壓,則從同一電源為兩個DS2409器件供電。
作為啟動條件,DS2409的主輸出和輔助輸出均處于非活動狀態。共享網絡從兩個DS2409上拉至5V,從而將有效上拉電阻降至750Ω。兩臺主機都會定期讀取DS2409的狀態信息,以了解另一臺主機是否控制了1-Wire網絡。
現在假設主機A想要訪問DS1996以向主機B發送消息。為了訪問存儲器i按鈕(DS1996),主機A首先激活U1的控制輸出,將U2的輔助輸出拉低。同時,主機 B 一直在讀取 U2 狀態信息,因此知道主機 A 已接管。接下來,主機A激活耦合器U1的主輸出,并將數據寫入內存iButton。完成寫入后,主機 A 停用 U1 的主輸出并停用控制輸出。
主機 B 仍在讀取 U2 狀態信息,意識到主機 A 已完成寫入。現在,主機B激活U2的控制輸出,將U1的輔助輸出拉低。主機 A 讀取 U1 狀態信息,因此知道主機 B 已接管。主機 B 現在激活 U2 的主輸出并從內存 i按鈕讀取消息。處理完消息后,主機 B 會向 i按鈕寫入響應。完成后,主機 B 停用 U2 的主輸出并停用控制輸出。主機 A 仍在讀取 U1 狀態信息,知道主機 B 的訪問已結束。
函數命令及其典型用法
DS2409總共可理解11個命令,實現網絡功能或控制功能。表 4 列出了這些命令,并指出了它們的用途和典型用法。這些命令按其在網絡應用程序中的重要性排序。詳情請參考DS2409數據資料。
表 4.DS2409功能命令及其典型用途 | |||
命令名稱 | 功能 | 目的 | 典型用途 |
匹配光盤 | 網絡 | 選擇單個1-Wire從機 | 主尋址模式 |
智能主 | 控制 | 通過存在脈沖和短路測試激活主輸出 | 謹慎的輸出激活,例如,意圖后續的匹配ROM打開通往下一層的路徑 |
智能輔助 | 控制 | 通過存在脈沖和短路測試激活輔助輸出 | 謹慎的輸出激活,例如,意圖后續的匹配ROM打開通往下一層的路徑 |
跳過只讀存儲器 | 網絡 | 尋址網絡活動分支上的所有1-Wire從站 | 廣播命令,例如,所有線路關閉 |
所有線路關閉 | 控制 | 清除事件標志;輸出停用;終止排放管路命令 | 跳過ROM命令后:斷開當前路徑的連接;常規網絡重置,無需更改任何配置 |
狀態讀/寫 | 控制 |
讀取:驗證輸出狀態和配置; 寫入:設備配置 |
讀取:輸出電平檢測(例如,雙主站概念中的握手);事件標志測試(智能探測點);驗證配置以及哪個輸出處于活動狀態 寫入:更改控制輸出的模式和關聯;直接操作控制輸出。 |
條件搜索 ROM | 網絡 | 識別網絡活動分支上需要注意的1-Wire從站 | 檢測 i按鈕到達智能探測點 |
搜索光盤 | 網絡 | 識別網絡活動分支上的所有1-Wire從站 | 確定網絡的拓撲結構;創建網絡中所有從站的清單。 |
卸料管線 | 控制 | 關斷兩個輸出 | 連接到兩個輸出的寄生供電從機的上電復位;網絡故障排除 |
直接主 | 控制 | 激活主輸出 | 快速輸出激活 |
讀取只讀存儲器 | 網絡 | 讀取 ROM ID | (在多從屬網絡中沒有用) |
特別有趣的是智能開啟命令(圖 4)。頂部跡線顯示了輸入1-Wire總線的通信,在本例中為智能輔助命令。第一個字節是命令代碼 33h,后跟復位激勵 FFh、復位響應(00h,= 檢測到存在脈沖)和確認字節(33h,= 無短)。中心跡線顯示輔助輸出上的活動,即復位/存在檢測(PD)周期。底部跡線顯示了控制輸出端的轉換,因為在輔助輸出激活之前主輸出被停用。確認字節后的任何通信都將傳遞到激活的輸出。僅當存在脈沖報告前面有“所有線路關閉”命令時,才是正確的。
圖4.智能輔助命令。
停用輸出的正常方法是通過“所有線路關閉”命令(圖5)。頂部跟蹤顯示命令字節 66h,后跟確認字節。當命令字節傳遞到輸出(中心跟蹤)時,確認字節不是。底部跡線顯示控制輸出,因為它隨著輸出的停用而變化。
圖5.“所有線路關閉”命令。
除了智能開啟之外,還有一個用于主輸出的直接開啟命令(圖 6)。示波器跡線看起來就像“所有行關閉”命令的鏡像。在命令代碼 A5h 之后,主輸出立即被激活(底部跟蹤)。確認字節傳遞到輸出(中心跡線)。如果使用此命令,則必須遵循復位/PD周期,以確保激活輸出上的從站與主站同步。
圖6.直接主命令。
DS2409仿真
為了仿真DS2409,需要1-Wire可尋址開關(用于數字控制和檢測)和模擬開關(用于激活或停用輸出)。使用2通道可尋址開關(例如DS2413、DS2406或DS28E04)加上一個或兩個模擬開關即可進行部分仿真。 要實現完整的仿真,需要一個5通道1-Wire可尋址開關(例如DS2408,8通道)和兩個模擬開關。重要的是,可尋址開關在所有PIO處于關斷(不導通)狀態時上電。
模擬開關必須是單刀/雙擲 (SPDT) 類型。選擇開關時,尋找5V±10%的電源電壓,導通電阻(R上)或更低,開關的所有三個節點均具有低電容(不超過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單通道開關進行,該開關在常開和NC引腳上具有±15kV的內置ESD保護。特別是由于其高R。上MAX4561的值典型值為45Ω,DS2409仿真時不應考慮MAX4561。
電路示例
圖7所示電路為部分仿真電路,實現DS2409的一個開關1-Wire輸出和控制輸出。U1是2通道1-Wire可尋址開關,具有漏極開路PIO端口。U2 是單刀雙擲模擬開關。三個開關端子占用引腳 NO、NC 和 COM。開關由IN引腳上的數字電平控制。
在上電默認狀態下,1-Wire可尋址開關的兩個PIO均處于高阻抗狀態。電阻R2對開關的IN引腳施加邏輯高電平,導致NO引腳連接到COM。 NO引腳上的電阻R1為COM引腳上的非活動1-Wire輸出提供1.5kΩ上拉。這相當于DS2409的上電狀態。
為了激活U2的1-Wire輸出,主機將PIO-A導通,從而對U2的IN引腳施加邏輯低電平。這會導致模擬開關斷開COM與常開的連接,并將其連接到NC,即輸入的1-Wire總線。關閉PIO-A會停用1-Wire輸出。主機可以獨立于PIO-A操作PIO-B,例如,在手動模式下模擬DS2409的控制輸出,或控制另一個類似R1/R2/U2的電路。控制兩個模擬開關時,1-Wire主機必須確保激活的1-Wire輸出不超過一個。這可以通過軟件或(更安全)借助膠水邏輯完成,膠水邏輯解碼情況 PIO-A ^ /PIO-B 和/PIO-A ^ PIO-B 來控制模擬開關。PIO-B還可用于事件檢測(條件搜索)和短檢測(虛線)。不支持輸出激活前的復位脈沖。
圖7.部分DS2409仿真電路U1可以是DS2406、DS2413或DS28E04。
DS2406 可尋址開關
圖7所示電路已使用DS2406可尋址開關進行了測試。模擬開關(MAX4561)的IN引腳連接到DS2406的PIO-B。PIO-A用作打開LED的控制輸出。PIO使用寫入狀態命令(代碼55h)進行操作,尋址存儲器位置0007h(SRAM控制位)。SRAM控制位的第6位直接訪問PIO-B通道觸發器。圖 8 顯示了輸出激活序列。頂部跡線中可見的是 CRC16 字節(1Fh、E2h),它們跟在寫入地址 0007h 的 3Fh 數據字節之后。底部跡線顯示了控制模擬開關的PIO-B轉換。在CRC16之后的復位/PD周期之前,1-Wire輸出(中心跡線)上沒有任何活動。此復位/PD未包含在圖8中。
圖 9 顯示了輸出停用序列。頂部跡線中可見的是 CRC16 字節(1Eh、12h),它們跟在寫入地址 0007h 的 7Fh 數據字節之后。底部跡線顯示了控制模擬開關的PIO-B轉換。1-Wire輸出(中心跡線)上的活動隨著PIO-B的狀態變化而結束,之后主機發出復位/PD周期。此復位/PD未包含在圖9中。
PIO不是寫入狀態寄存器,還可以使用通道訪問命令(代碼F5h)進行控制。然而,這并沒有嘗試過。另外,注意DS2406在斷電不到1分鐘后執行上電復位。相反,DS2409在電源電壓中斷或1-Wire輸入斷開(低電平)僅幾毫秒時經歷上電復位周期。DS2406的PIO處有活動鎖存器。因此,它可以支持事件檢測(條件搜索)和短檢測(虛線)。活動鎖存器通過通道訪問命令(通道控制字節 1)清除。
圖8.使用DS2406進行部分仿真,輸出激活。
圖9.使用DS2406進行部分仿真,輸出停用。
DS2413 可尋址開關
圖7所示電路也使用DS2413可尋址開關進行了測試。模擬開關的IN引腳連接到DS2413的PIO-A。PIO-B用作打開LED的控制輸出。PIO使用PIO訪問寫入命令(代碼5Ah)進行操作。圖 10 顯示了輸出激活序列。在頂部跡線中可見的是PIO輸出數據字節(首先是真FEh,然后反轉01h),然后是AAh確認字節和新的PIO引腳狀態(3Ch)。控制模擬開關的PIO-A(底部走線)在反相的PIO輸出數據字節之后立即變化。因此,確認字節和PIO引腳狀態被傳遞到1-Wire輸出(中心跡線)。必須發出復位/PD周期,以確保激活輸出上的從機與主站同步。
圖10.使用DS2413進行部分仿真,輸出激活。
圖 11.使用DS2413進行部分仿真,輸出停用。
圖 11 顯示了輸出停用序列。在頂部跡線中可見的是PIO輸出數據字節(首先是真FFh,然后反轉00h)。確認字節和新的PIO引腳狀態(3Ch)不包括在圖片中。控制模擬開關的PIO-A(底部走線)在反相的PIO輸出數據字節之后發生變化。確認字節和PIO引腳狀態不會傳遞到1-Wire輸出(中心走線)。
注意,DS2413在斷開1-Wire總線后需要5分鐘以上才能執行上電復位。相比之下,DS2406在1分鐘內經歷上電復位周期。DS2413沒有活動鎖存器,不支持條件搜索。但是,短距離檢測是可能的(虛線)。
DS28E04 可尋址開關
DS28E04為1線EEPROM,具有兩個PIO。為了使PIO在非導通狀態下上電,POL引腳需要連接到高電平(5V)。兩個PIO的控制方式與DS2413相同。因此,圖 10 和圖 11 也適用于此處。在寄生電源模式下,DS28E04在執行上電復位之前,1-Wire總線需要不到15秒的中斷時間。DS28E04的PIO具有活動鎖存器。因此,它可以支持事件檢測(條件搜索)和短檢測(虛線)。活動閂鎖通過“重置活動閂鎖”命令清除。
全仿真(DS2408可尋址開關)
圖7所示電路如何仿真a)一個開關1-Wire輸出和控制輸出,但沒有事件/短路檢測;b) 一個帶事件/短路檢測的開關 1-Wire 輸出。限制來自 2 通道可尋址開關。要實現完整的仿真,需要五個 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輸出中的哪一個處于活動狀態。
DS2408的PIO控制方式與DS2413相同。因此,圖 10 和圖 11 也適用于此處。DS2408的條件搜索可以編程,以便在其任何PIO上發生事件時進行限定。活動閂鎖通過“重置活動閂鎖”命令清除。
與其他可尋址開關相比,DS2408需要一個外部復位信號(U4),以確保PIO在非活動狀態下上電。在寄生電源模式下,1-Wire總線中斷不到5s,DS2408執行上電復位。
靜電防護
DS2409在1-Wire輸入和兩個1-Wire輸出上具有內置ESD保護功能。因此,不需要額外的ESD保護。1-Wire可尋址開關的1-Wire輸入也是如此,但PIO引腳則不然。大多數模擬開關的引腳ESD保護非常有限。強烈建議使用額外的保護,特別是對于具有1-Wire輸入和傳出網絡連接器的節點。因此,在選擇ESD保護芯片時,請尋找那些向總線增加很少電容的芯片,例如MAX3202E/MAX3203E/MAX3204E或MAX3207E/MAX3208E系列產品。
圖 12.全DS2409仿真電路
總結
DS2409是一款非常高效的器件,可通過單個主機創建和操作大型1-Wire網絡。其他關鍵應用包括用于門禁控制的智能接入點和雙主站1-Wire網絡。DS2409正在逐步淘汰,這將給一直依賴該器件的公司帶來一些困難。本應用筆記表明,在不使用DS2409的情況下,還有其他方法可以支持相同的應用。
審核編輯:郭婷
-
電阻器
+關注
關注
21文章
3760瀏覽量
62046 -
讀卡器
+關注
關注
2文章
410瀏覽量
39344 -
總線
+關注
關注
10文章
2868瀏覽量
87993
發布評論請先 登錄
相關推薦
評論