DS18B20和DS18S20的比较1-Wire数字温度计

描述

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。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分