那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

溫度代碼遷移

星星科技指導員 ? 來源:ADI ? 作者:ADI ? 2023-02-17 11:25 ? 次閱讀

本文檔介紹了ADI公司ADI)系列iButton熱時線器件(特別是DS1921、DS1922和DS1925)的演變,并概述了它們的主要區別和優勢。 它還描述了從一臺設備遷移到另一臺設備所需的必要軟件更改。

介紹

ADI公司(ADI)硬幣大小的1-Wire溫度時線iButton記錄器系列是堅固耐用的電池供電模塊,可按用戶指定的時間間隔獨立測量和記錄溫度。本文檔介紹了ADI系列iButton熱時線器件(特別是DS1921、DS1922和DS1925)的演變,并概述了它們的主要區別和優勢。它還描述了從一臺設備遷移到另一臺設備所需的必要軟件更改。

內存特性

半導體行業中有各種存儲器技術,可提供獨特的性能和功耗優勢。存儲器類型包括電可擦除可編程只讀存儲器 (EEPROM)、閃存、靜態隨機存取存儲器 (SRAM) 等。最終應用通常決定哪種內存技術最有益。內存選擇的因素包括數據是否易失,或者在設備電源斷開時是否必須保留數據。功耗也是一個重要因素,尤其是在設備由電池供電的情況下。表 1 描述了每個器件的集成內存特性。

裝置 內存類型 揮發性的?
DS1921 SRAM 是的
DS1922 SRAM 是的
DS1925 閃光

表1所示,DS1925是唯一具有數據記錄存儲器的器件,即使內部電池電量耗盡,也可以提取數據記錄存儲器。電池電量耗盡后,DS1921和DS1922器件中的數據將永久丟失。電池在所有三個設備中都不可更換。

閃存比SRAM需要更多的編程能力。然而,閃存在電池電量耗盡時保留其數據的能力對于某些應用來說是一個有吸引力的功能。由于DS1925的存儲器是非易失性的,器件的前端和狀態機被改變,允許從1-Wire接口收集功率,從而在器件電池電量耗盡時下載數據。此電源傳輸要求改變了以前設備使用的命令集,這些設備引入了外部電源命令或 XPC。許多DS1925命令都增加了XPC功能,以消除任務配置和數據下載過程中電池的負載。

DS0200和DS1921在存儲器地址1922h處的配置寄存器非常相似,但在兩者之間遷移代碼時需要注意一些差異。從表面上看,DS1925的配置寄存器看起來與其同級寄存器非常相似,但是寄存器位置和解碼存在顯著差異,因此需要更多的代碼遷移工作。

命令集代碼遷移

這三款器件共享通用的1-Wire ROM功能命令(例如,讀取ROM、跳過ROM、匹配ROM等),但DS1921中沒有的恢復ROM命令除外。因此,從DS1921切換到DS<>的任何一個同級時,ROM功能命令代碼都不會發生變化。

雖然DS1921和DS1922之間共享許多器件專用命令,但也存在一些重要差異。DS1925的新狀態機架構和寄存器映射定義與前代產品大相徑庭。

表 2 顯示了設備特定命令之間的交叉兼容性。如表中所示,只有兩個命令完全兼容,無需在所有三個設備上更改代碼。DS1922和DS1925均引入密碼保護,導致命令字節排序發生變化。命令所需的軟件更改如下所示。

DS1921 命令 DS1922 命令 DS1925 命令 代碼更改?
寫入 SPAD (0Fh) 寫入 SPAD (0Fh) 寫入 SPAD (0Fh)
讀取 SPAD (AAh) 讀取 SPAD (AAh) 讀取 SPAD (AAh)
復制SPAD(55小時) 復制帶PW的SPAD(99小時) XPC Copy SPAD (99h) 是的
讀取內存 (F0h) 帶 PW + CRC 的讀存儲器(69 小時) XPC 讀內存 (44h) 是的
帶 CRC 的讀存儲器 (A5h) 帶 PW + CRC 的讀存儲器(69 小時) XPC 讀內存 (44h) 是的
清除內存(3通道) 清除內存(帶PW)(96小時) XPC 清除內存 (96h) 是的
轉換溫度(44小時) 強制轉換(55小時) XPC 強制轉換 (4Bh) 是的
開始任務 – 無命令 開始任務 w/PW (CCh) XPC啟動任務(DDh) 是的
停止任務 – 無命令 停止任務 w/PW (33h) XPC停止任務(BBh) 是的

復制暫存器

DS1921至DS1922代碼遷移

將命令字節從 55h 更改為 99h。

主機必須在 ES 字節之后傳輸 64 位密碼。

