数字温度传感器介绍

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字温度传感器DS18B20
DS18B20 是美国DALLAS 半导体公司继DS1820 之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。可以分别在93.75ms和750ms 内完成9 位和12 位的数字量,而且从DS18B20 读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。它在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。DS1820具有下列主要特性:
(1) 独特的单线接口方式: DS18B20 与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20 的双向通讯。
(2) 在使用中不需要任何外围元件。
(3) 可用数据线供电, 电压范围: + 3.0~+ 5.5V。
(4) 测温范围: - 55~ + 125 ℃。固有测温分辨率为015 ℃。
(5) 通过编程可实现9~ 12 位的数字读数方式。
(6) 用户可自设定非易失性的报警上下限值。
(7) 支持多点组网功能, 多个DS18B20 可以并联在惟一的三线上, 实现多点测温。
(8) 负压特性, 电源极性接反时, 温度计不会因发热而烧毁, 但不能正常工作。
DS18B20采用3脚PR235封装或8脚SOIC封装,管脚排列如图3-13所示。图中GND为地 ,DQ为数据输入/输出脚(单线接口,可作寄生供电),VDD为电源电压。

图3-10 DS18S20的管脚排列
DS18B20 内部结构如图3-14所示。它主要由 64位光刻 ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器组成。

图3-11 DS18B20内部结构图
激光ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该 DS18B20自身的序列号,最后8 位是前面56位的循环冗余校验码(CRC码)。光刻 ROM 的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20中的温度传感器可完成对温度的测量,用16 位符号扩展的二进制补码读数形式提供以 0.062 5℃/LSB 形式表达,例如+125℃的数字输出为 07D0H,+25.062 5℃的数字输出为 0191H,-25.062 5℃的数字输出为 FF6FH,-55℃的数字输出为FC90H,如表3-3所列。
表3-3 温度值对照表
温度 数字输出量(二进制) 数字输出量(十六进制)
+125℃ 0000 0111 1101 0000 07D0
+25.0625℃ 0000 0001 1001 0001 0191
+10.125℃ 0000 0000 1010 0010 00A2
+0.5℃ 0000 0000 0000 1000 0008
0℃ 0000 0000 0000 0000 0000
-0.5℃ 1111 1111 1111 1000 FFF8
-10.125℃ 1111 1111 0101 1110 FF5E
-

25.0625℃ 1111 1110 0110 1111 FF6F
-55℃ 1111 1100 1001 0000 FC90
DS18B20完成温度转换后,就把测得的温度值与TH、TL(TH和TL分别为最高和最低检测温度)作比较。若T>TH或T<TL,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行告警探索搜索。一旦某测温点越限,主机利用告警搜索命令即可识别正在告警的器件,并读出其序号,而不必考虑非告警器件。高低温报警触发器TH 和 TL、配置寄存器均由一个字节的 EEPROM 组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入。
配置寄存器由R0和R1组成。R1、R0决定温度转换的精度位数R1R0=00,9位精度,最大转换时间93.75ms;R1R0=01,10位精度,最大转换时间187.5ms;R1R0=10,11位精度,最大转换时间375ms;R1R0=11,12位精度,最大转换时间750ms;未编程时默认为12位精度。分辨率设定及用户设定的报警温度存储在EEPROM中,掉电后仍然保存。
高速暂存器是一个9字节的存储器,如表3-4所列。开始两个字节包含被测温度的数字量信息;第3、4、5 字节分别是TH、TL、配置寄存器的临时复制,每一次上电复位时被刷新;第6字节未用,表现为全逻辑1;第7、8字节为计数剩余值和每度计数值;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。
表3-4 DS18B20高速暂存器分布
暂存器内容 字节地址
温度最高数字位 0
温度最高数字位 1
高温限值 2
低温限值 3
配置寄存器 4
保留 5
计数剩余值 6
每度计数值 7
CRC校验 8
DS18B20的测温原理如图3-12所示。低温系数振荡器输出的时钟脉冲信号通过由高温系数振荡器产生的门开通周期而被计数,通过该计数值来测量温度。计数器被预置为与 - 55℃对应的一个基数值 ,如果计数器在高温系数振荡器输出的门周期结束前计数到零 ,表示测量的温度高于 - 55 ℃,被预置在 - 55℃的温度寄存器的值就增加一个增量 ,同时为了补偿温度振荡器的抛物线特性 ,计数器被斜率累加器所决定的值进行预置 ,时钟再次使计数器计数直至零 ,如果开门通时间仍未结束 ,那么重复此过程 ,直到高温度系数振荡器的门周期结束为止。这时温度寄存器中的值就是被测的温度值。

图3-12 DS18B20测温原理图

3.5.2 DSl8B20工作过程及时序
DSl8B20工作过程中的协议如下
初始化ROM操作命令存储器操作命令处理数据
1、初始化
单总线上的所有处理均从初始化开始
2、ROM操作指令
总线主机检测到DSl820的存在便可以发出ROM操作命令之一
3、存储器操作命令
指令代码
Write Scratchpad(写暂存存储器) [4EH]
Read Scratchpad(读暂存存储器) [BEH]
Copy Scratchpad(复制暂存

存储器) [48H]
Convert Temperature(温度变换) [44H]
Recall EPROM(重新调出) [B8H]
Read Power supply(读电源) [B4H]
4、时 序
主机使用时间隙(time slots)来读写DSl8B20的数据位和写命令字的位
(1) 初始化
主机总线在to时刻发送一复位脉冲(最短为480us的低电平信号)接着在tl时刻释放总线并进入接收状态DSl820在检测到总线的上升沿之后等待15-60us接着DS18B20在t2时刻发出存在脉冲(低电平持续60-240 us)如图中虚线所示 。
以下子程序在MCS51仿真机上通过其晶振为12M。




图3-13初始化程序
(2) 写时间隙
当主机总线t o时刻从高拉至低电平时就产生写时间隙见从to时刻开始15us之内应将所需写的位送到总线上DSl820在t后15-60us间对总线采样若低电平写入的位,若高电平写入的位是1见连续写2位间的间隙应大于1us 。




图3-14 写0写1时序
(3) 读时间隙
主机总线to时刻从高拉至低电平时,总线只须保持低电平,l 7ts之后在t1时刻将总线拉高产生读时间隙读时间隙,在t1时刻后t 2时刻前有效t z距to为15捍s也就是说t z时刻前主机必须完成读位并在t o后的60s一120 fzs内释放总线 。
读位子程序(读得的位到C中)







相关文档
最新文档