通讯协议--OneWire单总线

文章目录

  • 一、单总线
  • 二、单总结电路规范
  • 三、单总线时序结构
    • [   初始化:Start](#   初始化:Start)
    • [   发送一位:Send(bit)](#   发送一位:Send(bit))
    • [   接收一位:Read(bit)](#   接收一位:Read(bit))
    • [   发送一个字节:](#   发送一个字节:)
    • [   接收一个字节:](#   接收一个字节:)

一、单总线

单总线(1-Wire BUS)是由Dallas公司开发的一种通用数据总线。

一根通信线:DQ

通讯方式:异步、半双工

单总线只需要一根通信线即可实现数据的双向传输,当采用寄生供电时,还可以省去设备的VDD线路,此时,供电加通信只需要DQ和GND两根线。

二、单总结电路规范

设备的DQ均要配置成开漏输出模式

DQ添加一个上拉电阻,阻值一般为4.7KΩ左右

若此总线的从机采取寄生供电,则主机还应配一个强上拉输出电路

三、单总线时序结构

初始化:Start

主机将总线拉低至少480us,然后释放总线,等待1560us后,存在的从机会拉低总线60240us以响应主机,之后从机将释放总线

发送一位:Send(bit)

主机将总线拉低60120us,然后释放总线,表示发送0;主机将总线拉低115us,然后释放总线,表示发送1。从机将在总线拉低30us后(典型值)读取电平,整个时间片应大于60us.

接收一位:Read(bit)

主机将总线拉低1~15us,然后释放总线,并在拉低后15us内读取总线电平(尽量贴近15us的末尾),读取为低电平则为接收0,读取为高电平则为接收1 ,整个时间片应大于60us

发送一个字节:

连续调用8次发送一位的时序,依次发送一个字节的8位(低位在前)

接收一个字节:

连续调用8次接收一位的时序,依次接收一个字节的8位(低位在前)

相关推荐
悠哉悠哉愿意4 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
Lester_11014 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
三佛科技-187366133974 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315204 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
Alaso_shuang4 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
2501_918126914 天前
stm32死锁是怎么实现的
stm32·单片机·嵌入式硬件·学习·个人开发
z20348315204 天前
STM32F103系列单片机定时器介绍(一)
stm32·单片机
星马梦缘4 天前
驱动层开发——蜂鸣器驱动
stm32·单片机·嵌入式硬件·hal·驱动
小刘爱玩单片机4 天前
【stm32简单外设篇】- 测速传感器模块(光电)
c语言·stm32·单片机·嵌入式硬件
hateregiste4 天前
嵌入式软件开发中常见知识点问答集锦!
c语言·单片机·嵌入式软件