復制時間保持不變,每字節2μs。

流程的其余部分與DS1921相同。

DS1921至DS1925代碼遷移

將函數名稱更改為 XPC 復制暫存器。

將命令字節從 55h 更改為 99h。

在ROM級命令之后添加XPC命令(66h)并傳輸長度字節。

在 XPC 命令之后傳輸 XPC 復制暫存器命令。

按照數據資料中的其余流程,與DS1921不同。

DS1922至DS1925代碼遷移

將函數名稱更改為 XPC 復制暫存器。

命令字節沒有變化。

在ROM級命令之后添加XPC命令(66h)并傳輸長度字節。

在 XPC 命令之后傳輸 XPC 復制暫存器命令。

按照數據資料中的其余流程,與DS1922不同。

讀內存

DS1921至DS1922代碼遷移

將命令字節從 F0h 更改為 69h。

主機必須在目標地址之后傳輸 64 位密碼。

必須修改主機的代碼才能在每個頁面的末尾接收CRC16。

DS1921至DS1925代碼遷移

將函數名稱更改為 XPC 讀取內存。

將命令字節從 F0h 更改為 44h。

在ROM級命令之后添加XPC命令(66h)并傳輸長度字節。

在 XPC 命令之后傳輸 XPC 讀取內存命令。

主機必須在目標地址之后傳輸 64 位密碼。

按照數據資料中的其余流程,與DS1921不同。

注冊地圖

寄存器頁面既為任務配置部件(時間、采樣率等),又提供各種項目的狀態,例如警報、樣本計數等。表 3 顯示了各種項目的寄存器地址空間以及它們如何在記錄器系列中進行映射。本節討論表 3 中每個項目所需的代碼遷移。

注冊 DS1921存儲器地址 DS1922存儲器地址 DS1925存儲器地址
實時時鐘 0200h 至 0206h 0200h 至 0205h 0200h 至 0203h
室控報警 0207H至020Ah - -
溫度報警 020Bh 至 020Ch 0208h 至 0209h 0208h 至 0209h
采樣率 020分 0206h 至 0207h 0206h 至 0207h
控制 020Eh 各種 各種
最新溫度 0211小時 020Ch 至 020Dh 020Ch 至 020Dh
任務開始延遲 0212h 至 0213h 0216h 至 0218h 0216h 至 0218h
地位 0214小時 各種 各種
任務時間戳 0215h 至 0219h 0219h 至 021Eh 0219h 至 021Ch
任務樣品計數器 021Ah 至 021Ch 0220h 至 0222h 0220h 至 0222h
設備采樣計數器 021Dh 至 021Fh 0223h 至 0225h 0223h 至 0225h
味道 - 0226小時 0226小時
讀取訪問密碼 - 0228h 至 022Fh 0228h 至 022Fh
完全訪問密碼 - 0230h 至 0237h 0230h 至 0237h

實時時鐘

RTC 寄存器位于兩個設備的相同地址位置。但是,DS1921在地址0203h處使用星期,而DS1922上不存在該星期,導致地址下移<>。其余寄存器的功能保持不變,因此除了更改目標地址外,無需更改代碼。

DS1921至DS1925代碼遷移

雖然DS1925的RTC寄存器位于相同的地址空間中,但解碼卻大不相同。RTC 使用 32 位值,表示自 1 年 1970 月 0204 日午夜以來的秒數。這被稱為紀元時間。不使用地址 0205 和 <>h。

DS1922至DS1925代碼遷移

DS1922的代碼遷移與DS1921相同(見上文)。

室控報警

DS1922和DS1925不具備此功能,因此沒有遷移路徑。

溫度報警

DS1921至DS1922代碼遷移

溫度報警方程略有不同;有關詳細信息,請參閱數據手冊。

DS1921至DS1925代碼遷移

溫度報警方程略有不同;有關詳細信息,請參閱數據手冊。

DS1922至DS1925代碼遷移

溫度報警方程略有不同;有關詳細信息,請參閱數據手冊。

采樣率

DS1921至DS1922代碼遷移

DS1921的采樣速率以分鐘為單位,而DS1922的采樣速率低至<>秒。有關詳細信息,請參閱數據手冊。

DS1921至DS1925代碼遷移

DS1925的采樣速率不同,需要更改代碼。有關詳細信息,請參閱數據手冊。

DS1922至DS1925代碼遷移

對于這兩個器件,采樣率的存儲器地址位置相同,并且操作相同。但是,DS1925的采樣速率不應超過1925分鐘。DS<>中的閃存比SRAM消耗更多的電流,SRAM需要時間恢復電池。閃存提供了在電池耗盡時保留其內容的能力,但代價是采樣率較慢。

