在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2986|回复: 1

[原创] 温度传感器DS18B20逻辑设计

[复制链接]
发表于 2015-3-16 12:38:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

DS18B20依靠一个单线端口进行通信,测温范围为-55~+125℃,温度分辨率为9~12bit,上电后默认为12bit。每个温度传感器有一个独特的序列码,当总线上连接多个DS18B20时,总线依靠序列码对特定的传感器进行操作。


由于本开发板只外挂一个DS18B20,因此不需要发送匹配ROM命令[55h],只发送忽略ROM指令[CCh]即可,然后再发送DSB18B20功能指令。

每一次操作DS18B20的协议如下:

1)初始化DS18B20;

2)ROM操作指令;

3)DS18B20功能指令。

本设计中的读取DS18B20的步骤:

1)初始化;

2)发送忽略ROM指令[CCh];

3)发送DS18B20温度转换指令[44h];

4)初始化;

5)发送忽略ROM指令[CCh];

6)发送读取暂存器指令[BEh];

7)开始读取总线上的数据,读取12次后完成一次温度的读取。

初始化过程:

在初始化过程中,主机通过拉低单总线至少480μs,以产生复位脉冲(TX)。然后主机释放总线并进入接收(RX)模式。当总线被释放后,5kΩ的上拉电阻将单总线拉高。DS18B20检测到这个上升沿后,延时15μs~60μs,通过拉低总线60μs~240μs产生应答(存在)脉冲。

因为默认硬件工作正常,不需要检测存在脉冲,简化后的初始化步骤:

1)主机拉低总线500us,然后释放总线;

2)等待500us,初始化完成。

主机向DS18B20写1步骤:

1)主机拉低总线10us,然后释放总线;

2)等待60us;

3)等待2us恢复时间,完成一次写1操作,总共需要72us。

主机向DS18B20写0步骤:

1)主机拉低总线70us;

等待2us恢复时间,完成一次写0操作,总共需要72us。


主机读取DS18B20的温度数据步骤:

1)主机拉低总线2us,然后释放总线;

2)等待10us,在10us结束时进行一次总线数据采样;

3)等待60us,其中包含2us的恢复时间,完成一次数据采样,总共需要72us。

发表于 2015-3-16 13:00:43 | 显示全部楼层
想表达什么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-6 05:04 , Processed in 0.014276 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表