1-Wire网络的可靠设计

时间:2007-05-25
1-Wire协议设计的初(许多年以前)目标只是用于相邻器件之间的短距离通信,实际应用中,客户很快就发明了许多独特的应用,其中包括扩展总线和从机器件与主控器之间的远距离通信。如果总线的长度超过了总线主机和协议本身所允许的极限值,那么问题也就随之产生了。1-Wire器件的设计也针对增添的特性和协议、对多点(网络)通信的要求、以及耐用的不锈钢外壳(iButton)和确保数据即使在断续接触的情况下也能进行有效传输的机械装置等需求做出了积极的响应。尽管有了这样的发展,当总线主机设计或运行不当、或者将供短线使用的主机应用到远距离通信的总线时,1-Wire组件的性能会变差。本文的目的是阐明多种拓扑和接口方式,并提供保证网络可靠工作的参数。


1-Wire网络拓扑


尽管1-Wire网络在结构上为"自由形态",但根据1-Wire从机器件的分布和电缆的互连结构,常常可以将其归结为某种通用的网络结构(如图1a、2b、3c):

a)线性拓扑结构;b)树型拓扑结构;c)星形拓扑结构。

实验表明,非切换型星形网络拓扑(在主机端有多个分支)的可靠性很难保证。不同分支的节点在主机端造成较大的阻抗失配,再加上从分支末端传来的反射波,它所经过的路程几乎和网络的总长相等(而不是和半径相等),从而导致误码。正是由于这个原因,不推荐使用非切换型星形拓扑。

当不同的拓扑相互混在一起的时候,确定网络的实际极限条件将更加困难。在这种情况下,设计者通常都应当遵循保守的标准。


从机器件的总长


从机器件(iButton和其它1-Wire器件)会增加网络的总长(指网络连线的总长度)。每个器件引起的负荷可等效于增加了一小段线路总长。设计网络的时候,必须考虑器件的等效长度。一个含有iButton的从机器件比一个焊接在组件上的从机器件所表现出的等效长度大。
iButton的等效线长大约为1m,而非iButton类从机器件的等效线长大约是0.5m。电路板布线、连接器和ESD保护器件也会增加网络的总长度。

尽管总长度受许多因素的影响,但电容量无疑是影响为严重的因素。通常,ESD电路和PC板引线所增加的总长度是与它们的电容量相关,相关系数为24pF/m。也就是说,一个相当于24pF/m电容的电路板引线或器件在1-Wire总线上增加的总长度大约为1m。


切换网络


为了在不增加网络总长度和网络半径(指从主机到远的从机器件之间的距离)的前提下提高网络的复杂性,已经采纳的方法是将其分成几段,并通过开关控制使它们每次只有一段接入网络中。利用1-Wire开关器件如DS2409,网络可能从物理连接上看是一种结构,而从电特性上看则是另外一种拓扑。换句话说,在每个分支节点处都装有DS2409开关的星形网,当只有一条支路接入网络中、而其它支路都断开的时候,它实际上类似于线性拓扑。


1-Wire网络的限制


有几个因素决定了网络半径和总线长的值。这些因素有的能够控制,而有的却无法控制。主机端的接口对于所允许的1-Wire网络尺寸有很大影响。接口必须能够提供足够的驱动电流以克服电缆和器件的等效长度。它必须能够产生技术规范内的1-Wire时隙波形,同时针对网络的充电时间和放电时间。另外,它必须为网络提供合适的阻抗匹配,使信号不会因为反射而干扰其它网络器件。

网络规模小的时候,非常简单的主机端接口就能取得令人满意的结果,电容量小,反射的能量速度较快而不至于引起什么问题,电缆的损耗也达到值。只需采用简单的有源(场效应管FET)下拉和无源(电阻器)上拉就足够了。但是,当总线长度增加、挂接的器件越来越多时,要求主机端接口必须能够克服这两个因素产生的影响。

网络半径受限于反射波的时间、电缆的时延、以及电缆阻抗和信号电平的衰落。在大约750m处的电缆远端的从机器件向主机发回应答信号的时间超出了协议规定的时延极限。

