示。DS18B20内部结构主要由四部分组成:64位光刻ROM,温度报警触发器温度传感器以及高速缓存器。
164位光刻ROM。64位光刻ROM是出厂前已被刻好的,它可以看做是该DS18B0的地址序列号,不同的器件不一样,64位的地址序列号的构成如表21所示。开始8位是产品序列号代表产品的序列,接着48位产品序号代表同一系列产品的不同产品,最后8位是前56位的CRC校验码,所以不同的器件的地址序列号各不一样这也是多个DS18B20可以采用一线进行通信的原因(8位CRC编码的计算公式为CRCXXX1)。在64bROM的最高有效字节中存储有循环冗余校验码(CRC)。主机根据ROM的前56位来计算CRC值,并和存入DS18B20中的CRC值做比较,以判断主机收到的ROM数据是否正确。
表3-164位ROM地址序列号结构
48位产品序列号8位产品序号8位CRC编码检验
位和
内部单线端口
电源探测
存储器和控制逻辑
暂存器
位产生器
温度传感器上限触发下限触发
图3-1DS18B20内部结构
2非挥发的温度报警触发器包括上限温度触发器TH和下限温度触发器TL。可通过软件程序写入设定用户所要求的报警上下限温度值。
3高速暂存器。可以设置DS18B20温度转换的精度。DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率如图14。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可
7
f电擦除的E2PRAM。
此外,DS18B20内部还包括寄生电源、电源检测、存储控制逻辑、8位循环冗余码生成器(CRC)等部分。
DS18B20有两种供电方式。如图32所示:图(a)是由外电源供电,图b是IO口总线和寄生电容配合供电。DS18B20寄生电源由两个二极管和寄生电容构成。电源检测电路用于判定供电方式。寄生电源供电时,电源端与接地端并联接地,器件从总线上获取电源。在IO线呈低电平时,改由寄生电容上的电压继续向器件供电。
采用寄生电源有两个优点:一是检测远程温度是无需本地电源;二是缺少正常电源时也能读ROM。若采用外部电源,则通过二极管向器件供电。
UDDIO
DS18B20
GND
MCU单片机
P11
IODS18B20
UDD
GND
MCU单片机
P11
图a使用外部电源供电
图(b)使用寄生电源供电
图32DS18B20与微处理器的硬件连接方式
由表33可见,分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。
高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正r