欢迎来到天天文库
浏览记录
ID:10719767
大小:59.00 KB
页数:4页
时间:2018-07-07
《智能信息载体ibutton及其应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、智能信息载体iButton及其应用
2、第1...luniconductorCorporation)推出的1种智能化信息载体iButton,较好地解决了数字识别系统存在的这些问题,为开发更加完善的新颖数字识别系统提供了技术支持和实现手段。iButton(informationButton)意为“信息钮扣”。它采用直径17mm、厚3~6mm的钮扣状不锈钢外壳封装。内部由I/O处理器和存储器两个基本部分组成,某些应用于特殊场合的iButton还内置有感温、时钟图1iButton外型结构等元器件。iButton以1-aster)地位;iButton处于从属(Slave)地位。Mas
3、ter与Slave之间以1-区的指令,如读ROM区数据指令、匹配操作指令、搜寻操作指令等,这些指令被iButton接受并执行。然后,发操作iButton的NVRAM区数据的指令,如读写NVRAM区数据指令、读写或复制读写缓冲区(Scratchpad)数据的指令等。之后,微机与iButton间进行数据传输操作。最后图3读写数据时序,微机再发测试脉冲,当收到iButton的应答脉冲后,整个数据通信过程即告结束。图3示意了有关时序。它们可分为测试连接与应答、从iButton读取数据和向iButton写入数据3种类型。在应用软件开发过程中,对iButton进行数据读写的过程需要遵
4、循其工作机理和时序要求,具体包括:(1)测试连接及应答微机发测试负脉冲给iButton,查询iButton是否已与触头正确连接。若与触头连接良好,iButton则将数据线拉低,产生应答负脉冲。如果微机检测到这个应答脉冲,就可以进行数据读写操作了。(2)从iButton读取数据微机先向iButton发1个读负脉冲,iButton接受该脉冲后立即将被读取位的内容送至数据线上,微机从数据线上获得数据。若数据线在iButton的采样时区内维持高电平,则读取值为“1”;否则,为“0”。最后,iButton释放数据线,数据线恢复为高电平,为微机继续从iButton读取数据位作好准备。
5、(3)将数据写入iButton与读取数据类似,微机向iButton发1个写负脉冲,然后开始写数据。微机维持数据线低电平特定时间,再恢复为高电平,则表明写入“0”;微机发出写负脉冲后立即将数据线拉高并维持特定时间,则表明写入“1”。完成数据写入后,数据线恢复为高电平,为微机继续向iButton写入数据位作好准备。500)this.style.ouseg(this)">500)this.style.ouseg(this)">图1iBUTTON外置结构500)this.style.ouseg(this)">图2iBUTTON内部功能模块示意图图3读写数据时序 三、软件开发环境i
6、Button-TMEXprofessionalSDKv3.10是Dallas公司提供的进行应用程序开发的软件包,通过调用其TMEX-API函数可方便地开发iButton的应用软件。该软件包适用于DOS、EX-API函数的说明文档,Demo程序及其说明文档等。若在EX-API函数进行应用程序开发的软件环境。TMEX-API函数分为会话、文件操作、传输、网络和硬件等5个层次。会话层函数主要用于多任务环境下iButton与基于1-icroLAN的连接;文件操作层函数用于文件读/写以及目录增删操作;传输层函数用于读写数据包操作;网络层函数用于读取及验证iButton的ID;硬件层
7、函数用于对指定端口等特定的硬件操作。四、应用系统开发iButton的应用系统可以采用两种方法实现。一种将基于单片机的应用系统作为Master,另一种将微型计算机系统作为Master。软件开发可采用汇编语言或高级语言进行编程。这两种方法实现的应用系统各有特点,可以根据不同的应用场合选用。1.基于单片机的应用系统设计方法将基于单片机的应用系统作为Master,自行设计单片机与iButton的接口电路。图4为单片机与iButton的接口电路示意图。使用P0.0(指定为DATA_BIT)作为1-Hz;齐纳二极管将数据线的电压限制在5.6V以下,防止过高的电压损坏器件。图4单片机与
8、iButton的接口示意图按此思路设计的系统小巧,可以嵌入在有关的仪器仪表中,从而开发出各种具有智能化数字识别功能的便携式产品或嵌入式产品,如预付费水电表、电子公交车票、电子防盗门锁等。但是,必须按照严格的时序编程。以下汇编程序能够测试iButton是否已与触头良好接触,具体过程为:先发1个测试脉冲给iBu-tton,检测iButton的应答脉冲,若检测到该脉冲,则将进位位置“1”,表明可继续对iButton进行数据读写操作;否则,清“0”。ProcedureTouchResetDATA_BITBITP0.0TRESET:PU
此文档下载收益归作者所有