深圳市英斯特科技有限公司

联系人:覃先生
固定电话:0755-36527211
移动电话:18320799158 微信同号
腾讯客服:61689815
电子邮箱:inste@foxmail.com
网站地址:www.inste.cn
点击这里给我发消息 点这里给我发消息

温度检测系统中,达拉斯公司独特的单总线数据通信模式
    大家好。首先,感谢您对我前几天发布的提醒BOXDIY示例文章的支持和支持。谢谢大家。今天我要发一篇关于这个强大的技术帖子的技术帖子。这篇文章将帮助众多不熟悉的祭坛朋友从不同的角度理解这个芯片,并希望已经使用或将要使用这个芯片的祭坛朋友能够更顺利地完成他们的DIY工作。担任这个职务的人都是我自己画的。未经允许不要复制它们。让我们回到原来的故事,开始下面的技术部分。
   
    首先,让我们了解一下DS18B20芯片的外观和引脚定义。DS18B20芯片通常封装在TO-92中,这是普通直接插入晶体管的外观。当然,我们也可以找到封装在SO(DS18B20Z)和SO(DS18B20U)中的产品。下面是DS18B20的各种封装的图解和引脚图。
   
    了解这些芯片的包装形式,我们将讨论每个引脚的定义。下表定义了芯片的管脚:
   
    在上面的表格中提到了一个奇怪的单词寄生电源。有必要说明DS18B20芯片可以工作在寄生功率模式。这种模式允许DS18B20在没有外部电源的情况下工作。当总线高时,寄生电源通过一个总线通过VDD引脚。此时,DS18B20可以从总线上窃取能量,并将被窃取的能量存储到寄生电源中。在储能电容器(Cpp)中,当总线释放能量使器件工作在低电平时,因此当DS18B20工作在寄生电源模式时,VDD引脚必须接地。
   
    如下两幅图所示,分别给出了在外部电源模式下单个DS18B20测温系统和多个DS18B20测温系统的典型电路连接图。
   
    需要注意的是,DS18B20芯片依靠单个线路端口通过达拉斯公司的单总线协议进行通信。当所有设备通过三态端口或漏极开路端口连接到总线上时,控制线需要以弱的上拉电阻连接。当连接到多个DS18B20时,每个DS18B20具有唯一的64位序列号。在该总线系统中,微处理器依靠每个设备的唯一64位序列号来识别总线上的设备地址和记录总线上的设备地址,从而允许多个DS18B20同时连接到单个总线。为了控制分布在不同地区的许多DS18B20,这一特性在环境控制、建筑物、仪器等温度的检测、过程监控等方面都非常有用。
   
    对于DS18B20的电路连接,除了上述传统的外部电源电路连接图之外,DS18B20还可以工作在寄生电源模式下,而下图显示了工作在寄生电源模式下的DS18B20的电路连接图。模式,无需额外的电源,可在多个位置实时采集温度信息。
   
    在介绍了DS18B20的封装、引脚定义和连接方式后,有必要了解DS18B20芯片各个控制器和存储器的相关知识。如下图所示,它是DS18B20中主要寄存器的结果框图。
   
    结合图中的内部寄存器框图,我们首先简要介绍了DS18B20芯片的主要寄存器工作流程,在详细描述DS18B20的工作原理之前,有必要首先给出几个相关的图片:
   
    DS18B20在启动后将进入低功耗等待状态。当需要温度测量和AD转换时,总线控制器(主要是单片机)发出{44H}指令以完成温度测量和AD转换(其他功能指令见上面的指令)。DS18B20将生成的温度数据以两个字节存储在高速寄存器的温度寄存器中,然后是DS18B20。继续等待。当DS18B20芯片由外部电源供电时,总线控制器在温度转换指令之后启动读取时隙(参见本帖的DS18B20时隙图,用于详细信息),这样就可以读出测量的温度数据并通过总线与MCU进行通信(DS18B20在温度转换中从DQ管脚返回0,在转换结束时返回1)。此外,DS18B20将温度值与存储在TH(高温触发器)和TL(低温触发器)中的用户定义的警报预设值进行比较。寄存器中的S标志位(详见寄存器格式图中的TH和TL寄存器格式图)表示正和负温度值(S=0为正,S=1为负)。在DS18B20中。此时,总线控制器通过发出警报搜索命令{ECH}来检测总线上的所有DS18B20警报标记。然后,具有定位了警报标记的DS18B20将响应该搜索命令。
   
    对于DS18B20的编程,可以理解,总线控制器可以通过操作设备中的相应寄存器,通过相关指令来完成设备和总线控制器之间的数据通信。因此,为了真正完成DS18B20的通信编程,需要对芯片的各种寄存器结构、寄存器数据格式以及相关的指令系统有详细的了解。最后,通过以上的说明,我们将讨论DS18B20的内部存储结构。
   
    DS18B20的每个寄存器具有8位的存储空间来存储相应的数据,其中字节0和字节1分别是温度数据的低位和高位,用于存储测量的温度值,并且两个字节都是只读的;字节2和字节3是TH和TL报警触发值的副本,它们可以是总线控制器发出的48H指令将寄存器中TH和TL的值写入EEPROM,并且EEPROM中的数据在电源故障后不会丢失;字节4的配置寄存器用于配置温度co的精度。nversion(最大12位精度);字节5、6和7是保留位,禁止写入;字节8也是只读存储器,用于存储上述8字节的CRC校验码。
   
    参照以上DS18B20通信指令图,即需要DS18B20芯片中主寄存器的数据格式和个性化识别位指令。只要能实现对寄存器数据的精确控制,DS18B20的程序就可以很容易地完成。对于总线控制器发出的控制指令,需要知道DS18B20的指令包括ROM指令和功能指令,其中ROM指令用于ROM操作,而功能指令可以控制DS18B20完成温度转换、寄存器操作和其他功能工作。e总线控制器检测现有的脉冲,它将发出ROM指令。如果多个DS18B20安装在总线上,这些指令将使用设备的唯一64位ROM芯片序列码来选择要操作的特定设备。同样,这些指令也可以识别哪些设备满足报警条件,总线控制器在向DS18B20发送ROM指令连接后,可以发送功能指令完成相关工作。也就是说,总线控制器在发出DS18B20功能指令之前需要发出ROM指令,了解这些功能指令的功能和使用,对DS18B20进行编程就容易多了。
   
    对于DS18B20中的TH(高温触发寄存器)和TL(低温触发寄存器),可以找到很少的代码数据,但是如果在温度测量系统中需要TH和TL寄存器,则不必感到无助。请参阅本文中的DS18B20寄存器结构,总线控制器将从位0逐渐向下读取数据,直到位8结束。此外,TH和TL寄存器的内部结构和数据格式与其他片上寄存器相同。当然,TH和TL寄存器的读写与其他片上寄存器的读写相同。因此,在实际应用中,当DS18B20的初始化完成时,EEPROM中存储的数据首先通过总线控制器的指令返回到寄存器的TH和B8H,在TL中,通过总线控制器发出的读时隙读取设备寄存器。只要按时获取每8位数据读数,就可以通过总线控制器容易地读出TH和TL寄存器数据。总线控制器对设备进行写操作的原理是一样的,也就是说,只要掌握了其他寄存器的操作编程,就很容易,读写报警值寄存器TH和TL,同时通过48H指令将TH和TL寄存器数据复制到EEPROM进行存储。
   
    在由DS18B20芯片构成的温度检测系统中,达拉斯公司独特的单总线数据通信模式允许将多个DS18B20安装在一个总线上。然后,在DS18B20的操作和控制中,总线控制器发送的时隙信号尤为重要,分别给出了DS18B20芯片上电初始化时隙、总线控制器从DS18B20芯片读取数据时隙、总线控制器写入DS18B20芯片的数据时隙的方案。在系统编程中,必须严格参照时隙图中的时间数据,准确把握总线电平随时间的变化(微秒级),以便控制和平稳地操作DS。在DS18B20程序的正常调试中,如果发现温度显示误差等故障,基本上是由较大的时隙误差甚至时隙误差引起的,因此需要对DS18B20程序进行更多的关注。
   
    嗯,这篇文章基本上是一个结论。介绍了DS18B20的封装、引脚定义、电路连接、内部寄存器结构和数据格式、通信时隙和功能控制指令。最后,希望这篇文章能对正在或将要使用DS18B20测温芯片的朋友有所帮助。谢谢您!
   
 
温湿度传感器|温湿度记录仪|无线温湿度|温湿度监控系统-英斯特科技

Copyright © 2012-2019 www.inste.cn 深圳市英斯特科技有限公司 粤ICP备12067042号-1 lnc.保留所有权利。 您是第490217位访问者.

温湿度控制器|温湿度变送器|温湿度记录仪|以太网温湿度|网站地图 XML
公司地址:深圳市南山区西丽镇龙珠三路光前工业园综合楼D座 后台管理
点击这里给我发消息 点这里给我发消息 淘宝店铺

友情链接友情链接添加温湿度传感器| 机房建设| 无纸记录仪| 远距离监控| 蒸汽流量计| nbiot烟感器| 门禁| 蓝牙模块| 太阳能路灯| 汽车实训设备| 北京监控安装| 测温仪| 核酸提取仪| 中央厨房设备|