江城足球网

图片
您好,欢迎来到江城足球网 :省安全技术防范行业协会!
0551- 62818875 64280445
网站江城足球网 :>政策法规>行业资讯
行业动态

行业资讯

RFID卡在学校就餐管理系统中的应用设计

来源:互联网 发布时间:2011/03/16
 

  1概述

  现在,在一些就餐比较集中的大、中专及中学里,学生的就餐基本上采用微机管理,学生凭一张非接触式的RFID卡就可以很方便地在学校食堂消费。有些学校还采用了校园一卡通,只要持有一张合法的RFID卡,就可在全校范围内的公共消费场所进行消费。

  RFID(RadioFrequencyIdentification)即射频识别卡或是感应式电子芯片。RFID射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境。RFID技术可识别高速运动的物体,并可同时识别多个标签,操作快捷方便。AT88RF020就是Atmel公司生产的非接触式RFID卡。

  2RFlD卡AT88RF020的特点

  ◇AT88RF020是13.56MHz射频卡,遵循ISO/IEC14443TypeB协议;
  ◇容量为2048位;
  ◇每张卡有唯一序列号;
  ◇带有加密和锁定功能;
  ◇一个一次性计数器;
  ◇所有传输信息中包括一个字节的循环校验码;
  ◇写时间为3ms;
  ◇写次数为100000次;
  ◇工作环境是O~70℃。

  3RFID射频识别技术的组成及工作原理

  3.1RFID系统的基本组成

  ①标签(tag,即射频卡)。由耦合元件及芯片组成,标签含有内置天线,用于和射频天线间进行通信,每个标签具有唯一的电子编码,附着在物体上标识目标对象。

  ②阅读器(reader或叫读卡器)。读取(除读卡外还可以写入)标签信息的设备,可设计为手持式或固定式。

  ③天线(antenna)。在标签(射频卡)和读卡器之间传递射频信号。

  有些系统还通过读卡器的RS232或RS485接口与外部计算机(上位机主系统)连接,进行数据交换。

  3.2RFID系统的基本工作原理

  读卡器通过发射天线发送一定频率(如13.56MHz)的射频信号,当射频卡进入发射天线工作区域时产生感应电流,射频卡获得能量被激活。射频卡将自身编码等信息通过射频卡的内置发射天线发送出去。系统接收天线接收到从射频卡发送来的载波信号,经天线调节器传送到读卡器,读卡器对接收的信号进行解调和解码,然后送到后台主系统进行相关处理。主系统根据逻辑运算判断该卡的合法性,针对不同的设定做出相应的处理和控制,发出指令信号控制执行机构动作。

  3.3RFID系统读卡器的结构及工作原理

  对读卡器而言,在耦合方式(如电感-电磁)、通信流程(如FDX、HDX、SEQ)、从射频卡到读卡器的数据传输方法(如负载调制、反向散射、高次谐波)以及频率范围等方面,不同的非接触传输方法有根本的区别。但所有的读卡器在功能原理上,以及由此决定的设计构造上都很相似,所有阅读器均可简化为高频接口和控制单元两个基本模块。高频接口包含发送器和接收器,其功能包括:产生高频发射功率以启动射频卡并提供能量;对发射信号进行调制,用于将数据传送给射频卡;接收并解调来自射频卡的高频信号。不同射频识别系统的高频接口设计具有一些差异,电感耦合系统的高频接口原理。