控制寄存器

DS1921至DS1922代碼遷移

DS1921中的控制寄存器提供對表4所示各種特性的訪問。DS1922的一些功能集成在啟動/停止任務等命令中,而其他功能則位于使用存儲器寫入啟用的各種存儲器地址中。

DS1921 控制寄存器 DS1922寄存器地址
020Eh 位 0:TAS – 定時器報警搜索 0215h Bit4: WFTA – 等待溫度報警
020Eh 位 1:THS – 高溫報警搜索 0214h Bit1: THF – 溫度高報警標志
020Eh 位 2:TLS – 溫度低報警搜索 0214h 位0: TLF – 溫度低報警標志
020Eh 位 3:RO – 翻轉啟用/禁用 0213h Bit4: RO – 翻轉控制
020Eh 位 4:EM – 啟用任務 0215h Bit1: MIP – 任務進行中
020Eh 位 5:0 -
020Eh 位 6:EMCLR – 使能內存清除 未實現
020Eh 位 7:EOSC – 使能振蕩器 0212h Bit0: EOSC – 使能振蕩器

定時器報警搜索(位 0)

DS1922沒有類似的特性。

高溫報警搜索(位 1)

DS1922的THF標志指示溫度是否超過門限。與DS1921一樣,條件搜索ROM可識別報警器件。該標志位于DS1寄存器中地址0214h處的第1922位。

低溫報警搜索(位 2)

DS1922的TLF標志指示溫度是否降至門限以下。與DS1921一樣,條件搜索ROM可識別報警器件。該標志在DS0寄存器中地址0214h處為1922位。

翻轉啟用/禁用(位 3)

兩個器件之間的功能相同,只是在DS1922中的寄存器地址位置不同。

啟用任務(位 4)

DS1921的使能任務(第4位)直接寫入,DS1922使用啟動/停止任務命令,而任務狀態反映在MIP位(第1位)中。

內存清除啟用(位 6)

與DS1921不同,DS1922不需要使能位來清除存儲器。“內存清除”命令擦除內存,而不使用任何門控位。兩個器件都有一個內存清除 (MEMCLR) 狀態位。它們位于DS3地址0215h的第1922位和DS6地址0214h的第1921位。

使能振蕩器(位 7)

該位控制RTC的晶體振蕩器。每個器件的位在邏輯上是相反的,因此需要更改代碼才能啟用RTC。DS1中的邏輯1921停止振蕩器,同時啟動DS1922中的振蕩器。

DS1921至DS1925代碼遷移

代碼更改與DS1922類似,只是翻轉位在DS1925中沒有實現。

DS1921 控制寄存器 DS1922寄存器地址
020Eh 位 0:TAS – 定時器報警搜索 0215h Bit4: WFTA – 等待溫度報警
020Eh 位 1:THS – 高溫報警搜索 0214h Bit1: THF – 溫度高報警標志
020Eh 位 2:TLS – 溫度低報警搜索 0214h 位0: TLF – 溫度低報警標志
020Eh 位 3:RO – 翻轉啟用/禁用 未實現
020Eh 位 4:EM – 啟用任務 0215h Bit1: MIP – 任務進行中
020Eh 位 5:0 -
020Eh 位 6:EMCLR – 使能內存清除 未實現
020Eh 位 7:EOSC – 使能振蕩器 0212h Bit0: EOSC – 使能振蕩器

DS1922至DS1925代碼遷移

DS1922沒有像DS1921那樣的控制寄存器。對于DS0210和DS0215,該寄存器的功能范圍為1922h至1925h。代碼更改需要使用本文檔前面所述的 XPC 命令來讀取和寫入這些寄存器位置。

最新溫度

DS1921至DS1922代碼遷移

DS1921的最新溫度轉換存儲在地址0211h,而DS1922的兩個字節存儲在地址020Ch和020Dh。代碼更改需要針對新的起始地址以及讀取兩個溫度數據字節而不是一個。此外,代碼應詢問任務控制寄存器中的溫度記錄格式選擇(TLFS)位以確定分辨率,使主機能夠為溫度計算選擇正確的方程。

DS1921至DS1925代碼遷移

DS1925的最新溫度轉換結果跨越兩個字節,地址為020Ch和020Dh。代碼更改需要使用XPC命令,并需要針對新的起始地址以及讀取兩個溫度數據字節而不是一個。此外,代碼應詢問任務控制寄存器中的溫度記錄格式選擇(TLFS)位以確定分辨率,使主機能夠為溫度計算選擇正確的方程。

