🔎【博主简介】🔎

        🏅全网技术博客粉丝量十万

        🏅全网技术博客学习数百万

        🏅CSDN博客专家领域专家
        🏅2021年博客之星物联网与嵌入式开发TOP5
        🏅2022年博客之星物联网与嵌入式开发TOP4
        🏅2021年2022年C站百大博主
        🏅华为云开发者社区专家博主
        🏅阿里云开发者社区专家博主
        🏅掘金INFOQ腾讯云优秀博主

        📅创作时间2022年11月10日

DS18B20介绍

🍎说明⇢DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出。相比较于模拟温度传感器(功能强大、硬件简单、易扩展、抗干扰性强)等..特点。 

₁测温范围 55°C 到 +125°C

₂通信接口 1-Wire (单总线)

₃其它特征⇢ 可形成总线结构、内置温度报警功能、可寄生供电(如果是寄生供电的话连Vcc正极都不需要进行连接直接用一根数据线[SDA]和GND地十分的节省线路)

🍊拓展说明⇢DS18B20在里面集成了模拟温度传感器、芯片、微控制器。内部读取内部当中的传感器,通过内部转换存储在RAM(随机存储器)里面。

引脚电路 

VCC:电源(3.0v~5.5v)
GND:电源地
DQ: 单总线(通信端口)

📑说明⇢以上便是DS18B20的应用电路从这里我们可以看出它的应用电路也是非常简单的。

存储器结构

内部结构

⒈64-BIT ROM作为器件地址,用于总线通信的寻址。

⒉SCRATCHPAD(暂存器)用于总线的数据交互。

⒊EEPROM用于保存温度触发阈值和配置参数。

⒋POWER-SUPPLYSENSE可以感应外部的VDD是否存在,如果不存在就会调整内部的一个结构来进行省电|内部的执行操作逻辑。当然寄生电路它是自动运行的不需要对其中的程序进行配置。

🍏注⇢我们使用寄生供是需要加一个强上拉电阻在DQ上的而我们的开发板是没有给DQ强上拉。所以这里我们是使用不了寄身供电的。 

🖋拓展知识点⇢寄生供电不是实际的电源器件,而是一种供电方式,即通过数据线供电。

单总线介绍

①单总线(1-Wire BUS)是由Dallas公司开发的一种通用数据总线。

②一根通信线→DQ ✔

③异步、半双工。

④单总线只需要一根通信线即可实现数据的双向传输,当采用寄生供电时,还可以省去设备的VDD线路,此时,供电加通信只需要DQGND两根线。

名称

引脚定义

通信方式

特点

1-Wire               

DQ                                       

半双工、异步                       

可挂载多个设备

半双工:通信双方可以互相传输数据,但必须分时复用一根数据线。

异步:通信双方各自约定通信速率。异步→不会那么的同步。 

总线→连接各个设备的数据传输线路(类似于一条马路,把路边各住户连接起来,使住户可以相互交流)

🍎注意→可以挂载多个设备都可以叫做是“总线”。

单总线的电路规范 

⒈设备的DQ均要配置成开漏输出模式。

⒉DQ添加一个上拉电阻,阻值一般为4.7KΩ左右。

⒊若此总线的从机采取寄生供电,则主机还应配一个强上拉输出电路。

单总线的时序结构

初始化⇢主机将总线拉低至少480us(准确值)然后释放总线(注:释放把DQ置1即可) 等待15~60us(选取中间值),存在的从机会拉低总线60~240us以响应主机,之后从机将释放总线。

发送一位如下↓

主机将总线拉低60~120us(选取中间值)然后释放总线,表示发送0;

主机将总线拉低1~15us,然后释放总线,表示发送1;

从机将在总线拉低30us后(典型值)读取电平,整个时间片应大于60us。

接收一位如下↓ 

主机将总线拉低1~15us,然后释放总线。

然后释放总线,并在拉低后15us内读取总线电平(尽量贴近15us的末尾)

读取为低电平则为接收0,读取为高电平则为接收1 ,整个时间片应大于60us的值。

发送字节/接收字节

发送一个字节→连续调用8次发送一位的时序,依次发送一个字节的8位(低位在前)

接收一个字节→连续调用8次接收一位的时序,依次接收一个字节的8位(低位在前)

🍎注→单总线是低位在前的,而在前面我们所说的IIC是高位在前依次发送数据的。这两者是有一定的区别的我们需要注意以下才行。

DS18B20操作流程 

初始化从机复位,主机判断从机是否响应。

ROM操作ROM指令+本指令需要的读写操作。

功能操作功能指令+本指令需要的读写操作。

ROM指令

功能指令

SEARCH(搜寻) ROM [F0h] 

CONVERT(温度转变) T [44h]

READ(读) ROM [33h]

WRITE(写) SCRATCHPAD(笺存储) [4Eh]

MATCH(匹配) ROM [55h]

READ(读) SCRATCHPAD(笺存储) [BEh]

SKIP(跳过) ROM [CCh]

COPY(复制) SCRATCHPAD(笺存储) [48h]

ALARM(报警) SEARCH(搜索) [ECh]

RECALL E2(电可擦除可编程) [B8h]

READ POWER SUPPLY(读取设备供电模式) [B4h]

DS18B20数据帧

温度变换→初始化→跳过ROM →开始温度变换。

温度读取→初始化→跳过ROM →读暂存器→连续的读操作。

Temperature:温度

LSB:最低有效位。

MSB:最高有效位。

温度存储格式

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