您的 DS18B20 溫度感測器很可能是假冒的、仿冒的、克隆的...
....除非您直接從 Analog Devices(或 Analog Devices 收購先前的 Maxim Integrated,或過去的 Dallas Semiconductor)、授權經銷商(DigiKey、RS、Farnell、Mouser 等)或大型公司購買晶片零售商,或者您非常小心地購買了防水DS18B20 探頭。 2019 年,我們在eBay、速賣通和大大小小的網上商店上從70 多家不同供應商那裡購買了1000 多個「防水」探頭或裸晶片。都含有假冒DS18B20 感測器,而且幾乎所有探頭都含有假冒DS18B20 感測器。
作者:Chris Petrich,2024 年 11 月 11 日。資料來源:https://github.com/cpetrich/counterfeit_DS18B20/
(基於 2019 年之後訂購的感測器或探頭的感測器資訊要么如此表示,要么標有添加年份,例如「 (2020) 」。)
太長了;我怎麼知道?
如果 ROM 不遵循模式 28-xx-xx-xx-xx-00-00-xx,則 DS18B20 感測器是克隆感測器 [5]。
然而,ROM 模式不足以測試真實性。舉個例子,如果模式是 28-xx-xx-xx-00-00-00-xx 並且頂部標記指定晶片C4
,則感測器是克隆,因為該 ROM 模式早於C4
晶片,參見討論 42. (2024)
提供了一個 Arduino 草圖來測試 DS18B20 感測器:
-
discover-classify_fake_DS18B20.ino
是一個選單驅動的草圖,它執行無害的測試,指示感測器是否顯示與 Dallas/Maxim/Analog DS18B20 的偏差。它可以選擇嘗試將感測器與特定係列相匹配(請參閱下文),這主要基於對未記錄的功能代碼的回應(使用此功能需要您自擔風險)。此草圖不適用於寄生電源。 (截至 2024 年 11 月 10 日,2019 年的兩個草圖discover_fake_DS18B20.ino
和classify_fake_DS18B20.ino
已被刪除,因為它們已過時。)
命名法:ROM 28-AA-BB-CC-DD-EE-FF-0C 在 Linux 1-wire 子系統中將寫成 28-FFEEDDCCBBAA。
截至 2024 年的概覽
有經過時間考驗的原始/正品 DS18B20(A1 系列),還有一些克隆產品,它們要么主要設計為看起來像正品,要么設計有創新或至少有用的功能。
在第一組中,我們有 A2 系列(已過時)和 A3 系列(最近新增),它們似乎旨在作為假冒產品進入市場,意圖欺騙客戶。除了符合「溫度資料」圖中的資料(即 0 °C 時的溫度偏移和轉換時間(其中,順便說一句,它是所有克隆中最慢的)。然而,與 Family A2(早於該儲存庫)不同,他們止步於此,並努力複製原始版本(學生專案的標誌...)。雖然我很高興看到有人實際上按照我的規格設計和製造微晶片,但我確實認為這是對開發人員技能和技術進步的浪費。第一組中還有 Family B1v2,它是 Family B1 的最新變體,刪除了 2 位元組用戶內存,使其更像正宗的 DS18B20:這是一個有點悲傷的發展過程;據我所知,G 系列並沒有添加任何重要的內容,而是引入了一些奇怪的現象,這些怪現像要麼很有趣(參見字節6),要么會導致寄生電源模式下的系統故障(例如,將數據線拉低(! ));還有H家族,看起來有點像G家族,但沒有任何怪癖。誠然,G 系列和 H 系列執行 12 位元溫度轉換的速度是正品 DS18B20 的兩倍,因此也許它們值得讚揚。
第二組克隆是光明的一面。我們看到
- GXCAS(B1系列,不包括B1v2)、7Q-Tek(B2系列)、Mysentech(D系列)和Novosense(E系列)已為其克隆添加了2或3字節的用戶內存(E系列有專用的功能程式碼可供讀取,寫入,並將它們儲存在EEPROM中),
- C 系列、Mysentech(D1 系列)和 Xinbole(F 系列)推出了可在 30 ms 內執行 12 位元溫度轉換的克隆,即正品 DS18B20 保證轉換時間的 5%(當然,D1 系列的溫度性能較差) ) ,
- Xinbole(F系列)具有擴展溫度模式,可測量高達150°C的溫度,並且
- Mysentech(D2 系列)可以進入解析度為 0.016 °C 的 14 位元模式。
我真的很欣賞一些晶片中隱藏的瑰寶以及它們背後的工程師的努力。然而,這些都不應該被理解為認可,因為我還沒有測試感測器是否符合各自數據表中的規格,更不用說 Maxim/Analog 數據表中的規格了。
我為什麼要關心?
除了道德問題之外,一些假冒感測器實際上無法在寄生功率模式下工作、噪音水平高、溫度偏移超出宣傳的 ±0.5 °C 範圍、不包含 EEPROM、存在錯誤和未指定的故障率,或與以Maxim 資料表中的規範另一種未知的方式。顯然,這些問題還不足以阻止人們在 eBay 上購買探頭,但當數據很重要或測量條件很困難時,了解實際規格可能會有所幫助。
我們在處理什麼?
定義有所不同,但根據 AIR6273,假冒產品是指未經授權的複製、模仿、替代或修改,歪曲為來自授權製造商的特定正品 [13]。截至 2019 年,主要問題是仿製品(克隆品)被貼上標籤,誤導毫無戒心的買家。幸運的是,DS18B20 克隆幾乎很容易識別:晶片上的標記是印刷的而不是雷射的?後面的凹痕沒有標示嗎?很可能是假貨。 「暫存暫存器」的內容與資料表不符?很可能是假貨。其行為在系統上與已知的正品晶片不同嗎?很可能是假貨。
他們長什麼樣子?
上圖是採用 TO-92 外殼的 Maxim 生產的正宗DS18B20 感測器範例。
- 截至撰寫本文時(2019 年),原始 Maxim 晶片的頂部標記是雷射加工而不是印刷的。
- 前兩行
DALLAS 18B20
指定該零件是 DS18B20(達拉斯半導體是原始生產商),僅寄生電源晶片帶有標記DALLAS 18B20P
。 - 第 4 行中的
+
表示該部件符合 RoHS 標準 ([1])。 - 第 3 行指定生產年份和該年的週數(在本例中為 2019 年的第 32 週),以及
- 第 3 行的最後兩個字元指定模具的版本(目前為
C4
)。 - 在第4行中,三位數字後面跟著兩個字元是批次程式碼的一種形式,可以讓Maxim追溯生產歷史。
- 在 2016 年或之後生產的晶片中,我只遇到過字元組合
AB
和AC
[5]。
- 外殼背面凹口內的標記是
P
(菲律賓?)在 2016 年至 2019 年的所有晶片上,在 2020 年(2020 年)的大多數晶片上,以及至少可追溯到 2009 年的大多數(?)晶片上 [5]。-
THAI <letter>
(泰國?)其中<letter>
是I
、 J
、 K
、 L
、 M
、 N
、 O
、 S
、 T
、 U
、 V
、 W
、 X
和可能的其他之一,至少在某些生產的晶片上2011年[5]。 <letter>
使用與組成THAI
字母不同的字體。 - 自 2020 年以來,某些晶片上可能有額外標記或沒有標記(請參閱第 21 期、第 22 期) (2020)
- 從我在 TO-92 封裝上看到的情況來看,在縮排 [5] 中標記為
P
的晶片上恰好有一個與日期代碼相關的批次代碼。這不適用於縮排中標記為THAI
晶片 [5]。
為避免混淆:此處研究的晶片的相關 Maxim 零件號碼為DS18B20+
,即 TO-92 封裝且符合 RoHS 標準。並非本頁所述的所有內容都適用於DS18B20+PAR
僅寄生電源變體(我無法判斷,因為我只查看了其中的一小部分)。為簡潔起見,這些晶片在資料表 [1] 中稱為DS18B20
。
我如何知道我是否受到影響?
如果 DS18B20 是透過受控供應鏈從授權經銷商處購買的,並且被標記為由 Maxim 或 Analog Devices 生產,那麼該晶片就是合法的。
否則,(I) 可以測試是否符合資料表。 (實際上應該這樣做,因為即使是正品零件也可能在未經授權的分銷鏈上被錯誤處理。但這又是另一個問題。)如果感測器未通過任何這些測試,那麼它就是假的(除非Maxim 的實作有錯誤[4])。 (II) 可以將感測器行為與 Maxim 生產的 DS18B20 的行為進行比較。這些測試基於這樣的推測:Maxim 生產的所有 DS18B20 的行為都相似。至少對於共享晶片程式碼的感測器來說應該是這種情況(至少自 2009 年以來一直是C4
[5])[5]。
關於 (I),目前數據表所述的內容與感測器實際包含的內容之間存在差異 [1,5]
- 系列 B:暫存器暫存器中的保留位元組可以被覆寫(透過遵循資料表中的說明)
- 系列 C:感測器固定為 12 位元模式(即暫存器暫存器的位元組 4 始終為
0x7f
) - C 系列:EEPROM 寫入週期數非常少(10 個數量級,而不是 >50k)
- 系列 B1、D1:ROM 可以在軟體中更改,即它不是雷射加工的
- A2、B2、D1 系列:大量感測器在 0 °C 時偏移超出 ±0.5 C 範圍
- D 系列:感測器在寄生模式下不會響應(適用於 D 系列的大多數感測器)
- 系列 D:通電後的溫度讀數為 25°C,而非 85°C
- 系列 D:感測器無法更快執行低解析度溫度轉換
- 系列 D:暫存器暫存器的保留位元組 5 和 7 分別不是
0xff
和0x10
- 系列 D1:在電源循環期間保留溫度測量值
- E 系列:具有客製化暫存器暫存器
- Family F:無法輪詢溫度轉換完成狀況
- F 系列:可測量高達 150 °C(而非 125 °C)的溫度
- 系列 A3:輪詢溫度轉換完成僅在延遲一段時間後才起作用
因此,截至 2019 年,每種假冒感測器都至少在某一方面不符合資料表。 (截至 2024 年,G 族或 H 族不能這樣說。)
關於 (II),有一個極其簡單的測試來測試與 Maxim 生產的 DS18B20 感測器的差異,大多數假冒感測器都失敗了 [5]:
- 如果它的 ROM 位址不遵循 28-xx-xx-xx-xx-00-00-xx [5] 模式,那麼它就是假的。 (他們的 ROM 本質上是一個 48 位元計數器,最高有效位元仍為 0 [5]。)只有 A3 系列努力阻止這項規則,但截至 2024 年,他們做得太過分了。此外,除了罕見的系列 A2 和系列 A3、B1v2 和 H 之外,沒有一個克隆在暫存器暫存器中正確設定保留位元組 6。只有 A2 和 A3 系列的克隆能夠正確回應有關 Trim 值的未記錄功能代碼。
除了明顯的實作差異(例如上面在(I)和(II)下列出的差異之外,還有可用於單獨實現的旁路資料。例如,報告的 12 位元溫度轉換時間(透過在室溫下功能代碼 0x44 後輪詢完成來確定)是各個晶片的特徵(在恆溫下可再現遠好於 1%),並且落在不同的範圍內由電路內部結構決定[5]:
- 11 毫秒:家庭 D1
- 21-23 毫秒:E 系列(2024)
- 28-30 毫秒:C 系列
- 226-320 毫秒:G 家族(2024)
- 325-505 毫秒:A2 系列
- 460-525 毫秒:家庭 D2
- 580-615 毫秒:A1 系列
- 577-626 毫秒:A3 系列(2024)
- 585-730 毫秒:B 族
因此,A1、A3 和 B 系列之間會存在一些邊緣情況,但簡單地測量溫度轉換所花費的時間通常足以確定感測器是否是偽造的。
操作的一個重要方面是感測器將數據線拉低至固定上拉電阻的能力。事實證明,這種能力在不同家庭之間存在差異。資料表保證感測器能夠在 0.4 V 電壓和高達 125 °C 的任何溫度下吸收至少 4 mA 的電流 [1]。提供 4 mA 的電流(針對 5 V 的 1.2 kOhm 上拉電阻),感測器在室溫下實現了以下low
電壓(請注意,每個系列僅測量 5 到 10 個感測器):
- 系列 A1:0.058 - 0.062V
- 系列 B2:0.068 - 0.112 V(除一個感測器外的所有感測器:0.068 - 0.075 V)
- C 系列:0.036 - 0.040 V
- 系列 D2:0.121 - 0.124V
所有感測器在室溫下都完全符合規格,但按系列的數據聚類很明顯,表明硬體是獨立設計的。在 100 °C 以上重複這些測量可能會很有趣。
或者,
- 如果感測器外殼上列印的日期批次組合不在Maxim資料庫中(需要詢問Maxim技術支援才能查明),則感測器是假的。 (請注意,有些假冒產品使用“正品”日期-批次組合,因此可能會忘記此選項。)
請注意,上述任何一點都不能確定特定的 DS18B20 是真正的 Maxim 產品,但如果上述任何測試表明“假”,那麼它肯定是克隆產品 [5]。
我會遇到哪些類似 DS18B20 的晶片系列?
除了最初由Dallas Semiconductor 生產、Maxim Integrated 在收購Dallas 後繼續生產的DS18B20(A1 系列,下)之外,截至2019 年,還有至少5 家其他公司獨立生產的TO-92 克隆產品(B1、B2、 C 系列、 D,E)[5]。系列的劃分是基於未記錄的功能代碼中的模式,晶片對此做出響應,因為該級別的相似性不太可能是巧合的 [5]。 B1系列晶片似乎是GXCAS生產的,並由GXCAS和UMW獨立校準和銷售。 B2系列晶片由北京七丘科技(7Q-Tek)生產。 UMW 和 7Q-Tek 在各自的網頁上都有對應的資料表。 D1家族似乎正在淡出人們的視線,取而代之的是D2家族。 A2 系列晶片非常罕見,其性能與正品晶片驚人地相似,但溫度精度較差。自 2022 年起,E 系列晶片是此頁面的新增內容,F、G、H、A3 和 B1v2 系列晶片於 2024 年添加。
在我們2018/19 年從中國、德國和英國eBay 購買的防水DS18B20 探頭中,大多數批次都有B1 系列感測器,而三分之一的採購有D 系列感測器。 。在採購TO-92封裝的DS18B20晶片時,D2族明顯佔據主導地位,B2族次之,取得A1或C族晶片的可能性較小。
在下面的 ROM 模式中, tt和ss代表生產運作中快速變化和慢速變化的值 [5], crc是資料表 [1] 中定義的 CRC8 校驗和。
DS18B20 拆蓋
該拼貼畫顯示了我們在 2019 年遇到的所有 DS18B20 系列晶片的照片。寬度 1.4 毫米。我們用鉗子打開TO-92外殼,透過在樹脂中煮沸將模具從塑膠外殼上分離,並在超音波浴中用丙酮去除樹脂。照片是用相當古老的 USB 相機拍攝的。
A1系列是Maxim生產的正品DS18B20( C4
晶片)。所有其他家庭都是克隆人。請注意 D1 和 D2 系列的模具之間的相似性(與它們在軟體中的相似性一致)以及系列 B1 和 B2 之間的顯著差異(與它們在軟體中的相似性相反)。
A1 系列:正品 DS18B20
2019年在ebay或速賣通上沒有獲得包含這些晶片的探針,但2019年從少數供應商獲得了晶片
- ROM 模式 [5]:28-tt-tt-ss-ss-00-00-crc
- 暫存器暫存器:
(<byte 0> + <byte 6>) & 0x0f == 0
在所有成功的溫度轉換之後,且0x00 < <byte 6> <= 0x10
[2,3,5]。即, <byte 6> = 0x10 – (<byte 0> & 0x0f)
。 - 根據目前行為 [5] 和早期資料表 [9],暫存器暫存器中保留的
<byte 6>
的上電狀態為0x0c
。 - 如果分別使用功能代碼 0x93 和 0x68 查詢,則傳回「Trim1」和「Trim2」值 [4]。在生產運作中,位元模式彼此非常相似 [4]。目前,Trim2 與 Trim1 相比不太可能等於 0xff [5]。 Trim2 至少自 2009 年以來一直是 0xDB 或 0xDC,自 2016 年秋季以來一直是 0x73/0x74(全部帶有
C4
晶片)[5]。 (在僅寄生電源晶片中,自 2020 年起,Trim2 為 0xDB 或 0xDC。)- Trim1 和 Trim2 編碼兩個參數 [5]。令 Trim1 的位模式為
[t27, t26, t25, t24, t23, t22, t21, t20]
[t17, t16, t15, t14, t13, t12, t11, t10]
, t26, t25, t24, t23, t22, t21, t220 [t27, t26, t25, t24, t23, t22, t21, t20]
。然後,- 偏移參數 =
[t22, t21, t20, t10, t11, t12, t13, t14, t15, t16, t17]
(無符號 11 位元值)[5],且 - 曲線參數 =
[t27, t26, t25, t24, t23]
(無符號 5 位元值)[5]。
- 在一個批次內,偏移參數似乎分佈在 20 到 30 個單位,而該批次內的所有感測器共享相同的曲線參數 [5]。
- 偏移參數將溫度輸出在大約範圍內移動。 100 °C(每單位 0.053 °C),而曲線參數將溫度變化範圍為 3.88 °C(每單位 0.12 °C),至少在目前版本的晶片中是如此 [5]。 2019 年的範例值是
offset = 0x420
和curve = 0x0E
,即它們位於各自範圍內的中心位置。
- 目前批次(2019)的溫度偏移如Maxim FAQ頁面所示,即約。 0 °C 時 +0.1 °C [6](即,與資料表中顯示的不同 [1,9]。資料表上的圖表源自於 10 多年前引入感測器時的測量結果 [5,10 ] )。如果有的話,溫度離散噪音也非常小 [5]。
- 功能代碼 0x44 後的輪詢顯示在室溫下進行 12 位元溫度轉換的感測器之間的時間間隔為 584-615 ms [5]。對於各個晶片來說,轉換時間很容易重複。較低的解析度會成比例地縮短時間,即 11 位元轉換需要一半的時間。調整參數會影響轉換時間。
- 如果在溫度轉換完成之前讀取暫存器暫存器,則傳回 85 °C 的上電溫度(在正常和寄生功耗模式下)。 [5]。
- 如果溫度轉換不成功,晶片似乎會返回 127.94 °C (=0x07FF / 16.0) 的溫度 [5](例如,如果 Vcc 懸空,由於多個DS18B20 在「寄生功率」模式下會重複出現功率穩定性問題)而非接地。
- 範例 ROM:28-13-9B-BB-0B -00-00- 1F
- 範例 ROM:28-CA-D6-10-10 -00-00- FE (2024)
- 初始暫存器: 50 / 05 /4B/46/ 7F / FF /0C/ 10 /1C
- 頂標範例:DALLAS 18B20 1932C4 +786AB
- 頂標範例:DALLAS 18B20 2411C4 +852AD (2024)
- 縮排標記:
P
(日期代碼 1150 至 2019) - 縮排標記:自 2020 年以來除
P
之外的可能選項(參見第 21 期) (2020)
A1系列-魚腥味:正品但被偷?
2019 年在 eBay 或 AliExpress 上未獲得包含這些晶片的探針,但 2019 年從一家供應商獲得了晶片
如果我大膽猜測,我會說這些晶片被轉移到 Maxim 生產管道末端的某個地方(被盜?)[5]。有趣的事實:供應商將這些晶片宣傳為 QT18B20,因此出售的這些晶片實際上是 DS18B20 克隆的假冒產品。這些晶片被標記為在泰國而不是菲律賓生產。
- ROM 模式 [5]:28-tt-tt-Cs-03-00-00-crc
這些晶片遵循上述 A1 系列的描述,但有以下例外 [5]:
- 兩個警報暫存器均設定為 0x00(暫存器位元組 2 和 3)。
- 轉換解析度設定為 9 位元(即兩個配置位元均為 0)。
- 兩個調整值都是 0x00,導致錯誤的溫度(即非常低)和 400 到 500 ms 範圍內的轉換時間。
- 一旦調整值設定為合理的值,溫度轉換時間就會在上述 A1 系列指定的範圍內。
- 範例 ROM:28-9B-9E-CB- 03-00-00-1F
- 初始暫存器: 50 / 05 /00/00/ 1F / FF /0C/ 10 /74
- 頂標範例:DALLAS 18B20 1136C4 +957AE
- 頂標範例:DALLAS 18B20 1136C4 +957AF
- 頂標範例:DALLAS 18B20 1136C4 +152AE
- 頂標範例:DALLAS 18B20 1136C4 +152AF
- 頂標範例:DALLAS 18B20 1136C4 +152AG
- 頂標範例:DALLAS 18B20 1136C4 +152AI
- 縮排標記:
THAI <letter>
A2 系列:良好的副本,但溫度性能較差
2019 年在 eBay 或 AliExpress 上未獲得包含這些晶片的探針,但 2019 年從一家供應商獲得了晶片
這些晶片不是 Maxim 生產的。
- ROM 模式 [5]:28-00-ss-00-tt-tt-tt-crc、28-ss-00-ss-tt-tt-tt-crc、28-ss-00-00-tt-tt- 00-CRC
這些晶片遵循上述 A1 系列的描述,但有以下例外 [5]:
- ROM 模式與 Maxim 生產的模式不相容。
- Trim2 值為
0xFB
或0xFC
,即與日期代碼建議的已知 [5] Maxim 產品不相容。 (請注意,這意味著曲線參數為 0x1f,即可能的最高(無符號)值 [5]。此外,偏移參數分佈超過 200 個單位,而不是 A1 系列 [5] 的典型範圍。)- 曲線參數是一個帶符號的5 位元值,可在 31 °C(每單位 1 °C)範圍內改變溫度 [5]。即,曲線參數 0x1f(十進位 -1)位於範圍的中心。
- 晶片之間的溫度轉換時間跨度非常大,從 325 毫秒到 502 毫秒 [5]。即使應用更新的修剪設置,該範圍仍然很寬並且超出了 A1 系列的範圍 [5]。轉換時間隨著溫度的升高而顯著增加(超過 100 °C 時增加約 10%)[5]。 <500 ms 的轉換時間與 7Q-Tek QT18B20 資料表 [12] 中的聲明相容。
- 如果在寄生功耗模式 [5] 下溫度轉換完成之前讀取暫存器暫存器,則不會傳回 85 °C 的上電溫度。
- 0 °C 時的典型溫度偏移為 -3.5 至 -1.8 °C [5]。 (有趣的是:溫度越高,誤差似乎越小 [5]。)溫度離散噪音即使有,也非常小 [5]。
- 警報設定(即暫存器位元組 2 和 3)似乎具有隨機內容 [5]。
- 有些晶片在 100 毫秒的電源週期內保留其暫存器內容 [5]。
- 測試的一個樣本在寄生模式下無法正常運作。
- 有些晶片的 ROM 中存在位元錯誤,導致 CRC 錯誤 [5]。 (2020)
- 頂部標記是印刷的而不是雷射列印的,並且壓痕中沒有標記。
- 範例 ROM:28-19-00-00-B7-5B-00-41
- 初始暫存器: 50 / 05 /xx/xx/ 7F / FF /0C/ 10 /xx
- 頂標範例:DALLAS 18B20 1808C4 +233AA
- 頂標範例:DALLAS 18B20 1838C4 +233AA (2020)
- 縮排標記:無
A3 系列:旨在欺騙
2019 年既沒有獲得晶片也沒有探針。
該系列於 2024 年被添加到列表中。
- ROM 模式 [5]:28-tt-tt-tt-00-00-00-crc
- 請注意,具有此 ROM 模式的正版晶片是 15 年前生產的。
- 請注意,這種模式的 ROM 早於
C4
晶片。也就是說,帶有頂標 DALLAS 18B20 和C4
晶片以及此 ROM 的晶片不是正品。
- 上電時暫存器暫存器
<byte 6> = 0x0C
,溫度轉換後<byte 6> = 0x10 – (<byte 0> & 0x0f)
,[5]。 - 傳回未記錄的功能代碼 0x68(“Trim2”)的數據,[5]。傳回未記錄的功能代碼 0x93 上的數據,但預設為
0xFF
(“Trim1”),[5]。- 曲線參數無符號,對溫度讀數的影響與 A1 系列類似。 [5]
- 「Trim2」與 A1 系列的已知值不符。 [5]
- 偏移參數的實作方式與 A1 系列中不同。 [5]
- 預設警報暫存器設定與 A1 系列不同(
0x7F
和0x80
)[5]。 - 20 個感測器的樣本在 0 °C 時的平均溫度偏移為 +0.11 °C,其分佈與其他系列相當 [5]。各個感測器的雜訊與其他系列的感測器相當[5]。
- 僅在溫度轉換啟動後稍有延遲(≤ 1 ms)後,輪詢溫度轉換完成情況才會產生有效讀數,[5]。這與實現此功能的 AE 和 G 系列的所有其他感測器形成鮮明對比。
- 功能代碼 0x44 後的延遲輪詢表示大約。 12 位元溫度轉換需要 589-621 ms,解析度較低時則會相應減少 [5]。
- 當處於寄生功率模式時,感測器指示寄生功率模式下的溫度轉換正在工作(基於粗略測試)[5]。
- 如果在寄生功耗模式下完成溫度轉換之前讀取暫存器暫存器,則傳回 85 °C 的上電溫度。 [5]。
- 範例 ROM:28-3E-43-87 -00-00-00-18 (參見討論 42)
- 範例 ROM:28-CA-BA-61 -00-00-00- A3
- 範例 ROM:28-06-64-2B -00-00-00-46
- 初始暫存器:50/05/7F/80/7F/FF/0C/10/93
- 頂標範例:DALLAS 18B20 2402C4 +817AB (參見討論 42)
- 頂標範例:HXY 18B20 2340
- 頂標範例:MSKSEMI 18B20 2420
系列 B1:GXCAS 18B20,匹配資料表溫度偏移曲線
2019年獲得多家供應商的探針,2019年從兩家供應商取得晶片。
- ROM模式[5]:
- 28-AA-tt-ss-ss-ss-ss-crc(GXCAS 品牌)
- 28-tt-tt-ss-ss-ss-ss-crc(UMW 品牌)
- 暫存器暫存器
<byte 6>
不隨測量溫度變化(預設0x0c
)[5]。 - DS18B20 寫入暫存器錯誤 (0x4E) / UMW 暫存器 [5,12,14]:
- 如果發送了 3 個資料位元組(根據 DS18B20 資料表、TH、TL、配置),則
<byte 6>
變更為傳送的第三個位元組, - 如果傳送 5 個資料位元組(根據 UMW 資料表、TH、TL、Config、使用者位元組 3、使用者位元組 4),最後兩個位元組分別覆蓋
<byte 6>
和<byte 7>
。
- 不傳回未記錄的功能代碼 0x68 [5] 上的資料。從代碼 0x90、0x91、0x92、0x93、0x95 和 0x97 傳回資料 [5]。響應 0x97 的回傳值為
0x22
[5]。 - 可以使用命令序列“96-Cx-Dx-94”[5] 在軟體中更改 ROM 代碼。 (UMW 資料表指出 ROM 代碼可以更改,但沒有指定如何更改 [14]。)系列代碼 (
0x28
) 無法更改 [5]。 - 如果在寄生功耗模式下溫度轉換完成之前讀取暫存暫存器,則用
0x0c
取代<byte 6>
的實際值。 - 溫度偏移如 Maxim 資料表所示(0 °C 時為-0.15 °C)[6]。如果有的話,溫度離散噪音也非常小 [5]。
- 功能代碼 0x44 後的輪詢指示大約。 12 位元溫度轉換需要 589-728 ms,解析度較低時則會相應減少 [5]。
- 當處於寄生功率模式時,感測器指示寄生功率模式下的溫度轉換正在工作(基於粗略測試)[5]。
- 如果在寄生功耗模式下完成溫度轉換之前讀取暫存器暫存器,則傳回 85 °C 的上電溫度。 [5]。
- 骰子上寫著「GXCAS」。
- 範例 ROM:28 -AA- 3C-61-55-14-01-F0
- 範例 ROM:28-AB-9C-B1 -33-14-01-81
- 初始暫存器:50/05/4B/46/7F/FF/0C/10/1C
- 頂標範例:DALLAS 18B20 1626C4 +233AA
- 頂標範例:DALLAS 18B20 1804C4 +051AG
- 頂標範例:DALLAS 18B20 1810C4 +051AG
- 頂標範例:DALLAS 18B20 1921C4 +921AC (2020)
- 頂標範例:DALLAS 18B20 1926C4 +926AC (2020)
- 頂標範例:GXCAS 18B20E 1847D02
- 頂標範例:UMW 18B20 1935C4
- 縮排標記:無
家庭 B1v2:為什麼要進行此更新?
2019年既沒有獲得晶片,也沒有獲得探針。
這些晶片似乎已經出現在市場上。 2024 年,如第 40 期所述。
- ROM 模式 [5]:28-tt-tt-ss-ss-ss-ss-crc
- 與B1族的區別:
- 暫存器暫存器
<byte 6>
的作用類似 A1 系列。即, <byte 6> = 0x10 – (<byte 0> & 0x0f)
,[5] 與問題 40。 - 警報暫存器和配置暫存器的寫入不會污染暫存器暫存器中的其他值,[5] 和問題 40。
- 如果傳送了 5 個資料位元組,即
<byte 7>
固定為0x10
,則暫存器暫存器不會儲存使用者位元組。 [5]。
- 不傳回未記錄的功能代碼 0x68 [5] 上的資料。從代碼 0x90、0x91、0x92、0x93、0x95 和 0x97 傳回資料 [5]。響應 0x97 的回傳值為
0x22
[5]。 - 可以使用命令序列“96-Cx-Dx-94”[5] 在軟體中更改 ROM 代碼。家庭代碼 (
0x28
) 無法變更 [5]。 - 溫度偏移如 Maxim 資料表所示(0 °C 時為-0.15 °C)[6]。如果有的話,溫度離散噪音也非常小 [5]。
- 功能代碼 0x44 之後的輪詢顯示 12 位元溫度轉換大約需要 650 毫秒,解析度較低時相應時間會減少 [5]。
- 當處於寄生功率模式時,感測器指示寄生功率模式下的溫度轉換正在工作(基於粗略測試)[5]。
- 如果在寄生功耗模式下完成溫度轉換之前讀取暫存器暫存器,則傳回 85 °C 的上電溫度。 [5]。
- ROM 範例:28-E4-FA-2F -57-23-0B- AF(請參閱第 40 期)
- 範例 ROM:28-0D-72-9A -20-23-07- C3
- 範例 ROM:28-94-77-5F -33-23-09-37
- 初始暫存器:50/05/4B/46/7F/FF/0C/10/1C
- 頂標範例:GXCAS 18B20T 2310006
- 頂標範例:XINBOLE DS18B20 2310C4 +3E1AC
- 縮排標記:無
系列 B2:7Q-Tek QT18B20,0 °C 時溫度偏移為 -0.5 °C
2019年從多家供應商獲得了該系列的探頭和晶片。
- ROM 模式 [5]:28-FF-tt-ss-ss-ss-ss-crc
- 暫存器暫存器
<byte 6>
不隨測量溫度變化(預設0x0c
)[5]。 - DS18B20 寫入暫存器錯誤 (0x4E) / QT18B20 暫存器 [5,12]:
- 如果發送了 3 個資料位元組(根據 DS18B20 資料表、TH、TL、配置),則
<byte 6>
變更為傳送的第三個位元組, - 如果傳送 5 個資料位元組(根據 QT18B20 資料表、TH、TL、Config、使用者位元組 3、使用者位元組 4),最後兩個位元組分別覆蓋
<byte 6>
和<byte 7>
。
- 不傳回未記錄的功能代碼 0x68 [5] 上的資料。從代碼 0x90、0x91、0x92、0x93、0x95 和 0x97 傳回資料 [5]。響應 0x97 的回傳值為
0x31
[5]。 - 無法使用指令序列「96-Cx-Dx-94」[5] 在軟體中變更 ROM 代碼。
- 至少在一些較新的範例中,預設警報暫存器設定與 A1 系列(
0x55
和0x00
)不同[5]。 (2024) - 如果在寄生功耗模式下溫度轉換完成之前讀取暫存暫存器,則用
0x0c
取代<byte 6>
的實際值。 - 0 °C 時的典型溫度偏移為 -0.5 °C [6]。如果有的話,溫度離散噪音也非常小 [5]。
- 2024 年,10 個感測器樣本在 0 °C 時的平均溫度偏移為 -0.24 °C [5]。 (2024)
- 功能代碼 0x44 後的輪詢指示大約。 12 位元溫度轉換需要 587-697 ms,解析度較低時則會相應減少 [5]。
- 當處於寄生功率模式時,感測器指示寄生功率模式下的溫度轉換正在工作(基於粗略測試)[5]。
- 如果在寄生功耗模式下完成溫度轉換之前讀取暫存器暫存器,則傳回 85 °C 的上電溫度。 [5]。
- 骰子上寫著「7Q-Tek」(用漢字代表數字 7)。
- 範例 ROM:28 -FF- 7C-5A-61-16-04-EE
- 範例 ROM:28 -FF- E8-E8-54-E2-1F-24 (2024)
- 初始暫存器:50/05/4B/46/7F/FF/0C/10/1C
- 初始暫存器:50/05/55/00/7F/FF/0C/10/21 (2024)
- 頂標範例:DALLAS 18B20 1626C4 +233AA
- 頂標範例:DALLAS 18B20 1702C4 +233AA
- 頂標範例:DALLAS 18B20 1810C4 +138AB
- 頂標範例:DALLAS 18B20 1829C4 +887AB
- 頂標範例:DALLAS 18B20 1832C4 +827AH
- 頂標範例:DALLAS 18B20 1833C4 +058AA
- 頂標範例:DALLAS 18B20 1908C4 +887AB
- 頂標範例:DALLAS 18B20 1912C4 +001AC(注意:此日期/批次組合也用於正品晶片 [5] )
- 頂標範例:DALLAS 18B20 2012C4 +887AB (2020)
- 頂標範例:7Q-Tek 18B20 1861C02
- 頂標範例:18B20 2214 (2024)
- 縮排標記:無
C 系列:0 °C 時小偏移
2019年沒有獲得探針,但從一些供應商獲得了晶片
- ROM 模式 [5]:28-FF-64-ss-ss-tt-tt-crc
- 暫存器暫存器
<byte 6> == 0x0c
[5]。 - 不傳回未記錄的功能代碼 0x68 或任何其他未記錄的功能代碼 [5] 上的資料。
- 0 °C 時的典型溫度偏移為 +0.05 °C [6]。如果有的話,溫度離散噪音也非常小 [5]。
- EEPROM 只能承受大約八 (8) 個寫入週期(功能代碼 0x48)[5]。
- 根據功能代碼0xB4 報告的電源模式(寄生/正常)可能是錯誤的,具體取決於電源引腳和數據線的供電順序(例如,如果在數據供電時電源引腳位於GND,然後將電源引腳連接到Vcc) ,晶片將繼續報告寄生功耗模式)[5]。
- 功能代碼 0x44 後的輪詢表示 12 位元溫度轉換需要 28-30 ms(三十)[5]。溫度轉換也在寄生功率模式下工作 [5]。
- 僅在 12 位元轉換模式下運作(配置位元組始終讀取
0x7f
)[5]。 - 預設警報暫存器設定與 A1 系列不同(
0x55
和0x00
)[5]。
- 範例 ROM:28 -FF-64- 1D-CD-96-F2-01
- 初始暫存器:50/05/55/00/7F/FF/0C/10/21
- 頂標範例:DALLAS 18B20 1331C4 +826AC
- 頂標範例:DALLAS 18B20 1810C4 +158AC
- 頂標範例:DALLAS 18B20 1924C4 +158AC
- 縮排標記:無
家庭 D1:大帽子吵鬧的垃圾
2019年初獲得兩家廠商的探針,2019年取得一家廠商的晶片
- ROM 模式 [5]:28-tt-tt-77-91-ss-ss-crc 和 28-tt-tt-46-92-ss-ss-crc
- 暫存器暫存器
<byte 7> == 0x66
、 <byte 6> != 0x0c
和<byte 5> != 0xff
[5]。 - 不傳回未記錄的功能代碼 0x68 [5] 上的資料。代碼後回覆資料或狀態訊息
- 0x4D、0x8B(8 位元組)、0xBA、0xBB、0xDD(5 位元組)、0xEE(5 位元組)[5] 或
- 0x4D、0x8B(8 位元組)、0xBA、0xBB [5]。
- 未記錄的功能代碼 0x8B 後面的第一個位元組是 [5]
-
0x06
:感測器無法使用寄生電源工作。寄生供電時,感測器會使數據線處於浮動狀態[5]。 -
0x02
:感測器在寄生電源模式下工作(並正確報告它們是否是寄生供電)。
- 任意內容可作為 ROM 程式碼傳送,並分別在未記錄的功能代碼 0xA3 和 0x66 之後傳送暫存器暫存器的位元組 5、6 和 7 [5]。設備的系列代碼可以更改 [5]。
- 0 °C 時溫度誤差高達 3 °C [6]。非常吵雜的數據[5]。
- 功能代碼 0x44 後的輪詢指示大約。無論測量解析度為何,轉換時間為 11 ms(十一)[5]。
- 晶片包含一個高值電容器而不是 EEPROM來保存警報和配置設定 [5]。即,最後的溫度測量和警報暫存器的更新在不太長的電源週期之間保留[5]。
- 除非 Vcc 引腳連接到 GND 引腳,否則電容器會將記憶體保留幾分鐘,在這種情況下,記憶體保留時間為 5 到 30 秒 [5]。
- 晶片對電源的施加方式很敏感 [5]。例如,要從連接到 GND 的所有引腳上電,在實際向電源引腳和資料施加電壓之前,將資料和電源引腳懸空一段時間(例如 100 毫秒)似乎是個好主意 [5]。
- 初始溫度讀數為 25 °C 或斷電前的最後讀數 [5]。預設警報暫存器設定與 A1 系列不同(
0x55
和0x05
)[5]。
- 範例 ROM:28-48-1B-77 -91- 17-02-55(工作寄生功率模式)
- 範例 ROM:28-24-1D-77 -91-04-02 -CE(回應 0xDD 和 0xEE)
- 範例 ROM:28-B8-0E-77 -91- 0E-02-D7
- 範例 ROM:28-21-6D-46 -92-0A -02-B7
- 初始暫存器:90/01/55/05/7F/7E/81/66/27
- 頂標範例:DALLAS 18B20 1807C4 +051AG
- 頂標範例:DALLAS 18B20 1813C4 +827AH (2020)
- 頂標範例:DALLAS 18B20 1827C4 +051AG
- 縮排標記:無
Family D2:有趣,無寄生功率
2019年獲得大量廠商的探針和晶片
- ROM 模式 [5]:28-tt-tt-79-97-ss-ss-crc、28-tt-tt-94-97-ss-ss-crc、28-tt-tt-79-A2-ss- ss-crc、28-tt-tt-16-A8-ss-ss-crc、28-tt-tt-56-B5-ss-ss-crc (2020) 、28-tt-tt-07-D6-ss -ss-crc (2020)
- 暫存器暫存器
<byte 7> == 0x66
、 <byte 6> != 0x0c
和<byte 5> != 0xff
[5]。-
<byte 7>
可以有其他值,包括 0xAA 或0x00 ,[5] 和討論 36。 - 暫存器暫存器
<byte 5>
、 <byte 6>
和<byte 7>
可以使用功能代碼 0x66 [15] 寫入。 (2024)
- 不傳回未記錄的功能代碼 0x68 [5] 上的資料。代碼後回覆資料或狀態訊息
- 0x4D、0x8B(9 位元組)、0xBA、0xBB、0xDD(3 位元組)、0xEE(3 位元組)[5] 或
- 0x4D、0x8B(9 位元組)、0xBA、0xBB [5]。
- 未記錄的功能代碼 0x8B 後面的第一個位元組是
0x00
[5]。 - 未記錄的功能代碼 0x8B 查詢未記錄的 9 位元組配置暫存器,其中許多位元組會影響溫度讀數 [5]。未記錄的功能代碼 0xAB 用於更新該配置暫存器的 9 個位元組 [5]。 (2024)
- 可以透過在未記錄的配置暫存器 [5] 中設定 <
<byte 0>
<bit 0>
來啟用 14 位元溫度模式 [15]。 (2024) - 感測器不能與寄生電源一起工作。感測器在寄生供電時將數據線拉低[5]。
- 2019 年:0 °C 時溫度誤差高達 3 °C [6]。數據比真正的晶片噪音更大 [5]。
- 2024 年,10 個感測器樣本在 0 °C 時的平均溫度偏移為 -0.09 °C,感測器間溫差為 -0.25 至 +0.44 °C,與其他系列相比,溫差較大 [5]。然而,單一感測器並不比其他系列的感測器噪音更大。 (2024)
- 功能代碼 0x44 後的輪詢指示大約。無論測量解析度如何,轉換時間為 462-523 ms [5]。 ROM 中帶有
97
和A2
/ A8
的系列轉換時間分別為 494-523 ms 和 462-486 ms [5]。 ROM 位元組 4 中帶有A2
或A8
晶片似乎最早在 2019 年出現。 - 初始溫度讀數為 25 °C [5]。預設警報暫存器設定與 A1 系列不同(
0x55
和0x05
)[5]。- 預設警報暫存器設定與系列 A1(
0x00
和0x00
) 、[5] 和討論 36 不同。
- 範例 ROM:28-90-FE-79 -97- 00-03-20
- 範例 ROM:28-FD-58-94 -97- 14-03-05
- 範例 ROM:28-FB-10-79 -A2- 00-03-88
- 範例 ROM:28-29-7D-16 -A8-01-3C -84
- ROM 範例:28-DF-54-56 -B5-01-3C -F5 (2020)
- 範例 ROM:28-AF-EC-07 -D6- 01-3C-0A (2020)
- 範例 ROM:28-75-02-80 -33- 8B-06-DC (2024)
- 初始暫存器:90/01/55/05/7F/xx/xx/66/xx
- 初始暫存器:90/01/00/00/7F/xx/xx/xx/xx (2024)
- 頂標範例:DALLAS 18B20 1812C4 +051AG
- 頂標範例:DALLAS 18B20 1827C4 +051AG
- 頂標範例:DALLAS 18B20 1916C4 +051AG
- 頂標範例:DALLAS 18B20 1923C4 +051AG
- 頂標範例:DALLAS 18B20 1943C4 +051AG
- 頂標範例:DALLAS 18B20 1828C4 +233AA
- 頂標範例:DALLAS 18B20 2008C4 +817AB (2020)
- 頂標範例:SE18B20 2130 (2022)
- 頂標範例:MY18B20 S380 (2024)
- 縮排標記:無
E 系列:NOVOSENSE NS18B20
2019 年既沒有獲得晶片也沒有獲得探針。
該系列已於 2022 年添加到清單中。
- ROM 模式 [5]:28-00-tt-tt-ss-ss-ss-crc
- 暫存器暫存器
<byte 6>
總是<byte 6> = 0x10 – (<byte 0> & 0x0f)
,即與系列 A1 不同<byte 6> = 0x10
是上電時的值 [5]。 - 根據 NS18B20 資料表 [17] 中的規定,在功能代碼 0xDE 上傳回兩位元組自訂暫存器,並在功能代碼 0x28 [5] 上寫入 EEPROM 期間發出忙碌訊號。
- 不傳回未記錄的功能代碼 0x68 和 0x93 上的數據,[5]。
- 10 個感測器的樣本在 0 °C 時的平均溫度偏移為 +0.02 °C,其分佈與其他系列相當 [5]。各個感測器的雜訊與其他系列的感測器相當[5]。 (2024)
- 溫度轉換為 20 至 25 ms,與所選解析度無關 [5]。 (NS18B20 資料表指定最大 50 毫秒,無論解析度為何。)
- 當處於寄生功率模式時,感測器指示寄生功率模式下的溫度轉換正在工作(基於粗略測試)[5]。
- 如果在寄生功耗模式下完成溫度轉換之前讀取暫存器暫存器,則傳回 85 °C 的上電溫度。 [5]。
- 範例 ROM:28 -00- 74-28 -59-43- 0F-7A
- 範例 ROM:28 -00- 2A-50 -0C-41- 02-DB
- 初始暫存器:50/05/4B/46/7F/FF/10/10/BD
- 頂標範例:NS18B20 203B00
- 頂標範例:NS18B20 412D01
- 縮排標記:無
F 族:變體
2019年既沒有獲得晶片也沒有獲得探針。
這個家庭於 2024 年被添加到名單中。
- ROM 模式 [5]:28-tt-tt-ss-ss-ss-ss-crc
- 暫存器暫存器
<byte 6> = 0x0C
固定,[5]。 - 傳回未記錄的函數代碼 0x19、[5] 上的三個位元組。
- 不傳回未記錄的功能代碼 0x68 和 0x93 上的數據,[5]。
- 可透過設定暫存器暫存器 [5]、[18] 中
<byte 4>
的<bit 7>
來啟用擴展溫度模式(高達 150 °C)。 - EEPROM 未實現,[18]。
- 預設警報暫存器設定與 A1 系列不同(
0x55
和0x00
)[5]。 - 10 個感測器的樣本在 0 °C 時的平均溫度偏移為 -0.11 °C,其分佈與其他系列相當 [5]。各個感測器的雜訊與其他系列的感測器相當[5]。 (2024)
- 轉換解析度始終報告為 12 位,[5]。
- 無法輪詢溫度轉換的完成情況(功能未實現),[5],[18]。
- 根據資料表 [18],典型轉換時間為 27 ms。
- 寄生電源模式不適用於 Vcc 拉至 GND 的情況,[5]。相反,寄生功率模式適用於 Vcc 左浮動,[5]、[18]。
- 如果在寄生功耗模式下完成溫度轉換之前讀取暫存器暫存器,則傳回 85 °C 的上電溫度。 [5]。
- 如果在寄生功耗模式下完成溫度轉換之前讀取暫存器暫存器,某些感測器會使資料線保持浮動,並最終重設為 85 °C 的上電溫度。 [5]。
- 範例 ROM:28-03-60 -00-00-01- 24-D0
- 初始暫存器:50/05/55/00/7F/FF/0C/10/21
- 頂標範例:XINBOLE DS18B20T 2430C4 +4F3AC
- 縮排標記:無
G家族:小丑
2019年既沒有獲得晶片也沒有獲得探針。
這個家庭於 2024 年被添加到名單中。
- ROM 模式 [5]:28-tt-tt-tt-tt-tt-tt-crc(看似隨機)
- 上電時暫存器暫存器
<byte 6> = 0x0C
,溫度轉換後<byte 6> = 0x20 – (<byte 0> & 0x0f)
,[5]。是的,它們確實位於 A1 系列上方0x10
處。 - 在未記錄的功能代碼 0x8E、[5] 上傳回一個位元組。
- 不傳回未記錄的功能代碼 0x68 和 0x93 上的數據,[5]。
- 預設警報暫存器設定與 A1 系列不同(
0x55
和0xAA
)[5]。 - 包含一個大的緩衝電容器,因此 100 ms 的電源週期太短,無法重置暫存器暫存器 [5]。
- 27 個感測器的樣本在 0 °C 時的平均溫度偏移為 -0.22 °C,其分佈與其他系列相當 [5]。各個感測器的雜訊與其他系列的感測器相當[5]。
- 功能代碼 0x44 後的輪詢指示大約。 12 位元溫度轉換需要 227-293 ms,解析度較低時則會相應減少 [5]。
- 當處於寄生功率模式時,感測器指示寄生功率模式下的溫度轉換正在工作(基於粗略測試)[5]。
- 如果在寄生功耗模式下透過讀取暫存器暫存器來中斷轉換,則將資料線拉低(!),並且最終將恢復以完成轉換(最多 >1000 毫秒後)。 [5]。
- 範例 ROM:28-C7-9E-A3-59-83-D9-74
- 範例 ROM:28-95-77-37-3F-4A-FB-1F
- 範例 ROM:28-CE-71-E6-6F-8C-E5-3C
- 初始暫存器:50/05/55/AA/7F/FF/0C/10/AF
- 頂標範例:ZHHXDZ HX18B20 24+6
- 頂標範例:JSMSEMI 18B20 3X31
- 頂標範例:HT18B20 ARTZ #465142
- 縮排標記:無
H 系列:不同的 ADC
2019年既沒有獲得晶片,也沒有獲得探針。
該系列於 2024 年被添加到列表中。因此,如果您不想知道自己會得到什麼,請詢問 HT18B20。
- ROM 模式 [5]:28-tt-tt-tt-tt-tt-tt-crc(根據一個樣本很難說)
- 上電時暫存器暫存器
<byte 6> = 0x0C
,溫度轉換後<byte 6> = 0x10 – (<byte 0> & 0x0f)
,[5]。 - 不傳回未記錄的功能代碼 0x68 和 0x93 或任何其他功能代碼 [5] 的資料。
- 預設警報暫存器設定與 A1 系列不同(
0x55
和0xAA
)[5]。 - 包含一個大的緩衝電容器,因此 100 ms 的電源週期太短,無法重置暫存器暫存器 [5]。
- 研究的一個樣本在 0 °C 時的溫度偏移為 -0.12 °C [5]。此感測器的雜訊與其他系列的感測器相當[5]。
- 功能代碼 0x44 之後的輪詢分別表示解析度為 9、10、11 和 12 位元時的 101 ms、141 ms、198 ms 和 279 ms,即解析度設定之間的係數為 1.4,而非 2。 ]。
- 原則上,當處於寄生功率模式時,感測器會指示寄生功率模式下的溫度轉換正在工作(基於粗略測試)[5]。
- 感測器無法可靠地指示寄生電源和正常電源之間的來回切換 [5]。
- 如果在寄生功耗模式下透過讀取暫存器暫存器來中斷轉換,則使資料線保持浮動,並且如果隨後查詢,將報告轉換結果。 [5]。
- 範例 ROM:28-0C-80-53-5C-AA-8E-A2
- 初始暫存器:50/05/55/AA/7F/FF/0C/10/AF
- 頂標範例:HT18B20 ARTZ #465142
- 縮排標記:無
自 2019 年起已過時
2019年既沒有獲得探針,也沒有獲得晶片
ROM 模式 [5,7]:28-tt-tt-ss-00-00-80-crc
- 範例 ROM:28-9E-9C-1F -00-00-80-04
(顯然在 2019 年仍出售給其他人(請參閱第 17 期))
ROM 模式 [5,11]:28-61-64-ss-ss-tt-tt-crc
- 範例 ROM:28 -61-64- 11-8D-F1-15-DE
(似乎是 C 家族。) (2022)
ROM 模式 [5]:28-EE-tt-tt-ss-ss-ss-crc
- 範例 ROM:28 -EE- 58-49-25-16-01-45 (2020)
- 頂標範例:DALLAS 18B20 1619C4 +827AH (2020)
- 頂標範例:DALLAS 18B20 1709C4 +827AH (2020)
(2020年收到了一些籌碼:乍看之下就像B2家族。)
A1 系列,其晶片版本早於C4
(一些舊晶片(2009 年之前)的硬體電路(晶片)有缺陷,其中最臭名昭著的是B7
晶片 [4],請參閱第 19 期)。
85 °C 問題的解決方案
有一個簡單的、未記錄的方法可以區分 A 系列和其他一些 DS18B20 中的加電 85 °C 讀數和真實的 85 °C 溫度讀數 [5]:暫存器寄存器的<byte 6>
。如果是0x0c
,則 85 °C 讀數是加電讀數,否則是真實的溫度測量值。
GXCAS 18B20
北京中科銀河核心技術有限公司的 DS18B20 克隆產品,交易名稱為 GXCAS,似乎由 GXCAS 和 UMW(B1 系列)獨立分銷。根據他們的網頁,GXCAS 是從2018 年1 月才出現的。的可能性ROM位址[14]。其中許多晶片帶有假冒 DS18B20 標記。 GXCAS 顯然對他們的產品感到自豪,因為他們將公司名稱醒目地寫在模具上。
7Q-泰克QT18B20
QT18B20 是北京 7Q 科技有限公司開發和銷售的 DS18B20 克隆產品,交易名稱為 7Q-Tek(B2 系列)。 QT18B20 的資料表強調在暫存器暫存器中加入兩個使用者定義的位元組[12]。與DS18B20的資料手冊不同,它沒有說明ROM代碼是雷射刻錄的。大量此類晶片帶有假冒 DS18B20 標記。 7Q-Tek 顯然對其產品感到自豪,因為他們將公司名稱醒目地寫在模具上。
雖然尚不清楚是誰設計或生產了 A2 系列晶片,但根據以下觀察,A2 系列似乎是 B2 系列 7Q-Tek QT18B20 的靈感來源:
- QT18B20 資料表聲稱溫度轉換需要 <500 ms [12]。這與A2家庭的實際行為是一致的。 (雖然 UMW 資料表聲稱相同 [14],但其中一個資料表似乎已被用作另一個資料表的範本。)
- 根據資料表版本歷史記錄,最早版本的QT18B20資料表並未提及使用者定義位元組[12]。系列 A2 在暫存器暫存器中沒有使用者定義的位元組。
- A2系列的晶片電路與A1系列(Maxim生產)的晶片和B2系列(7Q-Tek生產)的晶片風格相似。晶片尺寸與 A1 系列顯著不同,因此它不是 Maxim 生產的 DS18B20。
邁森泰克 MY18E20
明源感測技術有限公司的 MY18E20 克隆產品(商品名為 Mysentech)似乎是 Family D2 的感測器。 Family D1 可能也是 Mysentech 生產的變體。 Mysentech 的資料表似乎與該晶片的行為基本一致 [15],並且他們有與該感測器相關的技術常見問題解答頁面(日期為 2022 年 12 月)[16]。顯然,Mysentech 成立於2017年。
諾維信 NS18B20
NS18B20 是蘇州諾信微電子有限公司(E 系列)的 DS18B20 克隆產品。 (2022)
欣伯樂DS18B20T
深圳市鑫博樂電子有限公司 (XBLW) 有一份數據表,準確描述了 F 系列感測器的異常行為。
MAX31820
Maxim Integrated 也生產 MAX31820 溫度感測器。 MAX31820是一款DS18B20,具有有限的電源電壓範圍(即最高3.7 V)和較小的高精度溫度範圍[1,8]。與 DS18B20 一樣,它使用單線系列代碼 0x28 [1,8]。初步調查尚未揭示在軟體中區分 A1 系列 DS18B20 和 Maxim 生產的 MAX31820 的測試[5]。
方法
根據大眾要求(第 11 期),本節旨在為上述(部分)結果和結論提供背景。如果時間允許,我會慢慢加。
調查針對的是 DS18B20,而不是 DS18B20-PAR 變體或 DS18S20。我們只有一把 DS18B20-PAR 和 DS18S20 感測器,而我們有數百個 DS18B20。此外,所有感測器都位於 TO-92 外殼中。
A1族分析的樣本基礎
上圖顯示了所調查的作為晶片購買的 A1 系列感測器的生產日期和 ROM 代碼(序號)範圍。還包括探針中包含的單位數晶片,我們打開探針讀取頂部標記。根據日期代碼的生產日期在 x 軸上,根據 ROM 的序號在 y 軸上,點是單個晶片(N>200,但單個批次顯示為塗抹的斑點),灰色區域突出顯示2019 年。 2009 年至2020 年生產的晶片,所有晶片都有C4
晶片,沒有晶片的日期代碼為 2010、2014 或 2015。 1F 是0x0BBB9B13,因此會落在y 軸上的0x0B 和0x0C 之間。然而,這種關係只是一般性指導,從線條周圍的分散程度和插圖的放大圖中可以看出:在我們購買的 2019 年生產的傳感器中,有 3 個實例中包含較晚日期代碼的傳感器較早的序號。
我們似乎購買了2016年生產的最後一批Trim2校準常數為0xDB或0xDC的產品,以及第一批Trim2校準常數為0x73或0x74的產品。因此,更改可能發生在2016 年第 32 週至第 47 週之間。
溫度數據
上圖顯示了 (a) 我們在 0 °C 冰水浴中從每個感測器獲得的溫度讀數,(b) 冰水浴中連續讀數中的噪音量,以及 (c) 溫度轉換時間名義上在室溫下進行測量(實際測量是在0 到30 °C 之間的任何溫度下進行的)。該圖的高解析度版本可在 images/Sensor_measurements_by_family.png 中找到。 (a) 和 (b) 的數據通常是基於感測器在冰水浴中平衡後每 10 秒進行一次的 20 次連續測量。 (c) 中的數據是基於每個感測器的單一測量,因為根據我們的經驗,轉換時間不會分散,即單一測量足以評估感測器在當前溫度下的轉換時間。
數據在 +5 V 下測量。
資料沿x軸分組,如下所示:
- A1:A1系列從官方經銷商處獲得,即保證真實性和正確處理
- A1(第 3 方經銷商):A1 系列從其他大大小小的零售商處獲得,包括在 eBay 和速賣通上銷售的零售商,以及探頭中包含的任何感測器
- A2:家庭A2
- B1 (GXCAS):B1系列,基於顯然由GXCAS分發的ROM
- B1 (UMW):B1 系列,基於顯然由 UMW 分發的 ROM
- B2:家庭B2
- C:家庭C
- D1:家庭 D1
- D2 ( xy ):系列 D2,其中括號中的數字xy是 ROM 的第 5 個位元組(即位元組 4)。每組中的感測器均按我推測的製造順序顯示,主要基於 ROM,並通過我們購買它們的順序得到了一定程度的證實。未顯示
0x00
調整值的 A1 系列感測器的數據。
Maxim 指定的溫度誤差在 0 °C 時為 ±0.5 °C,該區間在圖 (a) 中以細虛線標示。我們看到,A1 系列感測器的讀數通常在-0.1 至+0.2 °C 範圍內,A2 系列感測器的讀數範圍為-2 °C,B1 系列感測器的讀數範圍為0 至-0.5 °C,B2 系列感測器的讀數範圍為-0.5 °C 左右,C 系列感測器的讀數範圍為-0.5 °C 左右。間,以及系列D2 - 嗯,很難從數據中說出來:它們的起步非常糟糕,性能相似到Family D1,此後可能會或可能不會有所改進(需要測量更多感測器才能確定。2024 年的有限測量表明它們比Family D1 好得多)。每 10 秒進行一次測量,以避免探頭中包含的感測器自加熱造成的偽影(即我們發現每秒讀取一次會增加返回的溫度)。
理想的感測器只會顯示離散噪聲,即讀數在實際溫度周圍的兩個值之間波動。此雜訊在圖 (b) 中顯示為標稱 20 個溫度測量值的標準差 ( std(T)
)。如果所有測量值都相同,則std(T)
為零。如果剛好有一個測量值與其他 19 個測量值相差一個離散化步驟(即 0.0625 °C),則std(T)
為 0.014 °C,如下面的虛線所示。如果資料均勻分佈在兩個相鄰值之間,則std(T)
為 0.031 °C,如上面的虛線所示。 0 和下方虛線之間的數據點顯示該感測器使用了 20 多個樣本,上方線上方的數據表明讀數在至少 2 個離散化步驟的範圍內波動。我們看到 A、B 和 C 系列的感測器基本上只有離散化雜訊。相較之下,D1族會產生令人震驚的噪音垃圾(即實際測量解析度小於12位元),D2族感測器的噪音水準也高於離散化噪音。
資料表中將溫度資料轉換所需的時間指定為最長 750 ms(12 位元轉換)。每個感測器所需的實際時間(在給定溫度下)都有一個可重複的特徵值。這個時間如圖(c)所示。系列 A1 大約需要 600 毫秒進行轉換,而係列 A2 和 B 顯示相對較大的感測器間變異性。系列 C 和 D1 的速度非常快,分別為 30 毫秒和 11 毫秒,而係列 D2 則需要大約 500 毫秒或更短的時間。儘管我們測量的所有感測器在室溫下都快於 750 毫秒,但 B 系列的一些感測器已接近極限。
警告
向 DS18B20 感測器發送未記錄的功能代碼可能會使其永久無用,例如,如果溫度校準係數被覆蓋 [5]。識別假冒感測器的建議方法是檢查 ROM 是否不遵循模式 28-xx-xx-xx-xx-00-00-xx [5]。 (雖然 B1 和 D1 系列中的 ROM 可以覆蓋以模仿真正的感測器,但我們尚未遇到欺騙性 ROM 的感測器 [5]。)
( A、B、C、D、E、F、G 和 H 系列晶片的資訊來自我自己對感測器的調查並結合以下參考文獻,如參考號所示 [1-6,8-10,12 -18 ]。
來源
具有真實或克隆 DS18B20 的傳感器或探針是從以下來源購買的。請注意,只有從 Maxim 官方經銷商購買的傳感器才是正品晶片,並保證經過正確處理。感謝 Maxim Integrated 透過線上訂購系統提供的免費樣品。
官方經銷商: Maxim Integrated、Digikey、Farnell、Mouser、RS Components ebay: 5hk1584、alice1101983、alphago-it、andnov73、areyourshop-003、b2cpowershop2010、bernard_netelectshop、botshop-003、b2cpowershop2010、bernard_netelect9d、b; 960、d - 9845、deepmind、diy-arduino、diybox、eckstein-komponente、enigma-component-shop、e*shine、efecttronics、ele-parts、fr_aurora、fzeroinestore、geekapparels、good-module、happybuddha , king electronics15、london_shoppings_1、lovesell2013、lucas89-8、makershop、mecklenburg8、modul_technik、moore_estates、nouteclab、*蘭花、polida2008、puretek-innovations、ramram_74sshop、11、184971、s1747 月、tancredielettronica、umtmedia 、worldchips 、xiaolin4、xuan33_store、yantzlf速賣通:全包郵店鋪、AOKIN DiyMaker、Cuiisw模組店、Eiechip、奇特電子、FSXSEMI、Great-IT、長城電子、華業電子、力源電子、兆豐半導體、紅黃商店、 RoarKit Store、Sensor World、SHENGSUN Sensor、深圳優質產品、shop912692、TENSTAR、WAVGAT、Win win.、YLGA、YX Electronic其他: Adafruit、AZ-Delivery、Banggood、台州貝斯特電器、康拉德電子、DFRobot、DROK、 Elektroimportøren、Elfa Distrelec、上海九天自動化設備、Kjell & Company、LCSC、東莞南固地電子、Quest Components、深圳RBD Sensor Technology、Reichelt Elektronik、深圳LMSenstech Electronic Technology、SparkFAL、 、東莞天瑞電子、YourDuino
參考
- DS18B20“DS18B20 可程式解析度 1-Wire 數位溫度計”,資料表 19-7487 Rev 6 7/19,Maxim Integrated。
- DS18S20“DS18S20 高精度 1-Wire 數位溫度計”,數據表,Maxim Integrated。
- AN4377“DS18B20 和 DS18S20 1-Wire 數位溫度計的比較”,Maxim Integrated
- AN247“DS18x20 EEPROM 損壞問題”,Maxim Integrated
- 2019-2024 年自己的調查,未發表。
- Petrich,C.,M. O'Sadnick,Ø。克萊文·I·薩瑟 (2019)。用於冰和海洋氣象測量的低成本沿海浮標。第 25 屆北極條件下港口與海洋工程國際會議 (POAC) 會議記錄,荷蘭代爾夫特,2019 年 6 月 9-13 日,第 6 頁(連結)
- 使用者m_elias在 https://forum.arduino.cc/index.php?topic=544145.15 的貢獻
- MAX31820“1-Wire 環境溫度感測器”,數據表,Maxim Integrated。
- DS18B20“DS18B20 可程式解析度 1-Wire 數位溫度計”,資料表 043001,達拉斯半導體,20 頁。
- DS18B20“DS18B20 可程式解析度 1-Wire 數位溫度計”,初步資料表 050400,Dallas Semiconductor,27 頁。 (回溯機)
- 來自各種部落格和貼文的零碎內容。
- QT18B20“QT18B20 可程式解析度 1-Wire 數位溫度計”,數據表修訂版 061713,7Q Technology。
- AIR6273“假冒材料或電氣、電子和機電零件的術語、定義和首字母縮寫”,SAE 航空航天資訊報告,2019 年 7 月。
- UMW DS18B20 UMW DS18B20 資料表。
- MY18E20 Mysentech 首頁(英文),包含資料表連結。
- MY18E20 常見問題 Mysentech 常見問題(中文)。
- NS18B20“高精度單總線數位溫度感測器”,NS18B20 資料表修訂版 1.0,Novosense。
- DS18B20T 資料表,新伯樂。