一 概述
1-wire 单总线是Maxim 全资子公司Dallas
的一项专有技术。与目前多数标准串行数据通信方式,如SPI/I2C/MICROWIRE
不同,它采用单根信号线,既传输时钟,又传输数据,而且数据传输是双向的。它具有节省I/O
口线资源、结构简单、成本低廉、便于总线扩展和维护等诸多优点。
它包含多种功能的器件,诸如身份识别、传感器、控制和存储器
等,既有各种传统的IC封装形式,还可提供超小型CSP、不锈钢铠装iButton等新型封装。
1-wire
单总线适用于单个主机系统,能够控制一个或多个从机设备。 当只有一个从机位于总线上
时,系统可按照单节点系统操作;而当多个从机位于总线上时,则系统按照多节点系统操作。
为了较为全面地介绍单总线系统,将系统分为三个部分讨论:硬件结构、命令序列和信号方式(信号类型和时序)。
二 硬件结构
顾名思义,单总线只有一根数据线。设备(主机或从机)通过一个漏极开路或三态端口,连接至该数据线。这样允许设备在不发送数据时释放数据总线,以便总线被其它设备所使用。单总线端口为漏极开路。
单总线要求外接一个约5k
的上拉电阻,这样单总线的闲置状态为高电
平。不管什么原因如果传输过程需要暂时挂起,且要求传输过程还能够继续的话,则总线必须处于空闲状态。位传输之间的恢复时间没有限制,只要总线在恢复期间处于空闲状态(高电平)。如果总线保持低电平超过480us
,总线上的所有器件将复位。
另外,在寄生方式供电时,为了保证单总线器件在某些工作状态下,(如温度转换期间、EEPROM
写入等)具有足够的电源电流,必须在总线上提供强上拉。
三 命令序列
典型的单总线命令序列如下:
第一步初始化
第二步ROM
命令(跟随需要交换的数据)
第三步功能命令(跟随需要交换的数据)
每次访问单总线器件,必须严格遵守这个命令序列,如果出现序列混乱,则单总线器件不会响应主机。但是,这个准则对于搜索ROM
命令和报警搜索命令例外,在执行两者中任何一条命令之后,主机不能执行其后的功能命令,必须返回至第一步。
四 信号方式
所有的单总线器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲、写0、
写1、 读0 和读1。
所有这些信号,除了应答脉冲以外,都由主机发出同步信号。并且发送所有的命令和数据都是字节的低位在前,这一点与多数串行通信格式不同(多数为字节的高位在前)。
|