您的 DS18B20 温度传感器很可能是假冒的、仿冒的、克隆的......
...除非您直接从 Analog Devices(或 Analog Devices 收购之前的 Maxim Integrated,或过去的 Dallas Semiconductor)、授权经销商(DigiKey、RS、Farnell、Mouser 等)或大型公司购买芯片零售商,或者您非常小心地购买了防水 DS18B20 探头。 2019 年,我们在 eBay、速卖通和大大小小的网上商店上从 70 多家不同供应商那里购买了 1000 多个“防水”探头或裸芯片。在 eBay 和速卖通上购买的所有探头都含有假冒 DS18B20 传感器,而且几乎所有探头都含有假冒 DS18B20 传感器。在这两个网站上购买的传感器是假冒的。
作者:Chris Petrich,2024 年 11 月 11 日。许可:CC BY。来源: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 系列传感器。没有一个有 A1 或 C 系列传感器。产地和价格都不是传感器系列的指标。在采购TO-92封装的DS18B20芯片时,D2族明显占据主导地位,B2族次之,获得A1或C族芯片的可能性较小。
在下面的 ROM 模式中, tt和ss代表生产运行中快速变化和慢速变化的值 [5], crc是数据表 [1] 中定义的 CRC8 校验和。
DS18B20 拆盖
该拼贴画显示了我们在 2019 年遇到的所有 DS18B20 系列芯片的照片。所有照片的比例相同,约为 100 厘米。宽度 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 的位模式为
[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 °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 在“寄生功率”模式下会重复出现功率稳定性问题)而不是接地。请注意,数据表明确指出,Vcc 在寄生模式下应接地。)
- 示例 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 年购买了芯片,也在野外观察到(参见讨论 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 后的延迟轮询表示大约。 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年从两家供应商获得芯片。其中一家供应商发送的芯片标记为UMW,而不是DALLAS
- 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期
这些芯片似乎已经出现在市场上。 2024 年,如第 40 期所述。虽然未记录的功能似乎与系列 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] 和问题 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年从多家供应商处获得了该系列的探头和芯片。其中3家供应商发送的芯片标记为7Q-Tek,而不是DALLAS
- 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)
- 示例标志:达拉斯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-SS-SS-TT-TT-CRC
- SCRATCHPAD寄存器
<byte 6> == 0x0c
[5]。 - 不返回无证件功能代码0x68或任何其他无证件功能代码的数据[5]。
- 0°C下的典型温度偏移为+0.05°C [6]。几乎没有温度离散噪声[5]。
- EEPROM仅忍受大约八(8)个写周期(功能代码0x48)[5]。
- 报告的功率模式(寄生/正常)响应功能代码0xb4可能是错误的,具体取决于订单电源引脚和数据线(例如,如果电源引脚在GND处为GND,则在数据供电时进行供电,然后将电源引脚连接到VCC ,芯片将继续报告寄生能力模式)[5]。
- 功能代码的轮询0x44表示12位温度转换的28-30 ms(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年初,来自两家供应商的探测,于2019年获得了一家供应商的筹码
- ROM模式[5]:28-TT-TT-77-91-SS-SS-CRC和28-TT-TT-TT-46-92-SS-SS-CRC
- scratchpad寄存器
<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
:传感器确实以寄生能力模式工作(并正确报告它们是否具有寄生动力)。
- 可以在无证件函数代码0xA3和0x66之后将任意内容作为ROM代码和字节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毫秒)保持一点点(例如,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-SS-SS-CRC,28-TT-TT-94-94-97-97-SS-SS-CRC,28-TT-TT-TT-TT-79-A2-S2-SS- SS-CRC,28-TT-TT-16-A8-SS-SS-CRC, 28-TT-TT-56-B5-SS-SS-CRC (2020) ,28-TT-TT-TT-07-D6-SS-SS-CRC (2020)
- scratchpad寄存器
<byte 7> == 0x66
, <byte 6> != 0x0c
和<byte 5> != 0xff
[5]。-
<byte 7>
可以具有其他值,包括0xAA或0x00,[5]和讨论36。 (2024) - SCRATCHPAD寄存器
<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)
- 通过在无证件配置寄存器中设置<
<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毫秒的转换,无论测量分辨率如何[5]。在ROM中使用
97
和A2
/ A8
的系列分别以494-523 ms和462-486 ms转换[5]。 ROM的BYTE 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年,该家族已被添加到列表中。数据表似乎表明芯片于2019年开始生产。
- ROM模式[5]:28-00-TT-TT-TT-SS-SS-SS-CRC
- scratchpad寄存器
<byte 6>
始终<byte 6> = 0x10 – (<byte 0> & 0x0f)
,IE与family A1 <byte 6> = 0x10
不同是电源上的值[5]。 - 返回功能代码0xDE上的两个字节自定义scratchpad,并在写入函数代码0x28 [5]的EEPROM时忙碌,如NS18B20 DataSheet [17]中指定。
- 不返回无证件功能代码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年购买了筹码
该家庭于2024年被添加到列表中。
- ROM模式[5]:28-TT-TT-TT-SS-SS-SS-SS-CRC
- scratchpad寄存器
<byte 6> = 0x0C
固定,[5]。 - 在无证件功能代码0x19,[5]上返回三个字节。
- 不返回无证件功能代码0x68和0x93的数据,[5]。
- 可以通过在ScratchPad寄存器中设置
<bit 7>
<byte 4>
,[5],[18]来启用扩展温度模式(最高150°C)。 - EEPROM未实施,[18]。
- 默认警报寄存器设置不同于家庭A1(
0x55
和0x00
)[5]。 - 10个传感器的样品在0°C下的平均温度偏移为-0.11°C,扩散与其他家族相当[5]。单个传感器的噪声与其他家族的传感器相媲美[5]。 (2024)
- 转换分辨率始终报告为12位[5]。
- 温度转换的完成无法进行轮询(未实现功能),[5],[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-TT-TT-TT-TT-TT-TT-TT-TT-CRC(看似随机)
- scratchpad寄存器
<byte 6> = 0x0C
在电源上, <byte 6> = 0x20 – (<byte 0> & 0x0f)
在温度转换后,[5]。是的,他们确实在家庭A1上方0x10
。 - 在无证件功能代码0x8e,[5]上返回一个字节。
- 不返回无证件功能代码0x68和0x93的数据,[5]。
- 默认警报寄存器设置不同于家庭A1(
0x55
和0xAA
)[5]。 - 包含一个大型缓冲电容器,因此100毫秒的功率周期太短,无法重置ScratchPad寄存器[5]。
- 27个传感器的样品在0°C下的平均温度偏移为-0.22°C,扩散与其他家族相当[5]。单个传感器的噪声与其他家族的传感器相媲美[5]。
- 功能代码后的轮询0x44表示大约。 227-293 ms的12位温度转换,在较低分辨率下的比例较小[5]。
- 传感器指示何时在寄生能力模式下,寄生能力模式下的温度转换(基于粗略的测试)[5]。
- 如果通过在寄生虫功率模式下读取ScratchPad寄存器来中断转换,则拉出数据行(!),并最终将恢复以后完成转换(最多> 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的“批次”传感器的一部分:它们是包装的磁带和卷轴,而这个传感器与其他传感器不同。因此,如果您不想知道自己得到什么,请询问HT18B20。
- ROM模式[5]:28-TT-TT-TT-TT-TT-TT-TT-TT-CRC(根据一个样本很难说)
- scratchpad寄存器
<byte 6> = 0x0C
电源时, <byte 6> = 0x10 – (<byte 0> & 0x0f)
在温度转换后,[5]。 - 不返回无证件功能代码0x68和0x93或任何其他功能代码的数据[5]。
- 默认警报寄存器设置不同于家庭A1(
0x55
和0xAA
)[5]。 - 包含一个大型缓冲电容器,因此100毫秒的功率周期太短,无法重置ScratchPad寄存器[5]。
- 研究的一个样本在0°C下的温度偏移为-0.12°C [5]。传感器的噪声与其他家族的传感器相媲美[5]。
- 在函数代码0x44的启用后,以9、10、11和12位的分辨率表示101 ms,141 ms,198 ms和279 ms,即分辨率设置之间的倍数为1.4,而不是2倍,而不是2倍。 5]。
- 原则上,传感器指示何时在寄生能力模式下,寄生能力模式下的温度转换(基于粗略的测试)[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-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-SS-TT-TT-CRC
- 示例ROM:28 -61-64- 11-8D-F1-15-DE
(似乎是家庭C) (2022)
ROM模式[5]:28-EE-TTTT-TT-SS-SS-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年前)有越野车的硬件电路(死亡),最臭名昭著的是B7
死亡[4],请参阅第19期)。
解决85°C问题
有一种简单的,无证件的方法,可以区分85°C读取的电力,而在ds18b20的家族A和其他一些人中的真实温度读数为85°C [5]: <byte 6>
ScratchPad寄存器的6>。如果是0x0c
,则85°C的阅读是加电读数,否则是一个真实的温度测量。
GXCAS 18B20
北京中心Galaxy Core Technology Co.,Ltd。的DS18B20克隆(GXCAS)似乎由GXCAS和UMW(家庭B1)独立发行。根据他们的网页,GXCAS仅自2018年1月以来才出现。虽然GXCAS没有在线数据表,但UMW网页上的数据表强调了ScratchPad寄存器中的两个用户定义的字节,并且可能更改的可能性ROM地址[14]。这些芯片中的许多具有假DS18B20的标记。 GXCAS显然为他们的产品感到自豪,因为他们将公司名称杰出地写在Die上。
7Q-TEK QT18B20
QT18B20是由北京7Q Technology Inc开发和出售的DS18B20克隆,以7Q-TEK(Family B2)交易。 QT18B20的数据表强调了ScratchPad寄存器中的两个用户定义字节[12]。与DS18B20的数据表不同,它没有说明ROM代码是激光的。这些芯片中有大量具有伪造的DS18B20标记。 7q-tek显然为他们的产品感到自豪,因为他们在Die上著名地写下了公司名称。
虽然尚不清楚谁设计或生产了家庭A2的筹码,但根据以下观察结果,Family A2似乎是B2 7Q 7Q-TEK QT18B20的灵感来源:
- QT18B20数据表声称温度转换<500 ms [12]。这与家庭A2的实际行为一致。 (虽然UMW数据表声明相同[14],但其中一个数据表似乎已用作另一个模板。)
- 根据数据表版本历史记录,QT18B20数据表的最早版本没有提及用户定义字节[12]。 family A2在ScratchPad寄存器中没有用户定义的字节。
- 家庭A2的模具ciruit类似于家庭A1(由Maxim生产)和家庭B2(由7Q-TEK生产)的风格。模具尺寸与家族A1明显不同,因此它不是最大生产的DS18B20。
mySentech my18e20
My18e20的Minyuan传感技术(MySentech交易)似乎是Family D2的传感器。 Family D1可能是MySentech也生产的一种变体。 MySentech的数据表似乎与该芯片的行为基本一致[15],并且它们具有与该传感器相关的技术常见问题解答页面(日期为2022年12月)[16]。显然,MySentech成立于2017年。 (2024)
Novosense NS18B20
NS18B20是Suzhou Novosense Microelectronics Co.,Ltd。的DS18B20克隆(家庭E)。 (2022)
Xinbole DS18B20T
深圳市Xinbole电子公司(XBLW)的数据表准确地描述了Family F的传感器的某种异常行为。(2024)
Max31820
Maxim集成还会产生Max31820温度传感器。 MAX31820是DS18B20,电源电压范围有限(即高达3.7 V),高精度的温度范围较小[1,8]。像DS18B20一样,它使用一线家庭代码0x28 [1,8]。尚未(尚未)揭示了一项测试,以区分软件中的DS18B20和Maxim生产的Max31820 [5]。
方法
通过流行请求(第11期),本节应该为上述结果和结论提供背景。随着时间的允许,我将非常缓慢地添加它。
调查是在DS18B20上,而不是DS18B20-PAR变体或DS18S20。我们只有一只装满DS18B20-PAR和DS18S20传感器的手,而我们有数百个DS18B20。而且,所有传感器都在92案例中。
分析家族A1的样本基础
上图显示了所调查的家族A1传感器的生产日期和ROM代码(序列号)的范围。还包括我们打开的探针中包含的单位数量的芯片,这些芯片是为了阅读Topmark的。根据日期代码的生产日期是X轴上的,根据rom的序列号在y轴上,点是单个芯片(n> 200,但单个批次显示为涂抹的斑点),灰色区域亮点2019年。我们从2009年到2020年生产了芯片,所有芯片都有C4
模具,没有芯片的日期代码2010,2014或2015年。(与ROM 28-13-9B-BB- 0B -00-00-1F的芯片的序列号为0x0BBB9B13,因此在Y轴上落在0x0b和0x0c之间。)我们看到有很长的序列号和日期代码之间的项关系(虚线):序列号增加了大约16,500,000(即。每年2^24)。但是,这种关系只是一条通用指南,这是线条周围的散布程度以及插图的扩大:在2019年产生的传感器中,我们购买了三个实例,其中包含以后代码的传感器较早的序列号。
我们似乎已经购买了2016年使用TRIM2校准常数为0xDB或0xDC的最后一批批次,以及带有TRIM2校准常数为0x73或0x74的第一批批次之一。因此,变化可能发生在2016年第32周至47周之间。(这是关于DS18B20而不是DS18B20-PAR的陈述。 )
温度数据
上图显示(a)我们从0°C的冰水浴中从每个传感器中获得的温度读数,(b)冰水浴中连续读数中的噪声量,以及(c)温度的转换时间名义上的室温测量(实际上在0到30°C之间进行测量)。该图的高分辨率版本可在Images/sensor_measourments_by_family.png上获得。 (a)和(b)的数据通常基于传感器在冰水浴中平衡的20 s连续测量。 (c)中的数据基于每个传感器的单个测量值的基础,而在我们的经验转换时机中并未散布,即单个测量足以评估当前温度下传感器的转换时间。
数据是在+5 V处测量的。(2024)
数据沿x轴分组如下:
- A1:从官方分销商那里获得的家庭A1,即确保身份和适当的处理
- A1(第三方分销商):从其他大小零售商那里获得的家庭A1,包括在eBay和Aliexpress上出售的零售商,以及包括Probes中包含的任何传感器
- A2:家庭A2
- B1(GXCAS):家庭B1,基于其ROM显然由GXCAS分发
- B1(UMW):家庭B1,基于其ROM显然由UMW分发
- B2:家庭B2
- C:家庭c
- D1:家庭D1
- D2( XY ):family D2括号中的数字是ROM的第五字节(即字节4)。我认为每个组中的传感器主要基于ROM,并通过我们购买的订单进行了一些佐证。未显示具有
0x00
内饰值的家族A1传感器的数据。
最大指定的温度误差在0°C下为±0.5°C,并且该间隔在图(a)中通过薄虚线标记。我们看到,家庭A1传感器的读数通常在-0.1至+0.2°C范围内,族A2的读数为-2°C,家庭B1在0至-0.5°C之间,族B2族,b2 family b2左右-0.5°C,家族c,围绕family c。 0°C(肯定的数据点不足),-1至 +1°C或更糟的家庭D1以及家庭D2 - 嗯,从数据中很难说:它们的开始非常糟糕与家庭D1类似的性能,并且可能没有改善(或可能不会有所改善)(需要测量更多的传感器可以肯定。2024年的有限测量表明它们比家庭D1好得多)。每10秒进行一次测量,以避免探针中包含的传感器的自加热伪像(即我们发现,一秒钟的读数会增加温度返回的温度)。
理想的传感器只会显示出离散的噪声,即读数在围绕实际温度的两个值之间波动。该噪声在图(b)中显示为名义上20个温度测量值的标准偏差( std(T)
)。如果所有测量值相同,则std(T)
为零。如果一个恰好通过一个离散步骤(即0.0625°C)与另一个19的分配步骤不同,则std(T)
为0.014°C,显示为下虚线。如果数据在两个相邻值之间均匀分配,则std(T)
为0.031°C,显示为上虚线。 0和下虚线之间的数据点表明该传感器使用了20多个样本,并且上线以上的数据表明,读数在至少2个离散化步骤的范围内波动。我们看到家庭A,B和C的传感器基本上只有离散化噪声。相比之下,族D1产生令人震惊的嘈杂垃圾(即实际的测量分辨率小于12位),并且家庭D2的传感器在高于离散化噪声的水平上也很嘈杂。
温度数据转换所需的时间在数据表中指定为最大750毫秒(12位转换)。所需的实际时间具有(在给定的温度下)每个传感器的可再生,特征值。这次显示在图(c)中。 Family A1需要大约600毫秒的转换,而家庭A2和B则显示出相对较大的传感器间变异性。家庭C和D1分别在30毫秒和11毫秒的速度很快,而家庭D2的速度约为500毫秒或少一点。尽管我们测量的所有传感器在室温下的速度快于750毫秒,但一些家庭B的传感器接近极限。
警告
将无证件的功能代码发送到DS18B20传感器可能会使它永久无用,例如,如果温度校准系数被覆盖[5]。识别假冒传感器的推荐方法是检查ROM是否不遵循模式28-XX-XX-XX-XX-XX-00-00-00-XX [5]。 (虽然可以在家庭B1和D1中覆盖ROM以模仿真正的真实传感器,但我们没有遇到传感器的传感器[5]。
(有关家庭筹码a,b,c,d,e,f,g和h的信息来自我自己对传感器的调查以及以下参考文献,如参考号[1-6,8-10,12 -18]。 )
来源
具有正宗或克隆DS18B20的传感器或探针是从Follwing来源购买的。请注意,只有从官方Maxim分销商那里购买的传感器是确保正确处理的正宗芯片。感谢Maxim通过其在线订购系统集成的免费样品。
官方发行商: Maxim,Digkim,Farnell,Mouser,RS组件eBay: 5HK1584,Alice1101983,Alphago-IT,AndNov73,Areyourshop-003,B2CPOWERSHOP2010 721960, d-9845, deepenmind, diy-arduino, diybox, eckstein-komponente, enigma-component-shop, e*shine, efectronics, ele-parts, fr_aurora, fzeroinestore, geekapparels, good-module, happybuddhatrading, hermann_shopp, icmarket2009, jk_parts, JustPro,Kingelectronics15, london_shoppings_1, lovesell2013, lucas89-8, makershop, mecklenburg8, modul_technik, moore_estates, nouteclab, *orchid, polida2008, puretek-innovations, rammie_74, scuary1, sensesmart, sensus, sevenshop888, shenglongsi, sparco888, Survy2014,Tancredielettronica,Umtmedia,Worldchips,Xiaolin4,Xuan33_store,Yantzlf aliexpress:所有商品都是免费送货商店,Aokin Diymaker,Cuiisw Module Module Store,EIECHIP,EIECHIP,EIECHIP,EIECHIP,EIECHIP,EIECHIP,FANTASY EXTASY EXPARITAS ELACTASY EXPARITY ELLICON,FSXSSEMI,GREAT-WALL-WALL ELECTER,GREAT-WALL ELECTER,li YENICS,HEA,H.HW,H。大型半导体,红色商店,roarkit商店,传感器世界,尚森传感器,深圳高品质产品,商店912692,TENSTAR, WAVGAT ,WIN。公司,LCSC,Dongguan Nangudi电子,Quest组件,深圳RBD传感器技术,Reichelt Elektronik,深圳Senstech电子技术,Sparkfun,Tayda Electronics,Telmal,Dongguan Tianrui电子,您的Duuino -yourduino
参考
- DS18B20“ DS18B20可编程分辨率1线数字温度计”,数据表19-7487 Rev 6 7/19,Maxim集成。
- DS18S20“ DS18S20高精度1线数字温度计”,数据表,Maxim集成。
- AN4377“ DS18B20和DS18S20 1线数字温度计的比较”,Maxim集成
- AN247“ DS18X20 EEPROM腐败问题”,Maxim集成了
- 自己的调查2019-2024,未出版。
- Petrich,C.,M。O'Sadnick,Ø。 Kleven,I.Sæther(2019)。低成本的沿海浮标,可用于冰和元气体测量。 2019年6月9日至13日,荷兰代尔夫特(DELFT)第25届港口和海洋工程国际会议论文集(POAC),第6页(链接)
- 用户m_elias在https://forum.arduino.cc/index.php?topic=544145.15上的贡献
- Max31820“ 1线环境温度传感器”,数据表,Maxim集成。
- DS18B20“ DS18B20可编程分辨率1线数字温度计”,数据表043001,达拉斯半导体,20pp。
- DS18B20“ DS18B20可编程分辨率1线数字温度计”,初步数据表050400,达拉斯半导体,27pp。 (Wayback Machine)
- 各种博客和帖子的零工。
- QT18B20“ QT18B20可编程分辨率1线数字温度计”,DataSheet Rev 061713,7Q Technology。
- AIR6273“术语,定义和首字母缩写伪造物品或电气,电子和机电零件”,SAE航空航天信息报告,2019年7月。
- UMW DS18B20 UMW DS18B20数据表。
- MY18E20 MySentech主页(英语),链接到数据表。
- MY18E20常见问题解答MySentech常见问题解答(中文)。
- NS18B20“高精度单业务数字温度传感器”,NS18B20 DataSheet Rev. 1.0,NovoSense。
- DS18B20T数据表,Xinbole。