ds18b20温度传感器数据手册,ds18b20温度传感器测温范围
chanong
|来源:百文网_Embedded Linux wiki_jz2440 新视频Wiki教程(视频文字版) 作者:Wei Dongshanmoto 字数:1322,阅读时间:2分钟
比DHT11温湿度传感器准确得多
DS18B20只通过一根数据线传输数据,控制器必须向芯片传输数据,芯片也必须向控制器传输数据,所以这是一种双向数据传输。
如何实现引脚上数据的双向传输: 请参阅本视频第19 分钟开始的内容: 第19 课_第001 节_I2C 协议和EEPROM
需要主控芯片来检测温度
如果你有多个温度传感器,就需要一个主控制器来管理它们,发送命令和发送数据,并且每个设备在芯片内部都有一个64位的ID ROM来区分不同的设备,它是固化的。
如果主控制器想要访问该设备,则必须发送带有ID返回值的命令。
如何访问指定的DS18B20
0 发送低脉冲提醒准备工作: 初始化1 发出ID 命令:ROM 命令2 发出功能命令: 功能命令a 转换温度b 读取温度并读取数据每个操作都需要重复以上过程
内部框图
温度传感器温度ADC
SCRATCHPAD实际上是9个字节的内存,这9个字节的说明如下所示。
温度值存储在内存的9 个字节中:BYTE0 和BYTE1。即发送温度值命令后,需要发送内存读命令来读取温度值。
最后一位是CRC校验码,通过将数据的前8位与校验码的最后一位进行比较,64位数据中的8位就成为校验码。
如何采样温度?
1 初始化2 ROM 命令3 FunctionCommand 设置某些值,如转换温度4 等待完成5 init6 Rom cmd7 Function Command 读取RAM 中的值EEPROM 寄存器的前两个字节是供您自己使用的,可以用来设置。要配置Th Tl 寄存器,请使用Th Tl 寄存器设置警报、温度上限或下限。当温度超过一定值时就会触发警报。所谓报警只是在DS18B20上设置一个状态,而不能主动通知主芯片的主人。芯片可以发出特定的命令来确定哪个芯片发出了警报。配置寄存器用于设置精度。准确度越高,持续时间越长。转换时间。
如何使用EEPROM
1. 上电时,EEPROM自动写入RAM以控制精度。
2 写入EEPROM a. 先发送写入RAM 的命令。
RAM 至EEPROM
3 读取EEPROM 值。 a 将EEPROM 值保存到RAM。
b 发出读取RAM 的命令。
关于ROM 命令和功能命令汇总表
信号传输
1 初始化(initialization)方法
2 如何发送数据,如何发送1位,如何发送位0
如何发送bit1
3 如何读取数据==如何读取1位,如何读取0
如何判断是否已读1
初始化时序
第一个是高水平。如果要开始发送信号,至少需要480us的低电平来释放总线。 15~60us后,DS18B20将该线拉低60~240us。
2 如何发送数据,如何发送1位
Bit0传输方式、Bit1传输方式、数据写入时序
不管你写的是0还是1,计时都会长于60us。写入0 强制总线保持低电平超过60us。当你写一个1时,信号线会变低1us,提醒你写数据,然后又变高,写1位的时间间隔是1us。
数据读取时序也由主机发起。如果提醒脉冲大于1us,主机立即释放总线。 15us内读取信号。读取周期至少为60us,以及每一位之间的间隔。 1s。
提供了DS18B20 的编程图。
电源
《新品发布会》STM32MP157开发板现已接受预订!初期产量仅为300套。