基于CL RC632的射频读写器的RFID系统设计
扫描二维码
随时随地手机看文章
摘要:设计一种基于STC11F32XE单片机和CL RC632芯片的非接触式射频读写器。首先介绍RFID系统的组成和CL RC632的特性,再根据其原理完成硬件电路设计和软件功能实现。该系统使用Mifare卡作为系统的应答器,通过执行防冲突命令序列使得PICC完全置于PCD控制下。读卡器输出方式为标准输出或连续输出,独立授权方式。经过测试,读/写距离6~10 cm,射频功率小于1 mW,集成化程度高,适合于工业运用环境。
关键词:射频识别;STC11F32XE;CL RC632;LCD12864;W25X80
射频识别技术RFID(Radio Frequency Identifieation Technology)是一种非接触式的自动识别技术,它通过射频信号自动识别目标并获取相关数据。与传统的IC卡、磁卡对比,利用RFID开发的非接触式IC识别器具有保密、使用寿命长、存储数据容量大等优势。从最近一段时间的种种市场迹象来看,射频识别正在迈入下一阶段的技术演进。这些迹象包括RFID项目规模不断的扩展、持续部署的基础建设、不断深化的技术融合,以及业界对此技术的投资增长。多种以RFID技术为核心的应用,如供应链管理、身份证和电子商务等,都在经历前所未有的高速成长。
本文在分析射频识别系统原理的基础上,以仓储管理系统的设计为例子,提出了一种利用MCUSTC11F32XE,CL RC632,MF1卡等构建非接触式IC读写器系统的方法。该系统有很强的扩展性,可以应用到门禁、图书管理、电子钱包等各种场合。
1 RFID系统总体结构分析
完整的RFID系统可分为RFID数据采集端,其中包括卡片,阅读:器和天线、中间件或接口、应用系统如MIS。在RFID仓储管理系统设计中,将货物的资料信息和存放地点写入电子标签,然后贴在各个货物外面的包装或者托盘上。当货物进出仓库,往标签里写入送达方的资料。在仓库和各经销管道关键位置设置读写器,有效的辨识和检测货物的流通。系统的工作过程如下:读写器发送某个频率的电磁波,卡片进入天线的磁场范围内,在电磁波的激励下,凭借感应电流获得的能量将其一部分整流为直流电源供卡片内的电路工作,另一部分被卡片内保存的数据信息调制后反射回读写器,读写器读取信息并解码后,送至应用系统进行数据处理。读写器的基本结构框架如图1所示。
2 硬件设计
本文中设计的读写器系统由基于CL RC632的射频芯片、单片机(STC11F32XE)、液晶显示电路(MGLS12864)、串口通信电路(MAX232)、USB转RS232控制器(PL2303)、天线等组成。通过USB连接PC机和下位机,USB线用于下载程序、传输数据、并给下位机供电。该系统支持连续寻卡、读卡操作,支持多卡读取。
2.1 读写器核心MCU
采用STC11F32XE单片机,此单片机是宏晶科技公司生产的1个时钟/机器周期的单片机,是高速、低功耗、超强抗干扰的新一代增强型8051单片机,指令代码完全兼容传统8051,但速度快8~12倍。加密性强。输入/输出口多,最多有40个I/O,复位脚如当I/O口使用,可省去外部复位电路。本文中采用LQFP-44封装,内部有32 KB的FLASH(FLASH存储器特点是不加电的情况下能长期保持存储的信息),29 KB的E2P ROM和1 280 B的SRAM。外围电路如图2所示。
2.2 射频电路
射频电路部分由CL RC632应用电路和天线电路组成。
在设计中,为了扩大系统使用的范围,射频芯片选择使用功能更为强大的CL RC632,这也是系统的核心部分。CL RC632是Philips公司的多协议非接触式读/写芯片,该芯片支持13.56 MHz频段内ISO14443和ISO15693两种标准,能够识别出应用于RFID的各种智能卡和标签,其内部集成振荡器缓冲,连接到13.56 MHz的石英震荡晶体,获得低相位的抖动。由于与微控制器的并行接口类型不同,相应的总线时序也不一样。该设计中采用独立读/写选通、复用地址总线的方式,CL RC632的A0~A1接VCC,A2接GND,在上电复位或硬件复位后,CL RC632将自动检测当前接口类型。D0~D7与STC11F32XE的P0口相连,NWR,NRD,NCS,ALE,IRQ,RSTPD分别与STC11F32XE的,P4.1,,P4.0相连。应用电路如图3所示。
关于天线部分的设计,因为涉及到高频滤波,为了获得稳定可靠的射频信号,这部分参考Philps公司提供的推荐电路图,并且做了适当的修改,遵从变压器原理。低通滤波器电路包括元件L0和C0,接收电路包括的元件有R1,R2,C3,C4,天线匹配电路的电容C1,C1a,C2b取决于天线的电气特性和环境的影响。本文中它们的值如下:L0=1μH,C0=68 pF,R1=560 Ω,R2=820 Ω,C3=15 pF,C4=0.1μF,C1=27 pF,C2=C2b=180 pF。
TX1,TX2为天线驱动引脚,RX为接收引脚。为了达到良好的电磁兼容,这部分的电路必须紧靠CLRC632的天线引脚RX,TX1,TX2。天线采用匝数为3,边长为10 cm的矩形天线。
2.3 外围扩展电路
LCD采用的是不带字库的MGLS12864液晶,为了能显示汉字,专门采用了字库存储芯片W25X80。W25X80是Winbond公司生产的FLASH存储器,为8 Mb串行FLASH,大小为1 MB,且带256 B的缓冲区。与上位机通信接口方面有2种选择,既外扩了MAX232作为系统和PC机通信的通道,同时也采用了USB转串口芯片PL2303,能够方便运用到各种设备上。该USB芯片使得读卡器省去了串口和电源供电端口,可以通过USB接口和PC管理软件通信。主要由三部分组成,分别是USB接头,USB供电和USB数据收发。
2.4 PCB制作
该设计采用PCB制板,考虑到为了减少杂散电场和杂散磁场,元件尽量采用贴片式封装,大大地提高了电路的稳定性和可靠性。焊接后经过测试,STC11F32XE最小系统的工作正常,最小系统包括USB供电、晶振电路、复位电路及LCD电路。STC11F32XE对CL RC632的控制部分也正常,控制部分包括CL RC632供电电路、晶振电路以及STC11F32XE与CL RC632的连接。读写器部分的PCB如图4所示。
3 软件设计
软件设计思想是通过对STC11F32XE的编程,控制CL RC632芯片根据ISO/IEC14443A协议与MF1卡片进行通信,从而完成对RFID卡的各种操作。
CL RC632在整个系统上电后,需要一段时间进行复位。复位后,晶振管脚才有电压。然后读/写CLRC632寄存器,如果能准确读/写,就说明对CL RC632寻址方式和读/写时序是对的,就可对CL RC632进行其他的操作。
初始化单片机,对STC11F32XE进行串口设置、定时器设置和中断的设置。CL RC632复位,复位成功后,LED闪烁而且CL RC632自动跟随初始化。初始化程序如下RC632RST=0;delay_1 ms(25);RC632RST=1;delay_50μs(200);RC632RST=0;然后读第0页Command寄存器的值,为0则意味着CLRC632的复位和初始化完成。CL RC632每次复位后,页寄存器默认值为0X80(即默认使用页模式并且选中第0页)。为了提高效率,本文采用线性地址访问模式,在复位后,立即将页寄存器的值改为0x00,即可使用线性地址访问寄存器。
主要函数实现原理如下:
寻卡函数Char R632PICCCommonRequest(unsigned char req_code,unsigned char*atq)2个入口参数:req_code是寻卡指令代码,通常情况下为26H,*atq返回卡片类型号,建立PCD与卡片的第一步通信。防冲突函数Char R632PICCCascAnticoll(unsigned char bcnt,unsign ed char*snr):根据卡片序列号来保证每次对一张卡片进行操作。返回值为4 B卡的序列号和1 B效验值。选卡函数CharR632PICCCascSelect(unsigned char *snr,unsignedchar*sak):驱动发送电路发送了7个字节,包括93H,70H,4 B序列号、CRC效验码。卡片返回1 B,该字节代表了卡片容量。S50M1卡返回值为08H。认证函数Char R632PICCAuthE2(unsigned char authmode,unsigned char*snr,unsigned char keynr,unsigned char block):整个过程是将6 B的密钥加密为12 B,通过发送指令LOADKEY装入KEY缓存,然后执行authent1和authent2指令,认证通过,卡片将会返回1 B的0AH作为应答。
4 示波器在本文中的典型应用
在设计中,因为涉及到射频通信编码和解码,所以在编写程序时对时序的要求非常严格。在调试中,针对不同的测量点,通过示波器观测相应的RF信号。可以观测的信号包括载波信号、调试信号、调制载波信号、射频输出信号、标签返回信号等。由于篇幅原因,仅给出编码信号波形图和RF输出调制载波信号图,以供参考。
5 结语
本文介绍了基于CL RC632的射频读写器的设计与实现。完成了硬件的选型、绘制PCB图和电路的焊接,还有软件的编写。经过测试和实践认证,该系统稳定,能对范围内的多个MF1卡进行准确的读写。