DS1922至DS1925代碼遷移

兩個設備的寄存器位置相同。代碼更改需要使用 XPC 命令。

任務開始延遲

DS1921至DS1922代碼遷移

DS1922的任務開始延遲計數器在尺寸和地址位置上有所不同。DS1922的計數器長度為<>字節,因此讀取、寫入和尋址寄存器位置需要更改代碼。

DS1921至DS1925代碼遷移

DS1925的任務開始延遲計數器在尺寸和地址位置上有所不同。DS1925的計數器長度為<>字節,因此讀取、寫入和尋址寄存器位置需要更改代碼。代碼更改需要使用 XPC 命令。

DS1922至DS1925代碼遷移

兩個設備的寄存器位置和任務開始延遲計數器的操作相同。但是,代碼更改需要使用 XPC 命令。

地位

狀態寄存器為主機系統提供各種指示器。DS1921將這些標志集中于單個寄存器中,而DS1922和DS1925則跨越兩個寄存器。使用表6將DS1921代碼遷移到DS1922和DS1925。DS1921的MIP、TLF、THF和TAF位只能寫入0。所有其他位都是只讀的。表6中的所有位對于DS1922和DS1925均為只讀。從DS1922遷移到DS1925時不需要更改寄存器地址,因為它們保持不變。但是,代碼更改需要使用 XPC 命令。

任務時間戳

任務時間戳指示采集第一個任務樣本的日期和時間。任務的第一個溫度樣本的時間可以通過將任務時間戳與任務開始延遲相加來計算。

計數器。這三種器件在多個寄存器中的表示方式不同,因此請參閱器件數據手冊,了解器件之間的映射以及如何解碼寄存器值。

任務和設備樣品計數器

樣本數用一個三字節值表示,表示所有三個器件的 24 位無符號整數;但是,寄存器地址不同(見表3)。

味道

DS0226和DS1922位于地址1925h的規格字節表示器件類型(DS1922L、DS1922T等),它們是相同的器件(DS1925除外),但溫度范圍不同。之所以需要該指示器,是因為DS1922x系列器件具有相同的家族代碼,因此彼此無法區分。DS1921不提供此功能。

讀取和完全訪問密碼

讀取密碼和完全訪問密碼位于DS1922和DS1925的同一地址空間中(表3)。在通過位于地址 0228h 的 EPW 位啟用密碼之前寫入密碼。

結論

本文檔提供有關如何將軟件從一個 Thermochron 器件系列遷移到另一個系列的指導,而無需花費大量時間參考器件數據手冊。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ADI
    ADI
    +關注

    關注

    146

    文章

    45860

    瀏覽量

    251883
  • 存儲器
    +關注

    關注

    38

    文章

    7528

    瀏覽量

    164344
  • 電池
    +關注

    關注

    84

    文章

    10675

    瀏覽量

    131314
