我是靠谱客的博主 含糊冰棍,最近开发中收集的这篇文章主要介绍通信协议之一线协议(1-Wire)解析一线协议概述 通信过程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

一线协议概述

 通信过程


一线协议概述

异步通信 串行 半双工(分时) 电平信号

定义:主机和从机通过一根数据线进行通信,在一条总线上可以挂多个器件。

特点:①没有相应的时钟线,所以是异步通信

           ②只有一根总线,所以是串行传输数据

           ③这根总线既可以传输时钟又可以传输数据,可以双向传输,但是要分时,所以是半双工通信

           ④有参考电平线(GND),所以是电平信号

           ⑤单总线上所有的命令或数据的发送都是遵循低位先发送的原则


 通信过程

1)初始化

初始化过程由主机发送复位脉冲和从机发送应答脉冲组成。

主机拉低总线480~960ns产生复位脉冲,然后释放总线,进入接收模式。主机释放总线时,产生上升沿,从机再检测到上升沿之后,保持高电平15~60ns,然后再拉低总线60~240us产生应答脉冲。主机接收从机的应答脉冲表示从机准备完毕,开始通信。

2)写间隙(写0间隙和写1间隙)

所有的写间隙至少需要60us,并且两次独立的写间隙至少需要1us的恢复时间,两种写间隙始于主机拉低总线。在写间隙开始的15~60us期间,单总线器件(从机)采样总线电平状态。如果为高电平,则写入1,如果为低电平,则写入0。

  1. 写1时,主机要先将数据线拉低,然后在写间隙开始后的15us内将数据线拉高直至时间结束
  2. 写0时,主机必须要将数据线拉低并保持至少60us

 

3)读间隙

从机在主机发出读间隙的时候,才向主机 传输数据,所以当主机发出读数据命令后,必须马上产生读间隙,以便能够顺利读到数据。所有读间隙至少60us,且两次读间隙之间至少需要1us的恢复时间。

当主机拉低总线至少1us发起读间隙,此时从机才开始发送数据。从机发送1,则为高电平,从机发送0,则为低电平。

当从机发送0时,在该读间隙结束后释放总线,总线由上拉电阻拉至高电平。从机发出数据保持有效时间15us。所以主机在读间隙期间要释放总线(此时由从机控制),并且在读间隙起始的15us内采样总线状态,获取数据。

DS18B20温度传感器工作原理

 

 

 

最后

以上就是含糊冰棍为你收集整理的通信协议之一线协议(1-Wire)解析一线协议概述 通信过程的全部内容,希望文章能够帮你解决通信协议之一线协议(1-Wire)解析一线协议概述 通信过程所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部