我是靠谱客的博主 重要冬天,最近开发中收集的这篇文章主要介绍解析单总线协议(1-wire),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 onewire(单总线)DALLAS公司推出的外围串行扩展总线,传输时钟信号又传输数据,而且能够进行双向通信,具有节省I/O口线、资源结构简单、成本低廉、便于总线扩展和维护等诸多优点。常用到单总线的器件,一般是稳定传感器,如DS18B20DS2431DHT11

 

解析单总线协议(1-wire)

 

一、单总线协议(1-wire)

 

1.定义:主机和从机通过1根线进行通信,在一条总线上可挂接的从器件数量几乎不受限制。

 

2.特点:这是由达拉斯半导体公司推出的一项通信技术。它采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的。

 

3.优点:单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等。

 

二、单总线通信过程

 

1.初始化

 

初始化过程 = 复位脉冲 + 从机应答脉冲。

 

主机通过拉低单总线480 ~ 960 us产生复位脉冲,然后释放总线,进入接收模式。主机释放总线时,会产生低电平跳变为高电平的上升沿,单总线器件检测到上升沿之后,延时15 ~ 60 us,单总线器件拉低总线60 ~ 240 us来产生应答脉冲。主机接收到从机的应答脉冲说明单总线器件就绪,初始化过程完成。

 

初始化时序图如下所示:

2.写间隙

 

写间隙有两种,包括写0的时间隙和写1的时间隙。

 

当数据线拉低后,在15 ~ 60 us的时间窗口内对数据线进行采样。如果数据线为低电平,就是写0,如果数据线为高电平,就是写1。主机要产生一个写1时间隙,就必须把数据线拉低,在写时间隙开始后的15 us内允许数据线拉高。主机要产生一个写0时间隙,就必须把数据线拉低并保持60 us。

 

写时间隙时序图如下所示:

 

3.读时间隙

 

当主机把总线拉低时,并保持至少1 us后释放总线,必须在15 us内读取数据。

 

读时间隙时序图如下所示:

 

三、单总线通信设备

 

比如DS18B20、DHT11等都是使用的单总线协议通信。

————————————————

版权声明:本文为CSDN博主「zhengqijun_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/zhengqijun_/article/details/52505931

最后

以上就是重要冬天为你收集整理的解析单总线协议(1-wire)的全部内容,希望文章能够帮你解决解析单总线协议(1-wire)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部