关于1-Wire
1.概述
1-wire单总线,是Maxim子公司Dallas研发的通信协议。采用单根信号线,既传输数据又传输时钟,而且数据传输是双向的。它具有节省I/O口资源,结构简单,成本低,便于总线扩展和维护等优点。
1-wire单总线适用于单个主机系统,能够控制一个或多个从机设备。当只有一个从机位于总线上时,系统可按照单节点系统操作;而当多个从机位于总线上时,则系统按照多节点系统操作。
2.硬件结构
1-wire只有一根数据线,主机或从机通过一个漏极开路或三态端口,连接至该数据线,这样允许设备在不发送数据时释放数据总线,以便总线被其他设备所使用。单总线端口为漏极开路,其内部等效电路如图所示:

单总线要求外接一个约5k的上拉电阻;这样,单总线的闲置状态为高电平。如果传输过程需要暂时挂起,且要求传输过程还能够继续,则总线必须处于闲置状态。位传输之间的恢复时间没有限制,只要总线在恢复期间处于空闲状态(高电平),如果总线保持低电平超过480us,总线上的所有器件将复位。
另外,在寄生方式供电时,为了保证单总线器件在某些工作状态下(如温度转换期间、EEPROM写入等)具有足够的电源电流,必须在总线上提供强上拉。
3.信号方式
所有的单总线器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了几种信号类型,复位脉冲、应答脉冲、写0,写1、读0和读1.所有这些信号,除了应答脉冲以外,都由主机发出同步信号。并且发送所有的命令和数据都是字节的低位在前,这一点与多数串行通信格式不同(多数为字节的高位在前)
- 初始化序列:复位与应答脉冲
单总线上的所有通信都是以初始化序列开始,包括:主机发出的复位脉冲及从机的应答脉冲,如果所示:

当从机发出响应主机的应答脉冲时,即响应主机表明它处于总线上,且工作准备就绪,在主机初始化过程,主机通过拉低单总线至少480us,以产生(tx)复位脉冲。接着,主机释放总线,并进入接收模式(rx)。当总线被释放后,5k上拉电阻将单总线拉高。在单总线器件检测到上升沿后,延时15-60us,接着通过拉低总线60-240us,以产生应答脉冲。
- 读/写时隙
在写时隙期间,主机向单总线器件写入数据;而在读时隙期间,主机读入来自从机的数据。在每一个时隙,总线只能传输一位数据
写时隙:
存在两种写时隙:写1和写0.主机采用写1时隙向从机写入1,而采用写0时隙向从机写入0.所有写时隙至少需要60us,且在两次独立的写时隙之间至少需要1us的恢复时间。两种写时隙均起始于主机拉低总线,如图所示:

在主机发起读时隙之后,单总线器件才开始在总线上发送0或1.若从机发送1,则保持总线为高电平;若发送0,则拉低总线。当发送0时,从机在该时隙结束后释放总线,由上拉电阻将总线拉回至空闲高电平状态,从机发出的数据在起始时隙之后,

最低0.47元/天 解锁文章
3837






