AT88RF020在学校就餐管理系统中的应用

2007-03-09 19:03:27来源: 互联网
摘 要:就餐比较集中的学校基本上采用非接触式RFID卡组成的现场前台系统与微机后台管理系统相结合的形式。AT88RF020使用频率在13.56 MHz的低端非接触式射频卡芯片,它遵循lS0/IEC 14443 Type B协议。本文着重介绍AT88RF020的特点及工作原理,并对其在学校就餐管理中的应用及管理系统作相应介绍,同时也给出部分程序代码。由AT88RF020射频芯片组成的现场前台系统使用方便,价格低廉。 关键词:RFID AT88RF020 读卡器 就餐管理系统 1 概述 现在,在一些就餐比较集中的大、中专及中学里,学生的就餐基本上采用微机管理,学生凭一张非接触式的RFID卡就可以很方便地在学校食堂消费。有些学校还采用了校园一卡通,只要持有一张合法的RFID卡,就可在全校范围内的公共消费场所进行消费。 RFID(Radio Frequency Identification)即射频识别卡或是感应式电子芯片。RFID射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境。RFID技术可识别高速运动的物体,并可同时识别多个标签,操作快捷方便。AT88RF020就是Atmel公司生产的非接触式RFID卡。 2 RFlD卡AT88RF020的特点 ◇AT88RF020是13.56 MHz射频卡,遵循ISO/IEC 14443 Type B协议; ◇容量为2048位; ◇每张卡有唯一序列号; ◇带有加密和锁定功能; ◇一个一次性计数器; ◇所有传输信息中包括一个字节的循环校验码; ◇写时间为3 ms; ◇写次数为100 000次; ◇工作环境是O~70℃。 3 RFID射频识别技术的组成及工作原理 3.1 RFID系统的基本组成 ①标签(tag,即射频卡)。由耦合元件及芯片组成,标签含有内置天线,用于和射频天线间进行通信,每个标签具有唯一的电子编码,附着在物体上标识目标对象。图1是RFID芯片AT88RF020的内部结构原理图。 ②阅读器(reader或叫读卡器)。读取(除读卡外还可以写入)标签信息的设备,可设计为手持式或固定式。 ③天线(antenna)。在标签(射频卡)和读卡器之间传递射频信号。 有些系统还通过读卡器的RS232或RS485接口与外部计算机(上位机主系统)连接,进行数据交换。 3.2 RFID系统的基本工作原理 读卡器通过发射天线发送一定频率(如13.56 MHz)的射频信号,当射频卡进入发射天线工作区域时产生感应电流,射频卡获得能量被激活。射频卡将自身编码等信息通过射频卡的内置发射天线发送出去。系统接收天线接收到从射频卡发送来的载波信号,经天线调节器传送到读卡器,读卡器对接收的信号进行解调和解码,然后送到后台主系统进行相关处理。主系统根据逻辑运算判断该卡的合法性,针对不同的设定做出相应的处理和控制,发出指令信号控制执行机构动作。 3.3 RFID系统读卡器的结构及工作原理 对读卡器而言,在耦合方式(如电感-电磁)、通信流程(如FDX、HDX、SEQ)、从射频卡到读卡器的数据传输方法(如负载调制、反向散射、高次谐波)以及频率范围等方面,不同的非接触传输方法有根本的区别。但所有的读卡器在功能原理上,以及由此决定的设计构造上都很相似,所有阅读器均可简化为高频接口和控制单元两个基本模块。高频接口包含发送器和接收器,其功能包括:产生高频发射功率以启动射频卡并提供能量;对发射信号进行调制,用于将数据传送给射频卡;接收并解调来自射频卡的高频信号。不同射频识别系统的高频接口设计具有一些差异,电感耦合系统的高频接口原理如图2所示。 读卡器控制单元的功能包括:与应用系统软件进行通信,并执行应用系统软件发来的命令;控制与射频卡的通信过程(主-从原则);信号的编解码。对一些特殊的系统还有执行反碰撞算法,对射频卡与阅读器问要传送的数据进行加密和解密,以及进行射频卡和读卡器间的身份验证等附加功能。 4 RFID卡AT88RF020的存储结构 Atmel的AT88Rt020射频卡芯片有2048位的存储容量,分成32页,每页8个字节,存储组织结构如表1所列。 表1中标有“—”的字节由用户定义,出厂时初始值为0。 ①Pseudo Unique PICC Identifier。卡唯一序列号,卡序列号由卡厂家写入,不能被修改。 ②Applicatlon Data。应用数据,这个数据被作为ATQB回复信息的一部分由卡传输到读写器中。 ③counter。计数器,每执行一次COUNT指令,计数器的值就加1,初始值由厂家设为0。 ④Signature。签名(用于加密),这个数据位于第2页的前6个字节,可以通过COUNT指令修改,counter和Signature 可以提供更进一步的安全保护。 ⑤Password。密码,密码放在第3页中,不能读出。 ⑥Lock Bits。锁定位,位于第0页,验证密码后,能用LocK命令修改。锁定位中的每一位与内存各页对应,如果某位被设为“1”,则对应的页就被锁死,不能再进行写操作,也没有机制解锁,所以某页一旦被锁,其内容再也不能修改,出厂初始值为0。 AT88RF020通电或重启的工作流程如图3所示。 5 RFlD卡AT88RF020的常用命令与函数 5.1 AT88RF020的常用命令 ①REQB/WUPB:用于寻卡或者唤醒处于HALT状态的卡,这种卡只响应应用代码(API)为00或01的情况,如果接收到一个带有无效API代码的WUPB命令,那么卡仍然处于HALT状态。 ②ATTRIB:用于从所有响应REQB/WUPB的卡中选择一张卡,此后,卡进入AC-TIVE状态。 ③Slot MARKER:为读写器提供了一种用于查询随机数大于1的卡。 ④HALTB:设置卡处于HALT状态,此后只能执行WUPB命令。 ⑤READ:用于读取卡中的数据,读取页0~2可以不必验证密码,而第3页的数据不能读出,只能通过PASS—WORD命令修改,其他的页验证密码后可以读出。 ⑥WRITE:用于对卡写入数据。 ⑦LOCK:只有在验证密码之后才能执行,用于锁定某一地址区域,被锁定的地址区域在验证密码之后只可以进行读操作。 ⑧CHECK PASSWORD:密码校验命令,在设备进入就绪状态之后执行。 ⑨DESELECT:如果对处于ACTIVE状态的卡执行该命令,且通过,则卡发送一个正确的回答信息,并进入HALT状态。 ⑩COUNT:用于写第2页。COUNT命令中所带的数据写入到第2页的前6个字节中,后2个字节被用做计数器使用,每执行一次COUNT命令,计数器的值就增1,如果计数器的值达到2的15次方,就不能再执行COUNT操作,且第2页被锁定,不能再修改。执行该命令之前要验证密码。 5.2 AT88RF020的函数 下面以rf_attrib()函数为例来说明AT88RF020的函数用法。 ①函数rLattrib()的格式: int rI_attrib(HANDLE icdev,unsigned long pupi,unsigned char param,unsigned char cid,unsigned charbrTx,unsigned char brRx); ②函数的功能。从已响应REQB/WUPB命令的卡中选取一张卡,同时给每一张卡分配一个ID号。 ③函数的参数描述。 icdev:rf_init()返回的设备描述符。pupi:Pseudo—Unique PICC Identifier。param:设为0。cid:卡片ID号(0~15),这个值存储在卡片中供后面操作使用。 brTx:由CD(近耦合设备)到PICC(近耦合集成电路卡)的波特率,对于AT88RF020,0x00代表106 kb/s。 brRx:由PICC到PCD的波特率,对于AT88RF020,0x00代表106 kb/s。 ④返回值。等于0表示成功;不等于0表示失败。 ⑤例程。 int st; unsigned char Mode=0; unsigned char_Data[15]; unsigned long pupi=0; st=rf_requestb(iedev,Mode,0~0 Data); if(st==0){ memcpy(%26;amp;pupi,%26;amp;Data[1],4); st=rf_attrih(icdev,pupi,0,0,0.0); } 经过选卡后,如果有多张卡进入激活状态,则可以根据CID(射频卡ID号)在同一时间内对多张卡操作。以两张卡为例: int st; unsigned long pupi[2]; unsigned char receive[256],data[10]; pupi[o]=0x25510200;//卡1的pupi pupill]=Ox344e0200;//卡2的pupi unsigned char cid=0; st=rf_requestb(icdev,0,0,0,receive);//选择一张卡 //in the case of the response card is card 1 cid一0;//slot 0 st=rf_attrib(icdev,pupiEO],o,cid,0,O); //select card 2 st=rf_request(iedev,0,0,0,receive); //in the case of the response card is card 2 cid=1; st=rf_attrib(icdev.pupi[l].0,cid,0,0); //operate the two cards in the same time for(int i一0;i-(2;i++){ st=rt_read(icdev,i,0,data); //deseleet card 1 st=at88rf020 deseleet(iedev,0); //deseleet card 2 st=at88rf020 deseleet(icdev.1); 6 RFlD卡在学校就餐管理中的应用 6.1系统总体方案 采用美国Atmel公司生产的AT88RF020射频识别卡、IDIc(Identification IntegratecI circuit)、读写基站集成电路u2270B和Atmel公司的8位单片机研制开发学校食堂就餐管理系统,系统具有预付收费、目标识别、身份验证、数据采集、数据加密和数据库管理的功能。系统由AT88RF020卡、就餐管理终端、数据库管理系统、就餐管理终端与数据库管理微机的通信系统四部分组成。主机与就餐管理终端之间的通信采用RS一485通信标准,工作方式为半双工,每次通信都是主机首先呼叫从机。系统结构如图4所示。 6.2通信硬件接口设计 本系统中,就餐管理终端与上位机的通信选用了RS485总线标准,并采用了MAX465芯片来实现,它具有RS485通信接口需要的全部功能。数据通信的方向由RE和DE脚来控制,设计中二者连在一起,由单片机的Pl,5来控制。当它为高电平时,数据由就餐管理终端经MAX485到外部串行总线,即处于发送状态;为低电平时,数据由外部串行总线到就餐管理终端。一般微机的串行口采用RS232接口,故在上位机一端需要一个RS232/Rs485转换器。本设计中采用台湾Aten公司生产的IC-485SN转换器,它是一种双向RS232/R$485或RS422转换器,可提供点对点、点对多点(最多可达254个点)的全双工和半双工以及多点的单工串行通信。 6.3通信软件接口设计 上位机数据库管理系统采用Visual FoxPro(即VF)编写,这里介绍的串行通信程序主要是在VF中实现与就餐管理终端的通信程序设计。本系统采用标准的通信控 件commLmications进行通信程序的设计,实现挂失数据的发送、用户卡号的发送、发卡和就餐数据的接收。每次通信时,首先在上位机的lnlt事件中初始化通信控件olecon—troll,初始化设置为: thisform,olecontroll,commPort=1 //选择串行口COM1 thisform,olecontroll,PortOpen=1 //打开串行口COM1 thisform,olecontroll,lnpLltMode=O //接收的数据按文本方式 thisform olecontroll,RTSEnable=1 //允许使用RTs线.用于 //RS232/485转换器的发送控制和供电 thisform,oleconatroll,InputLen=1 //每次读取接收缓冲 //区的一个字符 thisform,olecontroll,OutbifferCount=O//清除发送缓冲区 thisform,olecontroll,InbufferCotInt=O//清除接收缓冲区 结 语 本文介绍了RFID卡ATRF88020的特点、工作原理及在学校就餐管理中的应用。RFID技术的典型应用还有;物流和供应管理、生产制造和装配、航空行李处理、邮件/快运包裹处理、文档追踪/图书馆管理、动物身份标识、运动计时、门禁控制/电子门票、道路自动收费等。

关键字:学校  就餐  管理  管理系统

编辑: 引用地址:http://www.eeworld.com.cn/wltx/RFID/200703/2181.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
学校
就餐
管理
管理系统

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved