第二部分:DS18B20的多种电路连接方式
如下面的两张图片所示,分别为外部供电模式下单只和多只DS18B20测温系统的典型电路连接图。
(1)外部供电模式下的单只DS18B20芯片的连接图
这里需要说明的是,DS18B20芯片通过达拉斯公司的单总线协议依靠一个单线端口通讯,当全部器件经由一个三态端口或者漏极开路端口与总线连接时,控 制线需要连接一个弱上拉电阻。在多只DS18B20连接时,每个DS18B20都拥有一个全球唯一的64位序列号,在这个总线系统中,微处理器依靠每个器 件独有的64位片序列号辨认总线上的器件和记录总线上的器件地址,从而允许多只DS18B20同时连接在一条单线总线上,因此,可以很轻松地利用一个微处 理器去控制很多分布在不同区域的DS18B20,这一特性在环境控制、探测建筑物、仪器等温度以及过程监测和控制等方面都非常有用。
对 于DS18B20的电路连接,除了上面所说的传统的外部电源供电时的电路连接图,DS18B20也可以工作在“寄生电源模式”,而下图则表示了 DS18B20工作在“寄生电源模式”下的电路连接图。没错,这样就可以使DS18B20工作在寄生电源模式下了,不用额外的电源就可以实时采集到位于多 个地点的温度信息了。
第三部分:DS18B20内部寄存器解析及工作原理
介绍完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将响应这条搜索命令。