1 2 3 4 下一页
[!--empirenews.page--]

  读卡器控制单元的功能包括:与应用系统软件进行通信,并执行应用系统软件发来的命令;控制与射频卡的通信过程(主-从原则);信号的编解码。对一些特殊的系统还有执行反碰撞算法,对射频卡与阅读器问要传送的数据进行加密和解密,以及进行射频卡和读卡器间的身份验证等附加功能。

  4RFID卡AT88RF020的存储结构

  Atmel的AT88Rt020射频卡芯片有2048位的存储容量,分成32页,每页8个字节,存储组织结构。

  ①PseudoUniquePICCIdentifier。卡唯一序列号,卡序列号由卡厂家写入,不能被修改。

  ②ApplicatlonData。应用数据,这个数据被作为ATQB回复信息的一部分由卡传输到读写器中。

  ③counter。计数器,每执行一次COUNT指令,计数器的值就加1,初始值由厂家设为0。

  ④Signature。签名(用于加密),这个数据位于第2页的前6个字节,可以通过COUNT指令修改,counter和Signature可以提供更进一步的安全保护。

  ⑤Password。密码,密码放在第3页中,不能读出。

  ⑥LockBits。锁定位,位于第0页,验证密码后,能用LocK命令修改。锁定位中的每一位与内存各页对应,如果某位被设为“1”,则对应的页就被锁死,不能再进行写操作,也没有机制解锁,所以某页一旦被锁,其内容再也不能修改,出厂初始值为0。

  5RFlD卡AT88RF020的常用命令与函数

  5.1AT88RF020的常用命令

  ①REQB/WUPB:用于寻卡或者唤醒处于HALT状态的卡,这种卡只响应应用代码(API)为00或01的情况,如果接收到一个带有无效API代码的WUPB命令,那么卡仍然处于HALT状态。

  ②ATTRIB:用于从所有响应REQB/WUPB的卡中选择一张卡,此后,卡进入AC-TIVE状态。

  ③SlotMARKER:为读写器提供了一种用于查询随机数大于1的卡。

  ④HALTB:设置卡处于HALT状态,此后只能执行WUPB命令。

  ⑤READ:用于读取卡中的数据,读取页0~2可以不必验证密码,而第3页的数据不能读出,只能通过PASS—WORD命令修改,其他的页验证密码后可以读出。

  ⑥WRITE:用于对卡写入数据。

  ⑦LOCK:只有在验证密码之后才能执行,用于锁定某一地址区域,被锁定的地址区域在验证密码之后只可以进行读操作。

  ⑧CHECKPASSWORD:密码校验命令,在设备进入就绪状态之后执行。

  ⑨DESELECT:如果对处于ACTIVE状态的卡执行该命令,且通过,则卡发送一个正确的回答信息,并进入HALT状态。

  ⑩COUNT:用于写第2页。COUNT命令中所带的数据写入到第2页的前6个字节中,后2个字节被用做计数器使用,每执行一次COUNT命令,计数器的值就增1,如果计数器的值达到2的15次方,就不能再执行COUNT操作,且第2页被锁定,不能再修改。执行该命令之前要验证密码。

  5.2AT88RF020的函数

  下面以rf_attrib()函数为例来说明AT88RF020的函数用法。

  ①函数rLattrib()的格式:

  intrI_attrib(HANDLEicdev,unsignedlongpupi,unsignedcharparam,unsignedcharcid,unsignedcharbrTx,unsignedcharbrRx);

  ②函数的功能。从已响应REQB/WUPB命令的卡中选取一张卡,同时给每一张卡分配一个ID号。

