码迷,mamicode.com
首页 > 其他好文 > 详细

stm32—单总线(1-wire)

时间:2020-04-04 22:22:17      阅读:315      评论:0      收藏:0      [点我收藏+]

标签:技术   ali   来源   block   进入   目的   logs   就是   不发送   

1-wire基本概念

这是美国的达拉斯半导体公司推出的一项特有的单总线(1-wire)技术。该技术与别的总线不同,它采用一根信号线,既可以传输时钟,又可以传输数据,而且数据传输是双向的。因此该总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点。该技术适用于单主机系统,能够控制一个或者多个从机设备。

1-wire工作原理

单总线(1-wire)即只使用这一根数据线进行数据交换、控制。设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线,其内部等效电路如图所示:

技术图片

1-wire通信过程

所有的单总线器件都要遵循严格的通信协议,其目的以保持数据的完整性。1-wire协议定义了:复位脉冲、应答脉冲、写0、读0和读1时序等信号类型

  • 初始化时序(复位+从机应答)

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

技术图片
  • 写间隙

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

技术图片
  • 读间隙

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

技术图片

文章参考:

作者:文久_
链接:https://www.jianshu.com/p/4d4b7f7d9280
来源:简书

stm32—单总线(1-wire)

标签:技术   ali   来源   block   进入   目的   logs   就是   不发送   

原文地址:https://www.cnblogs.com/wyd-blogs/p/12634481.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!