1,对单总线通信的认识
- 定义:主机和从机通过1根线进行通信,在一条总线上可挂接的从器件数量几乎不受限制。
- 特点:这是由达拉斯半导体公司推出的一项通信技术。它采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的。
- 优点:单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等。
2,硬件结构
1-Wire 协议采用传统逻辑电平即CMOS/TTL 电 平,其电源电压VDD 工作范围为2.8V~6V。主机和从机两者都配有收发器,数据按位序列双向传输。单总线要求外接一个约4.7k 的上拉电阻,总线在闲置状态时为高电平,为从机设备提供电源。不管什么原因, 如果传输过程需要暂时挂起,且要求传输过程还能够继续的话,总线必须处于空闲状态。
位传输之间的恢复时间没有限制,只要求总线在恢复期间处于空闲 状态(高电平)。如果总线保持低电平超过480ms,总线上的所有器件将复位。另外,在寄生方式供电时, 为了保证单总线器件,在某些工作状态下(如温度转 换期间、EEPROM 写入等)具有足够的电源电流,必 须在总线上提供强上拉如图 1 所示的 MOSFET。
计算机可以通过串行口从1-Wire 通讯适配器上读回以1-Wire 总线方式工作的传感器数据,传输距离为 300m。9 针插头与 计算机串行通讯口联接,接线端子 DQ、G 分别接 1- Wire 器件(从机)的 DQ、GND 管脚。
3,单总线通信的过程
原理:通过高电平的长短表示不同的信号。
在没有信号的时候一直保持高电平,当要进行信号传输或者接受信号时都要以一个低电平开始(以host为视角)。
①初始化
初始化过程 = 复位脉冲 + 从机应答脉冲。
主机通过拉低单总线480 ~ 960 us产生复位脉冲,然后释放总线,进入接收模式。主机释放总线时,会产生低电平跳变为高电平的上升沿,单总线器件检测到上升沿之后,延时15 ~ 60 us,单总线器件拉低总线60 ~ 240 us来产生应答脉冲。主机接收到从机的应答脉冲说明单总线器件就绪,初始化过程完成。
初始化时序图如下所示:
②写操作
写间隙有两种,包括写0的时间隙和写1的时间隙。
- 写 0:从发写信号低电平开始,保持60微秒以上120微秒以下低信号。
- 写1:从发写信号低电平开始,保持至少1微秒最多15微秒的低电平,然后释放总线或者将其变成高电平。
写操作,当写信号发出15微秒之后从机才开始采样。
写操作时序图:
③读操作
读信号:低电平1微秒。
当主机把总线拉低是,并保持至少1 us后释放总线,必须在15 us内读取数据。
读操作时序图:
3,单总线通信的应用
比如DS18B20、DHT11等都是使用的单总线协议通信。
温度传感器DS18B20的参考程序链接:http://blog.csdn.net/zhengqijun_/article/details/52515977
转自:https://blog.csdn.net/zhengqijun_/article/details/52505931