DS18B20和DS18S20是两款非常受欢迎的1-Wire数字温度计。本应用说明解释了这两个器件之间的异同,并指导客户为应用选择最佳器件。
介绍
DS18B20和DS18S20 1-Wire器件是任何需要数字温度计的应用的热门选择。两种设备提供相同的分辨率和精度。这两个部分的区别仅在于数据呈现给用户的方式。本应用笔记描述了这些器件的工作原理以及它们之间的差异。建议为每个设备使用应用程序。
设备的工作原理
DS18B20和DS18S20均采用相同的基座设计。使用两个带隙产生的电压源进行温度测量。其中一个电压源具有高温度系数,并且随温度变化具有确定性变化。另一个电压源具有低温度系数,并且不会随温度变化。模数转换器(ADC)将这两个电压之间的差值转换为数字值,代表器件的温度。温度转换的分辨率可在9至12位之间选择。
两种设备之间的差异
我们先简单回到最初的DS1820。
DS1820采用双振荡器拓扑结构进行温度转换。原始DS1820的分辨率仅为9位。通过读取两个额外的寄存器字节(每°C计数和剩余计数)并执行以下计算,可以实现额外的分辨率。对于此计算,Temp_Read是通过从温度数据中截断0.5°C位(位0)获得的值。
DS18S20旨在直接替代原来的DS1820。为了替代,DS18S20中的ADC出厂配置为始终执行12位转换。然后将12位数据舍入为9位值并存储在温度寄存器中。为了允许大于 9 位的分辨率,将计算计数保留寄存器的值。工厂将每°C寄存器的计数设置为16。使用“保持计数”和“每°C计数”寄存器以及上述公式,DS12S18可以获得高达20位的分辨率。
DS18B20与DS18S20的一个重要区别在于:设计人员可以使用配置寄存器选择所需的分辨率。这种灵活性允许用户缩短ADC转换时间,并在不需要更高分辨率的情况下节省功耗。表1显示了每种可能的分辨率设置的温度转换时间和LSB。
分辨率 | 9 位 | 10 位 | 11 位 | 12 位 |
转换时间(毫秒) | 93.75 | 187.5 | 375 | 750 |
低位苯(°C) | 0.5 | 0.25 | 0.125 | 0.0625 |
DS18B20和DS18S20的温度寄存器权重不同。DS18S20中的温度寄存器加权与DS1820相匹配;DS18B20的温度寄存器格式化为12位分辨率。DS18B20采用这种格式化格式,在需要大于18位分辨率时无需执行额外的计算(DS20S9要求)。两个器件中温度寄存器的默认上电状态为+85°C。 温度寄存器的格式如表2和表3所示。
位 7 | 位 6 | 位 5 | 位 4 | 位 3 | 位 2 | 位 1 | 位 0 | |
低音水平 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 2−1 |
MSB | S* | S | S | S | S | S | S | S |
位 7 | 位 6 | 位 5 | 位 4 | 位 3 | 位 2 | 位 1 | 位 0 | |
低音水平 | 23 | 22 | 21 | 20 | 2−1 | 2−2 | 2−3 | 2−4 |
MSB | S* | S | S | S | S | 26 | 25 | 24 |
*S = 符号 |
这些设备中的暂存器存储器(表4)也略有不同。DS18S20缺少允许DS18B20改变分辨率的配置寄存器。DS18S20具有两个额外的寄存器,如果需要大于9位的分辨率,则需要这两个寄存器。
DS18S20 | DS18B20 | |
字节 0 | 温度 LSB (AAh) | 温度LSB (50h) |
字节 1 | 温度 MSB (00h) | 温度 MSB (05h) |
字节 2 | TH注册 | TH注册 |
字节 3 | TL注册 | TL注册 |
字节 4 | 保留 (FFh) | 配置寄存器 |
字节 5 | 保留 (FFh) | 保留 (FFh) |
字节 6 | 剩余计数 (0Ch) | 保留 |
字节 7 | 每°C计数(10小时) | 预留(10小时) |
字节 8 | 结直肠癌 | 结直肠癌 |
ROM代码中的8位家族代码对于这两个器件也不同。DS18B20的家族代码为28h;DS18S20保留与原始DS1820相同的家族代码,即10h。
审核编辑:郭婷
-
振荡器
+关注
关注
28文章
3811浏览量
138859 -
寄存器
+关注
关注
31文章
5308浏览量
119977 -
adc
+关注
关注
98文章
6429浏览量
544035
发布评论请先 登录
相关推荐
评论