欢迎光临水表信息网!
技术前沿
当前位置: 首页 » 技术前沿 » 仪表常识
 
仪表常识

基于E5550卡的智能水表读卡控制器的研究

字体: 放大字体  缩小字体 发布日期:2009-06-26  来源:中国一卡通网  作者:李军民 黎亚元 蒋建春  浏览次数:643

    IC 卡的概念是20 世纪70 年代初提出来的,法国布尔公司于1976 年首先创造出IC 卡产品,并将这项技术应用于金融、交通等多种行业,它将微电子技术和计算机技术结合在一起,提高了人们生活和工作的现代化程度。目前经营接触到的IC 卡有两种:接触式和非接触的IC 卡。接触式的IC 卡通过机械触点从读写器获取能量和交换数据;非接触式IC 卡通过线圈的射频感应从读写器获取能量和交换数据,所以又称射频卡。目前在社会上常见的是接触式IC 卡。但是这类卡的读写操作速度较慢,容易损坏和搞脏而造成接触不良。20 世纪90 年代问世的可用、可靠、可维护性更佳的非接触IC卡,则将大量替代接触式卡,成为IC 卡市场的主流。他的特点是:操作快捷方便,可靠性高、寿命长,防伪性好、安全性好、抗干扰能力强、一卡多用。

    根据某家水表厂的要求,我们研制了一种新型的智能水表,我们主要对水表的读卡控制器进行了设计,设计必须根据所使用卡的类型进行,所以首先对非接触式IC 卡的选型进行讨论,考到目前我国引进的非接触式主要有Philips 的MIFARE STANDARDHHU(型号为MFI ICS50) 和ATMEL 的Temic 卡。S50 卡功能较强大,适合一卡多用,安全性好,但这种卡价格高,其有关数据加密的情况是保密的,开发它必须买Philips 公司的开发软件,这样使产品的开发成本很高。在满足用户要求的前提下,考虑到可开发性和经济性等因素,这里我们选用ATMEL 的E5550 卡,使整个系统的设计成本大大降低。在水表读卡控制器设计之前必须了解卡的工作原理,下面对这种卡进行详细说明。

    1  E5550 卡工作原理

    对非接触式IC 卡而言,有几个方面应进行讨论:(1) IC 卡如何取得工作电压; (2) 数据存储结构; (3) 数据的读出与写入。下面分别进行说明:

    1.1  电压的取得

    如图1 所示, E5550 卡由天线、高频接口、存取控制和存储器构成。由于IC 卡平时无法由外界供电,只有在与读写器通信时才能取得电源,所以在卡靠近读写器时100 mm ,读写器的振荡电路通过的天线产生高频的强磁场,磁力线的一部分穿过IC 卡的线圈,通过感应在IC 卡的天线产生一个电压Ui ,该信号电压通过卡内部的电容充电和整流电路得到IC 卡内部芯片所需的电源。 

E5550通信示意图

图1:E5550通信示意图

    1.2  E5550 卡的数据存储结构

    如前述, IC 卡只有在与读写器通信时才能取得电源,这就决定了IC 卡中的存储器不能是易失的随机存储器RAM ,或者不能改变内容的只读存储器ROM ,而只能是可电擦除的可编程的只读存储器EEPROM。其数据存储结构如图2 ,存储容量为264 B ,共分成8个数据块每块33B。其中一块(block0) 用于模式设置,一块( block7) 用于口令设置, 其余六块( block1 ~block6) 为用户数据区。在每块用户数据存储区, bitl为锁定位,该位一但锁定,该块的其余32B 将变为只读而不能改写。口令块(block7) 由模式设置决定是存放口令还是用户的一般数据。 

数据存储结构图

图2  数据存储结构图

    1.3  E5550 卡数据的读入与写出

    (a) 数据读出。E5550 卡是利用线圈中产生的阻尼特性的载波信号向读写器传送数据的。阻尼特性的载波信号由数据编码后通过负载调制而得,负载调制是通过IC 卡开通/ 断开负载的方法而实现的,预先可在块0 中设定编码方式为螺切斯特编码。图3a 表明阻尼特性的载波信号的产生过程。图中负载波由IC卡的读写器载波信号16 分频得到,曼切斯特编码信号由数据(101010) 根据编码规定得到,然后用负载波对编码后的信号进行强制后笪以调制负载波。如图3b所示,

E5550 长上电后线圈产生的电压

图3:E5550 卡上电后线圈产生的电压

    在卡接近读写器时,卡内接收到电源能量的信号后,首先产生上电复位过程,进入数据传送状态,将预先编程写入EEPROM 0 区的模式字读入模式寄存器,以便确定工作模式,如果模式规定为主动发送数据,这时就产生一个约2 ms 的恒定磁场。此后产生一个约320 us 的同步信号,接着便从第一块的第一位开始传送数据,可由块终结符来保证与读写器同步,块终结符是指每块数据发送完后由IC 卡产生的,供读写器识别。每块32 位,锁定位不传送,直到MAXBL K所设定的最大块的最后一位为止,数据传送时产生带有阻尼作用的磁场信息,读写器的线圈接收该信息即可读出数据。应当注意,当读某块时该块之前的所有块都要读出。

    (b) 数据写入。在读写器完成对IC 卡的读写过程后可立即进行写模式,读写器通过对线圈中电磁场能量的间隔性中断将数据写入卡中,如图4a ,第一个间隙为触发写模式的开始间隙,较其他间隙稍长,大约为280μs ,以使IC 卡同步。其他个间隙时间为50~150μs ,两间隙间的场时钟编码即为要传送的一位“0”或“1”信息。“0”信息为16~32 个磁场脉冲构成的段,“1”信息为48~64 个磁场脉冲构成的段。最后一个间隙后至少应有64 个场时钟,若连续场时钟不足64 个场时钟, IC 卡将退出写操作。如图4b ,在数据写入前应先写入操作码“10”,然后才是数据,数据的第一位为锁位,数据的写入必须接块进行,各块可以独立写入,每块33 位(含锁定位:“0 不锁定、“1”锁定) ,块后接着是3 位块地址。无口令写时每块38 位,有口令操作时在操作码之后加32 位口令,共需70 位。为防止卡在一次接近读写器时产生不必要的多次写操作,可在写完数据后发停止信号,操作码为“11”,此后卡再不接收后写入信号,直到下次上电位。 

