您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术S3C6410和CR95HF的RFID读卡系统解析 正文
S3C6410和CR95HF的RFID读卡系统解析

S3C6410和CR95HF的RFID读卡系统解析

点击数:7846 次   录入时间:03-04 11:56:46   整理:http://www.55dianzi.com   嵌入式系统-技术

     内容摘要:针对目前读卡器主频低、速度慢、便携性差等不足,提出了一种基于S3C6410的RFID读卡系统设计方案。本文以高性能的S3C6410嵌入式微处理器为核心,选用新型的CR95HF射频芯片,开发设计了一款高主频的搭载Android嵌入式系统的新型手持式RFID读卡器。该读卡器工作在高频13.56 MHz,支持ISO14443、ISO15693等多种协议。实验证明,该读卡器能对符合协议的标签进行读写操作,读写距离能够满足需要,具有便携、稳定性高、处理速度快等特点。

    引言

    射频识别(RFID)是一种新兴的通过射频载波来发现目标和进行无线数据交换的识别与跟踪技术。RFID与其他技术相比,具有识别速度快、抗干扰能力强、安全性高、非接触等优点。因此该技术已广泛应用于门禁系统、物流配送、校园卡等多种日常生活,作力物联网关键技术,未来的发展潜力巨大。但是现有的读卡器普遍存在主频低、处理速度慢、便携性差等缺点,难以满足日益发展的使用需求。针对这些不足,本文基于高主频、性能强悍的S3C6410嵌入式微处理器,选用新型的CR95HF射频芯片,开发设计了一款工作在高频13.56 MHz的手持式RFID读卡器,同时创新性地搭载新兴的Android嵌入式系统,支持ISO14443、ISO15693等多种协议,处理速度快且准确度高。

    1 系统结构与工作原理

    本文设计的嵌入式RFID读卡系统由微处理器、触摸屏、电源、射频、存储、天线等组成。整体结构如图1所示。

S3C6410和CR95HF的RFID读卡系统设计

    读卡器要求处理速度快,能够实时显示信息,因而选用性能强悍、功耗极低的S3C6410嵌入式微处理器作为核心,其基于先进的ARM11内核,烧写Android嵌入式系统。射频芯片采用ST公司的新型非接触芯片CR95HF,与微处理器之间通过串口进行通信。工作原理为:读取标签数据时,将标签靠近读卡器,触摸屏操控端传输读命令给S3C6410,其操控射频模块将该命令发送给标签,标签收到后将所需数据返还给读卡器显示;执行写入操作时,S3C6410收到触摸屏写命令后操控射频模块向标签写入数据。

    2 系统硬件设计

    2.1 微处理器外围和电源电路设计

    本设计采用三星公司的S3C6410嵌入式微处理器作为主控芯片,其主频高达667 MHz,是一款基于ARM11内核的高性能RISC处理器。S3C 6410包括电源管理、串口、SPI、I2C总线、USB和I/O等多种硬件接口,具有性能强悍、处理速度快且功耗低等优点,能满足系统的设计需要。并行使用2片128M DDR芯片K4X1G163PC来实现256M的RAM电路。主控芯片利用串口和射频模块通信,并通过USB接口和上位机通信。

S3C6410和CR95HF的RFID读卡系统设计

    系统设计了5 V直流和3.7 V锂电池两种方式供电来满足读卡器手持需求,并用跳线帽选择。锂电池供电时读卡器能手持使用。系统电源需要5 V和3.3 V两种。3.7 V锂电池通过升压芯片转化为5V,之后通过稳压芯片LM1117转换为3.3 V给微处理器、射频芯片供电。直流电源供电时通过LM1117就能完成供电。LM1117能支持接近1 A的大电流输出,其电路如图2所示。输入为VCC5,输出为VCC3.3.C1~C4为去耦电容,用于消除电源引脚自激,保持电源稳定。

    2.2 射频电路及匹配网络设计

    本文设计的读卡器射频芯片采用CR95HF,其是ST公司具有SPI和串口的高频13.56 MHz新型收发器芯片,支持ISO14443、ISO15693、ISO 18092等多种协议,主要用于RFID和NFC近场通信。射频电路如图3所示,CR95HF利用串口与微处理器通信,其串口引脚为UART_TX和UART_RX。将SSI_0、SSI_1接地置0来实现串口模式。上拉电阻R5、R6将电平钳制在高电平,并起到限流保护作用。C2、C5为去耦电容。两个TX和RX引脚连接匹配网络和天线。

S3C6410和CR95HF的RFID读卡系统设计

    匹配网络设计时首先通过0 Ω电阻和不焊的接地电容来构成低通滤波器抑制高次谐波,之后设计匹配电容。采用PCB矩形天线,由于其与匹配网络等效电容构成13.56 MHz的LC谐振电路,从而可以得到电感参数进行天线设计。设计PCB时注意将电源线加宽并与射频部分隔离,尽量缩短射频电路之间的连线长度,并减少回路面积来防止PCB各线路的信号串扰和电磁干扰(EMI),提高制板的稳定性。

    2.3 触摸屏与存储电路

    读卡器采用4.3寸、分辨率为272×480的LCD液晶屏,能够实现良好的界面显示。屏幕为电阻触摸屏,利用24条I/O口与微处理器通信来显示信息。微处理器通过10条控制I/O口和屏幕相连来实现控制功能。

S3C6410和CR95HF的RFID读卡系统设计

    内核代码、显示数据、应用程序和读取的标签信息均需要存储,因而读卡器设计了FLASH和SD卡。FLASH选用K9G8G08U0A芯片,1GB容量,利用片选信号CSN2控制,用来存储内核代码与应用软件。SD卡容量为8GB,和微处理器通过高速MMC接口相连,用来存储显示数据和标签信息,其电路如图4所示。时钟引脚为MMC0_CLK,MMC0_CDN、MMC0_WPN、MMC0_CMD为控制引脚,用来控制SD卡读写。R17~R24为上拉电阻,MM C0_DATA0~MMC0_DATA3为数据通信引脚,用来传输读写数据。

    3 系统软件设计

    3.1 嵌入式系统移植

    本读卡器移植嵌入式Android 2.3操作系统并开发RFID应用软件。Android是谷歌公司推出的基于Linux内核的手机操作系统,是一种真正开源且功能强大的嵌入式移动系统,采用软件堆层架构。嵌入式系统移植如图5所示。PC机通过arm-linux-gcc交叉编泽工具构建开发环境,编译Uboot生成烧入FLASH引导程序,编译Linux内核生成Android所需的底层映像zImage,并裁减、编译Android源码生成根系统rootfs. yaffs2,将以上文件导入SD卡来实现系统的移植和烧写。



www.55dianzi.com
S3C6410和CR95HF的RFID读卡系统设计

    3.2 读卡器驱动设计

    读卡器软件主要由底层驱动、数据处理及交互界面组成。微处理器和射频芯片通过串口通信,串口驱动的开发使用Android NDK将Linux的C函数通过JNI接口生成相应的.so动态链接库供Java语言开发的安卓软件使用。由于数据采用十六进制传输,因而串口通信需要配置为原始数据输入/输出。为提高通信速率,本文采用高速波特率921 600 b/s,并通过奇偶校验有效降低了误码率,修改寄存器实现了8数据位的传输,较传统7数据位速率提升1/8,主要C代码如下:

S3C6410和CR95HF的RFID读卡系统设计

    CR95HF支持ISO14443、ISO15693等无线协议,根据协议标准调用串口函数和延时函数并加载数据来实现射频驱动。射频指令格式如图6所示。

S3C6410和CR95HF的RFID读卡系统设计

    由不同的CMD命令来选择不同协议,协议命令参见表1。

    3.3 数据处理

    读卡器需具有寻卡、防冲突和读写卡等功能。设置串口波特率和选择协议,防冲突来判断附近存在一张还是多张标签卡。根据所选CMD及返回结果对数据处理来实现读卡器和标签的无线通信,其处理流程如图7所示。

S3C6410和CR95HF的RFID读卡系统设计

    寻卡、防冲突后选择地址进行读写卡,每地址可存储32位数据,默认为ISO15693协议。由于原始数据输入/输出,因而收到信息后通过函数ByteArrToHex(byte[])转换为Hex字符串。

[1] [2]  下一页


本文关键字:暂无联系方式嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术