单总线技术及其应用
单总线(1~Wire Bus)技术采用单根信号线,即传输时钟,又传输数据,而且数据传输
是双向的,在其线路简单、硬件开销少、成本低廉、软件设计简单方面有着无可比拟的优
势。
目前常用的微机与外设串行总线主要有我们熟悉的 12C 总线,SPI 总线,SCI 总线。其中
12C 总线是以同步串行 2 线方式进行通信(一条时钟线,一条数据线),SPI 总线是以同
步串行 3 线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线),SCI 总线
是以异步方式进行通讯(一条数据输入线,一条数据输出线)。这些总线至少需要有两条
或两条以上的信号线。近年来,美国的达拉斯半导体公司(DALLAS SEMICONDUCTOR)
推出了一套单总线(1-Wire Bus)技术,与上述总线不同,它采用单根信号线,即传输时
钟,又传输数据,而且数据传输是双向的,在其线路简单、硬件开销少、成本低廉、便于
总线的扩展和维护等优点。
单总线适用于单个主机系统,能够控制一个或多个从机设备。主机可以是微控制器,从机
可以是单总线器件,如图 1 所示,
他们之间的数据交换只通过一条数据线。当只有一个从机设备时系统可按单节点系统操
作;当有多个从机设备时,则系统按多节点系统操作。
单总线工作原理
顾名思义,单总线只有一根数据线系统中的数据交换、控制都在这根线上完成。设备(主
机或从机)通过一个漏极开路或三态端口连至该数据线,这样允许设备不发送数据时释放
总线,以便其他设备使用总线,其内部等效电路如图 2 所示。
单总线要求外接一个约 4.7Ω 的上拉电阻,这样当总线闲置时,状态为高电平。主机和从
机之间的通信通过以下三个步骤完成:初始化 1-wire 器件,识别 1-wire 器件,交换数据。
由于二者是主从结构,只有主机呼叫从机时,从机才能答应,因此主机访问 1-wire 器件
都必须严格遵循单总线命令序列:初始化、ROM 命令、功能命令。如果出现序列混乱,1
-wire 器件不会响应主机(搜索 ROM 命令,报警搜索命令除外)。
信号方式
所有单总线器件要求遵循严格的通信协议,以保证数据的完整性。1-wire 协议定义了几种
信号类型:复位脉冲、答应脉冲、写 0、写 1、读 0 和读 1 时序。所有的单总线命令序列
(初始化、ROM 命令、功能命令)都是由这些基本的信号类型组成。这些信号,除了应
答脉冲外都是由主机发出同步信号,并且发出的所有命令和数据都是字节的低位在前。初
始化时序包括主机发送的复位脉冲和从机发出的应答脉冲主机通过拉低单总线至少 480u
s,以产生 TX 复位脉冲:然后主机释放总线,并进入 RX 接收模式,当主机释放总线时,
总线由低电平跳变为高电平时产生一上升沿,单总线器件检测到这上升沿后,延时 15~6
0us,接着单总线器件通过拉低总线 60~240us,以产生应答脉冲。主机接收到从机应答脉
冲后,说明有单总线器件在线,然后主机就开始对从机进行 ROM 命令和功能命令操作。
写 1、写 0 和读时序。在每一个时序中,总线只能传输一位数据。所有的读写时序至少需
要 60us,且每两个独立的时序之间至少需要 1us 的恢复时间。读写时序均起始于主机拉
低总线。在写时序中,主机拉低总线后保持至少 60us 的低电平则向单总线器件写 0。单
总线器件又在主机发发出读时序时才向主机传送数据,所以当主机向单总线器件发出数据
命令后,必须马上产生读时序,以便单总线能传输数据。在主机发出读时序之后,单总线
器件才开始在总线上发送 0 或 1,若单总线器件发送 1,则保持总线高电平,若发送 0,
则拉低总线。单总线器件发送之后,保持有效时间,因而,主机在读时序期间必须释放总
线,并且必须在 15us 之中采样总线状态,从而接收到从机发送的数据。
单总线器件
我们把挂在单总线上的器件称之为单总线器件,其器件内具有控制、收/发、储存等电路。
为了区分不同的单总线器件,产家生产单总线器件时要刻录一个 64 位的二进制 ROM 代码,
标志着单总线器件的 ID 号。目前,单总线器件的主要有数字温度传感器(如 DS18B20));
A/D 转换器(如 DS2450)门禁、身份识别器(如 DS1990A);单总线控制器(如 DSIW
M)等等。这里介绍一种 iButton 形式的单总线器件,它是利用瞬间接触进行数字通信的,
这些器件应用已经渗透到货币交易和高度安全的认证系统。IButton 是采用纽扣状不锈钢
外壳封装的微型计算机晶片,他具有抗撞击、抗水渍、耐腐蚀、抗磁扰、防折叠、价格便
宜等特点,能交好的解决传统识别器存在的不足,同时又满足系统在可靠性、稳定性方面
的要求。IButton 主要有三种类型,分别是 Memory iButton(储存型),Java—powered
crptograhic iButton(加密型),Thermochron iButton(温度型),储存型 iButton 最大可
具有 64K 的储存空间,可以储存数字或相片。加密型 iButton 是一种微处理器和高速算法
加速器,可以产生大量的需要加密和解密信息的数据,它运行速度非常快,可与 Internet
应用相结合,并可用于远程鉴定识别。温度型 iButton 可以测量温度变化,内含温度计、
时钟、热记录、储存单元。
单总线器应用例子
本文介绍单总线应用例子是 iButton 技术在安防系统上的应用,该安防系统就是利用 iBut
ton 来进行门禁识别。门禁识别部分的硬件由 3 部分组成:主机微控制器;从机包括 iBut
ton 信息读取头和 iButton;三为主机通过 RS485 进行远程通信或 MicroWeb 连上 Interne
t。 微控制器采用 Microchip 公司的 PIC16F873 芯片;API8108A 是语音芯片,用来告诉
用户系统信息;iButton 采用 DS1990A,信息读取头使用 DS9092L。当用户把 iButton 与
信息读取头接触,iButton 标识码进行比较判断,若吻合,则系统按设定要求程序工作,
否则,系统给出语音提示。DS1990A 与主机微控制器之间的通信软件设计流程图如图 3
所示。
与单总线器件通信都是通过初始化、写 0、写 1、读 0、读 1 时序达到的。
基于单总线的 iButton 技术,能较好地解决了传统识别器普遍存在的携带不便、易损坏、
易受腐蚀、易受电磁干扰等不足,可应于高度安全的门禁、身份识别领域。其通信可靠简
单,很容易实现。因此单总线技术有着广阔的应用前景,是值得我们关注的一个发展领域。