摘 要:介绍了TEMIC系列射频卡的一种读写器,它可以对ATMEL公司的TEMIC系列射频卡 E5550、E5551和T5557进行读写。通过使用这个读写器,可以对上述射频卡进行块写、块读、规则读、工作模式设置、密码设置、取消密码和更改密码等操作。
射频卡是一种非接触式智能IC卡,是近几年发展起来的一项新技术。它没有接触式IC卡的电气触点,而是通过无线电波进行数据传输,相对于传统的接触式IC卡具有可靠性高、寿命长等明显优势,因而得到了广泛应用。当前实际应用中主要采用的是以ATMEL公司的TEMIC系列为主的125kHz射频卡和以PHILIPS公司的MIFARE技术为核心的13.56MHz射频卡。
本文采用ATMEL公司的AT89S52单片机和该公司TEMIC系列射频卡的读写基站芯片U2270B研制开发TEMIC系列射频卡读写器。
1 TEMIC系列射频卡特性及原理
TEMIC系列射频卡的特点为:
(1)低功耗、低电压的CMOS结构;
(2)无线电源供给,无线数据传输;
(3)射频频率为100~150kHz;
(4)264bit的EEPROM,且有写保护功能;
(5)加密逻辑、唤醒功能,多种波特率,多种编码方式。
TEMIC系列射频卡内有264bit的EEPROM,被分成8块(block),每块为33bit,其中bit0是lock位,此位一旦写"1"后,该块数据就不能再作任何修改。8个block中,block0是控制块,用来控制卡的各种操作特性,如同步信号、编码方式、波特率、数据流长度、加密和口令唤醒等功能的启用关闭等;block1~bloc6是用户块,用来存放用户数据和信息;block7是密码块,若加密功能不被启用,也可以作为用户块使用。
在使用射频卡之前都要先设置射频卡的工作模式,这可通过设置控制块block0来完成。TEMIC系列射频卡的工作模式设置为:基站工作在125kHz的载波频率下,采用RF/32的传输波特率和Manchester编码,使用Sequence Terminator同步信号,循环发送block1~block6的数据。在这样的工作模式配置下,位时钟周期
TEMIC系列射频卡的读卡过程为:射频卡先发送Sequences Terminator同步信号(粗线条部分),接着依次发送经过Manchester编码后的block1~block6的数据,发送完block6数据的最后一位后(bit32),又重新开始,不断循环发送。读卡的数据流如图1所示。Manchester编码采用由低电平向高电平的跳变表示数据位为"1",而用由高电平向低电平的跳变表示数据位为"0"。结合Manchester编码的这个特点可以这样进行解码:在位时钟周期的下降沿(即半周期)处检测电平的变化情况,如果检测到电平变化发生,则继续判断变化后的电平情况,是高电平则该位解码为"1",低电平则解码为"0",没有跳变发生则视为信号异常,进行出错处理。
基站给射频卡发送数据时也要对数据进行编码,使数据信号加载到天线的发射信号中。TEMIC系列射频卡的基站芯片使用一种改变发射天线负载的方式对信号进行编码。这可以通过打开、关断天线(即把CFE(2)管脚设置为高、低电平)产生短暂的RF信号间隔(gap)来把RF信号分割成不同长短的区间的方法对数据进行编码。起始间隔(Start Gap)一般比数据间的间隔略长,用来与射频卡同步。一般起始间隔TStartGap=330μs, 数据间间隔TGaps=300μs。在发送数据时,一个时间长度大约为T0=100μs的RF区间表示数据为"0",一个时间长度大约为T1=350μs的RF区间表示数据为"1"。在编写程序时可以使用延时中断RF区域的方法进行发送数据。写卡时基站发送给卡片的数据流(RF区域状态)如图2所示。
阴影部分为打开RF信号的时长,连接线部分为关断RF信号的时长。TEMIC系列射频卡各段区间的时间长度为:
TStartGap=330μs,TGaps=300μs,T1=350μs,T0=100μs。
2 系统的硬件构成
本系统选用AT89S52单片机作为主控模块,与TEMIC系列射频卡读写模块、串口通信模块和声光提示电路共同构成了一个TEMIC系列射频卡读写器系统。系统硬件原理图如图3所示。
2.1 主控模块--AT89S52单片机
|