DS18B20内部寄存器解析及工作原理
DS18B20芯片的各个控制器、存储器的相关知识,如下图所示,为DS18B20内部主要寄存器的结果框图。
结合图中的内部寄存器框图,我们先简单说一下DS18B20芯片的主要寄存器工作流程,而在对DS18B20工作原理进行详细说明前,有必要先上几张相关图片:
(1)DS18B20内部寄存器结构图
(2)DS18B20主要寄存器数据格式图示
(3)DS18B20通讯指令图
了解了这些内部结构和细节,下面说一下DS18B20芯片的工作原理。
DS18B20启动后将进入低功耗等待状态,当需要执行温度测量和AD转换时,总线控制器(多为单片机)发出〔44H〕指令完成温度测量和AD转换(其 他功能指令见上面的指令表),DS18B20将产生的温度数据以两个字节的形式存储到高速暂存器的温度寄存器中,然后,DS18B20继续保持等待状态。 当DS18B20芯片由外部电源供电时,总线控制器在温度转换指令之后发起“读时隙”(详见本帖的“DS18B20时隙图”),从而读出测量到的温度数据 通过总线完成与单片机的数据通讯(DS18B20正在温度转换中由DQ引脚返回0,转换结束则返回1。如果DS18B20由寄生电源供电,除非在进入温度 转换时总线被一个强上拉拉高,否则将不会有返回值)。另外,DS18B20在完成一次温度转换后,会将温度值与存储在TH(高温触发器)和TL(低温触发 器)中各一个字节的用户自定义的报警预置值进行比较,寄存器中的S标志位(详见寄存器格式图示中的“TH和TL寄存器格式”图示)指出温度值的正负 (S=0时为正,S=1时为负),如果测得的温度高于TH或者低于TL数值,报警条件成立,DS18B20内部将对一个报警标识置位,此时,总线控制器通 过发出报警搜索命令〔ECH〕检测总线上所有的DS18B20报警标识,然后,对报警标识置位的DS18B20将响应这条搜索命令