应用笔记 3829

确定多从机1-Wire®网络的恢复时间


摘要 : 设计1-Wire网络时,通常需要考虑的一个问题就是确定适当的恢复时间,以确保为寄生供电的1-Wire从器件提供足够的电能。本文分析了确定对供电有严格要求事件所需的1-Wire协议,并提供了不同1-Wire从机数、不同工作电压以及温度条件下的恢复时间计算方法。

引言

本应用笔记适用于典型的1-Wire网络,该1-Wire网络由带上拉电阻的1-Wire驱动器(主控制器)和1个或多个1-Wire从机器件组成,如图1所示。大多数1-Wire器件都是寄生供电,这就意味着1-Wire总线同时作为电源线和双向数据线。1-Wire协议规定无通信时进入空闲状况,1-Wire从器件恰好能从总线获取电源。限制1-Wire从器件可用电源数目的临界参数是恢复时间tREC。产品数据资料中规定了tREC的大小,并给出了只在单从机1-Wire网络中有效的读/写波形。

图1. 1-Wire网络典型框图
图1. 1-Wire网络典型框图

图2. 启动过程的时序图:复位和应答脉冲
图2. 启动过程的时序图:复位和应答脉冲

图2所示为最新1-Wire器件数据资料中给出的复位/在线应答检测周期。恢复时间开始于在线应答脉冲之后,并在下一个时隙的下降沿结束。通常情况下,所选取的tRSTL和tRSTH持续时间相同。标准速率下,tRSTL为480µs。在最坏的情况下,tPDH + tPDL为300µs,tREC为180µs。高速模式下,则上述时间值较短,是标准速率下的1/10,tREC减少至18µs。与数据资料规定的tREC最小值相比,留出了一些时间余量以使寄生电源(从机内的一个电容)再充电。因此,只要tRSTL不超过数据资料中的最大极限值,并且寄生电源在tRSTL开始之前达到充电饱和,复位/在线应答检测周期就不是电源设计考虑中的关键因素。在高速模式下,复位脉冲之前的恢复时间值延长为最小值的2.5倍,在此期间寄生电源可进行额外充电。标准速率下,复位脉冲之前的扩展恢复时间值是任意的。

下文给出的读/写时序框图由三个波形组成:写1时隙-写逻辑1;写0时隙-写逻辑0;读数据时隙-从1-Wire从机器件读取一位。从图3中很容易看出,写1时隙对供电的要求并不严格。标准速率下供电窗口(tSLOT-tW1L)至少为50µs,高速模式下至少为6µs。而高速模式下的6µs刚刚超过tREC的最小规定值。在写0时隙中,由于总线为低电平的时间相较恢复时间而言要长一些,因此写0时隙对于供电的要求更为苛刻,尤其是在一行有多个0时。数据资料中给出的tREC适合用2.2kΩ上拉电阻将总线驱动至2.8V的单从机1-Wire网络,正确理解这一点是非常重要的。在读数据时隙进行读0操作时,对供电的要求也很严格。然而,由于通常从机拉低1-Wire总线,并至少保持60µs (标准速率)或6µs (高速模式),因而是比较有利的一个方面。

本应用笔记阐述了如何设置写0时隙中的tREC以及派生值tSLOT,以确保多从机1-Wire网络中有足够的电源。如果得出的数值还被用于读数据时隙和写1时隙,那么tSLOT决定了在特定1-Wire网络中实现可靠通信所需的最大数据速率。

写1时隙



写0时隙



读数据时隙

图3. 读/写时序图
图3. 读/写时序图

影响参数

在分析供电时的恢复时间时,需考虑几个主要参数和次要参数。这些参数如下:

主要参数
从机 所需的电源能量随从机数增加而增大。
上拉电压 电压越高,耗能就越多。
通信速率 在高速模式下,写0时隙的占空比较高。
1-Wire驱动器类型 “智能”驱动器需要更多的电量。

次要参数
工作温度 低温1-Wire器件需要较多的电量。
电缆长度 电缆电容也需要进行充电。
1-Wire器件类型 某些器件比其他器件需要更多或更少的电量。

