1-Wire协议最初设计用于通过短连接与附近设备进行通信,例如在单个微处理器端口引脚上增加辅助存储器。随着1-Wire器件使用量的增加,人们开发了将1-Wire协议扩展到远远超出电路板尺寸的网络应用的方法。1-Wire网络是1-Wire器件、通信线路和连接的复杂排列。每个1-Wire网络在拓扑(布局)和硬件方面都是不同的。
网络组件(即主设备、网络布线和1-Wire从器件,统称“从设备”)之间的正确匹配是1-Wire可靠运行的前提。当总线主站设计或实施不当时,或者当用于短线的母站通过大大扩展的通信线路投入使用时,则不能总是期望令人满意的性能。
本应用笔记介绍了一个项目的结果,以表征各种形式、规模和数量的1-Wire网络的运行情况。它还为可靠的网络运行提供了工作参数。这里讨论的一些方面在短线应用中并不重要,例如小于1米的网络。附录A至D对1-Wire总线接口进行了微调,并说明了各种条件下的1-Wire通信波形。
网络描述
本文档的范围仅限于使用5e类双绞线铜线并由主站提供5V总线电源的1-Wire网络。(大多数1-Wire从机将在较低的总线电压下工作,但大型网络的损耗通常太大,无法在低压条件下表现良好。
本文档不涉及对EPROM型从器件进行编程的要求。通常不建议在距主端接口的任何明显距离处执行EPROM编程。本文也不讨论1-Wire器件的过驱速度操作。过载速度仅适用于非常短的连接,绝不适合在 1-Wired 网络中使用。
1-Wire器件有多种线材类型和拓扑结构组合。本应用笔记仅介绍与1-Wire网络相关的最一般和最典型的应用。超出限值运行1-Wire网络或无视本文档中给出的建议可能会导致网络性能不可靠。
1-Wire网络术语
两个简单的术语描述了对1-Wire网络性能至关重要的测量值:半径和重量。
网络的半径是从主端到最远从端的导线距离。它以米为单位。
网络的权重是网络中连接的电线总量。它也以米为单位。
例如,具有10m、20m和30m三个分支的星形网络配置的半径为30m(即从1-Wire主站到最远从站的距离),重量为60m(即网络中导线的总长度,10m + 20m + 30m)。
通常,网络的权重限制了电缆上的上升时间,而半径决定了最慢信号反射的时间。
从设备重量
网络中可支持的重量有限,取决于驱动器(1-Wire主接口)。简单来说,重量可以包括非常少的电缆上的许多从站,或者很多电缆上的很少从站。
从器件(i按钮和其他1-Wire器件)为网络增加了等效的重量。每个设备增加的重量类似于一小段电线的重量,因此可以根据其等效的电线重量对设备进行评级。因此,在设计网络时,必须考虑设备的重量。iButton形式的从站通常比封装为焊接组件的从站贡献更多的重量。我按钮增加约1m的重量,非i按钮从站增加约0.5m的重量。考虑一下这对示例网络的影响。连接 100 个 iButton 设备会使网络总重量增加 100 米,这反过来又需要将电线总量减少 100 米以保持网络正常运行。®
虽然重量受到许多因素的影响,但电容显然是最大的单一因素。例如,在1-Wire速度下,5e类非屏蔽双绞线(UTP)的重量贡献可能与其电容相关约52pF/m。通常,ESD电路和PC板走线的重量贡献与其电容的关系约为24pF/m。在1-Wire总线上呈现24pF的电路板走线或器件将增加约0.5m的重量。
1-Wire网络拓扑
尽管1-Wire网络在结构上通常相当“自由形式”,但根据1-Wire从站的分布和互连线的组织,它们通常属于几个广义的类别。
线性拓扑。1-Wire总线为单对,从主器件开始,延伸至最远的从器件。其他从站通过微不足道的(<3m)分支或“短截线”连接到1-Wire总线。
存根拓扑。1-Wire总线是一条单条主线,从主站开始,一直延伸到最远的从机。其他从站通过3m或更长的分支或短截线连接到主线。
星形拓扑。1-Wire总线在主机端或附近分离,并延伸成多个不同长度的分支。在分支沿线或末端有从属设备。
当不同的拓扑混合在一起时,确定网络的有效限制变得更加困难。通常,在这些情况下,设计人员应应用最保守的标准。
星形拓扑的注意事项
测试表明,未交换的星型网络拓扑(即在主站有多个分支的拓扑)最难可靠。各种分支的连接处呈现高度不匹配的阻抗;来自一个分支末端的反射可以传播的距离几乎等于网络的权重(而不是半径),并导致数据错误。因此,不建议使用未开关的星形拓扑,并且不能保证其性能。
交换网络
为了使网络的复杂性增加而不增加重量和半径,网络被划分为多个部分,一次以电子方式打开一个。使用低阻抗、单电源模拟开关,网络在物理上类似于一种拓扑,但在电气上类似于另一种拓扑。这意味着每个分支上都有一个开关的星形配置实际上类似于线性拓扑。在这种情况下,任何时候都只有一个分支处于活动状态。
上面的示例看起来像一个半径为 150m 且权重为 450m 的星形拓扑网络。但是,当单独考虑每个交换路径时,网络实际上是线性拓扑,重量仅为150m。
通常,我们对非交换网络的讨论可以应用于交换网络的每个部分。
1-Wire网络限制
有几个因素决定了网络的最大半径和权重。其中一些因素可以控制,有些则不能。
主端接口极大地影响了1-Wire网络的允许尺寸。接口必须提供足够的驱动电流,以克服电缆和从站的重量。它还必须生成时序在规格范围内并针对网络充电和放电时间进行优化的1-Wire波形。最后,接口必须为网络提供合适的阻抗匹配,以便信号不会反射回线路以干扰其他网络从站。
当网络较小时,可以接受非常简单的主端接口。电容低,反射能量到达得太快,不会造成问题,电缆损耗最小。简单的有源(FET)下拉和无源(电阻)上拉就足够了。但是,当线路变长并且连接更多设备时,复杂的力就会发挥作用。现在,主端接口必须能够处理所有这些问题。
网络半径受到几个因素的限制:波形反射的时间、电缆产生的时间延迟、电缆的电阻以及信号电平的下降。电话线中的典型信号传播速度约为光速的 2/3。例如,在750m电缆中,往返延迟为7.5μs。如果主机将线路拉低7.5μs以启动读取时隙,则主机低脉冲的结束时间(即往返后)与近端快速从机可能停止将线路拉低的时刻一致。因此,如此长的电缆的往返延迟使得主站无法与该近端从机通信。
网络重量受限于电缆充电和放电速度足以满足1-Wire协议的要求。一个简单的电阻上拉的重量限制约为200m。先进的1-Wire主设计通过使用有源上拉克服了这一限制,在逻辑控制下提供更高的电流,并将最大可支撑重量延长至500米以上。参见应用笔记244:“高级1-Wire网络驱动器”。
寄生虫供电问题
1-Wire波形不仅必须足以用于通信,而且还必须为从机提供工作电源。当总线上的电压大于其内部储能电容器上的电压时,每个从机都会从总线“抢夺”电源。当网络的重量变得过大时,主机提供的电流可能不足以维持从机的工作电压。
寄生虫电源的最坏情况是主机发出的很长的零位序列。发生这种情况时,线路大部分时间都处于低电平状态,并且几乎没有机会为从站充电。如果总线在位之间的恢复时间内达到足够的电压,并且恢复时间足够长,则没有问题。随着每个从机的内部工作电压下降,从机驱动总线以产生零位的能力降低,并且从机的时序发生变化。最终,当寄生虫电压降至临界水平以下时,从机进入复位状态并停止响应。然后,当从机再次收到足够的工作电压时,它将发出存在脉冲,并可能破坏其他总线活动。当网络没有足够的能量来维持从站的工作功率时,故障将取决于数据且间歇性。
分布式阻抗匹配
1-Wire总线设计的优势在于极简主义和简单性(最终也实现了低成本)。除了从站本身之外,一直避免使用分发到网络中的组件。
当短截线连接到1-Wire总线时,分支点存在阻抗不匹配。来自短截线末端的反射返回到主干线,仅延迟信号沿短截线长度传播所需的时间。然后,这些反射可能会给网络上的其他从站带来问题。与短截线串联的电阻将降低失配的严重程度和反射能量的幅度。该电阻减轻了主干上短截线产生的反射的不利影响。
这一概念最成功的实现是在短截线连接到主干线的每个点使用150Ω电阻。该值可将连接点处的失配减少约 20%,并将产生的短截线反射衰减约 40%。但是,增加的电阻也会使抗噪性降低约80%,因此必须小心。测试还表明,使用100Ω电阻值时性能良好,不会降低抗扰度。
注:DS2480B串行1-Wire线路驱动器和DS2484器件系列均为1-Wire主站,具有有源上拉,会受到这种附加电阻的不利影响。上述方法与这些1-Wire驱动器不兼容。分布式电阻方法的成功应用始终是使用具有更高数据输入阈值的定制主端驱动器来完成的。
主端接口设备
将1-Wire网络连接至微控制器和个人计算机的方法多种多样。此外,每个1-Wire主站的设计目的不同,在采用替代服务时并不总是可靠的。最后,主端硬件是决定1-Wire网络设计局限性的关键因素。用于短线和附近 iButton 探头的简单硬件接口在连接到更大的网络和复杂的布线方案时性能不佳。用于超长线路的复杂驱动程序在与中短长度网络一起使用时性能不佳。
下面列出了当今最常用的主端硬件接口:
微处理器端口引脚附件
内置1-Wire主控的微控制器
可合成的1-Wire总线主控(DS1WM)
串行接口协议转换(DS2480B、DS2482-100、DS2484)
对于长线应用,需要修改。附录A显示了微处理器端口引脚附件的变体,即具有压摆率控制的FET驱动器和1kΩ上拉电阻。使用此接口可以可靠地支持最大 200m 的半径和最大 200m 的重量。
DS2480B设计用于高效的中短线工作。在DS2480B和网络之间应用一个简单的R-C电路将大大提高中长网络的性能和可靠性。(见附录B。使用过滤器,该主站可以可靠地支持半径或重量达200m的网络。需要注意的是,DS2480B接口器件具有可变时序,也可用于提高1-Wire网络的可靠性和性能。这些时序由某些软件(如Windows版1-Wire驱动程序)设置为最佳值,但并非所有软件都会调整。(参见附录C和应用笔记4104:“理解和配置DS2480B的1线时序”。®
长线应用的推荐电路是具有高级总线接口的微控制器,如上文应用笔记244所述。该主端接口电路使用阻抗匹配(高电平和低电平驱动器)和“智能”(软件控制)有源上拉。每当1-Wire协议确定总线应处于高电平时,以及在总线采样并发现处于高电平后的读取期间,上拉电路就会开启。该接口同样适用于大型和小型1-Wire网络,能够可靠地运行具有高重量和半径值高达500m的网络。
是什么造就了可靠的1-Wire网络?
当1-Wire网络发生故障时,故障通常表现为执行搜索算法时器件的神秘“丢失”。更多信息参见应用笔记187:“1-Wire搜索算法”。实际存在的设备可以在搜索结果中出现和消失。有时,网络或设备中看似微小的变化会对设备搜索的结果产生根本性的影响。为什么会这样?
在1-Wire总线上发生的所有活动中,器件搜索是最复杂且在存在总线问题时最难执行的。搜索是所有从站可能同时将总线驱动低电平的唯一时间(存在脉冲除外)。这意味着搜索期间的总线条件与单个选定从站的正常通信大不相同。如果许多从站中的任何一个错过边沿或无法区分脉冲,那么它将与搜索算法不同步,并将导致搜索的后续位出错。这意味着在以下情况下搜索将失败:总线问题导致波形上升沿出现毛刺;波形未能达到有效的低电平;或任何设备在搜索过程中都缺电。大多数搜索算法通过终止搜索算法并重新开始来处理搜索失败,此时尚未发现的从属服务器似乎会从搜索中删除。尽管故障发生在一个从设备的一个位中,但任何数量的从设备都可能受到影响。
搜索算法通常假定设备可能会因噪声而丢失。在具有触摸接触i按钮的网络中,新的i按钮到达网络可能会以来自新到达设备的存在脉冲的形式引入瞬时短路。根据这些事件的时间,这些存在脉冲将干扰搜索活动。搜索算法通过在观察到设备丢失一段时间后,才从发现的从属列表中删除从属服务器列表中来管理此类问题。
搜索失败的原因差异很大。其中最常见的是缺乏寄生虫力量(半径大,网络重);波形边缘的反射(使用中小半径、轻量级网络);在DS2480B接口中,由于波形下降沿的振铃,有源上拉被误触发。
搜索失败通常似乎对网络中的微小变化高度敏感;网络上连接的从站;或者“月相”,正如一些沮丧的设计师所说的那样。这种敏感性是因为受审查的网络处于临界状态,非常小的网络变化可能导致搜索成功或失败。简而言之,一个看似成功的网络,因为在搜索算法中可靠地找到所有设备,实际上可能接近故障。轻微的退化可能会突然产生看似灾难性的故障 - 只需一个故障位即可使搜索停止,零件就会消失。因此,用户必须遵守已发布的规范和指南至关重要,以确保可靠的网络具有良好的安全裕度和对电缆、设备和连接变化的容忍度。
可靠、一致地执行搜索的网络通常可以可靠地执行任何其他1-Wire功能。
1-Wire时序不正确
当使用软件(固件)生成1-Wire波形(有时称为“位敲击”波形)时,很容易犯一些不会立即显现出来的错误。
到目前为止,1-Wire主机编程中最常见的错误是,在时隙的前(下降)沿之后,从站采样数据太晚。从机的时序可以在很宽的范围内变化,就像温度和电压变化一样。由于过程变化,从站也可能在批次之间变化。波形采样时间为30μs的设计可能会通过实验室测试,甚至投入生产,从而将不正确的时序用于发货产品。之后,当批处理或网络条件发生变化并且从机从32μs移动到29μs时,该主端接口将失效。因此,尽管在实验室环境中系统运行看似完美,但通过规范验证波形参数至关重要。
结论
与任何电子元件一样,支持电子系统必须在所有使用条件下满足设备规格,以确保可靠运行。网络组件(即主站、网络布线和1-Wire从机)之间的正确匹配对于1-Wire的可靠运行至关重要。
审核编辑:郭婷
-
电源
+关注
关注
184文章
17715浏览量
250115 -
存储器
+关注
关注
38文章
7490浏览量
163818 -
微处理器
+关注
关注
11文章
2262浏览量
82441
发布评论请先 登录
相关推荐
评论