ds18b20工作时序图
时间: 2025-01-08 09:01:21 浏览: 1
### DS18B20传感器工作时序图
DS18B20采用单总线通信协议,这意味着所有的操作都在同一根线上完成。为了确保可靠的数据交换,必须严格遵循特定的时序要求。
#### 初始化序列
初始化过程由主机发起,用于唤醒连接在同一总线上的所有DS18B20设备并准备接收后续指令。该阶段包括拉低总线至少480微秒,随后释放让其上浮至高电平状态约70微秒,在这段时间内从机应响应一个存在脉冲来确认在线情况[^2]。
```plaintext
_______ ___________
| | |
___|_______|_________|______________
480us 70us
```
#### ROM命令序列
一旦初始化成功,则可以发送ROM级联命令如`Search ROM`, `Read ROM` 或者 `Skip ROM`等。这些命令允许识别多个挂载在相同总线下的不同器件实例。
#### 功能命令序列
紧接着是针对具体寄存器的操作命令,比如启动转换(`Convert T`)、读取刮板指针位置(`Read Scratchpad`)以及写入新的设定值到刮板区(`Write Scratchpad`)等等。
#### 数据传输时序
对于每一次数据位的传送来说,都存在着严格的高低电平持续时间和间隔规定:
- **写周期**:当主机向DS18B20写入一位时,需保持低电平时间大于等于60μs;之后再维持一段时间(通常小于15μs),使得整个写周期不低于60μs但不超过120μs。
- **读周期**:而当要从DS18B20读回一位时,主机只需短暂地下拉总线形成起始沿触发条件(大约1~15μs),然后迅速放开进入采样窗口期等待目标节点反馈回来的信息,此期间建议预留不少于9μs的时间长度以便稳定获取返回的结果[^3]。
```plaintext
Write '0': ___----__________________ (>=60us low, followed by release)
Read bit: _---_(sample here after ~1us)_ (~1 to 15 us pulse width)
Note: The exact timing may vary slightly depending on the specific implementation.
```
阅读全文