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的情况下,还有其他方法可以支持相同的应用。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !