微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > AT88RF020在学校就餐管理系统中的应用

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

时间:09-15 来源:互联网 点击:


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(&pupi,&Data,4);
st="rf"_attrih(icdev,pupi,0,0,0.0);
}  

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

int st;
unsigned long pupi;
unsigned char receive[256],data;
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所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top