DS2409替代方案
为了替代DS2409,用户应当使用1-Wire可寻址开关(用于数字控制和检测)和模拟开关(开通或关闭输出)。用1个双通道可寻址开关(如DS2413、DS2406或DS28E04)和一路或两路模拟开关,可以部分替代DS2409。完全替代器件则需要一个5通道1-Wire可寻址开关(如DS2408,8通道)和两路模拟开关。需要注意的是,可寻址开关上电后所有PIO都处于断开(不导通)状态。
模拟开关必须为单刀双掷(SPDT),应选择供电电压为5V ±10%的开关器件,导通电阻(RON)小于等于30Ω,三个开关节点的电容应不大于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所示电路是部分替代电路,实现DS2409的1-Wire输出切换和输出控制。U1为2通道1-Wire可寻址开关(带开漏PIO);U2是一个单刀双掷模拟开关,3个开关触点对应NO、NC和COM引脚。开关受IN引脚的数字输入电平控制。
上电默认状态下,所有1-Wire可寻址开关的PIO都处于高阻状态。通过电阻R2在开关的IN引脚作用一个高电平,使NO引脚连接到COM端。NO引脚通过1.5kΩ上拉电阻R1连接至COM引脚的无效1-Wire输出端。这些配置等效于DS2409的上电状态。
为了打开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输出通道打开。这些可以通过软件实现,也可以通过更安全的连接逻辑完成,即通过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。通过Write Status命令(代码55h)控制存储器0007h (SRAM控制位)操作PIO,该SRAM控制位的第6位直接控制PIO-B通道的状态。图8显示了输出使能过程,图中顶部波形图是CRC16字节(1Fh,E2h),跟随在0007h单元写入的3Fh数据字节之后。底部波形是PIO-B的跳变波形,控制模拟开关。在CRC16字节之后的复位/应答周期结束之前,不会出现1-Wire总线输出波形(中间波形)。图8并未显示复位/应答周期。
图9显示了关闭输出的过程,顶部波形是跟随在写入0007h单元的7Fh数据字节之后的CRC16字节(1Eh,12h);底部波形是控制模拟开关的PIO-B的跳变波形;PIO-B状态转变后,1-Wire输出(中间波形)终止,然后主机发出复位/应答脉冲。图9并未显示复位/应答周期。
除了向状态寄存器写入命令以改变PIO状态外,PIO还可以由Channel ACCess命令(代码F5h)控制,但本文没有介绍该操作。另请注意,DS2406在断电后不到1分钟之内执行了一次上电复位操作。而DS2409在断电后或1-Wire输入断开(低电平)大约几个毫秒后执行上电复位操作。DS2406将锁存其PIO状态,由此,该器件支持事件检测(条件搜索)和短路检测(虚线)。通过Channel Access命令清除闭锁状态(通道控制字节1)。
图8. 利用DS2406进行部分替代,输出有效
图9. 利用DS2406进行部分替代,输出禁止
DS2413可寻址开关
按照图7所示电路对DS2413可寻址开关进行了测试。模拟开关的IN引脚与DS2413的PIO-A连接。PIO-B用于控制输出,点亮LED。通过PIO Access Write命令(代码5Ah)实现PIO的操作,图10所示为输出使能过程。顶部波形是PIO输出数据字节(第一个是原码FEh,随后是反码01h),然后是AAh确认字节,以及新的PIO引脚状态(3Ch)。PIO-A (底部波形)用于控制模拟开关,其状态在PIO输出数据字节的反码之后发生改变。因此,确认字节和PIO引脚状态在1-Wire输出通道出现(中间波形)。为了确保总线的从机与主机同步,主机必须发出复位/应答脉冲。
图10. 利用DS2413进行部分替代,输出有效
图11. 利用DS2413进行部分替代,输出禁止
图11所示为输出禁止波形。顶部波形是PIO输出数据字节(第一个是原码FFh,随后是反码00h)。确认字节和新的PIO引脚状态(3Ch)并未在图中表示出来。PIO-A (底部波形)用于控制模拟开关,其状态在PIO输出数据字节的反码之后发生改变。确认字节和PIO引脚状态没有通过1-Wire输出(中间波形)。
请注意,DS2413与1-Wire总线断开5分钟后,执行一次上电复位。而DS2406在1分钟内即进行上电复位。DS2413并不锁存引脚状态,因此它不支持条件搜索,但可以实现短路检测(虚线)。