我们先从数据资料给出的条件开始分析:一个带2.2kΩ上拉电阻器(上拉至2.8V)的驱动器、最坏情况下的温度,总线上有单个1-Wire从机器件,以及可忽略的电缆电容。本文以1-Wire从机器件的个为主要参数,并提供不同工作电压速率以及温度下恢复时间的值。如果1-Wire驱动器和从机之间的电缆非常重要,那么在计算中每15米长的电缆就可等效成一个附加的从机器件。

这里得出的结果适合典型的1-Wire从机器件,可以实现ROM功能、通用寄存器读功能以及SRAM写功能。写EEPROM、温度转换以及SHA-1计算有特定的供电要求(如强上拉),具体依器件而定,这不影响该计算方法的有效性。就ROM功能和存储器读操作而言,1-Wire EPROM器件也被视为典型器件;为了实现编程目的,只允许在网络上挂接单个EPROM器件。

结果矩阵

用线性公式:tREC = a * N + b,计算恢复时间的大小。假设所有从机器件并联在1-Wire线路和接地基准之间,则N表示网络中寄生供电的从机器件数。由VCC引脚供电的1-Wire从机器件不会明显给1-Wire总线加载;它们应计为器件的1/10。斜率'a'随温度、工作(上拉)电压以及1-Wire速率变化而变化。本文中让失调量'b'仅随速率变化就足够了。表1所列是含有斜率和失调量的公式。通过手动曲线拟合产生数字值;则结果近似与基于科学模型通过迭代法得到的结果吻合。N = 1时,该结果矩阵不能产生与器件数据资料中一样的数据。这一数值差异是曲线拟合的偏差,不应被视为与规范要求冲突。

表1. 结果矩阵
Operating Voltage (V) Temperature (°C) Standard Speed (µs) Overdrive Speed (µs)
4.5 and higher -40 tREC = 2.12 × N + 1.0 tREC = 1.43 × N + 0.5
-5 tREC = 1.99 × N + 1.0 tREC = 1.37 × N + 0.5
+25 tREC = 1.83 × N + 1.0 tREC = 1.30 × N + 0.5
+85 tREC = 1.54 × N + 1.0 tREC = 1.18 × N + 0.5
2.8 (minimum) -40 tREC = 3.52 × N + 1.0 tREC = 1.82 × N + 0.5
-5 tREC = 3.30 × N + 1.0 tREC = 1.80 × N + 0.5
+25 tREC = 3.17 × N + 1.0 tREC = 1.74 × N + 0.5
+85 tREC = 2.70 × N + 1.0 tREC = 1.63 × N + 0.5

低工作电压和低温下的恢复时间最长。如果应用要求工作在极低的温度下,则应选用-40°C项。室温环境下,可选用+25°C项,并且温度更高时该项也适合,能保证安全工作。+85°C项则产生一个仅应用在+85°C温度下的结果;应该作为一个基准,不作为其他温度的设计值。

高工作电压下的恢复时间最短。上拉电压为4.5V或更高时应选用4.5V项。2.8V项对应的恢复时间也适用于更高的电压,但不会降低数据速率。工作电压Vx在2.8V和4.5V之间时,可通过线性插补获得新斜率值:Slope@Vx = Slope@2.8V - (Vx - 2.8V)/1.7V * (Slope@2.8V - Slope@4.5V)。

实例

假定某应用需要一个带有10个1-Wire器件(N = 10)的网络,标准速率下tW0LMIN = 60µs,高速模式下为6µs。(这些数值来自于器件的数据资料,对于不同的器件类型,采用tW0LMIN的最大值。) 假定该网络工作在0°C至70°C温度下。工作电压未定。适合该温度范围的项为-5°C,因为它是低于最小工作温度且与之最接近的数值。由于更高温度下的斜率比-5°C时的斜率低,因此该结果对于高于-5°C的所有温度是有效的。表2列出该实例的tREC以及具有恢复时间的最大数据速率。

在标准速率下,数据速率降至单从机网络15.3kbps基准的大约70%。在高速模式下,数据速率低于125kbps基准的40%。如果表2中数据速率都适合应用,则工作电压的选择不重要。然而,如果可提供大约5V的工作电压,则具有较好的噪声抑制性,应将其做为首选。