数据写读时序图

图4:数据写读时序图

   2 基于E5550 智能水表的研制

    传统的收费由抄表人员抄表,工作量大,时间长,目前,国内以有许多厂家开始采用接触式IC 卡的水表,此类水表在易污染的环境长期使用,会造成接触不良现象,为了克服上述的缺点,所以我们研制了一种新型智能水表。该表采用现成的机械式水表为基表通过光电元件把水流量转换成电信号,输入单片机,并与表内由IC 卡预先读入存储器( EEPROM) 中的预置值进行计算扣除相应的量,在预置值减至最小设定值时,将发出信号提醒用户够水,否则预置值减为零后,水阀关闭,直至用户重新够水,经IC 卡读入水表,才会开阀供水。外部采用金属壳体对射频信号有屏蔽作用。 

    2.1  电路工作原理

    为了实现水表的功能,图5 为读卡控制器硬件电路原理图,主要由U2270B 读卡模块、单片机、显示器、存储器、和监控电路、按键以及与PC 串行通信接口电路组成。我们这里主要介绍U22708B 读写器电路,其它的都是常规电路,不再作详细介绍。 

读卡控制器硬件电路原理图

图5:读卡控制器硬件电路原理图

    1) 该公司生产芯片U22708 是与之配套的一种近距离非接触式读写基站芯片,配少量外围元件即可与单片机实现对接,他所产生的调制解调频率为100~150 kHz ,工作电压为5~10V。

    主要引脚功能: input ,outup 分别为串行输入,输出端; coil1 , coil2 分别为天线线圈端; Vbat , Vext ,Standby 分别为备份电源,外部电池及待机控制;OE ,CEF 分别为输出允许,载频控制;HAPISS ,RF ,DVs 分别为直流退耦,射频控制,天线驱动;CND ,DGND ,VS分别为模拟地、数字地、电源。

    由U2270B 芯片与89C52 构成的E5550 卡读写电路如图5 , P313 为输入端, P314 为控制端,C1 及天线线圈组成125 kHz 的谐振电路。D5 、R5 、R6 、C5 构成解调器对天线信号进行解调然后经C4 耦合输入芯片,在片内进行滤波,放大,整形等送入单片机。电阻R3 和R4 用于调节发射频率,D1~D4 构成输入反馈电路以稳定频率,C2 构成芯片退耦电路。

    2) 单片机采用89C52 作为控制芯片。它片内有8 KROM ,256 字节的RAM 以及有32 个I/ O 口。

    3) 显示部分采用LCD DCM212232B4 ,显示特性为SNT 正式反射模式、绿底蓝字、1/ 32 (1/ 6BIAS) 的驱动方式,通过按键循环显示要求的内容,可调电位器实现对比度的调节。

    4) 读写器中设计了存储器。存储器选用24CXX系列的串行E2PROM。主要存放卡号、个人密码等相对固定的信息和消费金额等有关可修改的参数。24C16 是一种廉价的2 K 8 位串行E2PROM ,与并行的E2PROM 相比,大大的节省空间。

    5) 监控电路采用DS1232L 芯片。它是个看门狗定时器, 其功能是: 上电和掉电时经89C52 产生RESTE 信号;看门狗对系统进行监控,防止死机。水表产生的计量脉冲后,引发耗水计数中断,当剩余量为临界值或为零时,置相应标志后返回主程序处理。

    6) 天线设计。根据经验,阅读器的阅读范围,即应答器能够被读出询问的范围,大致与发射天线半径相符。由此可以得出,给定系统阅读范围X max ,最佳天半径R 可以表示为R≈ X max  。根据IC 卡工作所需要的最小场强H ,由下面公式可算出所需的最小线圈匝数: 

    式中, N :线圈匝数; R :圆半径; X :沿线圈平面中心的垂直方向与线圈中心的距离。 

    2.2  程序设计

    主程序完成系统变量的初始化,操作检测IC 卡,对水阀进行控制,对中断返回设置进行处理,将操作结果存储和显示。这里不作详细介绍。这里只给出了读卡、写卡程序流程(见图6 、7) 。 

读卡流程

图6:读卡流程

写卡流程

图7:写卡流程

    3  结束语

    E5550 卡是一种成本低廉的非接触式卡,虽然容量较小,但能适合许多场合。我们用它设计的智能水表读写电路简单,经济性好,可靠性安全性较高。本文讨论了用E5550 卡设计智能水表读卡控制器的关键技术,该项技术也可用于智能煤气表、电表等其他场合,在智能化家庭、智能化小区、网络化管理以及其他一些工业场合都具有广泛的前景。

    (文/西华大学数控研究所,李军民,黎亚元,蒋建春)

 
 
[ 技术前沿搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]
 
相关新闻