DS18B20温度传感器介绍

DS18B20温度传感器先容

泉源:百问网_嵌入式Linux wiki_jz2440 新1期视频维基教程 (视频笔墨版)

作者:韦东山

本笔墨数:1322,阅读时长:2分钟

比DHT11温湿度传感器精度高很多

DS18B20只经过一条数据线传输数据,既要控制器发送数据给芯片,又要经过芯片发送数据给控制器,以是这个是双向传输数据的

怎样在一个引脚上完成数据的双向传输 : 参考这视频的第19分钟之后的内容: 第19课_第001节_I2C协议与EEPROM

检测温度,我们必要一个主控芯片

假如有多个温度传感器,则必要一个主控制器去办理它们,经过发送下令传输数据,每个装备都市有固化在芯片内里的64bit ID的ROM来用于区分不同的装备

假如主控制器想拜候装备,必需发送下令,这个下令中带有ID前往值

怎样拜候指定的DS18B20

  • 0 发射低脉冲,提示准备事情: initialization
  • 1 发射ID下令:ROM Command
  • 2 发射功效下令: Function Command a转换温度 b读温度,读数据

每次利用,都要重重上述历程

内里框图

TEMPERATURE SENSOR温度ADC

SCRATCHPAD实践上是一个9 byte的内存 9byte的分析如下图所示

温度值会保存在9byte内存中的 BYTE0 和 BYTE1 也就是当我们发射一个温度值的下令之后,还必要发送一个读内存的下令才干把温度值读取出来

最初一位是CRC校验码,经过前8位的数据和最初一位的校验码比力 64位数据中有8位是校验码,

怎样采样温度?

  • 1 初始化
  • 2 ROM下令
  • 3 FunctionCommand 设置某些值,好比转换温度
  • 4等候完成
  • 5 init
  • 6 R om cmd
  • 7 Function Command 读RAM中的值

关于EEPROM存放器 前方两个字节可以用来设置用户本人的目标,也可以用来设置Th Tl 存放器 Th Tl 存放器就是用来设置警报,温度的极限大概底限,当温度凌驾某个值时它会发射警报 所谓警报只不外是在DS18B20中设置形态罢了,并不克不及主动关照主芯片 主芯片可以发射某些下令来确定哪些芯片发射了警报 设置存放器,用于设置精度,精度越高转换时间越长

EEPROM使用

  • 1 上电

EEPROM主动放入RAM用于控制精度这些


  • 2 写EEPROM

a 发射下令先写RAM

b从RAM转到EEPROM


  • 3 读出EEPROM的值

a EEPROM值保存到RAM

b 发射下令读RAM


关于ROM下令和功效下令整理成一个表格



信号传输

  • 1怎样initialization(初始化)


  • 2 怎样发数据,怎样发射1bit

怎样发射bit0

怎样发射bit1


  • 3怎样读数据==>怎样读1bit

怎样判读读到0

怎样推断读到1


初始化时序

一开头是高电平,想要开头传输信号,必必要拉低最少480us开释总线 颠末15~60us之后 DS18B20会把这条线拉低60~240us

2 怎样发数据,怎样发射1bit

  • 怎样发射bit0
  • 怎样发射bit1

写数据时序

不管是写0照旧写1时序都是大于60us 写0拉低总线维持60us以上 写1时,信号线拉低1us时间,提示要写数据了,然后回高,写1位之间的时间距离1us

读数据时序 也是由主机倡导 提示脉冲大于1us,主机立刻开释总线 在15us之内读信号,一个读周期最少是60us,每位的距离也是1us

DS18B20提供了编程图

供电办法

「新品首发」STM32MP157开发板火爆预售!首批仅300套

内容底部广告位(手机)
标签:

管理员
草根站长管理员

专注网站优化+网络营销,只做有思想的高价值网站,只提供有担当的营销服务!

上一篇:大圆节能申请一种高回弹耐火保温玻璃棉及其制备方法专利,解决相关技术中耐火保温玻璃棉回弹率和抗拉强度较低的问题
下一篇:返回列表

相关推荐