您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术智能信息载体iButton及其应用 正文
智能信息载体iButton及其应用

智能信息载体iButton及其应用

点击数:7442 次   录入时间:03-04 11:37:43   整理:http://www.55dianzi.com   DSP/FPGA技术

摘要:简述一种新颖的智能信息载体iButton及其特点,分析对其进行信息访问的机理,介绍其软件开发环境和应用系统的设计方法,展望其诱人的应用前景。

关键词:信息钮扣 通信协议 主从模式 API函数

一、 iButton简介

    计算机技术的蓬勃发展,使基于条形码、磁卡、IC卡等技术的数字识别系统逐渐取代了人工识别,并被广泛应用于金融、电信、商业等领域,深刻影响着人们的日常生活。但是,条形码、磁卡、IC卡等构成的数字识别系统存在着携带不便、易受损坏、不能应用于恶劣环境等不足。美国达拉斯半导体公司(Dallas SEMIconductor Corporation)推出的1种智能化信息载体iButton,较好地解决了数字识别系统存在的这些问题,为开发更加完善的新颖数字识别系统提供了技术支持和实现手段。
    iButton(information Button)意为“信息钮扣”。它采用直径17mm、厚3~6mm的钮扣状不锈钢外壳封装。内部由I/O处理器和存储器两个基本部分组成,某些应用于特殊场合的iButton还内置有感温、时钟图1iButton外型结构等元器件。iButton以1-Wire规范作为通信协议,仅用1根数据线实现与外界的信息交换。图1所示是iBu-tton的外型结构示意图。
    iButton作为1种新颖的智能化信息载体,相比传统的信息载体具有如下特点:
    ① 由于iButton采用不锈钢外壳封装,无暴露的易损部件或易腐部件,具有抗撞击、防水渍、耐腐蚀、抗磁扰、防折叠等显著特点,工作温度范围也较宽,可以在-40~80℃的温度范围内正常工作,适用于恶劣的环境;
    ② 每片iButton内部均固化有惟一的64位标识号(ID),排列顺序依次为分类号8位、系列号48位以及CRC码8位,并且具有自毁功能,保密性能好,可适用于需要作硬件加密的场合;
    ③ 由于iButton采用独特的机械外形设计,具有IC卡、磁卡等信息载体无法比拟的优势,存储于其中的数据信息具有相当高的安全可靠性;
    ④ iButton可以嵌在戒指、钥匙串、钱包或手表上,随身携带方便;
    ⑤ 存取数据时采用接触方式,与触头轻轻一碰,瞬间即可完成数据信息的读写操作。

二、 iButton的工作机理

    1根数据线和1根地线构成了iButton的电气接口。正面是数据线,底座为地线,结构极其简单。传输数据时,无需电源和时钟信号,信号同步靠内部定时逻辑解决,而数据通信的能量则由数据线提供。iButton内部为一大规模集成电路,由I/O处理器和存储器两个基本部分构成,其功能模块如图2所示。
图2iButton内部功能模块示意图
    iButton采用独特的主从式、位同步、半双工串行方式与外部进行通信。微机及有关读写设备处于主动(Master)地位;iButton处于从属(Slave)地位。Master与Slave之间以1-Wire协议为基础,按照特定的时序要求由数据线逐位交换数据。
    iButton作为从设备,其工作过程可描述为:首先,由微机主动向iButton发测试脉冲,以识别iBu-tton是否已与其触头接触,若已正确连接,可接收到iButton发来的应答脉冲,表示可以进入数据通信过程。这时,微机先发操作iButton的ROM区的指令,如读ROM区数据指令、匹配操作指令、搜寻操作指令等,这些指令被iButton接受并执行。然后,发操作iButton的NV RAM区数据的指令,如读写NV RAM区数据指令、读写或复制读写缓冲区(Scratchpad)数据的指令等。之后,微机与iButton间进行数据传输操作。最后图3读写数据时序,微机再发测试脉冲,当收到iButton的应答脉冲后,整个数据通信过程即告结束。图3示意了有关时序。它们可分为测试连接与应答、从iButton读取数据和向iButton写入数据3种类型。
    在应用软件开发过程中,对iButton进行数据读写的过程需要遵循其工作机理和时序要求,具体包括:
    (1) 测试连接及应答
    微机发测试负脉冲给iButton,查询iButton是否已与触头正确连接。若与触头连接良好,iButton则将数据线拉低,产生应答负脉冲。如果微机检测到这个应答脉冲,就可以进行数据读写操作了。
    (2) 从iButton读取数据
    微机先向iButton发1个读负脉冲,iButton接受该脉冲后立即将被读取位的内容送至数据线上,微机从数据线上获得数据。若数据线在iButton的采样时区内维持高电平,则读取值为“1”;否则,为“0”。最后,iButton释放数据线,数据线恢复为高电平,为微机继续从iButton读取数据位作好准备。
    (3) 将数据写入iButton
    与读取数据类似,微机向iButton发1个写负脉冲,然后开始写数据。微机维持数据线低电平特定时间,再恢复为高电平,则表明写入“0”;微机发出写负脉冲后立即将数据线拉高并维持特定时间,则表明写入“1”。完成数据写入后,数据线恢复为高电平,为微机继续向iButton写入数据位作好准备。

 图1 iBUTTON 外置结构 图2 iBUTTON 内部功能模块示意图 图3 读写数据时序 

 

