当前位置:首页 > 65-温控自动风扇系统设计
图2-8 DS18B20外部结构框图
DQ64位内部VDDCPPVDD供电方式检测光刻 ROM及单总线接口存储及控制逻辑高速暂存寄存器温度传感器上限寄存器TH下限寄存器TL结构寄存器8位CRC发生器图2-9 DS18B20内部结构框图
9
图2-10 DS18B20的封装
引脚功能如下: NC:空引脚,悬空不使用;
VDD:可选电源脚,电源电压范围3~5.5V。工作于寄生电源时,此引脚应接地; I/O:数据输入/输出脚,漏极开路,常态下高电平。
DS18B20采用3脚TO-92封装或8脚SOIC及CSP封装方式。图2-8所示为DS18B20的内部结构框图,它主要包括寄生电源、温度传感器、64位光刻ROM及单总线接口、存放中间数据的高速暂存器(内含便笺式RAM)、存储与控制逻辑、用于存储用户设定的温度上下限值的TH和TL触发器、结构寄存器、8位循环冗余校验码(CRC)发生器等八部分。
64位ROM的结构如图2-11所示,开始8位是产品类型的编号;接着是每个器件唯一的序号,共48位;最后8位是前面56位的CRC检验码,这也是多个DS18B20可采用单线进行通信的原因。非易失性温度报警触发器TH、TL,可以通过编程写入用户报警上下线数据。
8位检验CRC MSB LSB 48位序列号 MSB LSB 8位工厂代码(10H) MSB LSB
图2-11 64位ROM示意图
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易
失性的可电擦除的EEPROM。
高速暂存RAM的结构位9字节的存储器,结构如图2-12所示。前两个字节包括测得温度的信息。3、4字节是TH和TL的拷贝,是易失的,每次上电复位
10
时被刷新。第5字节为配置寄存器,其内容用于确定温度值的数字转换频率,DS18B20工作时按此寄存器中的分辨率将温度转换成相应精度的数值。该字节各位的定义如图2-13,其低5位一直为1;TM是测试模式位,用于设置DS18B20在工作模式还是在检测模式,在DS18B20出厂时,该位被设置为0,用户不要去改动;R1和R2决定温度转换的精度位数,即用来设置分辨率,
单片机可以通过单线接口读出该数据。的数据时低位在前,高位在后,数据格式以0.0625℃/LSB形式表示。
表b 温度值格式
低字节 高字节
23 S 22 S 21 S 20 S 2-1 S 2-2 26 2-3 2-4 25 24 表b中,S表示符号位。当S=0时,表示测得的温度值为正值,可以直接将
二进制位转换为十进制;当S=1时,表示测得的温度值为负值,要先将补码变成原码,在计算十进制值。表c是部分温度值对应的二进制温度表示数据。
表c DS18B20温度与表示值对应表
温度/℃ +125 +85 +25.0625 +10.125 +0.5 0 -0.5 -10.125 -25.0625 -55
二进制
0000 0111 1101 0000 0000 0101 0101 0000 0000 0001 1001 0001 0000 0000 1010 0010 0000 0000 0000 1000 0000 0000 0000 0000 1111 1111 1111 1000 1111 1111 0101 1110 1111 1110 0110 1111 1111 1100 1001 0000
十六进制 07D0H 0550H 0191H 00A2H 0008H 0000H FFF8H FF5EH FF6FH FC90H
DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容对照,若T>TH或T 在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机根据ROM的前56位来计算CRC值,并与存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。 关于DS18B20的工作原理这里就不再多说,有感兴趣的可以查阅相关手册。 DS18B20的编程指令 DS18B20的指令有:读ROM(33H),匹配ROM(55H),跳过ROM(CCH),搜索ROM(F0H),报警搜索(ECH),稳定转换(44H),度暂存器(BEH),写 11 暂存器(4EH),复制暂存器(48H),重调E2PROM(B8H),读供电方式(B4H)。关于这些指令,这里也不再一一介绍,只把本设计用到的用法说一下。 CCH-跳过ROM指令。忽略64位ROM地址,直接向DS18B20发温度变换命令,适用于一个从机工作。 44H-温度转换指令。启动DS18B20进行温度转换,12位转换时最长为750ms(9位93.75ms)。结果存入内部9字节的RAM中。 BEH-读暂存器指令。读内部RAM中9字节的温度数据。 如图2-14所示,是DS18B20在电路中的接发,本设计采用的是单独电源供电方式,下面将介绍其工作时序,有工作时序图可以很清楚的知道该这样控制DS18B20。 图2-14 DS18B20的工作电路 工作时序 初始化时序,当主机将单总线P30从逻辑高拉到逻辑低时,即启动一个写时隙,所有的写时隙必须在60~120us完成,且在每个循环之间至少需要1us的恢复时间。写0和写1时隙如图所示。在写0时隙期间,微控制器在整个时隙中将总线拉低;而写1时隙期间,微控制器将总线拉低,然后在时隙起始后15us之释放总线。时序图如图2-15所示。 12
共分享92篇相关文档