TM卡信息纽扣在预付费水表中的应用
摘要:探讨预付费智能冷水表设计中的关键技术,通过与IC卡进行比较,确定应用Dallas公司的iButton信息纽扣TM卡作为预付费充值存储卡。对TM卡读写方法与信息保密机制、控制器软硬件设计、最小功耗设计与电池长寿供电方法等多方面技术进行整合,设计机电一供化系统。在设量控制精度、功耗、数据保密性、动作可靠性等方面都取得良好性能。
关键词:预付费 冷水水表 最小功耗设 iButton信息纽扣
引言
智能水表是一种涉及到多方面技术整合的机电一体化系统,在计量控制精度、功耗、数据保密性、动作可靠性等方面都有严格的性能要求。目前,国内企业与研究机构主要致力于远传表有线水表网络和IC卡预付费智能卡无线水表网络方面的研究开发。远传表有线网络系统需要配套的远传通信网络支持,其初期投资大,因此只适用于在一些新建住宅小区组成相对独立的小网;而后者的网络服务可由银行的金融网络提供,应用储值卡作为网络传输介质,可容易地组建城域网,不但适用于新建住宅小区,还可在旧水网系统改造中发挥极大作用,特别适合我国现阶段的国情。目前,预付费智能水表主要采用IC卡,信息保密性与防盗用性能方面存在明显不足。本文研究应用Dallas公司的TM卡半导体信息纽扣作为充值存储介质,构建预付费智能卡式冷水表,在基表上附加计量控制器和管道开闭控制阀门,实现预付费智能卡式水表的设计。
1 TM卡信息纽扣应用研究
1.1 TM卡信息纽扣简介
作为一种便携式信息载体,Dallas公司的iButton信息纽扣[1]可靠安全,特别适宜作为预付费充值载体。它采直径17mm、厚3~6mm的纽扣状不锈钢外壳封装,内部由I/O处理器和存储器两个基本部分组成,其内部结构如图1所示。作为一种新颖的智能化信息载体,iButton信息纽损采用接触式存取方式的存储器(Touch Memory,简称TM卡),以1-Wire规范作为通信协议,其外壳为信号址,用1根数据线按特定的时序要求由数据线逐位与外界交换数据。与微处理器的典型接口电路如图2所示,当外部上位引线接触到其信号线时,可自动发出下拉报到脉冲,存取操作极为方便。
笔者在TM卡智能预付费冷水水表项目研究中,通过对IC卡、TM卡的存储数据格式、保密性能以及耐用性等多方面性能进行比较研究,最终选定TM卡作为水表智能信息存储介质。TM卡采用不锈钢外壳封装,无易损部件或易腐部件,具有携带方便、抗撞击、防水渍、耐腐蚀、抗磁扰、防折叠等显著特点,适用于恶劣的环境。1-Wire通信协议使得TM卡存取数据极为方便,与触头轻轻一碰,瞬间即可完成数据信息的读写操作;其完善的保密存取方式,确保数据信息具有相当高的完全可靠性,TM卡与普通IC卡的性能比较如表1所列。
表1 TM卡与IC卡的性能比较
TM卡 普通IC卡
耐用性 不锈钢封装,寿命在10以上 塑料卡片封装,弯曲会损坏芯片,开放的引脚裸露,容易磨损导致接触不良,18个月左右寿命
识别成功率 100% 需要一定的刷卡技巧
使用方便性 瞬间接触,无需对准 4个不同插卡方向,性只有1个方向是正确的
安全性 具有全球唯一的、不可复制的光记得序列号,同时提供64位密码保护 单纯依靠软件密码保护数据内容,且密码位数少,容易被破解
携带方便性 不怕高温、磨损、碰摔,耐腐,不易丢失 卡片容易丢失、拆断、易腐,须小心保护
1.2 1-Wire通信协议与读写控制程序设计
TM卡内部包含有3个独立的64字节数据存储区和1个64字节读写缓冲区,每个数据存储区均由8字节ID身份码、8字节PASSWORD和48字节NVRAM数据区构成。TM卡的1-Wire通信协议以15μs低电平脉冲表示数据“1”,以60μs低电平脉冲表示数据“0”。内部工作过程可描述为:首先,由微机主动向TM卡发测试脉冲,以识别TM卡是否已与其触头接触,若已正确连续,可接收到TM卡发来的应答脉冲,表示可以进入数据通信过程。这时,微机先发操作TM卡的ROM区的指令,如读ROM区数据指令、匹配操作指令、搜寻操作指令等,这些指令被TM卡接受并执行。然后,发操作TM卡的NV RAM区数据的指令,如读写NV RAM区数据指令、读写或复制读写缓冲区数据的指令等。TM卡的读写时序可分为测试连接与应答、从TM卡读取数据和向TM卡写入数据3种类型。
笔者在项目研发中重点研究了TM卡的信息存储机理,并研究获得了一个性能优良的密码保护模式,确保了一表一卡对应。我们根据研究获得的信息存储模式维制了存取可靠安全的TM卡读写控制程序模块。水表控制器1-Wire读写模块采用MCS-51汇编语言,按TM卡通信协议编制。管理PC机的读写控制程序采用Visual C++6.0编写。应用软件开发过程中,对TM卡进行数据读写的过程需要遵循其工作机理和时序要求,具体包括:①测试连接及应答。微机发测试负脉冲给TM卡,查询TM卡是否已在触头正确连接。若与触头连接良好,TM卡则将数据线拉低,产生应答负脉冲。如果微机检测到这个应答脉冲,就可以进行数据读写操作了。
②从TM卡读取数据。微机先向TM卡发1个读负脉冲,TM卡接收该脉冲后立即将被读取位的内容送至数据线上,微机从数据线上获得数据。若数据线在TM卡的采样时区内维持高电平,则读取值