分享到:
计算机网络 最近更新
讨论未来电商发展趋势论文提纲
浅谈自媒体对现代生活的影响
论文范文:网络发展对青少年心理发展的影响
论我国电子商务应用中的支付问题
电子商务模式研究
中小型企业客户关系管理系统的开发与应用
中石油浙江销售分公司信息管理系统设计
图书馆管理系统分析与设计
物流师职业资格认证报名管理系统
销售管理系统的开发与设计
酒店客房管理系统
财务管理系统的实现
餐饮管理系统设计与实现
社区卫生服务管理系统
汽车营销企业的客户关系管理系统
明道管理咨询有限公司客户关系管理系统设计与开发
企业订单管理系统开发
基于WEB的CRM信息系统的开发与研究
高校科研工作量统计系统的开发与设计
基于Struts的连锁店管理系统
基于1-Wire网络的iButton软件设计

摘  要  本文在论述了iButton应用现状的基础上,重点对基于1-Wire网络的iButton软件系统应用进行了研究,提出了系统设计思想,并给出了其数据处理流程和DS1991读/写算法,最后以Delphi为前台界面开发工具,建立了一个基于iButton的应用实例—酒店智能管理系统。为iButton的研究和应用提供了一种方法和思路。

    关键词    iButton,1-Wire,算法,设计;
0  引言
    计算机技术的蓬勃发展,使基于条形码、磁卡、IC卡等技术的数字识别系统逐渐取代了人工识别,并被广泛应用于金融、电信、商业等领域,深刻影响着人们的日常生活。但是由于条形码、磁卡、IC卡等构成的数字识别系统存在着携带不便、易受损坏、不能应用于恶劣环境等不足。美国达拉斯半导体公司(Dallas Semiconductor Corporation)推出的一种智能化信息载体iButton,较好地解决了数字识别系统存在的这些问题,为开发更加完善的新颖数字识别系统提供了技术支持和实现手段。
    iButton(information Button)意为“信息钮扣”。它采用直径17mm、厚3~6mm的钮扣状不锈钢外壳封装。内部由I/O处理器和存储器两个基本部分组成,某些应用于特殊场合的iButton还内置有感温等元器件。iButton以1-Wire规范作为通信协议,仅用1根数据线实现与外界的信息交换。DS1991是 iButton的一种,它的内部有1152位的密码保护存储器区,512位的非密码保护存储器scratchpad。密码保护存储器被分为三个可独立操作的密钥子存储器(subkey),每区为384位,每个密钱子区都有自己的64位密码及64位的ID码,对密钥子区的读/写操作均需进行密码验证。三个区的数据可分别操作,互不干扰。非密码保护存储器区主要用于加密数据的拷贝,以保证数据的完整性。本文提出基于1-Wire网络的iButton软件系统的硬件组成、软件设计思想和具体的应用实例,为iButton的具体应用提供了一种思路和方法。
1  系统设计 1.1  单总线系统结构设计
    1-Wire总线是一种简单的信号电路,它仅用一根数据线即可与外界进行信息交换。所有的1-Wire 总线器件都具有一个共同的特征;无论是芯片内还是iButton 内,在出厂时每个器件都有一个与其它任何器件互不重复的固定的序列号。也就是说,每一个器件都是唯一的。一旦器件的序列号已知,通过这个序列号,任意一个器件都可以从众多连到同一1-Wire总线的器件中被选出用于通信。
    通信时,总线控制器先发出一个“复位”信号以使总线同步,然后选择受制器件进行随后的通信。这可以通过选择一个特定的受控器件(利用该设备的系列号进行选择)或者通过对半检索法找到总线上的下一个受控器件来实现,当然,也可以选择所有的受控器件。一旦一个特定的器件被选中,那么在总线控制器发出下一次“复位”信号之前,所有其它器件都被挂起而忽略随后的通信。
    主机能向用于总线通信的所有器件发布指令,对它(或者它们)进行数据的读写。这是因为每类器件运行不同的函数,有不同的用途,而且一旦器件被选定,它所用的协议也就固定下来。即使每类器件有不同的协议和特征,它们也都有着同样的选择过程。
1.2  软件开发工具
    iButton-TMEX professional SDK v3.10 是Dallas公司提供的进行应用程序开发的软件包,通过调用其TMEX-API函数可方便地开发iButton的应用软件。该软件包适用于DOS、Win3.1、Win95/98、WinNT、WinCE等多种操作平台,支持高级语言如VB、VC、DELPHI和汇编语言如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;硬件层函数用于对指定端口等特定的硬件操作。
