あなたの DS18B20 温度センサーはおそらく偽物、偽物、クローンです...
...アナログ・デバイセズ(またはアナログ・デバイセズがチップを買収する前のマキシム・インテグレーテッド、あるいは昔のダラス・セミコンダクター)、正規代理店(DigiKey、RS、Farnell、Mouser など)、または大手企業からチップを直接購入した場合を除きます。あるいは、細心の注意を払って防水 DS18B20 プローブを購入した場合。私たちは 2019 年に、大小を問わず ebay、AliExpress、およびオンライン ストアの 70 以上のベンダーから 1,000 個を超える「防水」プローブまたはベア チップを購入しました。ebay と AliExpress で購入したすべてのプローブには、偽造 DS18B20 センサーが含まれており、ほぼすべてのこれら 2 つのサイトで購入したセンサーは偽造品でした。
著者: Chris Petrich、2024 年 11 月 11 日。ライセンス: CC BY。出典: https://github.com/cpetrich/counterfeit_DS18B20/
(2019 年以降に注文されたセンサーまたはプローブに基づくセンサー情報は、そのように示されるか、「 (2020) 」のように追加された年のタグが付けられます。)
TLDR;どうすればわかりますか?
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)
DS18B20 センサーをテストするために提供されている Arduino スケッチがあります。
-
discover-classify_fake_DS18B20.ino
は、センサーが Dallas/Maxim/Analog DS18B20 からの逸脱を示しているかどうかを示す無害なテストを実行するメニュー駆動のスケッチです。オプションで、主に文書化されていない機能コードへの応答に基づいて、センサーを特定のファミリー (以下を参照) に一致させることを試みることができます (この機能は自己責任で使用してください)。スケッチは寄生パワーで動作するように設計されていません。 (2024 年 11 月 10 日の時点で、2019 年の 2 つのスケッチ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 (最近追加) があります。ファミリ A3 は、「温度データ」プロットのデータ、つまり 0 °C での温度オフセットと変換時間 (つまり、ちなみに、すべてのクローンの中で最も遅いものの 1 つです)。ただし、Family A2 (このリポジトリより前の日付) とは異なり、オリジナルを複製する努力はそこで止まりました (学生プロジェクトの特徴...)。誰かが実際に私の仕様に合わせてマイクロチップを設計、製造しているのを見るのは光栄ですが、これは開発者のスキルと技術の進歩の無駄だと私は考えています。また、最初のグループにはファミリー B1v2 があります。これは、より本物の DS18B20 のように動作するために 2 バイトのユーザー メモリが削除されたファミリー B1 の最近の亜種です。少し悲しい開発過程でした。私の知る限り、ファミリー G には重大な追加は何もありませんが、おかしな点 (バイト 6 を参照)、またはパラサイト電力モードでシステム障害を引き起こす可能性のある癖 (データ ラインを Low に引き下げるなど) が導入されています (! ));そして、ファミリー H は、特徴のないファミリー G に少し似ています。確かに、ファミリー G および H は、本物の DS18B20 の 2 倍の速さで 12 ビット温度変換を実行するため、その点は賞賛に値するかもしれません。
2 番目のクローン グループは明るい面です。それがわかります
- GXCAS (B1v2 を除くファミリー B1)、7Q-Tek (ファミリー B2)、Mysentech (ファミリー D)、および Novosense (ファミリー E) は、クローンに 2 バイトまたは 3 バイトのユーザー メモリを追加しました (ファミリー E には読み取り専用のファンクション コードがあり、書き込み、EEPROM に保存します)、
- ファミリ C、Mysentech (ファミリ D1)、および Xinbole (ファミリ F) は、12 ビットの温度変換を 30 ミリ秒未満、つまり本物の DS18B20 の保証変換時間の 5% 以内で実行するクローンを導入しました (確かに、ファミリ D1 の温度パフォーマンスは低いです) )、
- Xinbole (ファミリー F) には、最大 150 °C の温度を測定できる拡張温度モードがあり、
- Mysentech (ファミリー D2) は、0.016 °C の分解能で 14 ビット モードに入ることができます。
いくつかのチップに隠された宝石と、それらを支えるエンジニアの努力に本当に感謝しています。ただし、マキシム/アナログのデータシートの仕様はもちろんのこと、センサがそれぞれのデータシートの仕様に適合しているかどうかをテストしていないため、これを推奨するものとして理解されるべきではありません。
なぜ気にする必要があるのでしょうか?
倫理的な問題に加えて、偽造センサーの一部は実際には寄生電力モードでは動作せず、ノイズ レベルが高く、温度オフセットが宣伝されている ±0.5 °C の範囲外であり、EEPROM を含まず、バグや不特定の故障率が存在する、または仕様が異なる場合があります。マキシムのデータシートの仕様とは別の未知の方法で。人々が eBay でプローブを購入するのを思いとどまるほど問題が大きいわけではないことは明らかですが、データが重要な場合や測定条件が難しい場合には、実際の仕様を知っておくとよいでしょう。
私たちは何を扱っているのでしょうか?
定義は異なりますが、AIR6273 に従って、偽造品とは、認定メーカーの特定の正規品であるかのように偽って表示された、無許可のコピー、模造品、代替品、または改変品を指します [13]。 2019 年現在、主な問題は、疑いを持たない購入者を誤解させるラベルが貼られた模倣品 (クローン) です。幸いなことに、DS18B20 クローンはほとんど簡単に識別できます。チップ上のマーキングはレーザーではなく印刷されていますか?後ろの凹みに跡はありませんか?おそらくコンフェットです。 「スクラッチパッドレジスタ」の内容がデータシートと一致していませんか?おそらく偽物でしょう。既知の本物のチップとは体系的に異なる動作をしますか?おそらく偽物でしょう。
彼らはどのように見えますか?
上は、TO-92 ケースに入った本物のマキシム製 DS18B20 センサーの例です。
- 執筆時点(2019年)では、オリジナルのマキシムチップのトップマークは印刷ではなくレーザー加工されています。
- 最初の 2 行
DALLAS 18B20
、この部品が DS18B20 (ダラス セミコンダクターがオリジナルの製造元である) であることを指定し、寄生電力専用チップにはDALLAS 18B20P
マークが付いています。 - 4 行目の
+
は、その部品が RoHS に準拠していることを示します ([1])。 - 3 行目は、製造年とその年の週番号 (この場合は 2019 年の第 32 週) を指定します。
- 行 3 の最後の 2 文字は、ダイのリビジョン (現在は
C4
) を指定します。 - 行4の3桁の数字とそれに続く2文字は、マキシムが製造履歴を追跡できるようにするバッチコードの形式です。
- 2016 年以降に製造されたチップでは、文字の組み合わせ
AB
とAC
しか見たことがありません [5]。
- ケース背面のくぼみ内の刻印は、
- 2016 年から 2019 年までのすべてのチップ、2020 年(2020)のほとんどのチップ、および少なくとも 2009 年まで遡るほとんどの (?) チップに
P
(フィリピン?) が含まれています [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
とマークされたチップの日付コードに関連付けられたバッチ コードが 1 つだけあります。これは、インデント [5] にTHAI
とマークされたチップには当てはまりません。
混乱を避けるために、ここで調査したチップの関連するマキシム部品番号はDS18B20+
、つまり TO-92 パッケージで RoHS に準拠しています。このページに記載されているすべてがDS18B20+PAR
寄生電力のみのバリアントに当てはまるわけではありません (ほんの数個しか調べていないのでわかりません)。簡潔にするために、チップはデータシート [1] に記載されているようにDS18B20
と呼ばれています。
自分が影響を受けているかどうかをどうやって知ることができますか?
DS18B20が管理されたサプライチェーンを通じて正規ディーラーから購入され、マキシムまたはアナログ・デバイセズが製造したものとマークされている場合、そのチップは正規品です。
それ以外の場合は、(I) データシートへの準拠をテストできます。 (実際には、本物の部品であっても無許可の流通チェーンで誤って扱われた可能性があるため、そうすべきです。しかし、それはまた別の問題です。) センサーがこれらのテストのいずれかに合格しなかった場合、そのセンサーは偽物です(マキシムの実装にバグがある場合を除きます[4])。 (II) センサーの動作をマキシム製 DS18B20 の動作と比較できます。これらのテストは、マキシム製のすべての DS18B20 が同様に動作するという推測に基づいています。これは、少なくともダイ コード (少なくとも 2009 年以降はC4
[5]) を共有するセンサーには当てはまります [5]。
(I) に関しては、現在のデータシートに記載されている内容とセンサーに含まれる内容との間に矛盾があります [1、5]
- ファミリ B: スクラッチパッド レジスタの予約バイトは上書き可能 (データシートの指示に従って)
- ファミリ C: センサーは 12 ビット モードに固定されています (つまり、スクラッチパッド レジスタのバイト 4 は常に
0x7f
です)。 - ファミリ C: EEPROM 書き込みサイクル数は非常に少ない (50k 以上ではなく 10 程度)
- ファミリ B1、D1: ROM はソフトウェアで変更できます。つまり、レーザーではありません。
- ファミリ A2、B2、D1: 0 °C でオフセットが ±0.5 C 範囲外のセンサーが多数
- ファミリ D: センサーが寄生モードで応答しません (ファミリー D のほとんどのセンサーに適用されます)
- ファミリ D: 電源投入直後の温度測定値は 85 °C ではなく 25 °C
- ファミリ D: センサーは低解像度の温度変換を高速に実行しません
- ファミリ D: スクラッチパッド レジスタの予約バイト 5 と 7 は、それぞれ
0xff
と0x10
ではありません。 - ファミリ D1: パワーサイクル中に温度測定値を保持
- ファミリ E: カスタム スクラッチパッド レジスタがあります
- ファミリ F: 温度変換の完了をポーリングできません
- ファミリ F: 最大 150 °C (125 °C ではなく) の温度を測定可能
- ファミリ A3: 温度変換の完了のポーリングは、ある程度の遅延の後にのみ機能します
したがって、2019 年の時点で、入手可能なすべての偽センサーは少なくとも 1 つの点でデータシートに準拠していませんでした。 (2024年現在、G家やH家にはこの限りではありません。)
(II) に関しては、ほとんどの偽造センサーが失敗する、マキシム製 DS18B20 センサーとの違いを調べる情けないほど簡単なテストが 1 つあります [5]。
- ROM アドレスがパターン 28-xx-xx-xx-xx-00-00-xx [5] に従っていない場合、それは偽物です。 (これらの ROM は本質的に 48 ビット カウンタであり、最上位ビットは 0 [5] のままです。) このルールを阻止しようと努力しているのはファミリー A3 だけですが、2024 年の時点ではやりすぎです。また、まれなファミリー A2 とファミリー A3、B1v2、および H を除いて、どのクローンもスクラッチパッド レジスタの予約バイト 6 を正しく設定しませんでした。ファミリ A2 および A3 のクローンのみが、トリム値に関する文書化されていない機能コードに正しく応答します。
上記の (I) および (II) にリストされているような明らかな実装の違いに加えて、実装を分離するために使用できるサイドチャネル データもあります。たとえば、12 ビット温度変換で報告される時間 (室温での機能コード 0x44 の後の完了のポーリングによって決定される) は、個々のチップに特有のものであり (一定温度で 1% よりはるかに良好に再現可能)、明確な範囲内に収まります。回路の内部構造によって決定されます [5]:
- 11ms: ファミリ 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 の間にはいくつかのエッジ ケースが存在しますが、多くの場合、センサーが偽造品であるかどうかを判断するには、温度変換にかかる時間を測定するだけで十分です。
動作における重要な側面は、固定プルアップ抵抗に対してデータ ラインを Low にプルするセンサーの機能です。これは家族によってかなり異なることがわかりました。データシートでは、センサーが 125 °C までの任意の温度で 0.4 V で少なくとも 4 mA をシンクできることが保証されています [1]。 4 mA (5 V に対して 1.2 kOhm プルアップ抵抗) の電流を供給すると、室温でセンサーによって次のlow
電圧が達成されました (ファミリーごとに 5 ~ 10 個のセンサーのみが測定されたことに注意してください)。
- ファミリ A1: 0.058 ~ 0.062 V
- ファミリ B2: 0.068 ~ 0.112 V (1 つのセンサーを除くすべてのセンサー: 0.068 ~ 0.075 V)
- ファミリ C: 0.036 ~ 0.040 V
- ファミリ D2: 0.121 ~ 0.124 V
すべてのセンサーは室温で十分に仕様の範囲内にありますが、ファミリーごとのデータのクラスタリングは明らかであり、ハードウェアが独立して設計されたことを示しています。 100 °C を超える温度でこれらの測定を繰り返すと興味深いかもしれません。
あるいは、
- センサーのケースに印刷されている日付とバッチの組み合わせがマキシムのデータベースにない場合、それは偽物です(確認するにはマキシムのテクニカルサポートに問い合わせる必要があります)。 (「本物の」日付とバッチの組み合わせを使用する偽造品があることに注意してください。そのため、このオプションは忘れてください。)
上記のどの点も、特定の DS18B20 が本物のマキシム製品であるという確信を与えるものではありませんが、上記のテストのいずれかが「偽物」を示した場合、それは間違いなくクローンであることに注意してください [5]。
DS18B20 のようなチップのどのファミリに遭遇すると予想されますか?
もともとダラス・セミコンダクターによって製造され、ダラスを買収した後マキシム・インテグレーテッドによって継続製造されたDS18B20(ファミリーA1、以下)に加えて、2019年現在少なくとも他の5社によって独自に製造されたTO-92クローンがあります(ファミリーB1、B2、C、 D、E) [5]。ファミリへの分割は、そのレベルでの類似性が偶然である可能性が低いため、チップが応答する文書化されていない関数コードのパターンに基づいています [5]。 Family B1 のチップは GXCAS が製造し、GXCAS と UMW が独自に校正して販売しているようです。 Family B2 のチップは、Beijing 7Q Technology (7Q-Tek) によって製造されています。 UMW と 7Q-Tek の両方には、それぞれの Web ページに対応するデータシートがあります。家族 D1 は家族 D2 に取って代わられ、見えなくなりつつあるようです。ファミリ A2 のチップは珍しいもので、本物のチップと驚くほど似た動作をしますが、温度精度が劣っています。ファミリ E のチップは 2022 年にこのページに新たに追加され、ファミリ F、G、H、A3、および B1v2 は 2024 年に追加されました。
2018/19 年に中国、ドイツ、英国から eBay で購入した防水 DS18B20 プローブでは、ほとんどのロットにファミリー B1 のセンサーが搭載されていましたが、購入した 3 件に 1 件にファミリー D のセンサーが搭載されていました。ファミリー A1 または C のセンサーは搭載されていませんでした。産地や価格はセンサーファミリーの指標でした。 TO-92 パッケージの DS18B20 チップを購入する場合、ファミリー D2 が明らかに優勢で、ファミリー B2 が 2 位となり、ファミリー A1 または C のチップを入手できる可能性はわずかです。
以下の ROM パターンでは、 ttとss は実稼働中の急速に変化する値とゆっくりと変化する値を表し [5]、 crc はデータシート [1] で定義されている CRC8 チェックサムです。
DS18B20のデキャッピング
このコラージュは、2019 年に遭遇したすべての DS18B20 ファミリの金型の写真を示しています。すべての写真は同じ縮尺で、約 100 mm です。幅1.4mm。 TO-92のケースをペンチでこじ開け、奥付を煮沸してプラスチックケースからダイスを取り外し、超音波浴中でアセトンを用いて奥付を取り除きました。写真はかなり古い USB カメラで撮影されました。
ファミリ A1 は、マキシムが製造した本物の DS18B20 ( C4
ダイ) です。他のファミリーはすべてクローンです。ファミリ D1 と D2 のダイ間の類似点 (ソフトウェアの類似性と一致する) と、ファミリ B1 と B2 の大きな違い (ソフトウェアの類似性とは対照的に) に注目してください。
ファミリ A1: 本物の DS18B20
2019年にはebayやAliExpressでこれらのチップを含むプローブは入手できなかったが、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 は 2 つのパラメータをエンコードします [5]。 Trim1 のビット パターンを
[t17, t16, t15, t14, t13, t12, t11, t10]
(MSB から LSB) とし、Trim2 を[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 ℃ の範囲でシフトします。少なくとも現在のバージョンのチップでは、曲線パラメータは 3.88 °C (ユニットあたり 0.12 °C) の範囲で温度をシフトします [5]。 2019 年の値の例は
offset = 0x420
およびcurve = 0x0E
です。つまり、これらはそれぞれの範囲のほぼ中央に位置します。
- 現在のバッチ(2019)の温度オフセットはマキシムのFAQページに示されているとおりです。 0 °C で +0.1 °C [6] (つまり、データシート [1,9] に示されているものではありません。データシートのプロットは、10 年以上前のセンサーの導入時の測定に基づいています [5,10] ] 。温度離散化ノイズはあったとしても非常にわずかです [5]。
- 機能コード 0x44 の後のポーリングは、室温での 12 ビット温度変換のセンサー間の広がりが 584 ~ 615 ミリ秒であることを示します [5]。変換時間は個々のチップで簡単に再現できます。解像度が低いほど時間は比例して短縮されます。つまり、11 ビット変換では半分の時間がかかります。トリムパラメータは変換時間に影響します。
- 温度変換が完了する前にスクラッチパッド レジスタが読み取られた場合、(通常電力モードと寄生電力モードの両方で) 起動温度 85 °C が返されます。 [5]。
- 温度変換が失敗した場合、チップは 127.94 °C (=0x07FF / 16.0) の温度を返すようです [5] (たとえば、Vcc がフローティングのままの場合、複数のDS18B20 を使用した「寄生電力」モードで再現可能に発生する電力安定性の問題のため)データシートには、寄生モードでは Vcc が GND に接続されることが明確に記載されていることに注意してください。)
- 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年に1つのベンダーからチップを入手しました
私が乱暴な推測をするとしたら、これらのチップはマキシムの生産パイプラインの終わり近くのどこかに転用された(盗まれた?)と言えるでしょう[5]。興味深い事実: ベンダーはこれらのチップを QT18B20 として宣伝したため、販売されているこれらは実際には DS18B20 クローンの偽造品でした。これらのチップにはフィリピンではなくタイで製造されたとマークされています。
- ROM パターン [5]: 28-tt-tt-Cs-03-00-00-crc
チップは、以下の例外を除き、上記のファミリー A1 の説明に従います [5]。
- 両方のアラーム レジスタは 0x00 (スクラッチパッド バイト 2 および 3) に設定されます。
- 変換分解能は 9 ビットに設定されます (つまり、両方の構成ビットが 0)。
- 両方のトリム値が 0x00 であるため、誤った温度 (つまり、非常に低い温度) が発生し、変換時間は 400 ~ 500 ミリ秒の範囲になります。
- トリム値が適切な値に設定されると、温度変換時間は上記のファミリー 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年に1つのベンダーからチップを入手しました
これらのチップはマキシム製ではありません。
- 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 パターンはマキシムが製造したものと互換性がありません。
- Trim2 値は
0xFB
または0xFC
です。つまり、日付コードによって示唆される既知の [5] マキシム製品と互換性がありません。 (これは、曲線パラメータが 0x1f、つまり可能な最大 (符号なし) 値であることを意味することに注意してください [5]。また、オフセット パラメータは、ファミリ A1 の一般的な範囲ではなく 200 単位にわたって広がっています [5]。)- 曲線パラメータは、31 °C (単位あたり 1 °C) の範囲で温度をシフトする符号付き5 ビット値です [5]。つまり、0x1f (10 進数で -1) のカーブ パラメーターが範囲の中心にあります。
- 温度変換にかかる時間は、チップ間で 325 ~ 502 ミリ秒という非常に広い範囲に及びます [5]。この範囲は、より新しいトリム設定を適用した場合でも、依然として広く、ファミリー A1 の範囲外です [5]。変換時間は温度とともに著しく増加します (100 °C を超えると約 10%) [5]。 500 ミリ秒未満の変換時間は、7Q-Tek QT18B20 データシート [12] の主張と互換性があります。
- 寄生電力モード [5] で温度変換が完了する前にスクラッチパッド レジスタが読み取られた場合、起動温度 85 °C は返されません。
- 0 °C での一般的な温度オフセットは -3.5 ~ -1.8 °C です [5]。 (逸話: 温度が高いほど誤差は小さくなるようです [5]。) 温度の離散化ノイズは、たとえあったとしても非常にわずかです [5]。
- アラーム設定 (つまり、スクラッチパッドのバイト 2 および 3) にはランダムな内容が含まれているように見えます [5]。
- 一部のチップは、100 ミリ秒の電源サイクル後もスクラッチパッドの内容を保持します [5]。
- テストした 1 つの試験片は寄生モードで適切に機能しませんでした。
- 一部のチップでは 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年にチップを購入、野生でも観察された(ディスカッション42を参照)
このファミリーは 2024 年にリストに追加されました。このサイトの 2019 Arduino スケッチのすべてのテストに合格するように設計されているようです。
- 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 の後の遅延ポーリングは、約 1 秒を示します。 12 ビット温度変換の場合は 589 ~ 621 ミリ秒であり、解像度が低いほどそれに比例して短くなります [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 年に 2 つのベンダーからチップを入手しました。1 つのベンダーは、DALLAS ではなく UMW とマークされたチップを送りました
- 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、Config に従って)、
<byte 6>
は送信される 3 番目のバイトに変更されます。 - 5 つのデータ バイトが送信される場合 (UMW データシート、TH、TL、Config、ユーザー バイト 3、ユーザー バイト 4 に従って)、最後の 2 バイトはそれぞれ
<byte 6>
と<byte 7>
を上書きします。
- 文書化されていない関数コード 0x68 [5] のデータは返しません。コード 0x90、0x91、0x92、0x93、0x95、および 0x97 からのデータを返します [5]。 0x97に対する戻り値は
0x22
となります[5]。 - ROM コードは、コマンド シーケンス「96-Cx-Dx-94」を使用してソフトウェアで変更できます [5]。 (UMW データシートには、ROM コードを変更できると記載されていますが、その方法は指定されていません [14]。) ファミリ コード (
0x28
) は変更できません [5]。 - 寄生電力モードで温度変換が完了する前にスクラッチパッド レジスタが読み取られた場合、
<byte 6>
の実際の値を0x0c
に置き換えます。 - マキシムのデータシートに示されている温度オフセット (0 °C で -0.15 °C) [6]。温度離散化ノイズはあったとしてもごくわずかです [5]。
- 機能コード 0x44 の後のポーリングは約 1 を示します。 12 ビット温度変換の場合は 589 ~ 728 ミリ秒であり、解像度が低いほどそれに比例して短くなります [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 も参照してください。
これらのチップは 19 年頃に市場に登場したようです。文書化されていない機能はファミリー B1 の機能と一致しているように見えますが、スクラッチパッド レジスタの動作はファミリー A1 とより一致するように変更されました。
- ROM パターン [5]: 28-tt-tt-ss-ss-ss-ss-crc
- ファミリ B1 との違い:
- スクラッチパッド レジスタ
<byte 6>
はファミリー A1 のように機能します。つまり、 <byte 6> = 0x10 – (<byte 0> & 0x0f)
、[5]、および問題 40。 - アラーム レジスタとコンフィギュレーション レジスタの書き込みにより、スクラッチパッド レジスタの他の値が汚染されることはありません ([5] および Issue 40)。
- 5 データ バイトが送信される場合、スクラッチパッド レジスタはユーザー バイトを格納しません。つまり、
<byte 7>
は0x10
に固定されます。 [5]。
- 文書化されていない関数コード 0x68 [5] のデータは返しません。コード 0x90、0x91、0x92、0x93、0x95、および 0x97 からのデータを返します [5]。 0x97に対する戻り値は
0x22
となります[5]。 - ROM コードは、コマンド シーケンス「96-Cx-Dx-94」を使用してソフトウェアで変更できます [5]。ファミリコード (
0x28
) は変更できません [5]。 - マキシムのデータシートに示されている温度オフセット (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 年にこのシリーズのプローブとチップの両方を多数のベンダーから入手しました。3 つのベンダーが、DALLAS ではなく 7Q-Tek とマークされたチップを送りました
- ROM パターン [5]: 28-FF-tt-ss-ss-ss-ss-crc
- スクラッチパッド レジスタ
<byte 6>
は測定温度によって変化しません (デフォルト0x0c
) [5]。 - DS18B20 書き込みスクラッチパッド バグ (0x4E) / QT18B20 スクラッチパッド [5,12]:
- 3 つのデータ バイトが送信される場合 (DS18B20 データシート、TH、TL、Config に従って)、
<byte 6>
は送信される 3 番目のバイトに変更されます。 - 5 つのデータ バイトが送信される場合 (QT18B20 データシート、TH、TL、Config、ユーザー バイト 3、ユーザー バイト 4 による)、最後の 2 バイトはそれぞれ
<byte 6>
と<byte 7>
を上書きします。
- 文書化されていない関数コード 0x68 [5] のデータは返しません。コード 0x90、0x91、0x92、0x93、0x95、および 0x97 からのデータを返します [5]。 0x97に対する戻り値は
0x31
となります[5]。 - ROM コードは、コマンド シーケンス「96-Cx-Dx-94」を使用してソフトウェアで変更することはできません[5]。
- 少なくともいくつかのより最近のサンプルでは、デフォルトのアラーム レジスタ設定はファミリー A1 (
0x55
および0x00
) [5] とは異なります。 (2024年) - 寄生電力モードで温度変換が完了する前にスクラッチパッド レジスタが読み取られた場合、
<byte 6>
の実際の値を0x0c
に置き換えます。 - 0 °C での一般的な温度オフセットは -0.5 °C です [6]。温度離散化ノイズはあったとしてもごくわずかです [5]。
- 2024 年、10 個のセンサーのサンプルの平均温度オフセットは 0 °C で -0.24 °C でした [5]。 (2024年)
- 機能コード 0x44 の後のポーリングは、約 1 を示します。 12 ビット温度変換の場合は 587 ~ 697 ミリ秒であり、解像度が低い場合はそれに比例して短くなります [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)
- サンプルトップマーク:ダラス18B20 1626C4 +233AA
- サンプルトップマーク:ダラス18B20 1702C4 +233AA
- サンプルトップマーク:ダラス18B20 1810C4 +138AB
- サンプルトップマーク:ダラス18B20 1829C4 +887AB
- サンプルトップマーク:ダラス18B20 1832C4 +827AH
- サンプルトップマーク:ダラス18B20 1833C4 +058AA
- サンプルトップマーク:ダラス18B20 1908C4 +887AB
- サンプルトップマーク:ダラス18B20 1912C4 +001AC( NB:この日付/バッチの組み合わせも本物のチップで使用されています[5] )
- サンプルトップマーク:ダラス18B20 2012C4 +887AB (2020)
- サンプルトップマーク:7Q-TEK 18B20 1861C02
- サンプルトップマーク:18B20 2214 (2024)
- インデントマーク:なし
ファミリーC:0°Cでの小さなオフセット
プローブを取得しませんでしたが、2019年にいくつかのベンダーからチップを取得しました
- ROMパターン[5]:28-FF-64-SS-SSSS-TT-TT-CRC
- ScratchPad Register
<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ミリ秒(30)を示します[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
- サンプルトップマーク:ダラス18B20 1331C4 +826AC
- サンプルトップマーク:ダラス18B20 1810C4 +158AC
- サンプルトップマーク:ダラス18B20 1924C4 +158AC
- インデントマーク:なし
ファミリーD1:大きなキャップ付きの騒々しいゴミ
2019年初頭に2つのベンダーからの採用プローブは、2019年に1つのベンダーからチップを取得しました
- ROMパターン[5]:28-TT-TT-77-91-SSSS-SS-CRCおよび28-TT-TT-46-92-SS-SS-CRC
- ScratchPad Register
<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の後にScratchPadレジスタのバイト5、6、および7のために送信することができます[5]。デバイスのファミリコードを変更できます[5]。
- 0°Cで最大3°Cの温度エラー[6]。非常に騒々しいデータ[5]。
- 関数コード0x44後のポーリングは約を示します。測定解像度に関係なく、変換のための11 ms(11)[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
- サンプルトップマーク:ダラス18B20 1807C4 +051AG
- サンプルトップマーク:ダラス18B20 1813C4 +827AH (2020)
- サンプルトップマーク:ダラス18B20 1827C4 +051AG
- インデントマーク:なし
ファミリーD2:興味深い、寄生能力はありません
2019年に多数のベンダーからプローブとチップの両方を取得しました
- ROMパターン[5]:28-TT-TT-79-97-SSSS-SS-CRC、28-TT-TT-94-97-SSS-SS-CRC、28-TT-TT-79-A2-SS-SS- SS-CRC、28-TTTT-16-A8-SSSS-CRC、 28-TT-TT-56-B5-SSSS-SS-CRC (2020) 、28-TT-TT-07-D6-SSSS-CRC (2020)
- ScratchPad Register
<byte 7> == 0x66
、 <byte 6> != 0x0c
および<byte 5> != 0xff
[5]。-
<byte 7>
0xaaまたは0x00、[5]およびディスカッション36を含む他の値を持つことができます。(2024) - ScratchPad Registers
<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は、この構成レジスタ[5]の9バイトを更新するために使用されます。 (2024)
- 14ビット温度モード[15]は、文書化されていない構成レジスタ[5]に
<bit 0>
の<byte 0>
>を設定することで有効にできます。 (2024) - センサーは寄生能力で動作しません。センサーはデータラインを低く描画し、寄生的に駆動します[5]。
- 2019:0°Cで最大3°Cの温度エラー[6]。本物のチップよりも騒々しい[5]。
- 2024年、10個のセンサーのサンプルの平均温度オフセットは、0°Cで-0.09°Cで、センサー間拡散が-0.25から+0.44°Cに広がりました。ただし、個々のセンサーは、他のファミリのセンサーよりもノイズではありませんでした。 (2024)
- 関数コード0x44後のポーリングは約を示します。測定解像度に関係なく、変換のための462-523 MS [5]。 ROMの
97
およびA2
/ A8
のシリーズは、それぞれ494-523ミリ秒と462-486ミリ秒で変換されます[5]。 ROMのバイト4にあるA2
またはA8
のチップは、2019年に最初に登場したようです。 - 初期温度読み取り値は25°Cです[5]。デフォルトのアラームレジスタの設定は、ファミリーA1(
0x55
および0x05
)とは異なります[5]。- デフォルトのアラームレジスタ設定は、ファミリーA1(
0x00
および0x00
)、[5]およびディスカッション36 (2024)とは異なります。
- 例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)
- サンプルトップマーク:ダラス18B20 1812C4 +051AG
- サンプルトップマーク:ダラス18B20 1827C4 +051AG
- サンプルトップマーク:ダラス18B20 1916C4 +051AG
- サンプルトップマーク:ダラス18B20 1923C4 +051AG
- サンプルトップマーク:ダラス18B20 1943C4 +051AG
- サンプルトップマーク:ダラス18B20 1828C4 +233AA
- サンプルトップマーク:ダラス18B20 2008C4 +817AB (2020)
- サンプルトップマーク:SE18B20 2130 (2022)
- サンプルトップマーク:My18b20 S380 (2024)
- インデントマーク:なし
ファミリーE:Novosense NS18B20
2019年にチップもプローブも入手しませんでした。2022年と2024年にNS18B20と明確にマークされたチップを購入しました
このファミリーは2022年の時点でリストに追加されました。データシートは、2019年にチップが生産を開始したことを示唆しているようです。
- ROMパターン[5]:28-00-TTTT-SSSSSSS-SS-CRC
- ScratchPad Register
<byte 6>
は常に<byte 6> = 0x10 – (<byte 0> & 0x0f)
です。つまり、ファミリーa1 <byte 6> = 0x10
はパワーアップの値です[5]。 - NS18B20データシート[17]で指定されているように、関数コード0xDEに2バイトのカスタムスクラッチパッドを返し、関数コード0x28 [5]でEEPROMに書き込み中にビジーに合わせます。
- 文書化されていない関数コード0x68および0x93のデータを返しません[5]。
- 10個のセンサーのサンプルの平均温度オフセットは、他のファミリーに匹敵するスプレッドで、0°Cで+0.02°Cでした[5]。個々のセンサーのノイズは、他のファミリのセンサーに匹敵しました[5]。 (2024)
- 温度変換は20〜25ミリ秒で、選択された解像度とは無関係です[5]。 (NS18B20データシートは、解像度に関係なく最大50ミリ秒を指定しています。)
- センサーは、寄生電源モードで、寄生電源モードでの温度変換が機能していることを示します(CRSORYテストに基づく)[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年にチップを購入しました
この家族は2024年にリストに追加されました。
- ROMパターン[5]:28-TTTT-SSSSSSSSS-SS-CRC
- ScratchPad Register
<byte 6> = 0x0C
固定、[5]。 - 文書化されていない関数コード0x19で3バイトを返します[5]。
- 文書化されていない関数コード0x68および0x93のデータを返しません[5]。
- 拡張温度モード(最大150°C)を有効にすることができます。
<bit 7>
の<byte 4>
のScratchPadレジスタ、[5]、[18]を設定できます。 - Eepromは実装されていません[18]。
- デフォルトのアラームレジスタの設定は、ファミリーA1(
0x55
および0x00
)とは異なります[5]。 - 10個のセンサーのサンプルの平均温度オフセットは0°Cで-0.11°Cで、他のファミリーに匹敵する広がりがありました[5]。個々のセンサーのノイズは、他のファミリのセンサーに匹敵しました[5]。 (2024)
- 変換解像度は常に12ビットとして報告されています[5]。
- 温度変換の完了は、ポーリングすることはできません(機能性は実装されていません)、[5]、[18]。
- データシートによる典型的な変換時間27ミリ秒、[18]。
- 寄生電源モードは、GNDに引っ張られたVCCでは機能しません[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年にチップを購入しました
この家族は2024年にリストに追加されました。
- ROMパターン[5]:28-TTTTTTTTTTTTT-TT-CRC(一見ランダム)
- ScratchPad Register
<byte 6> = 0x0C
at Power Upで、温度変換後の<byte 6> = 0x20 – (<byte 0> & 0x0f)
、[5]。はい、彼らは本当に家族A1の上に0x10
あります。 - 文書化されていない関数コード0x8e [5]に1つのバイトを返します。
- 文書化されていない関数コード0x68および0x93のデータを返しません[5]。
- デフォルトのアラームレジスタの設定は、ファミリーA1(
0x55
および0xAA
)とは異なります[5]。 - 100ミリ秒のパワーサイクルが短すぎてスクラッチパッドレジスタをリセットできないようにする大きなバッファーコンデンサが含まれています[5]。
- 27のセンサーのサンプルの平均温度オフセットは、他のファミリーに匹敵するスプレッドで、0°Cで-0.22°Cでした[5]。個々のセンサーのノイズは、他のファミリのセンサーに匹敵しました[5]。
- 関数コード0x44後のポーリングは約を示します。 12ビット温度変換の場合は227-293ミリ秒で、低解像度では比例して少ない[5]。
- センサーは、寄生電源モードで、寄生電源モードでの温度変換が機能していることを示します(CRSORYテストに基づく)[5]。
- 寄生虫の電源モードでScratchPadレジスタを読み取ることでコンバージョンが中断される場合、データラインを低く引きます(!) [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年に1つのチップを取得しました
このファミリは2024年にリストに追加されました。私が得たサンプルの1つは、HT18B20というラベルの付いたセンサーの「バッチ」の一部でした。それらはテープとリールパッケージであり、この1つのセンサーは他のセンサーとは異なりました。したがって、自分が何を得ているのか知りたくない場合は、HT18B20を求めてください。
- ROMパターン[5]:28-TTTTTTTTTTTTTT-CRC(1つのサンプルに基づいて言うのは難しい)
- ScratchPad Register
<byte 6> = 0x0C
電源アップ、および温度変換後の<byte 6> = 0x10 – (<byte 0> & 0x0f)
、[5]。 - 文書化されていない関数コード0x68および0x93またはその他の関数コード[5]のデータを返しません。
- デフォルトのアラームレジスタの設定は、ファミリーA1(
0x55
および0xAA
)とは異なります[5]。 - 100ミリ秒のパワーサイクルが短すぎてスクラッチパッドレジスタをリセットできないようにする大きなバッファーコンデンサが含まれています[5]。
- 調査した1つのサンプルの温度オフセットは、0°Cで-0.12°Cでした[5]。センサーのノイズは、他のファミリのセンサーに匹敵しました[5]。
- 関数コード0x44後のポーリングは、それぞれ9、10、11、および12ビットの解像度で101ミリ秒、141ミリ秒、198ミリ秒、および279ミリ秒を示します。 5]。
- 原則として、センサーは、寄生電源モードで、寄生パワーモードでの温度変換が機能していることを示します(CRSORYテストに基づく)[5]。
- 寄生電力と通常の電力の間の前後の切り替えは、センサーによって確実に示されていません[5]。
- 寄生虫の電源モードでScratchPadレジスタを読み取ることにより、変換が中断される場合のデータラインが浮かんでおり、その後照会された場合に変換結果を報告します。 [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-TTTT-SS-00-00-80-CRC
- 例ROMの例:28-9E-9C-1F -00-00-80- 04
(2019年にまだ他の人に売られたようです(17号を参照))
ROMパターン[5,11]:28-61-64-SSSSSS-TT-TT-CRC
- 例ROM:28 -61-64- 11-8D-F1-15-DE
(家族のように見えます。) (2022)
ROMパターン[5]:28-EE-TTTT-SSSSSS-SS-CRC
- 例ROM:28 -EE- 58-49-25-16-01-45 (2020)
- サンプルトップマーク:ダラス18B20 1619C4 +827AH (2020)
- サンプルトップマーク:ダラス18B20 1709C4 +827AH (2020)
(2020年にいくつかのチップを受け取りました:彼らは一見して家族B2のように振る舞います。)
C4
の前にダイバージョンを備えたファミリーA1
(一部の古いチップ(2009年以前)には、バギーハードウェアサーキット(dies)があり、最も悪名高いB7
Die [4]、cf。Issue 19)がありました。
85°Cの問題に対する解決策
パワーアップ85°C読み取りと、DS18B20ファミリーAおよび他の一部の他のDS18B20で85°Cの本物の温度読み取り値を区別するシンプルで文書化された方法があります[5]: <byte 6>
。 0x0c
の場合、85°C-Readingはパワーアップの読み取りです。そうでなければ、真の温度測定です。
GXCAS 18B20
GXCASとして取引されている北京Zhongke Galaxy Core Technology Co.、Ltd.のDS18B20クローンは、GXCASとUMW(ファミリーB1)によって独立して分布しているようです。彼らのWebページによると、GXCASは2018年1月からしか存在していません。GXCASにはオンラインでデータシートがありませんが、UMW Webページのデータシートは、ScratchPadレジスタに2つのユーザー定義バイトの追加と変更の可能性を強調しています。 ROMアドレス[14]。これらのチップの多くには、偽のDS18B20トップマークがあります。 GXCASは、会社の名前をダイに顕著に書いているため、製品を明らかに誇りに思っています。
7Q-TEK QT18B20
QT18B20は、北京7Q Technology Incが開発および販売したDS18B20クローンであり、7Q-TEK(ファミリーB2)として取引されています。 QT18B20のデータシートは、ScratchPadレジスタ[12]に2つのユーザー定義バイトの追加を強調しています。 DS18B20のデータシートとは異なり、ROMコードがレーザー化されているとは述べていません。これらのチップの多くには、偽のDS18B20トップマークがあります。 7Q-Tekは、彼らの会社名をダイに顕著に書いているので、彼らの製品を明らかに誇りに思っています。
ファミリーA2のチップを設計または生産したのは不明ですが、Family A2は次の観察に基づいて、ファミリーB2 7Q-TEK QT18B20のインスピレーションであったようです。
- QT18B20データシートは、温度変換には500ミリ秒未満かかると主張しています[12]。これは、家族A2の実際の動作と一致しています。 (UMWデータシートは同じ[14]を主張していますが、データシートの1つは他のテンプレートとして使用されているようです。)
- Datasheetバージョンの履歴によると、QT18B20データシートの最も早いバージョンでは、ユーザー定義のバイトについては言及していませんでした[12]。 Family A2には、ScratchPadレジスタにユーザー定義のバイトがありません。
- ファミリーA2のダイシルートは、ファミリーA1(マキシムによって生成された)とファミリーB2(7Q-TEKで生産)のダイのスタイルに似ています。ダイサイズはファミリーA1とは大きく異なるため、格言生産されたDS18B20ではありません。
mysentech my18e20
Mysentechとして取引するMinyuan Sensing TechnologyのMy18e20クローンは、ファミリーD2のセンサーのようです。ファミリーD1は、おそらくMySentechによっても生成されるバリアントです。 MySentechには、このチップの動作とほぼ一致していると思われるデータシートがあり[15]、このセンサーに関連する技術的なFAQページ(2022年12月)[16]があります。どうやら、MySentechは2017年に設立されました。 (2024)
Novosense NS18B20
NS18B20は、Suzhou Novosense Microelectronics Co.、Ltd。(ファミリーE)のDS18B20クローンです。 (2022年)
Xinbole DS18B20T
Shenzhen Xinbole Electronics Co.(XBLW)には、F. (2024)のセンサーのやや珍しい動作を正確に説明するデータシートがあります。
max31820
Maxim Integratedは、MAX31820温度センサーも生成します。 MAX31820は、供給電圧範囲が限られているDS18B20(つまり、最大3.7 V)および高精度の温度範囲が小さくなっています[1,8]。 DS18b20と同様に、1線型ファミリーコード0x28 [1,8]を使用しています。予備調査により、(まだ)ファミリーA1のDS18B20を区別するテストと、ソフトウェアでMAX31820を格付けしたテストは明らかにされていません[5]。
メソッド
人気のリクエスト(第11号)により、このセクションは、上記の結果と結論の背景を示すことになっています。時間がかかるにつれて非常にゆっくりと追加します。
調査は、DS18B20-PARバリアントまたはDS18S20ではなく、DS18B20で行われました。数百のDS18B20がある間、DS18B20-PARとDS18S20センサーでいっぱいの手しかありません。また、すべてのセンサーはTO-92の場合でした。
ファミリーA1の分析のサンプルベース
上の図は、チップとして購入されたファミリーA1センサーの生産日とROMコード(シリアル番号)の範囲を示しています。また、トップマークを読み取るために開いたプローブに含まれるチップの1桁の数も含まれています。日付コードによる生産日はx軸上にあり、ROMに応じたシリアル番号はy軸にあり、ドットは個々のチップです(n> 200ですが、個々のバッチは塗りつぶされた塊として表示されます)、灰色の領域は2019年を強調しています。2009年から2020年までにチップが生成され、すべてのチップにはC4
ダイがあり、2010年の日付コードがありません。 2014年、または2015年(ROM 28-13-9B-BB- 0B -00-00-1Fのチップのシリアル番号は0x0bbbb9b13であるため、y軸では0x0bから0x0cの間に低下します。)シリアル番号と日付コード(破線)の間の長期的な関係:シリアル番号はほぼ増加します年間16,500,000(つまり、約2^24)。ただし、この関係は、ライン周辺の散乱の程度と挿入図の拡大で見ることができる一般的なガイドのみです。2019年に生成されたセンサーの3つのインスタンスがありました。以前のシリアル番号。
TRIM2キャリブレーション定数0xDBまたは0xDCで2016年に生成された最後のバッチの1つと、TRIM2キャリブレーション定数0x73または0x74の最初のバッチの1つを購入したようです。したがって、この変更はおそらく2016年の32週目から47週目の間に行われました(これは、DS18B20-PARではなくDS18B20に関する声明です。 )
温度データ
上の図は、(a)0°Cの氷水浴で各センサーから得た温度読み取り、(b)氷水浴の連続した測定値のノイズの量、および(c)温度の変換時間名目上室温での測定(実際には0〜30°Cの間に測定が行われました)。図の高解像度バージョンは、画像/sensor_measurements_by_family.pngで入手できます。 (a)および(b)のデータは、通常、センサーが氷水浴で平衡化された10秒後に1回行われた20の連続した測定に基づいています。 (c)のデータは、エクスペリエンス変換のタイミングが散乱しないのと同じくらいセンサーごとの単一の測定値に基づいています。つまり、現在の温度でセンサーの変換時間を評価するのに十分です。
データは+5 Vで測定されました。(2024)
データは、次のようにx軸に沿ってグループ化されます。
- A1:公式ディストリビューターから入手したファミリーA1、すなわち、認証と適切な取り扱いの両方が保証されています
- A1(サードパーティディストリビューター):eBayやAliexpressで販売しているものを含む、大小の他の小売業者から入手したファミリーA1、およびプローブに含まれるセンサーを含む
- A2:ファミリーA2
- B1(GXCAS):GXCASによって明らかに分布しているROMに基づくファミリーB1
- B1(UMW):UMWによって明らかに分布しているROMに基づくファミリーB1
- B2:ファミリーB2
- C:家族c
- D1:ファミリーD1
- d2( xy ):括弧内のxy数がROMの5番目のバイトであるファミリーD2(すなわち、バイト4)。各グループ内のセンサーは、主にROMに基づいて製造の順序であると思います。
0x00
トリム値を持つファミリーA1センサーのデータは表示されません。
最大指定温度誤差は0°Cで±0.5°Cであり、この間隔は、薄い破線でプロット(a)でマークされています。ファミリーA1センサーには、通常-0.1〜 +0.2°Cの範囲で読み取り値があり、ファミリーA2の範囲は-2°C、0〜0.5°Cの間のファミリーB1、約-0.5°CのファミリーB2、周りのファミリーCがあります。 0°C(確かに言うのに十分なデータポイントはありません)、-1〜 +1°C以降の家族D1、およびファミリーD2 - まあ、データから言うのは難しいです。彼らはファミリーD1と同様のパフォーマンスから本当にひどくスタートしましたが、改善されていない場合があります(確実に言うために、より多くのセンサーを測定する必要があります。2024年の限られた測定は、それらがファミリーD1よりもはるかに優れていることを示しました)。測定は、プローブに含まれるセンサーの自己加熱からのアーティファクトを避けるために、10秒に1回測定されました(つまり、1秒後に読み取ると温度が戻ることがわかりました)。
理想的なセンサーは離散化ノイズのみを示し、つまり、実際の温度を囲む2つの値の間で測定値が変動します。このノイズは、名目上20温度測定の標準偏差( std(T)
)としてプロット(b)に示されています。すべての測定値が同じ場合、 std(T)
はゼロです。 1つの測定値が1つの離散化ステップ(つまり0.0625°C x 0.0625°C)によって異なる場合、 std(T)
は0.014°Cで、下部破線として表示されます。データが2つの隣接する値間で均等に分割されている場合、 std(T)
は0.031°Cで、上部破線として表示されます。 0から下の破線の間のデータポイントは、そのセンサーに20以上のサンプルが使用されたことを示しており、上線の上のデータは、少なくとも2つの離散化ステップの範囲で測定値が変動したことを示しています。ファミリーA、B、およびCのセンサーは、本質的に離散化ノイズのみを持っていることがわかります。対照的に、ファミリーD1は衝撃的にノイズの多いゴミを生成し(つまり、実際の測定解像度は12ビット未満です)、ファミリーD2のセンサーも離散化ノイズを超えるレベルでうるさいです。
温度データ変換に必要な時間は、データシートで最大750ミリ秒(12ビット変換)として指定されています。必要な実際の時間には、(特定の温度で)各センサーの適切に再現可能で特徴的な値があります。今回はプロット(c)に示されています。ファミリーA1は変換に約600ミリ秒かかりますが、ファミリーA2とBは比較的大きなセンサー間の変動性を示します。ファミリーCとD1はそれぞれ30ミリ秒と11ミリ秒で報告できるほど高速ですが、ファミリーD2は約500ミリ秒以上かかります。私たちが測定したすべてのセンサーは、室温で750ミリ秒よりも速かったが、ファミリーBの一部のセンサーは限界に近づいた。
警告
文書化されていない関数コードをDS18B20センサーに送信すると、たとえば温度キャリブレーション係数が上書きされている場合など、永久に役に立たない場合があります[5]。偽造センサーを識別する推奨される方法は、ROMがパターン28-XX-XX-XX-00-00-XXに従わないかどうかを確認することです[5]。 (ROMをファミリーB1とD1で上書きして本物のセンサーを模倣することができますが、スプーフィングされたROMを備えたセンサーには出くわしません[5]。)
(家族のチップに関する情報A、B、C、D、E、F、G、およびHは、参照番号[1-6,8-10,12で示されているように、以下の参照と併せてセンサーの私自身の調査から来ています。 -18]。すべてのテストは、NGA P. DANGと共同で実行された5 Vで実行されました。オサドニック。
情報源
本物またはクローン化されたDS18b20を備えたセンサーまたはプローブは、次のソースから購入しました。オフカルマキシムディストリビューターから購入したセンサーのみが、正しく処理されたことが保証されている本物のチップであることに注意してください。オンライン注文システムを介して統合されたMaximによって提供される無料サンプルは、感謝されています。
公式ディストリビューター: Maxim Integrated、Digikey、Farnell、Mouser、RSコンポーネントeBay: 5HK1584、Alice1101983、Alphago-IT、Areyourshop-003、B2CPowerShop2010、Bernard_netelectroshop、Binggogo、Carefory123、Careforutroshop、 Christians-Technik-Shop、CZB6721960、D-9845、Deepenmind、Diy-Arduino、Diybox、Eckstein-Komponente、Enigma-Component-Shop、E*Shine、Efectronics、Ele-Parts、Fr_aurora、Fzeroinestore、Geekapaparelles、good-module Happybuddhatrading、hermann_shopp、 ICMarket2009、jk_parts、justpro、kingelectronics15、london_shoppings_1、lovesell2013、lucas89-8、makershop、mecklenburg8、modul_technik、moore_estates、nouteclab、 *onchid、polida2008、puretekinekinednovation、richek-insnovation、rida2008、 Sensus、Sevenshop888、Shenglongsi、Sparco888、Survy2014、Tancredielettronica、Umtmedia、WorldChips、Xiaolin4、Xuan33_store、Yantzlf Aliexpress:すべての商品は、aokin dimier、cuiisw module firt-firtimis firt fall firt firt fall fatriemake、aokinエレクトロニクス、hwa yeh、 Liyuan Electronic、Mega Semiconductor、Red Yellow Store、Roarkit Store、Sensor World、Shengsun Sensor、Shenzhen高品質製品、Shop912692、Tenstar、Wavgat、Win。、YLGA、YX Electronic Other: Adafruit、Az-Deliblear、Banggood、Taizhou Best電気機器、コンラッドエレクトロニック、Dfrobot、Drok、Elektroimportøren、Elfa Distrec、Shanghai Jiutian Automation Equipment、Kjell&Company、LCSC、Dongguan Nangudi Electronics、Quest Components、Shenzhen RBD Sensor Technology、Reichelt Elektronik、Shenzhen Senstech Electronic Technology、Sparkfun、Tayda Electronics、Telmal、Donguan Tianrui Electronic
参考文献
- DS18B20 "DS18B20プログラマブル解像度1線デジタル温度計"、データシート19-7487 Rev 6 7/19、Maxim Integrated。
- DS18S20 "DS18S20 Highcision 1-Wire Digital Thermetomer"、Datasheet、Maxim Integrated。
- AN4377「DS18B20およびDS18S20 1-WIREデジタル温度計の比較」、Maxim Integrated
- AN247「DS18X20 EEPROM腐敗の問題」、Maxim Integrated
- 独自の調査2019-2024、未発表。
- Petrich、C.、M。O'Sadnick、Ø。 Kleven、I。Sæther(2019)。氷とメトシーンの測定用の低コストの沿岸ブイ。北極条件下での港湾および海洋工学に関する第25回国際会議(POAC)、デルフト、オランダ、2019年6月9〜13日、6ページ(リンク)
- https://forum.arduino.cc/index.php?topic = 544145.15でのユーザーM_ELIASの貢献
- MAX31820 "1線環境温度センサー"、データシート、Maxim Integrated。
- DS18B20 "DS18B20プログラム可能な解像度1線デジタル温度計"、Datasheet 043001、Dallas Semiconductor、20pp。
- DS18B20 "DS18B20プログラマブル解像度1線デジタル温度計"、予備データシート050400、ダラス半導体、27pp。 (ウェイバックマシン)
- さまざまなブログや投稿からの断片。
- QT18B20 "QT18B20プログラマブル解像度1線デジタル温度計"、DataSheet REV 061713、7Qテクノロジー。
- Air6273「用語、定義、および頭字語の偽造資材または電気、電子機械部品、電気部品」、SAE Aerospace Information Report、2019年7月。
- UMW DS18B20 UMW DS18B20データシート。
- My18e20 MySentechホームページ(英語)データシートへのリンク。
- My18E20 FAQ MySentech FAQ(中国語)。
- NS18B20「高精度シングルバスデジタル温度センサー」、NS18B20 DATASHEET REV. 1.0、NOVOSENSE。
- DS18B20Tデータシート、Xinbole。