上一页 1 2 3 4 下一页
[!--empirenews.page--]

  ③函数的参数描述。

  icdev:rf_init()返回的设备描述符。pupi:Pseudo—UniquePICCIdentifier。param:设为0。cid:卡片ID号(0~15),这个值存储在卡片中供后面操作使用。

  brTx:由CD(近耦合设备)到PICC(近耦合集成电路卡)的波特率,对于AT88RF020,0x00代表106kb/s。

  brRx:由PICC到PCD的波特率,对于AT88RF020,0x00代表106kb/s。

  ④返回值。等于0表示成功;不等于0表示失败。

  ⑤例程。

  intst;
  unsignedcharMode=0;
  unsignedchar_Data[15];
  unsignedlongpupi=0;
  st=rf_requestb(iedev,Mode,0~0Data);
  if(st==0){
  memcpy(&pupi,&Data[1],4);
  st=rf_attrih(icdev,pupi,0,0,0.0);
  }

  经过选卡后,如果有多张卡进入激活状态,则可以根据CID(射频卡ID号)在同一时间内对多张卡操作。以两张卡为例:

  intst;
  unsignedlongpupi[2];
  unsignedcharreceive[256],data[10];
  pupi[o]=0x25510200;//卡1的pupi
  pupill]=Ox344e0200;//卡2的pupi
  unsignedcharcid=0;
  st=rf_requestb(icdev,0,0,0,receive);//选择一张卡
  //inthecaseoftheresponsecardiscard1
  cid一0;//slot0
  st=rf_attrib(icdev,pupiEO],o,cid,0,O);
  //selectcard2
  st=rf_request(iedev,0,0,0,receive);
  //inthecaseoftheresponsecardiscard2
  cid=1;
  st=rf_attrib(icdev.pupi[l].0,cid,0,0);
  //operatethetwocardsinthesametime
  for(inti一0;i-(2;i++){
  st=rt_read(icdev,i,0,data);
  //deseleetcard1
  st=at88rf020deseleet(iedev,0);
  //deseleetcard2
  st=at88rf020deseleet(icdev.1);

上一页 1 2 3 4 下一页
[!--empirenews.page--]

  6RFlD卡在学校就餐管理中的应用

  6.1系统总体方案

  采用美国Atmel公司生产的AT88RF020射频识别卡、IDIc(IdentificationIntegratecIcircuit)、读写基站集成电路u2270B和Atmel公司的8位单片机研制开发学校食堂就餐管理系统,系统具有预付收费、目标识别、身份验证、数据采集、数据加密和数据库管理的功能。系统由AT88RF020卡、就餐管理终端、数据库管理系统、就餐管理终端与数据库管理微机的通信系统四部分组成。主机与就餐管理终端之间的通信采用RS一485通信标准,工作方式为半双工,每次通信都是主机首先呼叫从机。

  6.2通信硬件接口设计

  本系统中,就餐管理终端与上位机的通信选用了RS485总线标准,并采用了MAX465芯片来实现,它具有RS485通信接口需要的全部功能。数据通信的方向由RE和DE脚来控制,设计中二者连在一起,由单片机的Pl,5来控制。当它为高电平时,数据由就餐管理终端经MAX485到外部串行总线,即处于发送状态;为低电平时,数据由外部串行总线到就餐管理终端。一般微机的串行口采用RS232接口,故在上位机一端需要一个RS232/Rs485转换器。本设计中采用台湾Aten公司生产的IC-485SN转换器,它是一种双向RS232/R$485或RS422转换器,可提供点对点、点对多点(最多可达254个点)的全双工和半双工以及多点的单工串行通信。

  6.3通信软件接口设计

  上位机数据库管理系统采用VisualFoxPro(即VF)编写,这里介绍的串行通信程序主要是在VF中实现与就餐管理终端的通信程序设计。本系统采用标准的通信控

  件commLmications进行通信程序的设计,实现挂失数据的发送、用户卡号的发送、发卡和就餐数据的接收。每次通信时,首先在上位机的lnlt事件中初始化通信控件olecon—troll,初始化设置为:

  thisform,olecontroll,commPort=1//选择串行口COM1
  thisform,olecontroll,PortOpen=1//打开串行口COM1
  thisform,olecontroll,lnpLltMode=O//接收的数据按文本方式
  thisformolecontroll,RTSEnable=1//允许使用RTs线.用于
  //RS232/485转换器的发送控制和供电
  thisform,oleconatroll,InputLen=1//每次读取接收缓冲
  //区的一个字符
  thisform,olecontroll,OutbifferCount=O//清除发送缓冲区
  thisform,olecontroll,InbufferCotInt=O//清除接收缓冲区

  结语

  本文介绍了RFID卡ATRF88020的特点、工作原理及在学校就餐管理中的应用。RFID技术的典型应用还有;物流和供应管理、生产制造和装配、航空行李处理、邮件/快运包裹处理、文档追踪/图书馆管理、动物身份标识、运动计时、门禁控制/电子门票、道路自动收费等。

上一页 1 2 3 4