<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          OneWireViewer使用技巧

          作者: 時(shí)間:2011-11-28 來(lái)源:網(wǎng)絡(luò) 收藏

          摘要:本文深入介紹OneWireViewer軟件的操作、故障顯示方式,以及特定功能Viewer。文中還給出了關(guān)于如何測(cè)試iButton電池及如何驗(yàn)證任務(wù)是否成功啟動(dòng)的建議。文章第二部分介紹軟件安裝、端口配置、適配器檢測(cè)以及更改適配器類型和端口。本文和應(yīng)用筆記4373:“OneWireViewer和iButton?快速使用指南”、應(yīng)用筆記3358:“ OneWireViewer用戶指南”一起,整合了1-Wire和iButton器件用戶可能遇到的所有典型應(yīng)用。

          引言

          最初編寫OneWireViewer軟件的目的是演示1-Wire?應(yīng)用程序接口(API)(適用于Java?)的作用和有效性。該軟件可通過(guò)USB和串口(COM)演示大多數(shù)iButton?和1-Wire器件。軟件可用于32位和64位Windows? 7、Windows Server 2008、Windows Vista?和Windows XP? (SP2及更新)。

          得益于記錄器iButton,OneWireViewer不斷受到研究者的青睞。演示各種iButton和1-Wire器件的用戶界面對(duì)于專注于設(shè)置記錄器并在數(shù)周或數(shù)月后取回?cái)?shù)據(jù)的用戶不是太直觀。當(dāng)OneWireViewer遇到異常情況時(shí),例如記錄器生命周期結(jié)束,找到并解釋故障消息很具有挑戰(zhàn)性。本文介紹如何分析并理解這些故障消息,以及如何區(qū)分設(shè)備故障(例如電池耗盡引起的故障)和操作錯(cuò)誤(例如,未設(shè)置軟件密碼)。文章還介紹了如何在啟動(dòng)任務(wù)之前測(cè)試壞電池,以及驗(yàn)證任務(wù)是否成功啟動(dòng),并跟蹤記錄器的電量。本文第二部分著重于軟件方面,包括確定OneWireViewer和底層1-Wire驅(qū)動(dòng)的版本、啟動(dòng)軟件安裝、軟件升級(jí)和卸載,以及更改通信端口和1-Wire適配器。

          iButton和1-Wire器件的類型

          有三種類型的1-Wire產(chǎn)品:帶電池的iButton器件(記錄器、NV SRAM存儲(chǔ)器和實(shí)時(shí)時(shí)鐘(RTC))、無(wú)電池iButton器件(傳感器、EPROM和EEPROM),以及1-Wire芯片(各種功能且?guī)Щ虿粠Т鎯?chǔ)器)。所有1-Wire器件都有64位ROM ID,內(nèi)置8位循環(huán)冗余校驗(yàn)(CRC)。存儲(chǔ)器和/或控制功能(除ROM功能命令之外的所有功能)能夠(但不需要)采用保護(hù)數(shù)據(jù)安全的機(jī)制防止通信錯(cuò)誤。如表1所示,絕大部分1-Wire器件具有內(nèi)置CRC支持。有或無(wú)安全保護(hù),例如CRC,影響OneWireViewer檢測(cè)和處理與1-Wire器件通信時(shí)的異常情況的能力。


          表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

          *除非另外說(shuō)明,均為CRC-16。
          **有限支持:濕度讀數(shù)不進(jìn)行溫度補(bǔ)償,也不進(jìn)行飽和漂移修正。

          故障機(jī)制

          盡管iButton器件外形結(jié)實(shí),但本質(zhì)上并不是密封的。尤其是iButton記錄器,往往會(huì)意外暴露于潮濕環(huán)境,例如空氣中的水分、器件處于地下時(shí)的雨水,或者器件淹沒(méi)在水中時(shí)。當(dāng)溫度循環(huán)時(shí),iButton產(chǎn)品實(shí)際上能“排出”潮氣。

          iButton內(nèi)部一旦進(jìn)水,就會(huì)產(chǎn)生傳導(dǎo)性通路,隨著時(shí)間推移,造成電池漏電。水和iButton電路板上金屬之間的化學(xué)反應(yīng)會(huì)造成腐蝕。這會(huì)造成數(shù)據(jù)線和GND之間短路,或者斷開數(shù)據(jù)線和芯片的通路并連接至GND。

          如果連接至1-Wire總線:

          ?通信通路斷開的器件不會(huì)造成任何錯(cuò)誤。僅僅是OneWireViewer找不到該器件。
          ?內(nèi)部短路的器件也不會(huì)產(chǎn)生錯(cuò)誤。它會(huì)造成其它全部器件從OneWireViewer的器件列表中消失。
          ?電池耗盡但數(shù)據(jù)線和GND未短路的iButton將在OneWireViewer中引起各種各樣的錯(cuò)誤。錯(cuò)誤消息與是否支持CRC有很大關(guān)系。

          如何顯示錯(cuò)誤

          OneWireViewer有兩種方式向用戶通告錯(cuò)誤。最明顯的位置是OneWireViewer主窗口底部(圖1)。不太明顯的位置是錯(cuò)誤記錄窗口(圖2)。


          圖1. 顯示錯(cuò)誤消息最明顯位置是主窗口底部。


          圖2. 錯(cuò)誤記錄文件中的相同錯(cuò)誤說(shuō)明。

          為了打開錯(cuò)誤記錄窗口,點(diǎn)擊View菜單,然后選擇Show Message Log,如圖1所示。然后在消息記錄窗口中點(diǎn)擊Level檢查確認(rèn)Information已選中。

          典型錯(cuò)誤消息

          訪問(wèn)不支持CRC的器件時(shí),OneWireViewer通過(guò)寫入后再讀回檢查寫操作是否成功。如果讀回的數(shù)據(jù)與寫入的數(shù)據(jù)不一致,典型的錯(cuò)誤消息以Read back of scratchpad had incorrect data或Read back verify had incorrect data結(jié)束。消息的開始說(shuō)明錯(cuò)誤發(fā)生的時(shí)間(也稱為“異?!?。

          有兩類器件支持CRC:帶密碼保護(hù)(記錄器iButtons DS1922系列、DS1923和DS1977)和無(wú)密碼保護(hù)(記錄器iButtons DS1921系列、不帶電池的其它iButtons和1-Wire芯片)的器件。無(wú)論哪種,OneWireViewer均通過(guò)讀取1-Wire器件在存儲(chǔ)器/控制功能命令流期間產(chǎn)生的CRC確定讀或?qū)懖僮魇欠癯晒Α?/P>

          對(duì)于無(wú)密碼保護(hù)的器件,錯(cuò)誤消息以Invalid CRC16 read from device結(jié)束。消息的開始通常(并不總是)說(shuō)明錯(cuò)誤或異常發(fā)生的時(shí)間。對(duì)于帶密碼保護(hù)的器件,錯(cuò)誤信令則更復(fù)雜。錯(cuò)誤末尾可能為Invalid CRC16 read from device (訪問(wèn)無(wú)保護(hù)的中間結(jié)果暫存器時(shí))或Invalid CRC16 read from device. Password may be incorrect (訪問(wèn)其它存儲(chǔ)器區(qū)域時(shí))或Invalid CRC16 read from device. Password may be incorrect or a sample may be in progress (訪問(wèn)記錄器iButton DS1922系列或DS1923的數(shù)據(jù)記錄存儲(chǔ)器時(shí))。

          特定功能Viewer錯(cuò)誤行為

          OneWireViewer包括幾個(gè)特定功能Viewer:Thermochron、Mission、Temperature、Humidity、A to D、Switch、Clock、Memory和File。除Switch外,全部適用于記錄器iButton器件,非常受非技術(shù)型用戶的青睞。表2中匯總了各種不同的功能Viewer如何處理錯(cuò)誤情況。Thermochron和Mission Viewer僅僅在消息記錄中顯示錯(cuò)誤,經(jīng)驗(yàn)不足的用戶很容易忽略該位置。

          用戶可能會(huì)對(duì)使用密碼保護(hù)感到迷惑。如果已啟用密碼,但沒(méi)有設(shè)置特定器件的軟件密碼,Viewer就不能讀取器件配置寄存器。這會(huì)造成顯示Real-Time Humidity和A to D Viewer。DS2422和DS1922或DS1923在電池耗盡時(shí)也出現(xiàn)這種情況。

          表2. 特定功能Viewer行為

          Function

          Error Signaling

          Special Notes

          Thermochron? (DS1921)

          Message log only

          All tabs can be opened. No tab has data (the right half of the Status tab is empty) if the battery is drained.

          Mission (DS1922, DS1923)

          Message log only

          Only the Status tab can be opened. The right half of the Status tab is empty if the software password is not set or the battery is drained. See the Distinguishing Between an Incorrect Password and a Drained Battery section to identify the reason.

          Temperature

          Main window, message log

          The Temperature viewer always generates an error message if a mission is in progress.

          A to D (Humidity)

          Main window only

          The A to D (Humidity) viewer always generates an error message if a mission is in progress.

          Clock

          Main window only

          Non-CRC parts: an error is signaled only with Synchronize Clock to PC time and Halt Real-Time Clock.
          A date in February 2106 is indicative for a drained battery.

          CRC parts: an error is signaled when opening the Clock tab and when executing any of the functions.

          Memory

          Main window, message log

          Non-CRC parts: an error is signaled only with Commit Changes.

          CRC parts: an error is signaled when reading a memory bank; Commit Changes is not executable.

          File

          Main window, message log

          The file viewer builds on Memory viewer functions. Therefore, error messages explained above apply only to the elementary functions Format Device (all parts) and Create Directory (non-CRC parts).


          區(qū)分密碼不正確和電池耗盡

          暫不論1-Wire適配器和iButton之間電氣接觸不良,產(chǎn)生無(wú)效CRC16的Viewer并不知道是記錄器的密碼還是記錄器電池耗盡造成的。目前的OneWireViewer(版本3.15.50及更早)不能區(qū)分這兩種情況。唯一無(wú)需密碼即可訪問(wèn)的存儲(chǔ)器區(qū)域?yàn)橛涗浧鞯?2字節(jié)中間結(jié)果暫存器。測(cè)試非常簡(jiǎn)單:選擇有問(wèn)題的記錄器,打開Memory 標(biāo)簽頁(yè),然后選擇存儲(chǔ)器組Scratchpad with CRC and Password。如果電池良好,CRC16有效,中間結(jié)果暫存器內(nèi)容顯示在Viewer的主窗口中。如需要,可覆蓋一個(gè)或多個(gè)中間結(jié)果暫存器數(shù)據(jù)字節(jié),然后點(diǎn)擊Commit Changes按鈕。如果電池良好,將能接收到新數(shù)據(jù),可通過(guò)刷新檢驗(yàn)。這是好消息。壞消息是需要找到正確的密碼。找到密碼后,需要通過(guò)Password標(biāo)簽頁(yè)上的Set Software Password功能輸入。該步驟之后,刷新Mission標(biāo)簽頁(yè)上的任務(wù)結(jié)果,就又能訪問(wèn)記錄器iButton上的全部功能。注意,OneWireViewer不在文件中保存密碼,程序關(guān)閉時(shí)將丟失密碼。

          與適配器的通信錯(cuò)誤

          至此討論的錯(cuò)誤情形都與不同功能Viewer及潛在的iButton或1-Wire器件故障有關(guān)。假定1-Wire適配器和1-Wire器件之間的連接是可靠的。如上所述,間歇性接觸不良會(huì)造成CRC錯(cuò)誤或回讀驗(yàn)證錯(cuò)誤。

          如果計(jì)算機(jī)端口和1-Wire適配器時(shí)間的通路不可靠,就會(huì)發(fā)生另一種類型的錯(cuò)誤。正常通信期間,這會(huì)產(chǎn)生以下錯(cuò)誤消息:

          ERROR: ThermochronViewer (ROM ID>) Setup Error:
          com.dalsemi.onewire.OneWireException: 1-Wire Adapter communication exception

          例如下載DS1921的數(shù)據(jù)記錄時(shí)?;蛘?/P>

          ERROR: OneWireViewer (null) 1-Wire exception:
          com.dalsemi.onewire.adapter.OneWireIOException: native TMEX error -12

          掃描1-Wire總線查找新接入或斷開的器件時(shí)。如果出現(xiàn)此類錯(cuò)誤,檢查計(jì)算機(jī)端口(COM或USB)之間的電纜,確保所有連接牢固可靠,重啟OneWireViewer,然后重復(fù)被適配器錯(cuò)誤中斷的操作。

          啟動(dòng)任務(wù)之前測(cè)試壞電池

          檢查器件是否仍然能夠正常工作是非常明智的,尤其是iButton記錄器之前被使用過(guò)。如表2所示,有多個(gè)功能Viewer可供選擇。如果按推薦條件保存記錄器,例如暫停實(shí)時(shí)時(shí)鐘,則首選為Clock Viewer。在OneWireViewer的Device List中選擇被測(cè)試記錄器,打開Clock標(biāo)簽頁(yè),然后等待幾秒鐘。然后點(diǎn)擊Synchronize Clock to PC Time按鈕。如果電池良好,將不會(huì)出現(xiàn)錯(cuò)誤消息,與PC的時(shí)間差為零或1秒。如果產(chǎn)生錯(cuò)誤消息,檢查是否啟用了記錄器的密碼(見區(qū)分密碼不正確和電池耗盡部分)。

          驗(yàn)證并啟動(dòng)任務(wù)

          關(guān)于如何啟動(dòng)任務(wù)的說(shuō)明請(qǐng)參見應(yīng)用筆記3358:“OneWireViewer用戶指南”中的Thermochron和Mission部分。對(duì)于Thermochron Viewer,確保反轉(zhuǎn)設(shè)置、采樣率(采樣之間的分鐘數(shù))和任務(wù)啟動(dòng)延遲(單位為分鐘)設(shè)置與要求一致。如果啟動(dòng)任務(wù)之前已經(jīng)測(cè)試過(guò)時(shí)鐘,同步RTC沒(méi)有區(qū)別。設(shè)置溫度報(bào)警門限值可能有用,在任何情況下,完成任務(wù)后處理溫度記錄時(shí)可以識(shí)別報(bào)警情況(參見應(yīng)用筆記3809:“將DS192x的記錄數(shù)據(jù)從OneWireViewer中導(dǎo)入到Excel?)”。時(shí)鐘報(bào)警功能不影響任務(wù)結(jié)果,因此可忽略。

          對(duì)于Mission Viewer,確保反轉(zhuǎn)設(shè)置、采樣率(采樣之間的秒數(shù))和任務(wù)啟動(dòng)延遲(單位為分鐘)設(shè)置與要求一致。如果啟動(dòng)任務(wù)之前已經(jīng)測(cè)試過(guò)時(shí)鐘,同步RTC沒(méi)有區(qū)別。對(duì)于要包含在記錄中的通道(溫度,DS1923還有濕度,如果需要的話),選中Enable sampling,然后選擇分辨率。和之前一樣,可選擇設(shè)置報(bào)警門限值。

          選擇了任務(wù)參數(shù)后,點(diǎn)擊OK,任務(wù)應(yīng)開始。如果啟動(dòng)成功,Status標(biāo)簽頁(yè)的右下方(Thermochron和Mission Viewer)會(huì)填充以數(shù)據(jù),與應(yīng)用筆記3358中的屏幕截圖類似。其它標(biāo)簽頁(yè)也是如此。如果這些區(qū)域仍為空白,說(shuō)明任務(wù)未啟動(dòng)。這種情況下,打開消息記錄,并滾動(dòng)查看錯(cuò)誤消息。

          漏電開關(guān)相關(guān)文章:漏電開關(guān)原理

          上一頁(yè) 1 2 3 4 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();