三、 软件开发环境

    iButton-TMEX professional SDK v3.10 是Dallas公司提供的进行应用程序开发的软件包,通过调用其TMEX-API函数可方便地开发iButton的应用软件。该软件包适用于DOS、Win3.1、Win95/98、WinNT、WinCE等多种操作平台,支持高级语言如VB、VC和汇编语言如8051、808x等多种编程环境。
SDK的主要内容有:编程所需的动态链接库(dll),TMEX-API函数的说明文档,Demo程序及其说明文档等。若在Win95/98操作系统下安装该软件包,会自动将IBFS32.DLL、IB97E32.DLL、IB97U32.DLL、IB10E32.DLL、DS1410D.SYS和UAAUTHD.UXD等文件写入Windows的System目录下,从而建立起调用TMEX-API函数进行应用程序开发的软件环境。
    TMEX-API函数分为会话、文件操作、传输、网络和硬件等5个层次。会话层函数主要用于多任务环境下iButton与基于1-Wire协议的iButton网络MicroLAN的连接;文件操作层函数用于文件读/写以及目录增删操作;传输层函数用于读写数据包操作;网络层函数用于读取及验证iButton的ID;硬件层函数用于对指定端口等特定的硬件操作。

四、 应用系统开发

    iButton的应用系统可以采用两种方法实现。一种将基于单片机的应用系统作为Master,另一种将微型计算机系统作为Master。软件开发可采用汇编语言或高级语言进行编程。这两种方法实现的应用系统各有特点,可以根据不同的应用场合选用。
    1. 基于单片机的应用系统设计方法
    将基于单片机的应用系统作为Master,自行设计单片机与iButton的接口电路。图4为单片机与iButton的接口电路示意图。使用P0.0(指定为DATA_BIT)作为1-Wire的I/O口;晶振频率选用市场上常有的11.0592MHz;齐纳二极管将数据线的电压限制在5.6V以下,防止过高的电压损坏器件。 图4单片机与iButton的接口示意图按此思路设计的系统小巧,可以嵌入在有关的仪器仪表中,从而开发出各种具有智能化数字识别功能的便携式产品或嵌入式产品,如预付费水电表、电子公交车票、电子防盗门锁等。但是,必须按照严格的时序编程。 以下汇编程序能够测试iButton是否已与触头良好接触,具体过程为:先发1个测试脉冲给iBu-tton,检测iButton的应答脉冲,若检测到该脉冲,则将进位位置“1”,表明可继续对iButton进行数据读写操作;否则,清“0”。
Procedure TouchReset
DATA_BITBIT P0.0
TRESET: PUSH  B
    PUSH  ACC
    MOV   A, #4
    CLR   DATA_BIT;    开始发复位脉冲
    MOV   B,#221
    DJNZ  B,$;       至少保持480μs低电平
    SETB  DATA_BIT;    释放数据线
    MOV   B, #6
    CLR   C;        清应答脉冲标志
WAITLOW:JB   DATA_BIT, WH;  若数据线拉高,则退出 ;循环
    DJNZ  B,WAITLO
    DJNZ  ACC,WAITLO ;   延迟3360μs
    SJMP  SHORT;      退出子程序
WH:   MOV   B,#111
HL:   ORL   C,/DATA_BIT;   检测应答脉冲
    DJNZ  B,HL
SHORT: POP   ACC
    POP   B
    RET
    2. 基于微机系统的设计方法

[1] [2]  下一页


本文关键字:智能  信息  DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术

《智能信息载体iButton及其应用》相关文章>>>