1.3   数据处理过程:
    DS1991在1-Wire总线上的数据访问命令流程如下所示:初始化→ROM功能命令→存储器或SHA功能命令→处理/数据
    (1)  初始化
    初次使用时,无法确定存储在从机设备里的密码,所以需要先对DS1991进行初始化。初始化时对选定的子密钥区利用Write Password命令直接写入新的识别码和密码(而不必通过暂存器),一旦新的识别码和密码存入从机设备里,再进行修改时,就要通过暂存器。
    (2)  ROM功能命令
    DS1991以1-Wire协议为基础用一根数据线来传输数据。总线上的主机必须首先发出四条ROM功能命令:1)Read ROM 读取(33 H),2)Match ROM 匹配(55 H),3)Search ROM搜索(F0 H),4)Skip ROM 跳过(CC H),这些命令可作用于DS1991的64位光刻注册码。一条ROM功能命令执行完后,可实现作用在安全存储器和暂存器上的存储功能,总线上的主机会发出6条存储器功能命令中的任意一条来检测DS1991。DS1991有6个存储器功能命令,分别是:写暂存器(96 H)、读暂存器(69 H)、复制暂存器(3C H)、写密码(5A H)、写密钥子区(99 H)、读密钥子区(66 H)。存储器功能命令由三段组成:一为功能代码,二为命令的起始地址和子密钥的地址代码,三为第二个字节的取反。

 

图1  DS1991读写操作流程
    (3)  存储器或SHA功能命令
    DS1991有6个特定的设备检测命令,包括3个中间结果暂存器命令:Write Scratchpad、Read Scratchpad和Copy Scratchpad;还有3个子密钥命令:Write Password、Write Subkey 和Read Subkey。当选中某个从机设备后,存储器功能命令就会写入DS1991中。这些命令由三段组成,每段长为一个字节;第一个字节为功能代码段,它定义了6个可执行的命令;第二个字节是地址段,其中的前六位定义了命令的起始地址值,后两位是子密钥的地址代码;命令的第三个字节是第二个字节的补码。
    (4)  处理数据:根据不同的应用对读出或写入的数据做相应的处理。
1.4  DS1991的读写算法
    当检测到总线上挂接一个新的DS1991时,能够直接获得它的64位序列号,此序列号是进行DS1991操作的唯一依据,然后对它三个加密存储区进入读写操作,图1所示即为对信息钮扣DS1991读、写操作的算法流程。
2  软件设计
    作为一种新颖的智能化信息载体,iButton信息纽扣采用接触式存取方式的存储器(Touch Memory,简称TM卡),以1-Wire规范作为通信协议,其外壳为信号址,用1根数据线按特定的时序要求由数据线逐位与外界交换数据。
    iBUTTON常见的应用有电子防盗门、单位考勤系统、酒店智能管理系统、计算机软件的硬件加密、电子防伪、暂住人口管理系统等。下面给出将微型计算机系统作为Master, 利用Dallas公司提供的触头、串(并)口适配器等现成的外围产品,加之iButton,用Delphi实现的酒店智能管理系统:
    (1) 窗体创建时,进行初始化操作获取端口号、端口类型及版本号等信息,并调用ReadTmCardNo函数读取序列号并在窗体上显示,如读取失败则弹出对话框询问是否继续读取。
    (2)密码验证正确后,调用ReadDS1991Subkey实现读加密区中的数据以实现查询功能,其运行界面如图2所示。调用函数WriteDS1991Subkey 将读到的信息写进数据库,以实现登记、删除等功能,其运行界面如图3所示。
    当进行读操作时调用函数ReadDS1991Subkey,其代码如下:
function ReadDS1991Subkey(var subkey_buff :Array of byte; keynum :
随机推荐
我国网络环境下的知识产权保护的思考
计算机网络信息安全及对策
基于NS的ad hoc网络的路由协议性能分析
A Virtual Learning Guide: Technologies and Learning (上)
利用PowerBuilder开发WEB应用
网络课程学习支撑环境的设计
层次化移动IPv6中宏/微移动的快速切换
基于网络系统管理实现统一策略的研究
The Resource Reallocation Function of Web Courselets (上)
光纤接入网设备在河源局的应用探讨

设为首页 | 关于我们 | 广告联系 | 友情链接 | 版权申明

Copyright 2009-2014 All Right Reserved [粤ICP备05100058号-11]