1.引言
2.数字温度传感器特性与功能块图。
DS18B20的核心功能就是可以直接转换成数字量。由于每一个智能温度传感器DS18B20有一个唯一的64位序列号。允许多个DS18B20在同一条总线上工作。因此可以用一个单片机在一个大范围内控制多个数字温度传感器DS18B20,经常用于环境温度控制、温度监测系统以及过程监测和控制系统中。1-Wire 器件64位序列号的最高有效字节是循环冗余校验CRC 码。该值基于前面的56位数据。当系统主机开始与某个器件进行通信时,可以从低位开始读取8个ROM 字节即64位序列号。
1-Wire总线技术的温度传感器DS18B20温度的测量范围为 - 55℃ ~ + 125℃ 。便笺存储器中包含两个字节温度寄存器用于存储温度传感器的数字输出。另外提供一个字节报警上限TH和一个字节报警下限TL寄存器。还有一个字节组态寄存器。组态寄存器允许用户设置分辨率为9 ~ 12位。分别对应温度值0.5℃、0.25℃、0.125℃和0.0625℃。TH、、TL和组态寄存器可以存放在EEPROM中,因此当系统掉电时,TH、、TL和组态寄存器中的数据仍将保存。1-Wire总线技术的温度传感器DS18B20功能块如图1所示。
图1 1-Wire技术的温度传感器DS18B20功能块图
3.数字温度传感器ROM命令和功能命令。
为了能够使1-Wire总线技术的温度传感器DS18B20正常工作,需要按照一定顺序执行相关命令。首先进行初始化,其次执行ROM命令,最后执行DS18B20功能命令。常用的ROM命令有5个。每个命令均为一个字节。在发送DS18B20功能命令之前,主CPU必须发布适当的ROM命令。对ROM的五种 *** 作命令有ROM搜索命令(代码为F0H),ROM命令(代码为33H),匹配ROM命令(代码为55H),跳过ROM命令(代码为CCH)和搜索报警命令(代码为ECH)。
当主CPU使用了ROM命令之后,如果访问想要通信的从设备DS18B20时,主CPU能够发布一个DS18B20功能命令。1-Wire总线技术的温度传感器DS18B20功能命令主要有5条。这些命令允许主CPU读或写DS18B20的便笺存储器,开始温度转换以及决定电源的模式。DS18B20功能命令如下所述。
1.温度转换命令(代码为44H)使DS18B20开始转换。转换完毕的温度数据存放在两个字节的温度寄存器中。
2.写便笺存储器命令(代码为4EH)允许主CPU 写3个字节数据到便笺存储器中。第一个数据字节被写入到TH寄存器中,第二个数据字节被写入到TL寄存器中,第三个数据字节被写入到组态寄存器中。数据写入从最低有效位开始。在主CPU发出复位脉冲之前,三个字节必须被写完。
3.读便笺存储器命令(代码为BEH)允许主CPU 读出便笺存储器中的内容。数据传输从字节0的最低有效位开始到字节8。便笺存储器中的9个字节内容被读出。其中字节8为CRC校验码。如果只需要读出便笺存储器中的部分字节,主CPU可以随时发出复位脉冲终止读 *** 作。
4.拷贝便笺存储器命令(代码为48H)将拷贝便笺存储器字节2、3、4即TH 、TL和组态寄存器内容到EEPROM。
5.从EEPROM重新调出命令(代码为B8H)将从EEPROM重新调出TH 、TL和组态寄存器内容,并将数据放置到便笺存储器字节2、3、4中。上电时从EEPROM重新调出命令(代码为B8H)将会自动执行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)