网络的总长度受限于电缆的性能,电缆必须能够很快地充电和放电以满足1-Wire协议的要求。采用简单的上拉电阻使网络总长度限止在大约200m。而利用有源上拉在逻辑控制下提供更强的电流、支持更远的通信距离,使其扩展到500m以上,但所有这一切是以提供一个更加复杂的主机端接口为代价的。尽管如此,对于能够驱动400m电缆、并可同时与100个iButton器件进行通信的网络来说,这种额外的开支还是很值得的。


寄生电源


1-Wire波形不仅要满足通信的要求,而且要为从机器件提供工作电压。当总线上的电压高于它内部储能电容的电压时,每个从机器件都从总线上"攫取"能量。网络总长度过远时,主控制器所提供的电流可能不足以维持从机器件的工作电压。寄生供电方式糟糕的情况发生在主机发出很长一串0码的时候,这时总线大部分时间都处于低电平状态,从机器件很少有机会进行再充电。如果总线能够在两位之间的恢复期内达到足够的电压值,而且恢复时间也足够长,将不存在任何问题。如果从机器件内的工作电压降低,那么它驱动总线变为0电平的能力也就降低,从机器件的时隙将发生变化。,当寄生电压降低到门限电压时,从机器件进入复位状态,停止对信号做出应答。此后,当从机器件再次获得足够的工作电压时,它将发出在线应答脉冲,而此时可能会中断其它总线动作。当网络不具有充足的能量维持从机器件的工作电压时,系统失效将取决于传输数据和间歇时间。


主机端接口器件


这些年来,已经生产了大量适用于个人计算机的主机端接口,利用各种方法把1-Wire网络和微控制器连接起来,但在其设计中很少有连贯性。每个主机都设计有一项专门的用途,用于其它场合时通常工作不可靠。主机端的硬件结构是决定1-Wire网络设计极限的一个关键因素。近距离应用或相邻iButton探测器所采用的简单硬件接口用于较大的网络或复杂的布线结构时,可能工作不稳定。而一些供远距离通信使用的复杂驱动电路在用于小型网络或中型网络时可能工作性能也不好。

目前常用的主机端硬件接口如下:

(1)DS9097 PC串口适配器(不适用于新的设计)
(2)DS9097U PC串口适配器(基于DS2480B)
(3)DS1410E PC并口适配器
(4)DS9097U-E25 带有EPROM编程的PC串口适配器
(5)微控制器端口加2k 上拉电阻
(6)带有摆率限止的FET和1k 电阻的微控制器
(7)带有总线接口的微控制器
(8)带有DS2480B总线接口的微控制器

这些常用的主机端接口器件各不相同。每种接口电路在其所连接的计算机端口都有不同的可利用资源,而且每种接口都设计有不同的操作。实际上,并不是任何器件都能胜任用户的复杂网络。虽然更新、更好的主机端硬件正处于设计和测试阶段,用户还是需要了解1-Wire网络的局限性。对于1-Wire总线的测试得出了有关极限条件的数据,当采用上述标准接口器件时应当注意这些数据。以下列出了用上述主机接口设计1-Wire网络时应当注意的限度:

1.简单微控制器引脚接口不足以提供支持大型网络甚至是中型网络所需要的驱动电流。上拉电阻阻值通常受端口引脚下拉能力的制约,被限制在2,200 左右,无法满足重载网络(总长度值很大的网络)。端口接口电路应限制在桌面半径和总长度在3m左右的网络。

2.带有摆率控制的FET驱动器和1,000 上拉电阻的微控制器接口能支持中型网络。使用这种接口能可靠支持的网络半径和总长度均可达到200m。

3.DS1410E并行端口接口和DS9097串行端口接口专为短距离iButton探测器设计。这两种器件并不推荐用于中型或大型1-Wire网络。半径限制在3m左右,总长度应在40m以下。

4.主机端集成电路DS2480B串口至1-Wire转换器被用于DS9097U串行适配器和其它一些现有的1-Wire总线产品。DS2480B适用于远距离通信网络、也可用于一些高可靠性的小型网络和中型网络,如果在DS2480B和网络之间采用简单、廉价的R-C电路就能大大改善近距离到中等距离通信网络转化的性能和可靠性。

上面提到的"带有总线接口的微控制器"是一种正在研发的新型电路,它将所有驱动器的优点合为一体,并提供更高的可靠性。


  
上一篇:SX微控制器的虚拟外设及Internet应用
下一篇:高带宽I/O总线解决方案支持新一代嵌入式系统

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料