打印
[APM32F1]

APM32F103通过one-wire总线读取DS18B20

[复制链接]
403|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
鱼香Rose|  楼主 | 2022-4-5 17:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
One-Wire总线背景介绍
One-Wire(单总线) 是DALLAS公司推出的外围串行扩展总线技术总线,顾名思义,
它是采用一根信号线进行通信,既传输时钟信号又传输数据,而且能够进行双向通信,
具有节省I/O口线、资源结构简单、成本低廉、便于总线扩展和维护等诸多优点。

每个One-Wire器件内嵌唯一的地址码(ROM码),以实现主机对不同从机的寻址。主机可通过     种方式联入计算机系统。

◈常用到单总线的器件,一般是温度传感器、EEPROM、唯一序列号芯片等,如DS18B20、DS2431。

One-Wire的信号方式
One-Wire总线传输协议来确保数据的完整性。该协议定义了几个信号:复位脉冲、写0脉冲、写1脉冲、读脉冲、应答脉冲。除了应答脉冲,其他脉冲都由主机发出。One-Wire协议有两种模式,标准模式和高速模式,高速模式下时间间隙要小。

复位和应答
1、主机发送复位脉冲,至少480us。
2、主机置高释放总线,等待15-60us后等待从机应答。
3、从机应答脉冲60-240us。

写时序
1、主机产生一个下降沿产生写信号
2、15us内写入数据,15-60us从机采样
3、写和读时间间隙相同,至少60us。




读时序

1、主机数据线先从高拉至低电平1us以上,再释放数据线使其被上拉至高电平,从而产生   读信号。
2、0-15us释放总线,15-60us后主机采样
3、写和读时间间隙相同,至少60us。



程序分析--读DS18B20温度值
1、初始化
2、 0XCC跳过ROM匹配,0X44开始温度转换
3、0XCC跳过ROM匹配,0XBE读寄存器值




使用特权

评论回复
沙发
七毛钱| | 2022-4-6 10:48 | 只看该作者
了解一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

11

帖子

1

粉丝