表2. 实例计算结果(N = 10)
Operating Voltage (V) Standard Speed Overdrive Speed
4.5 and higher tREC = (19.9 + 1)µs
= 20.9µs
data rate = 1/(60µs + 20.9µs)
= 12.3kbps
tREC = (13.7 + 0.5)µs
= 14.2µs
data rate = 1/(6µs + 14.2µs)
= 49.5kbps
2.8 (minimum) tREC = (33.0 + 1)µs
= 34µs
data rate = 1/(60µs + 34µs)
= 10.6kbps
tREC = (18.0 + 0.5µs)
= 18.5µs
data rate = 1/(6µs + 18.5µs)
= 40.8kbps

可采用的改进方法

如果该表中的恢复时间不能达到要求,还可以采用下列几种方法提高数据速率。
  1. 减小上拉电阻,例如,由2.2kΩ降至1kΩ。
    较低的电阻可使1-Wire网络再充电电流加倍,这样可减小50%的恢复时间。采用这种方法时,在读数据时隙拉低1-Wire总线时,确认每个从机器件是否能处理所增加的电流VPUP/RPUP是非常重要的。
  2. 改变网络拓扑。
    不采用一个网络,而是采用2个或多个更小的网络,或用DS2409 1-Wire耦合器将一些从机器件从网络的有源部分断开。
  3. 考虑采用有源1-Wire驱动器
    有源驱动器采用晶体管临时旁路上拉电阻。这样允许1-Wire网络以最快的速率进行再充电,从而降低必需的恢复时间。

有源1-Wire驱动器

Dallas Semiconductor产品中包含三个有源1-Wire驱动器:DS2480B、DS2490和 DS2482。

DS2480B和DS2490具有同样的5V 1-Wire驱动器,但是有不同的主机接口。两款器件的恢复时间均终止于1-Wire总线电压超过规定门限的时候。采用DS2480B,只要1-Wire有效(例如,写1字节),主机就能通过UART端接收一个应答字节。采用USB兼容的DS2490,主机需要轮询以检测1-Wire有效性是否结束。

DS2482通过其I²C接口与主机通信。该器件的1-Wire侧可工作在3.3V和5V电压下。采用DS2482,当1-Wire时隙结束时,恢复时间终止。如果有源上拉功能被激活,则在固定持续时间内,可在1-Wire总线的上升沿提供额外的电量。DS2482比一个单纯的阻性上拉强,但是不如DS2480B或DS2490。DS2482的8通道版本有助于将一个较大的应用分离成几个每线具有较少1-Wire器件的更小的网络。采用DS2490时,DS2482的主机需要轮询驱动器芯片以检测1-Wire有效性是否结束。

采用可作为智能1-Wire驱动器的微控制器可以实现更大的灵活性,特别是驱动一个物理的大型1-Wire网络。该电路及其必需软件所应考虑事项的详细描述,请参见Dallas应用笔记244。这种驱动器工作在3.3V或5V电压下,具体取决于微控制器特性。

结束语

计算多从机器件1-Wire应用所需的恢复时间是一个非常简单和直观的过程。对于1-Wire网络,通常采用5V电压是最佳选择。对于更多的应用来说,采用带上拉电阻的1-Wire驱动器就足够了。对于大型的网络,则需要带有源上拉的驱动器。

参考文献
  1. DS2480B数据资料 串行、1-Wire线驱动器
  2. DS2490数据资料 USB与1-Wire桥接芯片,新设计中不推荐使用DS2490。
  3. DS2482-800数据资料 八通道1-Wire主控制器
  4. DS2482-100数据资料 单通道1-Wire主控制器
  5. 参考设计244 性能优异的1-Wire网络驱动器
  6. DS2409数据资料 MicroLAN耦合器。新设计中不推荐使用DS2409。
  7. 应用笔记192 DS2480B串行接口1-Wire线驱动器的使用
  8. 应用笔记4104 DS2480B 1-Wire®时序的理解及配置
  9. 应用笔记3684 如何使用带有I²C接口的DS2482 1-Wire主控制器
  10. 应用笔记126 用软件实现1-Wire通信
  11. 参考设计4206 为嵌入式应用选择合适的1-Wire®主机
下一步
EE-Mail 订阅EE-Mail,接收关于您感兴趣的新文档的自动通知。
© , Maxim Integrated Products, Inc.
The content on this webpage is protected by copyright laws of the United States and of foreign countries. For requests to copy this content, contact us.
APP 3829:
应用笔记 3829,AN3829, AN 3829, APP3829, Appnote3829, Appnote 3829