非接触式IC卡读写器的设计
2010-12-26庄捷
庄 捷
(常州联合自动科技有限公司 江苏常州 213003)
非接触式IC卡读写器的设计
庄 捷
(常州联合自动科技有限公司 江苏常州 213003)
Atmel公司的U2270B基站芯片是一种低成本结构的非接触读写处理芯片,用于对Temic系列射频识别卡进行读写,是当今世界低频、低成本和低档次射频识别卡应用的较有代表性产品。本系统选用AT89S52单片机作为主控模块,与TEMIC系列射频识别卡读写模块、串口通信模块和声光提示电路共同构成了一个TEMIC系列射频识别卡读写器系统。
非接触式IC卡(CICC);射频识别卡(RFID);U2270B;AT89S52
非接触式IC卡(CICC)的最显著特点,就在于“非接触”。正是此特点,改善了其使用性能,拓展了其应用领域,同时也确立了其独特的体系结构和支撑技术基础。作为一项多学科融合嫁接的产物,其发展和未来不仅受益于接触式IC卡有关的各项现代科学技术成就,而且大量借用了射频识别(RFID)和数字通讯等领域的已有经验和成果。
当前实际应用中主要采用的是以ATMEL公司的TEMIC系列为主的125 kHz射频卡和以PHILIPS公司的MIFARE技术为核心的13.56 MHz射频卡。
本文采用ATMEL公司的AT89S52单片机和该公司TEMIC系列射频卡的读写基站芯片U2270B研制开发TEMIC系列射频卡读写器。
1 非接触IC卡的系统结构
一个完整的非接触IC卡应用系统通常是由图1所示三大部分组成。
图1 非接触IC卡应用系统的基本结构
1)非接触IC卡(Contactless Integrated Circuit Card,CICC)。CICC由最终用户持掌并记录其全部或部分信息的便携式信息载体,是系统中发行量最大的部件,少则数百、上千,多则几十万、上百万。
2)读写器(Read-Write Devices)。读写器由运营单位持掌管理并与最终用户直接打交道。其使用数量和结构形式因系统特点和规模大小的不同而不同。它们均通过空间电磁波,以无线方式与卡片通信。但与上位机(主控机)间的通信方式,则不仅有借助电线电缆的有线方式,而且有采用红外、GSM、GPRS、CDMA和集群移动通信的无线方式。既有始终保持通信联络的实时在线式,也有断续通信的离线脱机式。
3)主控机。由管理层掌管,是卡系统控制管理的核心。可由单台PC独立承担,也可作为某庞大信息管理系统的一个子集或前端。
射频识别(Radio Frequency Identification,RFID)系统按通信距离不同和作用机理有别进行分类:本文主要针对近场识别和远场识别介绍读写器的设计。
2 非接触读写器的原理与结构
读写器是主控机与CICC间进行信息传递和存储甚至运算处理的中间媒介。在密耦合、近耦合和疏耦合3类非接触IC卡系列中,因耦合方式、通信协议和传输距离的不同,3类读写器的原理和结构形式亦不同,但其基本构成多不外乎:微控制器(MCU)、专用集成电路(ASIC)、高频接口和天线4部分,如图2所示,其中MCU与ASIC统称为控制单元。
图2 高频接口电路示意图
2.1 高频接口
高频接口,又称模拟电路和射频电路,通过天线以无线方式与CICC交互,其功用如下所述。
①建立高频能量场,启动CICC为之提供能量;
②调制并发射信号,将数据发送给CICC;
③接收并解调CICC来的应答信号。
由图2的高频接口示意图可知,其包含流向相反的两个信号通道:上部的发送通道和下部的接收通道。
发送通道首先由频率稳定的石英晶体振荡器产生相应工作频率(譬如,125 kHz)载波信号,该信号将在调制级由已在ASIC段按曼切斯特或变型密勒NRZ规则编码的拟发送信号序列进行幅移键控(ASK)调制,最后经过功率输出级放大后,由天线发送。
接收通信则首先滤除输入信号中的干扰和噪声,从高强度的发射驱动信号中提取CICC的微弱应答信号,继而放大解调后送ASIC进一步处理。
2.2 控制单元
控制单元由MCU和ASIC两部分组成,功用如下所述。
①以并行方式或RS232/422/485串行方式与主控机通信,并执行主控机的命令;
②通过高频接口,以主—从方式实现与CICC的通信;
③实现卡机间通信数据的奇偶校验和CRC校验,即:为拟发送CICC的数据生成奇偶校验位和CRC校验字节,并自动加于发送字节和帧之后,对接收的CICC信息进行奇偶校验和CRC校验,并自动去除奇偶校验位和CRC校验字节;
④对向CICC发送的数据进行编码和加密,同时对来自CICC的数据进行解密和解码;
⑤当多卡同时进入读写器能量场时,对其进行反碰撞处理;
⑥自动实现卡机间的相互认证。
MCU是读写器的中心,是上位主控机命令的接受者和具体操作指令的发出者,其主要借助并行总线与ASIC通信,继而控制ASIC经由高频接口和天线实现对CICC的所有操作(合法性认证、反碰撞处理和数据读写)以及输出/入数据的编/解码和加/解密等。为了减轻MCU的数据处理负担,数据的编/解码和加/解密工作多由ASIC自主完成。此外,ASIC还将实现高频接口串行数据与MCU并行数据间的串—并行双向转换以及CRC和奇偶校验、反碰撞处理等。
2.3 读写芯片模块
鉴于非接触通信的复杂性和各家产品在性能特点、遵循协议和结构形式上的非统一性,芯片制造商常常专门为其非接触IC卡芯片生产特点各异的ASIC和读写模块甚至整个读写器。用户只需要有针对地选取对应产品,即可构建相应读写器或系统。
读写器的工作核心和具体操作指令的发出者虽然是MCU,但读写器的性能特点和工作方式却主要取决于ASIC和读写模块。此处主要介绍ATMEL公司的AT89S52单片机和采用公司TEMIC系列射频卡的读写基站芯片U2270B研制开发的TEMIC系列射频卡读写器。
3 系统的硬件构成
本系统选用AT89S52单片机作为主控模块,与TEMIC系列射频卡读写模块U2270B、串口通信模块和声光提示电路共同构成了一个TEMIC系列射频卡读写器系统。系统硬件原理图如图3所示。
图3 系统硬件原理图
3.1 主控模块——AT89S52单片机
AT89S52单片机是一种低功耗、高性能的CMOS 8位单片机,它具有MCS-51系列单片机的优点,并且在指令和管脚封装上与MCS-51系列单片机相兼容,同时片内具有Watchdog功能,当程序由于某种干扰而死机时,系统可以可靠复位,保证系统的正常运行。
3.2 TEMIC系列射频卡读写模块
其作用是完成同TEMIC系列射频卡之间的数据通信。该读写模块是以ATMEL公司TEMIC系列射频卡的读写基站芯片U2270B为核心的,如图3所示。
1)天线:基站天线需要用户自己绕制。一般用铜制漆包线绕直径为3 cm的圈150圈即可,电感值为1.35 mH。
2)振荡器(OSC):振荡器频率的振荡范围为100~150 kHz,典型值为125 kHz,也可以由用户自己设定。此频率是由流入RF(15)管脚的电流值决定的,所以通过调节RF(15)和VS(14)管脚之间的限流电阻Rf1和Rf2的值就可以改变此频率。具体的计算公式如下:
3)数据接收部分:基站天线耦合的应答器微弱调制信号,将首先由外部整流二极管和RC低通滤波器进行解调,然后经过隔直流电容CIN和INPUT输入端送数据接收部分,由该部分的4阶巴特沃兹低通滤波器去除剩余载波和高频干扰,再经过差分放大器放大和施密特触发器整形滤噪,使输出信号与后级微控制器输入电平兼容,并以集电极开路形式输出。低通滤波器的截止频率由fosc决定,一般为fosc/18。INPUT管脚的耦合电容 CIN以及 HIPASS(16)管脚的去耦电容CHP的值决定了解调电路的高通特性,有利于更进一步滤除无用及干扰信号。CIN和CHP的值依射频卡的数据传输波特率的不同而不同,波特率为 fosc/32时分别为680 pF和100 nF。CHP与下限截止频率的关系如下:
式中,Ri=2.5 kΩ。需要注意的是,OUTPUT管脚输出的信号只是经过了解调,并没有解码。解码任务要通过单片机编程完成。
3.3 串口通信模块
串口通信模块主要由MAX232CPE构成,用作AT89S52的串行通信接口(SCI)的TTL电平和计算机串口的RS232电平之间的转换。计算机通过该串口通信模块可以给AT89S52发送读、写卡等命令,AT89S52通过该串口通信模块把读卡结果回送给计算机。
3.4 声光提示电路
声光提示电路由发光二极管和蜂鸣器构成。如果读写卡成功,发光二极管会闪一下,而且蜂鸣器也会响一声,用于提示用户。
4 系统的软件设计
主控MCU也采用Atmel公司生产的AT89S52芯片,其射频频率采用125 kHz,传输波特率为RF/32,编码格式采用曼彻斯特编码,同步信号格式采用序列终结符,循环发送6个块的数据。
软件采用MCS-51系列汇编语言按照模块化结构进行编写,主要由主程序、串口中断程序两大模块组成。
主程序框图如图4所示。当芯片进入RF场,其模拟前端从RF能量场中获取芯片所需电源,上电复位,芯片将E2PROM中的0页0块装入寄存器中,完成系统初始化,包括初始化I/O口、设置串口波特率等,然后进入“延时等待”,不断等待串口中断的到来。
串口中断程序模块执行的功能主要是根据计算机发出的命令进行相应的操作(读卡、写卡、取消密码和更改密码等)。串口中断程序框图如图5。
1)读卡模式:根据片内的E2PROM中被读数据的位状态控制并接于Col1和Col2端口的片内电阻的通断,可实现对RF场的负载调制。这种调制可通过模式字的设置,选择相应位速率和调制编码方案。基站则可通过对此负载调制的检测,读取芯片数据。
图4 主程序框图
图5 串口中断程序框图
2)写卡模式:MCU通过串口以短间隙中断RF场的办法将信息写入读写器芯片的,每当芯片成功接收写命令的所有信息并延时1个时钟周期后,将进入片内编程阶段。该阶段包括块擦除、擦除校验、编程和写校验4个连续步骤,一旦编程结束,芯片即进入块读模式。
3)取消密码和更改密码模式:取消密码实际上就是把卡从加密方式改为非加密方式,通过更改控制块block0的数据即可实现。更改密码实际上是先取消密码,然后往密码块block7写入新密码,并把卡设为加密方式。
5 结束语
本文设计的TEMIC系列射频卡读写器能够读写多种 TEMIC系列射频卡,如 E5550、E5551和T5557等,读写距离在20~100 mm范围内。该读写器操作方便灵活,只要通过计算机串口按规定协议发送命令给它,即可完成读卡、写卡、取消和更改密码等操作。本读写器已经投入生产并实际应用在某地某非接触式IC卡预付费电度表的售电系统中,系统运行良好、可靠性高。
[1]陆永宁.非接触IC卡原理与应用[M].北京:电子工业出版社,2006:26-27,68-70.
[2]刘长军,黄卡玛,闫丽萍.射频通信电路设计[M].北京:科学出版社,2005.
[3]王爱英.智能卡技术[M].3版.北京:清华大学出版社,2009.
[4]赵佩华.单片机原理及接口技术[M].北京:机械工业出版社,2008.
[5]林春方.高频电子线路[M].北京:电子工业出版社,2010.
Non-contact IC Card Reader Design
ZHUANG Jie
(Changzhou Unite Automatic Science Technology Co.,Ltd.,Changzhou 213003,China)
Atmel's U2270B base station chip is a low - cost structure of contactless reading and writing processing chip for radio frequency identification cards on the Temic series.It is the representative product of low-frequency,low-cost and low-level RFID in the world.This system adopts AT89S52 microcontroller as the main control module,and TEMIC series RFID reader module,serial communication module and sound and light alert circuit together to form a TEMIC series RFID reader system.
Contactless IC Card(CICC);Radio Frequency Identification(RFID);U2270B;AT89S52
TP 368.1
B
1672-2434(2010)02-0030-04
2010-03-22
庄 捷(1963-),男,工程师,从事研究方向:电子线路设计