本应用笔记介绍了1-Wire协议在新旧器件中的电气方面。一个特别的章节解释了如何为由新旧1-Wire从机组成的网络确定适当的时序参数。1-Wire母版概念部分提供了详细讨论1-Wire母版的其他文档以及相关软件的参考。
介绍
1994年的一篇应用笔记解释说,1-Wire器件的串行端口接口选项只有微控制器端口引脚、UART和基于UART的COM端口。从那时起,已经开发出用于直接连接到UART、I²C总线或USB端口的特殊驱动器芯片。与此同时,1-Wire器件的数量也增长到很长的名单。这些不同的发展使得有必要更新早期的文档。本新文档没有将所有相关信息的细节合并到一个文档中,而是尽可能让读者参考其他应用笔记。
1-Wire器件的技术演进
首批1-Wire器件DS199x系列采用SRAM技术生产。接下来,非易失性EPROM技术问世,DS198x和DS250x系列器件问世。这些EPROM器件需要一个12V编程脉冲,并且不可擦除。下一个飞跃是EEPROM技术,它允许在5V或更低的电压下进行编程和擦除。EEPROM技术可用于DS197x、DS243x和DS28Exx系列器件。为了确保适当的电源,EEPROM器件可能需要一个支持“强上拉”的主机,该器件可暂时绕过具有低阻抗路径的1-Wire上拉电阻。写入周期需要额外的功率,DS1977也需要额外的功率。除EEPROM器件外,强上拉还为1-Wire温度传感器和特殊功能供电,例如安全1-Wire器件中的SHA-1引擎。温度记录仪 i按钮采用SRAM技术,因此没有任何特殊的外部电源要求。®
1-Wire接口
基本信息
1-Wire是唯一一款采用数据和地两个触点进行半双工双向通信的基于电压的数字系统。1-Wire系统由单个1-Wire主机和一个或多个1-Wire从机组成。1-Wire概念既依赖于启动数字通信的主设备,也依赖于与主设备信号同步的自定时1-Wire从器件。主站和从站的定时逻辑必须测量并生成各种宽度的数字脉冲。空闲时,1-Wire总线和工作电压之间的高阻抗路径使1-Wire总线处于逻辑高电平状态。总线上的每个器件必须能够在适当的时间使用漏极开路输出(有线AND)将1-Wire总线拉低。如果由于任何原因需要暂停事务,则必须使总线保持空闲状态,以便事务可以恢复。
工作电压
大多数1-Wire从器件的工作电压范围为2.8V (最小值)至5.25V (最大值)。除少数例外情况外,1-Wire器件没有电源引脚;它们从1-Wire总线(寄生电源)或嵌入式电池(一些i按钮)获取能量。寄生电源使用片内电容(器件专用,800pF或更高)和与电阻串联的二极管,在总线电压高于电容电压时从1-Wire总线获取能量。为使寄生虫电源正常工作,1-Wire器件数据手册中规定的条件 必须满足。恢复时间值适用于具有一个从属设备的网络。对于多从网络,需要延长恢复时间;或者,可以降低上拉电阻值或改用具有有源上拉功能的1-Wire主机。
额外能量
通常,寄生电源为通信提供足够的能量,即从1-Wire器件寻址和读取,以及写入基于SRAM的器件。写入EEPROM、读取DS1977 32KB EEPROM i按钮以及使用温度转换器或运行SHA-1发动机等特殊功能都需要额外的能量。该能量将在协议中的特定时间在1-Wire总线空闲时提供。
1 线速度
早期的1-Wire器件和基于UART的主电路以高达16.3kbps的速度进行通信,现在称为“标准速度”。为了将读取 64K 位内存 iButton 所需的时间减少到 1 秒以内,添加了称为“过载”的高速模式。近年来开发的几乎所有1-Wire器件都支持过载。
1线定时
数据手册中对1-Wire时序的描述随时间而变化。大多数1-Wire数据手册描述分为两类:传统风格(绝大多数)和新风格。
新式时序描述区分了主站和从站的视角。这种方法是与新的1-Wire前端一起推出的。新样式规定了主机对从器件性能的要求,并考虑了上升和下降时间对1-Wire总线的影响。传统的描述风格更强调奴隶的表现,这偶尔会被误解。两种描述性样式对同一参数使用略有不同的名称(表 1);并非一种样式的所有参数都与另一种样式直接匹配。在新样式中,恢复时间包含在时隙的长度中;在旧样式中,不包括恢复时间。除了这两种样式外,DS27xx和DS18xx系列的一些数据资料还使用了传统样式的不太详细的版本。DS1921系列数据资料将新型号调整为没有新型1-Wire前端的器件。
以下各节将介绍这两种样式的计时说明。
Symbol | Description | |
New Style | Legacy Style | |
RPUP | — | Pullup resistor (value not specified in legacy style) |
VPUP | VPULLUP | 1-Wire pullup voltage |
— | VPULLUP MIN | Minimum permissible pullup voltage |
— | VIH MIN | Minimum slave-input high voltage |
VILMAX | VIL MAX | Slave's maximum-input low voltage |
VIHMASTER | — | Minimum master-input high voltage |
VTL | — | Slave's falling-edge switching threshold (new front-end) |
VTH | — | Slave's rising-edge switching threshold (new front-end) |
VHY | — | Slave's rising-edge switching hysteresis (new front-end) |
tF | — | Duration of the falling edge of a master-initiated 1-Wire activity |
tRSTL | tRSTL | Reset low time |
ε | — | Duration of the rising edge on the 1-Wire bus from 0V to VTH (new front-end) |
— | tR | Duration of the rising edge on the 1-Wire bus from VIL MAX to VIH MIN |
tPDH | tPDH | Presence-detect high time |
tPDL | tPDL | Presence-detect low time |
tFPD | — | Presence-pulse fall time (some devices with new front-end) |
tMSP | — | Presence-detect sample time, derived from slave performance |
tREH | — | Rising-edge hold-off time (new front-end) |
— | tRSTH | Reset high time (N/A for the new front-end) |
tW1L | tLOW1 | Write-one low time |
tW0L | tLOW0 | Write-zero low time |
tREC | tREC | Recovery time |
tRL | tLOWR | Read low time, derived from slave performance |
— | tSU | Read data setup time |
— | tRDV | Minimum time for which data is valid in a read data time slot |
— | tRELEASE | Additional time for which data could be valid in a read data time slot |
tMSR | — | Read sample time, derived from slave performance |
δ | — | Duration of the rising edge on the 1-Wire bus from 0V to VIHMASTER |
tSLOT | tSLOT |
Legacy style: time to communicate one bit excluding recovery time; New style: time to communicate one bit including recovery time |
新式时序说明
复位和存在检测
1-Wire通信从复位/存在检测周期开始(图1)。要从空闲变为活动,1-Wire总线上的电压必须从V下降狗低于阈值,VTL.要从活动变为空闲,电压需要从V上升ILMAX超过阈值,V千.电压上升所需的时间在图1中显示为“ε”,其持续时间取决于上拉电阻R狗,以及所连接的1-Wire网络的电容。电压VILMAX在确定逻辑电平时与从站相关,而不是触发任何事件。
如果主站对下降沿使用压摆率控制,则主站必须下拉线路以获得RSTL+ 吨F以补偿边缘。一 吨RSTL持续时间为 480μs 或更长时间将退出过载模式,使器件恢复到标准速度。如果从站处于超驱动模式并且RSTL不超过80μs,器件保持超驱动模式。如果从站处于超驱动模式并且RSTL在 80μs 和 480μs 之间,器件将复位,但通信速度未定。
总线主站释放线路后,进入接收模式。现在1-Wire总线被拉至V狗通过上拉电阻。当阈值为 V 时千,被交叉,从机等待 t帕迪亚然后通过将线路拉低来传输存在脉冲PDL.为了检测存在脉冲,主机必须在t处测试1-Wire线路的逻辑状态。NS.该 tRSTH窗口必须至少为 t 的总和PDHMAX, tPDLMAX和 t雷克明.紧跟在 t 之后RSTH已过期,具有新前端的从站已准备好进行数据通信。
图1.复位和存在脉冲。
读/写时隙
复位/存在检测周期完成后,1-Wire从机即可使用时隙进行通信。每个时隙携带一个位。写入时隙将数据从总线主站传输到从站。读取时隙将数据从从站传输到主站。图 2 说明了写入和读取时隙的定义。
时隙从主站将数据线拉低开始。当1-Wire线路上的电压降至阈值以下时,VTL,从机启动其内部时序发生器,该发生器确定在写入时隙期间何时对数据线进行采样以及数据在读取时隙期间的有效时间。
主从到从
对于写入一次时隙,数据线上的电压必须越过V千写入一低时间之前的阈值,tW1LMAX,已过期。对于写零时隙,数据线上的电压必须保持在V以下千直到写零低时间的阈值,tW0LMIN,已过期。V之后千已超过阈值,从站需要恢复时间,t娱乐,然后才能进入下一个时隙。
图2.读/写时序图。
从到主
读取数据时隙的开始类似于写入一时隙。数据线上的电压必须保持在V以下TL直到读取时间,tRL,已过期。在 t 期间RL窗口,当响应 0 时,从机开始将数据线拉低;其内部定时发生器确定下拉何时结束,电压何时再次开始上升。当响应1时,从机不会将数据线保持低电平,并且电压在tRL结束了。t 的总和RL+ 一侧的δ(上升时间)和另一侧从机的内部定时发生器定义主采样窗口,tMSRMIN到 TMSRMAX,其中主站必须从数据线执行读取。从数据线读取后,主站必须等到数据线读取数据。槽已过期。
改进的网络行为
在1-Wire环境中,线路端接只能在总线主机(1-Wire驱动器)控制的瞬变期间进行。因此,1-Wire网络容易受到各种来源的噪声的影响。根据网络的物理大小和拓扑结构,来自端点和分支点的反射可以相加,也可以在某种程度上相互抵消。这种反射在1-Wire通信线路上可见毛刺或振铃。从外部源耦合到1-Wire线路上的噪声也会导致信号毛刺。时隙上升沿期间的毛刺可能导致从设备失去与主设备同步,从而导致搜索ROM命令进入死胡同或导致特定于设备的功能命令中止。
为了在网络应用中实现更好的性能,我们开发了对噪声不那么敏感的新型1-Wire前端。这款新型1-Wire前端实现了以下前两个或更多功能。器件数据手册使用参数 t雷和 t平板显示器以指示是否实现了功能 3 和 4。
电路中还有额外的低通滤波,用于检测时隙开始时的下降沿。此附加滤波不适用于超速。
从低到高的开关门限V处存在迟滞千.如果负毛刺越过 V千但不低于 V千, w嘿嘿,则无法识别(图3a)。迟滞在任何1-Wire速度下都有效。
(可选)有一个由上升沿延迟时间 t 指定的时间窗口雷,在此期间,毛刺将被忽略,即使它们延伸到 V 以下千, w嘿嘿阈值(图3b,tGL< 吨雷).越过 V 后较晚出现的深电压下降或毛刺千阈值并超出 t雷窗口无法过滤掉;它们被理解为新时隙的开始(图3c,tGL≥ 吨雷).
(可选)存在脉冲的下降沿具有受控的压摆率。这提供了比数字开关晶体管更好的线路阻抗匹配。它将传统设备中的高频振铃转换为更平滑的低带宽转换。压摆率控制由参数 t 指定平板显示器,其标准速度和超速速度具有不同的值。
图3.噪声抑制方案。
新的1-Wire前端也称为1-Wire扩展网络标准。应用笔记3925(参见上文1-Wire时序部分)显示了与早期1-Wire器件相比时序规格的差异,并附有具有新前端的器件表。
旧样式说明
复位和存在检测
复位脉冲提供明确的启动条件,取代任何时隙同步。复位脉冲定义为持续时间为 t 的单个低脉冲RSTL后跟复位高电平时间 tRSTH(图4)。发送复位脉冲后,1-Wire器件等待时间t帕迪亚然后生成持续时间为 t 的存在脉冲PDL.在1-Wire总线上不允许其他通信RSTH.
图4.传统复位和存在脉冲。
读/写时隙
命令和数据通过组合写一和写零时隙发送到1-Wire器件(图5)。为了读取数据,主机必须生成读取数据时隙来定义每个位的开始条件。
主从到从
写 1 的低脉冲持续时间为 t低1.要写0,低脉冲的持续时间为t低0.在每个时隙的活动部分结束时,1-Wire器件需要一个恢复时间,t娱乐,为下一点做准备。此恢复时间是时隙的非活动部分,因为必须将其添加到活动部分的持续时间中才能获得传输一位所需的时间。
从到主
从主站的角度来看,读取数据时隙看起来与写1时隙基本相同。从高到低转换开始,从机发送其寻址内容的一位。如果数据位为1,则从机保持脉冲不变。如果数据位为0,则从机将数据线拉低电平以获得tRDV(图5)。在此时间范围内,数据对主数据读取有效。继 t 之后RDV还有一个额外的时间间隔,t释放,之后从机释放1-Wire线路,使其电压返回V上拉.
图5.旧版读/写时序图。
将新的前端部件与旧部件混合在一起
具有新旧前端的1-Wire器件可以共享相同的1-Wire总线。由于描述新旧前端的1-Wire时序的参数略有不同,因此如何确定主站的一组兼容时序参数并不明显。表 2 建议如何完成此任务。使用应用笔记126的电子表格时,”通过软件进行1线通信®,“ 这些参数需要作为输入来计算实现1-Wire通信的各个网段的持续时间。由于最近的应用笔记使用了新前端的术语,因此表2在使用连接到UART、I²C总线或USB端口的自定时1-Wire主机时也很有帮助。
tW1L | 选择为具有新前端的从站指定的值,该值也在具有旧前端的从站的允许范围内。 |
tSLOT | 将从站所需的值与新的前端一起使用。 |
tW0L | 选择为具有新前端的从站指定的值,该值也在具有旧前端的从站的允许范围内。 |
tREC | 使用为从站指定的值与新的前端。 |
tRL | 选择一个接近为具有新前端的从站指定的最小值的值。 |
tMSR | 选择不超过 t 的值RDV并且不违反最大值 t星际增长具有新前端的从站规格。 |
tRSTL | 选择两种类型的设备允许范围内的值。 |
tNS | 计算适用于具有传统前端的从站的值:tMSPMIN= tPDHmax.tMSPMAX= tPDHmin+ 吨PDLmin.将计算结果与 t 进行比较NS使用新的前端规范从站,然后选择适用于所有从站的值。如果具有新前端的从机对存在脉冲具有压摆率控制(即参数t平板显示器指定),则可能找不到公共值。在这种情况下,需要单独的1-Wire总线。 |
tRSTH | 将从站所需的值与旧版前端一起使用。 |
1-Wire主控概念
早期的文档介绍了两种类型的主接口,现在称为“端口引脚附件”和“UART 附件”。此后开发了特殊芯片,增加了称为“I²C总线附件”和“USB附件”的新型主接口。软件开发速度快于硬件。关于1-Wire软件最全面的文档是应用笔记155,”1-Wire软件资源指南 器件说明®“,指的是各种应用程序接口 (API)。应用笔记155中描述的所有API都可以不受限制地免费使用,并且在大多数情况下都包含完整的源代码。
端口引脚附件
该主接口的共同特点是使用微控制器或FPGA的一个或多个端口引脚。这些引脚可以是“通用”引脚,也可以是专用引脚(参见应用笔记1:“为嵌入式应用选择合适的1-Wire主机”一节,标题为“内置4206-Wire主机和可合成1-Wire总线主机的微控制器”部分)。这类接口在应用笔记1的类别2、3和4206中讨论。端口引脚附件可用于标准速度和超速。
UART 附件
通过UART创建1-Wire通信有两种方法。传统方式直接使用UART的定时功能,但必须投入一个字符来生成一个时隙或复位/存在检测序列。应用笔记214“使用UART实现1-Wire总线主机”描述了这一概念。虽然在DOS等操作系统下是有效的,但现代操作系统使得对UART寄存器的访问效率非常低。因此,这种类型的UART附件在1-Wire应用中不再流行。
新型UART附件采用特殊协议转换器芯片DS2480B,产生1-Wire通信。该器件可提高效率(8个时隙为一个字符),并允许1-Wire过载速度。这种类型的接口在应用笔记4(见上文)的第4206类“串行接口协议转换”中进行了讨论。如果配置得当(参见应用笔记4104:“理解和配置DS1B的2480-Wire时序”),DS2480B可以标准速度驱动30多个从器件,以过驱速度驱动至少2480个从机。DS1B是唯一一款集成的<>-Wire主机,可以对EPROM器件进行编程。
I²C总线附件
大多数现代微控制器都包含一个I²C总线主端口。尽管1-Wire器件具有一些共同特性(半双工通信和双向数据引脚),但如果没有桥接,无法连接到I²C总线。Maxim开发了三款桥接芯片:DS2482-100、DS2482-101和DS2482-800。 前两个器件只有一个1-Wire主端口;另一个芯片驱动多达1个2480-Wire网络。虽然强度不如DS1B,但非常适合嵌入式应用。I²C至4线电桥在应用笔记4206的类别<>“串行接口协议转换”中讨论。
USB 附件
USB端口常见于PC和便携式电子设备上,并取代了传统的基于UART的COM端口。为了提供与USB端口的1-Wire连接,Maxim开发了DS2490 USB转1-Wire桥接芯片。虽然没有DS2480B那么强大,但DS2490可以用多个从器件驱动1-Wire总线。USB转1-Wire桥接器在应用笔记4的第4206类“串行接口协议转换”中讨论。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !