2.2.1 DS18B20 简介
DS18B20数字温度传感器是美国Dallas公司推出的单总线温度传感器,它体积小、精度高、适用电压宽,在实际应用中取得了良好的测量效果。与传统的热敏电阻相比,它具有可根据实际要求设置转换精度并直接将温度值转换为数字量读出的特点。由于采用单总线,且每一个DS18B20有唯一的系列号,因此多个DS18B20可以存在于同一条单总线上。这允许在许多不同的地方放置温度灵敏器件,节约了成本,方便设计。
DS18B20数字温度传感器的主要特点有:
(1)独特的单线接口,只需要一个接口引脚即可通信;
(2)多点能力使分布式温度检测应用得以简化;
(3)测量范围从-55℃到+125℃,增量值为0.5℃;
(4)适应电压范围宽:3.0-5.5v,也可以由数据线供电,不需要备份电源,零待机功耗,不需要外部元件。
(5)用户可定义的、非易失性的温度告警设置。
2.2.2 DS18B20内部结构及主要功能
DS18B20内部主要有三个数据部件:64位激光ROM;温度灵敏元件和非易失性温度告警触发器TH和TL。如图2.3示为其内部结构框图。器件从单线的通信线取得其电源,在信号线为高电平的时间周期内,把能量贮存在内部的电容器内,在单信号线为低电平的时间周期内断开此电源,直到信号线变为高电平重新接上寄生电源为止。
图2.3 DS18B20内部结构框图
每一个DS18B20都有一个唯一的64位长的ROM编码。开始的8位是单线产品系列编号,接着的48位是唯一的系列号,最后的8位是CRC循环冗余校验码,用以校验之前56位是否正确。64位ROM和ROM操作控制部分允许DS18B20作为一个单线器件工作,并遵循“单线总线系统”中的单线协议。只有建立了ROM操作协议,才能对DS18B20进行控制操作。单总线的所有ROM操作都从一个初始化序列开始,一旦总线主机检测到从属器件的存在,它便可以发出器件ROM操作命令之一,在成功的执行了ROM操作序列之后,DS18B20特定的功能便可访问,然后总线上主机可以提供优尔个存贮器和控制功能(RAM)命令
之一。
所有ROM操作命令均为8位长,这些命令如下示:
(1)Read ROM[33h]:读ROM,此命令允许总线主机读DS18B20的8位产品系列编号,唯一的48位序列号以及8位的CRC。只能在总线上只有一个DS18B20的情况下才可使用。
(2)Match ROM[55h]:匹配ROM命令,后跟64位ROM序列,此后所有操作都对该器件进行。
(3)Skip ROM[CCh]:跳过ROM,此后的指令将对在线所有器件起作用。
(4)Search ROM[F0h]:搜索ROM,允许总线控制器识别总线上的所有从机编码。
(5)Alarm Search[ECh]:告警搜索,响应最近一次测温遇到符合报警条件的情况。
RAM操作指令:
(1)Write Scratchpad[4Eh]:写暂存存储器,向DS18B20的暂存器写入数据。
(2)Read Scratchpad[BEh]:读暂存存储器,从暂存存储器读取数据。
(3)Copy Scratchpad[48h]:复制暂存存储器,此命令把暂存存储器复制入DS18B20的存储器中,把温度触发器字节存贮入非易失性存储器。
(4)Convert T[44h]:温度变换,此命令开始温度变换。
(5)Recall E2[B8h]:重新调出E2:此命令吧贮存在E2中的温度触发器的值重新调至暂存器。
(6)Read Power Supply[B4h]:读电源,此命令之后,器件都会给出其电源方式的信号。
为了使DS18B20能够准确完成温度变换,当温度变换发生时,I/O线上必须提供足够的功率。有两种方法确保DS18B20在有效变换期内得到足够电源电流。一种是利用其自身的寄生电源,一种是使用外部电源供电。两种供电方式下DS18B20的工作方式和电源连接方式略有差异。 MSP430单片机温湿度测控系统试验系统驱动设计(6):http://www.youerw.com/zidonghua/lunwen_8557.html