竭诚为您提供优质文档/双击可除
1,wire,协议
篇一:单总线(1-wiRebus)技术及其应用
单总线(1-wirebus)技术及其应用摘要:介绍了美dallas公司推出的单总线技术的原理和信号传输方式,说明了单总线通信协议,最后以单总线器件ibutton在安防系统中的应用为例,给出了单总线的数据传输方法。关键词:单总线单总线协议ibutton1引言目前常用的微机与外设之间进行数据传输的串行总线主要有i2c总线、spi总线和sci 总线。其中i2c总线以同步串行2线方式进行通信(一条时钟线,一条数据线),spi总线则以同步串行3线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线),而sci总线是以异步方式进行通信(一条数据输入线,一条数据输出线)的。这些总线至少需要两条或两条以上的信号线。近年来,美国的达拉斯半导体公司(dallassemiconductoR)推出了一项特有的单总线(1-wirebus)技术。该技术与上述总线不同,它采用单根信号线,既可传输时钟,又能传输
数据,而且数据传输是双向的,因而这种单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点。单总线适用于单主机系统,能够控制一个或多个从机设备。主机可以是微控制器,从机可以是单总线器件,它们之间的数据交换只通过一条信号线。当只有一个从机设备时,系统可按单节点系统操作;当有多个从设备时,系统则按多节点系统操作。图1所示是单总线多节点系统的示意图。2单总线的工作原理顾名思义,单总线即只有一根数据线,系统中的数据交换、控制都由这根线完成。设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线,其内部等效电路如图2所示。单总线通常要求外接一个约为4.7k Ω的上拉电阻,这样,当总线闲置时,其状态为高电平。主机和从机之间的通信可通过3个步骤完成,分别为初始化
1-wire器件、识别1-wire器件和交换数据。由于它们是主从结构,只有主机呼叫从机时,从机才能应答,因此主机访问1-wire器件都必须严格遵循单总线命令序列,即初始化、Rom、命令功能命令。如果出现序列混乱,1-wire器件将不响应主机(搜索Rom命令,报警搜索命令除外)。表1是列为ΔΙΩ命令的说明,而功能命令则根据具体1-wire器件所支持的功能来确定。表1Rom命令说明Rom命令说明搜索Rom(F0h)识别单总线上所有的1-wire器件的Rom编码读
Rom(33h)(仅适合单节点)直接读1-wire器件的序列号匹配Rom(55h)寻找与指定序列号相匹配的1-wire器件跳跃Rom(cch)(仅适合单节点)使用该命令可直接访问总线上的从机设备报警搜索Rom(ech)(仅少数器件支持)搜索有报警的从机设备3信号方式所有的单总线器件都要遵循严格的通信协议,以保证数据的完整性。1-wire协议定义了复位脉冲、应答脉冲、写0、读0和读1时序等几种信号类型。所有的单总线命令序列(初始化,Rom命令,功能命令)都是由这些基本的信号类型组成的。在这些信号中,除了应答脉冲外,其它均由主机发出同步信号,并且发送的所有命令和数据都是字节的低位在前。图3是这些信号的时序图。其中,图3(a)是初始化时序,初始化时序包括主机发出的复位脉冲和从机发出的应答脉冲。主机通过拉低单总线至少480μs产生tx复位脉冲;然后由主机释放总线,并进入Rx接收模式。主机释放总线时,会产生一由低电平跳变为高电平的上升沿,单总线器件检测到该上升沿后,延时15~60μs,接着单总线器件通过拉低总线60~240μsμ来产生应答脉冲。主机接收到从机的以应答脉冲后,说明有单总线器件在线,然后主机就可以开始对从机进行Rom命令和功能命令操作。图3中的(b)、(c)、(d)分别是写1、写0和读时序。在每一个时序中,总线只能传输一位数据。所有的读、写时序至少需要60μs,且每两个独立的时序之间至少需要1μs
的恢复时间。图中,读、写时序均始于主机拉低总线。在写时序中,主机将在拉低总线15μs之内释放总线,并向单总线器件写1;若主机拉低总线后能保持至少60μs的低电平,则向单总线器件写0。单总线器件仅在主机发出读时序时才
向主机传输数据,所以,当主机向单总线器件发出读数据命令后,必须马上产生读时序,以便单总线器件能传输数据。在主机发出读时序之后,单总线器件才开始在总线上发送0
或1。若单总线器件发送1,则总线保持高电平,若发送0,则拉低总线。由于单总线器件发送数据后可保持15μs有效时间,因此,主机在读时序期间必须释放总线,
且须在15μs的采样总线状态,以便接收从机发送的数据。[!--empirenews.page--]图3单总线的几种信号时序4
单总线器件通常把挂在单总线上的器件称之为单总线器件,单总线器件内一般都具有控制、收*发、存储等电路。为了
区分不同的单总线器件,厂家生产单总线器件时都要刻录一个64位的二进制Rom代码,以标志其id号。目前,单总线器件主要有数字温度传感器(如ds18b20)、a/d转换器(如ds2450)、门标、身份识别器(如ds1990a)、单总线控制器(如ds1wm)等。这里介绍一种ibutton形式的单总线器件,它是利用瞬间接触来进行数字通信的,这些器件的应用已经渗透到货币交易和高度安全的认证系统之中。ibutton是采
用纽扣状不锈钢外壳封装的微型计算机晶片,它具有抗撞击、
防水渍、耐腐蚀、抗磁扰、防折叠、价格便宜等特点,能较好的解决传统识别器存在的不足,同时又可满足系统在可靠性、稳定性方面的要求。ibutton主要有三种类型,分别是memoryibutton(存储器);
java-poweredcryptographicibutton(加密型);thermochronibutton(温度型)。存储型ibutton最大存储空间为64kb,可以存储文本或数字照片。加密型ibutton是一种微处理器和高速算法加速器,可以产生大量需要加密和解密的数据信息,它的运行速度非常快,可与internet应用相结合,并可应用于远程鉴定识别。温度型ibutton可以测量温度变化,它内含温度计、时钟、热记录和存储单元等。图4安防系统硬件原理图5单总线器件的应用现以单总线器件ibutton在安防系统上的应用为例来进行说明,该安防系统就是利用ibutton来进行门禁识别的。其门禁识别部分的硬件原理图如图4所示,它由主机微控制器、从机(包括ibutton信息读取头和ibutton)、主机通过Rs485进行远程通信(或通过microweb连上internet)等三部分组成。微控制器采用microchip公司的pic16F873芯片,而api8108a 语音芯片则用来告诉用户系统[1][2]下一页信息;ibutton 采用ds1990a,信息读取头被读取并同时送到主机微控制器,然后由主机把收到的标识码与原先存储的ibutton标识码进行比较判断,若吻合,则系统按设定要求程序工作,否则,