微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > OneWireViewer使用技巧

OneWireViewer使用技巧

时间:11-28 来源:互联网 点击:

摘要:本文深入介绍OneWireViewer软件的操作、故障显示方式,以及特定功能Viewer。文中还给出了关于如何测试iButton电池及如何验证任务是否成功启动的建议。文章第二部分介绍软件安装、端口配置、适配器检测以及更改适配器类型和端口。本文和应用笔记4373:“OneWireViewer和iButton?快速使用指南”、应用笔记3358:“ OneWireViewer用户指南”一起,整合了1-Wire和iButton器件用户可能遇到的所有典型应用。

引言

最初编写OneWireViewer软件的目的是演示1-Wire?应用程序接口(API)(适用于Java?)的作用和有效性。该软件可通过USB和串口(COM)演示大多数iButton?和1-Wire器件。软件可用于32位和64位Windows? 7、Windows Server 2008、Windows Vista?和Windows XP? (SP2及更新)。

得益于记录器iButton,OneWireViewer不断受到研究者的青睐。演示各种iButton和1-Wire器件的用户界面对于专注于设置记录器并在数周或数月后取回数据的用户不是太直观。当OneWireViewer遇到异常情况时,例如记录器生命周期结束,找到并解释故障消息很具有挑战性。本文介绍如何分析并理解这些故障消息,以及如何区分设备故障(例如电池耗尽引起的故障)和操作错误(例如,未设置软件密码)。文章还介绍了如何在启动任务之前测试坏电池,以及验证任务是否成功启动,并跟踪记录器的电量。本文第二部分着重于软件方面,包括确定OneWireViewer和底层1-Wire驱动的版本、启动软件安装、软件升级和卸载,以及更改通信端口和1-Wire适配器。

iButton和1-Wire器件的类型

有三种类型的1-Wire产品:带电池的iButton器件(记录器、NV SRAM存储器和实时时钟(RTC))、无电池iButton器件(传感器、EPROM和EEPROM),以及1-Wire芯片(各种功能且带或不带存储器)。所有1-Wire器件都有64位ROM ID,内置8位循环冗余校验(CRC)。存储器和/或控制功能(除ROM功能命令之外的所有功能)能够(但不需要)采用保护数据安全的机制防止通信错误。如表1所示,绝大部分1-Wire器件具有内置CRC支持。有或无安全保护,例如CRC,影响OneWireViewer检测和处理与1-Wire器件通信时的异常情况的能力。


表1. OneWireViewer支持的1-Wire器件

Device Type

Memory and/or Control Functions CRC Support

Yes*

No

iButtons with Built-In Battery

DS1921 series, DS1922 series, DS1923** (Loggers)

DS1904 (RTC), DS1992, DS1993, DS1995, DS1996 (Memories)

iButtons without Battery

DS1920 (8-bit CRC), DS1972, DS1973, DS1977, DS1982 (8-bit CRC), DS1985

DS1971

1-Wire Chips

DS18S20 (8-bit CRC), DS1822 (8-bit CRC), DS18B20 (8-bit CRC), DS2406, DS2408, DS2422, DS2431, DS24B33, DS2438 (8-bit CRC), DS2450, DS2502 (8-bit CRC), DS2505, DS28E04, DS28EA00 (8-bit CRC), DS28EC20

DS2413, DS2415, DS2417, DS2430A, DS2762

*除非另外说明,均为CRC-16。
**有限支持:湿度读数不进行温度补偿,也不进行饱和漂移修正。

故障机制

尽管iButton器件外形结实,但本质上并不是密封的。尤其是iButton记录器,往往会意外暴露于潮湿环境,例如空气中的水分、器件处于地下时的雨水,或者器件淹没在水中时。当温度循环时,iButton产品实际上能“排出”潮气。

iButton内部一旦进水,就会产生传导性通路,随着时间推移,造成电池漏电。水和iButton电路板上金属之间的化学反应会造成腐蚀。这会造成数据线和GND之间短路,或者断开数据线和芯片的通路并连接至GND。

如果连接至1-Wire总线:

?通信通路断开的器件不会造成任何错误。仅仅是OneWireViewer找不到该器件。
?内部短路的器件也不会产生错误。它会造成其它全部器件从OneWireViewer的器件列表中消失。
?电池耗尽但数据线和GND未短路的iButton将在OneWireViewer中引起各种各样的错误。错误消息与是否支持CRC有很大关系。

如何显示错误

OneWireViewer有两种方式向用户通告错误。最明显的位置是OneWireViewer主窗口底部(图1)。不太明显的位置是错误记录窗口(图2)。


图1. 显示错误消息最明显位置是主窗口底部。


图2. 错误记录文件中的相同错误说明。

为了打开错误记录窗口,点击View菜单,然后选择Show Message Log,如图1所示。然后在消息记录窗口中点击Level检查确认Information已选中。

典型错误消息

访问不支持CRC的器件时,OneWireViewer通过写入后再读回检查写操作是否成功。如果读回的数据与写入的数据不一致,典型的错误消息以Read back of scratchpad had incorrect data或Read back verify had incorrect data结束。消

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top