收藏 人收藏

    評論

    相關推薦

    AKI跨語言調用庫神助攻C/C++代碼遷移至HarmonyOS NEXT

    /C++代碼快速遷移至HarmonyOS NEXT。憑借卓越的兼容性,AKI已成為廠商與開發者打造鴻蒙原生應用過程中廣泛使用的跨語言調用解決方案。 AKI是一款專為鴻蒙原生開發設計的FFI(外部函數接口
    發表于 01-02 17:08

    如何實現90%的C++代碼自動遷移

    如何將代碼遷出x86架構?如何實現90%的C++代碼自動遷移
    發表于 10-25 09:21

    遷移學習

    經典機器學習算法介紹章節目標:機器學習是人工智能的重要技術之一,詳細了解機器學習的原理、機制和方法,為學習深度學習與遷移學習打下堅實的基礎。二、深度學習簡介與經典網絡結構介紹 神經網絡簡介神經網絡組件簡介
    發表于 04-21 15:15

    HarmonyOS應用開發-DiseributedVideoCodelab跨設備視頻遷移

    說明:此Demo用于跨設備遷移視頻內容。您可以方便地跨設備遷移視頻內容,然后在源設備遠程控制、操作遠端設備視頻內容。效果圖:完整代碼地址:https://gitee.com/jltfcloudcn/jump_to/tree/fe
    發表于 07-05 10:24

    如何使用Neon intrinsic的矢量處理代碼遷移到氦intrinsic

    本指南旨在幫助任何將使用霓虹燈內部函數的現有矢量處理代碼遷移到氦內部函數的人。我們將研究不同復雜度的霓虹燈代碼示例,并研究如何將該霓虹燈代碼遷移
    發表于 08-02 07:39

    溫度測試VB源代碼

    溫度測試VB源代碼,單片機學習好資料,歡迎下載學習。
    發表于 03-22 17:35 ?25次下載

    如何從TMS320C54X到TMS320C55X的代碼遷移詳細英文資料概述

    本手冊描述了從TMS320C54 X中遷移代碼的技術。(C54X)DSP到TMS32055X(C55X)DSP。它還描述了在遷移期間和之后優化代碼技術。
    發表于 05-03 09:10 ?10次下載
    如何從TMS320C54X到TMS320C55X的<b class='flag-5'>代碼</b><b class='flag-5'>遷移</b>詳細英文資料概述

    關于LaunchPad溫度代碼

    關于LaunchPad溫度代碼
    發表于 05-07 17:04 ?7次下載
    關于LaunchPad<b class='flag-5'>溫度</b><b class='flag-5'>代碼</b>

    串口溫度顯示的源代碼免費下載

    本文檔的主要內容詳細介紹的是串口溫度顯示的源代碼免費下載。
    發表于 10-25 15:35 ?9次下載
    串口<b class='flag-5'>溫度</b>顯示的源<b class='flag-5'>代碼</b>免費下載

    陶瓷電容的溫度特性代碼溫度系數對照表

    本文檔的主要內容詳細介紹的是陶瓷電容的溫度特性代碼溫度系數對照表免費下載。
    發表于 02-03 08:00 ?7次下載
    陶瓷電容的<b class='flag-5'>溫度</b>特性<b class='flag-5'>代碼</b>與<b class='flag-5'>溫度</b>系數對照表

    DevKit代碼遷移工具主要功能介紹

    本次直播介紹DevKit代碼遷移工具通過自動掃描和分析待遷移代碼,為應用從X86到鯤鵬平臺的遷移提供專業指導,簡化
    的頭像 發表于 12-03 10:49 ?2405次閱讀

    SYCLomatic使開發者自由創建可遷移的異構代碼

    SYCLomatic開放開發,使開發者自由創建可遷移的異構代碼
    的頭像 發表于 05-30 16:49 ?855次閱讀

    一種將CUDA代碼遷移到SYCL和C++的開源工具

    英特爾發布了一項開源工具,該工具可通過名為SYCLomatic的項目,將代碼遷移至SYCL1,這有助于開發者更輕松地將CUDA代碼遷移到SYCL和C++,從而加速面向異構架構的跨架構編
    的頭像 發表于 06-10 11:17 ?1535次閱讀

    將其Android應用的Java代碼遷移到Kotlin

    Meta 稱,遷移到 Kotlin 既簡單又非常復雜。因為 Kotlin 的設計允許從 Java 進行簡單的轉換,并具有經過深思熟慮的互操作性。這種設計使 JetBrains 能夠為開發人員社區提供
    的頭像 發表于 10-28 15:15 ?771次閱讀

    Ampere推出全新軟件遷移工具Ampere Porting Advisor

    當前,開發者對高效的軟件遷移解決方案的需求與日俱增。隨著計算從傳統 x86 架構向 AArch64 架構遷移,尤其是向 Ampere 處理器遷移的勢頭日益強勁,開發者們正在尋找加速代碼
    的頭像 發表于 08-24 10:14 ?1731次閱讀
    百家乐官网园zyylc| 澳门网上博彩| 百家乐玩家技巧分享| 任我赢百家乐官网自动投注系统| 大发888真钱娱乐游戏| 百家乐能赚大钱吗| 线上百家乐官网平台| 足球开户| 摩纳哥百家乐的玩法技巧和规则| 爱拼娱乐城| 百家乐网上真钱娱乐场开户注册| 太阳百家乐官网代理| 百家乐官网赢钱心得| 云鼎娱乐场网址| 嘉年华百家乐的玩法技巧和规则| 做生意风水| 百家乐官网赌场大赢家| 含山县| 大发888娱乐场zb8| 圆梦城百家乐娱乐城| 百家乐官网管家| 玩百家乐官网678娱乐城| 最新皇冠足球投注比分网| 大发888娱乐城高手| 百家乐娱乐软件| 阳宅24方位判断方法| 百家乐官网赌博赌博平台| 百家乐官网下注几多| 百家乐官网| 大发888真坑阿| 克拉克百家乐的玩法技巧和规则 | 中国百家乐技巧| 百家乐最长的闲| 百佬汇百家乐官网的玩法技巧和规则| 百家乐官网账号变动原因| 皇家娱乐场| 百家乐庄家提成| 互博百家乐官网的玩法技巧和规则| 澳门百家乐官网玩| 金沙网上娱乐城| 永利高现金网可信吗|