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的存储结构
www.55dianzi.com
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(
www.55dianzi.com
)返回的设备描述符。pupi:Pseudo—Unique PICC Identifier。param:设为0。cid:卡片ID号(0~15),这个值存储在卡片中供后面操作使用。
brTx:由CD(近耦合设备)到PICC(近耦合集成电路卡)的波特率,对于AT88RF020,0x00代表106 kb/s。
上一篇:触摸屏的性能及应用