当前位置:文档之家› 基于RFID移动支付终端的设计与实现

基于RFID移动支付终端的设计与实现

目录摘要: (1)Abstract (1)1、引言 (2)1.1、移动支付的现状及前景 (2)1.2、课题研究的意义 (2)1.3、系统结构框图 (2)2、Mifare 1 S50卡 (3)2.1、Mifare 1 S50卡工作原理 (3)2.2、MF1卡的特性和存储结构 (3)2.3、MF1卡的控制属性 (4)3、读写器的设计 (7)3.1、MF RC522概述 (7)3.2、引脚说明 (7)3.3、特性和功能框图 (9)3.4、读写器硬件电路 (10)4、嵌入式系统 (12)4.1、嵌入式系统和物联网 (12)4.2、S3C2440A的简介 (13)4.3、S3C2440A硬件电路 (13)4.4、开源Linux的移植 (14)4.5、SPI驱动和wifi移植 (14)5、系统软件设计 (15)5.1、系统的软件流程 (15)5.2、读写器的操作程序 (16)5.2.1、数据传输指令 (16)5.2.2、验证指令 (17)5.2.3、读写块操作 (17)5.3、服务端程序 (18)5.4、客户端程序 (19)5.4.1、读卡操作演示 (21)5.4.2、充值操作演示 (22)5.4.3、扣费操作演示 (24)6、总结 (25)致谢 (25)参考文献 (26)附录 (28)基于RFID移动支付终端的设计与实现陈福林摘要:本设计将ARM、linux的嵌入式技术与RFID技术相结合,对于实现移动支付终端的低功耗、便携式和网络化具有特别的意义。

首先是采用MF RC522芯片设计与制作读写器,实现对Mifare卡的读写操作;其次是使用S3C2440A芯片和linux 搭建嵌入式系统,作为各模块沟通和处理的枢纽;最后是运用开发软件编写服务端和MFC、Qt界面客户端的程序,使得各模块通过SPI和wifi通信的方式协同工作。

结合实物和软件的设计、制作与调试,实现了一个性能稳定和使用灵活的可移动终端系统。

关键词:移动支付;RFID;ARM;linux;wifi;MifareDesign and implementation of mobile payment terminalbased on RFIDAbstract: This design combined RFID technology with embedded technology of ARM、Linux,that will have a special meaning in achieving low-power,portable and networking of the whole system. First, using the MF RC522 chip to design and making the reader, to realize the read-write operation for Mifare card; Second, using the S3C2440A chips and Linux kernel to construct the embedded systems, which serves as the communicating and the processing hub of every module. Finally, using the developed software to write the server and MFC、Qt interface client program makes every module working together by way of SPI, network and serial communication. Combining material object with software designing, producting and debugging, achieving a flexible and stable performance mobile payment terminal.Key words: mobile payment; RFID; ARM; Linux; wifi; Mifare1、引言1.1、移动支付的现状及前景移动支付作为支付手段的一种具有很多的优点,比如消费者可以不必携带巨额资金去消费,不用担心资金丢失被盗等安全性问题。

既满足方便了消费着也可以扩大内需。

它的应用已经涉及到我们生活的方方面面,是我国通向信息化时代的一个必不可少的工具。

移动支付终端种类日益丰富,但与此同时也带来了诸多的问题,比如联网质量差、带宽低,处理能力差,续航时间短等突出问题。

未来移动支付终端会随着国内移动互联网的发展,以及经济技术的进步,朝着多元化的方向发展,比如wifi、3G或4G通信,更为持久的续航和强大的处理能力等方向[1]。

1.2、课题研究的意义随着物联网和移动通信技术的发展,移动支付终端的应用市场潜力巨大[2]。

目前移动支付终端的发展向着便携化、小型化、集成化、智能化和网络化等方向迈进。

RFID和嵌入式作为移动支付终端的两个关键技术,势必也要适应这一趋势要求,即满足长时间的续航、处理和联网等能力,实现一个可以不依赖于场地和网络电缆铺设,以及需要设置多个支付点的应用场景。

然而目前广大消费者使用的银行磁条卡容易被复制,存在很大的安全隐患,未来全国银行卡将推广芯片卡[3],本课题就选用了Mifare 1 S50芯片卡;再者多数的支付终端都是基于裸机程序的单片机充当的控制系统,无法实现复杂的智能化和网络化的功能。

这些不足使其无法满足上述的发展要求。

正是基于这些考虑,设计一个结合ARM和linux嵌入式技术与RFID 技术的移动支付终端更具有现实意义[4]。

1.3、系统结构框图一个典型的移动支付终端是由射频标签(如Mifare 1 S50卡)、读写器和计算机系统构成。

本设计中使用了Mifare 1 S50卡和MF RC522作为其射频标签和读写器部分,计算机系统可以包含嵌入式系统和PC机。

系统结构框图如图1所示。

嵌入式系统的核心构件是S3C2440A的ARM芯片和嵌入式linux,嵌入式系统与读写器和PC机之间的通信方式分别采用SPI、UART或wifi的通信方式。

用户可以通过嵌入式系统上的触控屏操作QT客户端程序进行支付,也可以通过运行在PC机上的MFC客户端实现支付、充值等人机交互过程,如充值操作。

图1 系统结构框图2、Mifare 1 S50卡2.1、Mifare 1 S50卡工作原理Philips的Mifare 1 S50卡(以下简称MF1卡)是射频标签的一种,内部集成有MCU、8K位的E2PROM和天线线圈[5]。

MF1卡内部的LC串联谐振电路接近读写器识别区域时,可以接收来自读写器13.56MHz频率的电磁波,并在其激励下产生共振,使得谐振电容聚集电荷,电荷通过单向电子泵,送到存储电容中储存起来,存储电容中的电荷累积到2V以上后,就可以作为一个电源向MF1卡供电。

这样MF1卡就可以完成一些基本的功能。

2.2、MF1卡的特性和存储结构MF1卡具有很多优秀的电器特性[6],参见表1所示。

表1 MF1卡的电器特性MF1卡的16个扇区共有64个块,扇区各有4个块(块0~块3),其中第0扇区的块0已经固化有芯片商、卡片商和卡片序列号码。

扇区的前3个块(块0~块2)为数据块用来存贮用户数据;每一个扇区都有自己的控制属性,这个属性由扇区中的块3决定。

扇区控制块有16字节,前6个字节为密码A,紧接着是4个字节(32bit)的存取控制条件,之后的6个字节是密码B,每个扇区的控制块3结构都是一样的,如下表2所示。

表2 扇区控制块结构2.3、MF1卡的控制属性彼此独立的扇区的密码和存取控制条件可以做相应的修改,因为每个扇区都是独立的[7]。

任意一个扇区的数据块和控制块的读写条件,取决于该扇区的存取控制条件区域中的3bits控制位[8]。

这3个比特位用“Cxy”表示,其中x表示任意扇区中的某块的块号,y表示某块的第几个控制位,对于任意一个扇区而言有表3和表4所示的关系。

表3 控制位定义Cxy表4 存取控制字节中的控制位任意一个扇区的数据块(0扇区的块0除外)的存取控制权限,取决于块3中的3个控制位,以及对应的3个取反的控制位。

当用户需要访问某个块时,会依据3个控制位的设置决定是否需要密码A或者密码B,亦或者不可以操作。

下面通过表5介绍访问权限,表中的KEYA|B 表示密码A或B,NEVER表示不可以操作,其中3个控制位为000的是出厂默认设置。

表5 数据块的存取控制权限上面讲述了任意扇区中数据块的访问权限,下面表6列举了控制块块3的存取控制权限[9]。

对于块3的操作要小心谨慎,以免扇区被锁死!表6 控制块的存取控制权限下面以MF1卡的存取控制字的出厂默认值“FF078069”来分析其对数据块的读写的作用,用Cxy来表示:C01,C02,C03=000;C11,C12,C13=000;C21,C22,C23=000;C31,C32,C33=001,密码A和密码B的12个字节都是0xff。

对应的表4中的具体实例就是表7所示的内容。

表7 块3存取控制位的默认值从表7所示块0~块2,即控制块的3个控制位都是“000”,对照表5知,读写和值操作都是需要密码A或B的。

但是块3,即控制块的3个控制位是“001”,对照表6所示,任何条件下都不能对密码A进行读操作,但是可以在验证密码A的条件下可以读写存储控制和密码B的字节。

3、读写器的设计3.1、MF RC522概述MF RC522是飞利浦公司开发出的一款能耗低、成本低和封装小的非接触式射频芯片[10]。

满足ISO/IEC14443 TYPEA的通信协议和多层应用,拥有的调制与解调技术稳定而高效,为了验证MF1系列产品提供了快速的CRYPT01加密算法,最高速率可以达到424Kbit/s,同时有很好的错误检测(奇偶校验和CRC校验)的能力。

还提供了很多通用的接口,例如SPI、UART和I2C接口,实现了更为方便的操作和功能扩展。

由于上述的这些优点,MF RC522广泛的适用于公交车和食堂刷卡收费,便携式图2 MF RC522的引脚图移动设备和“三表”等应用场景。

3.2、引脚说明MF RC522的引脚参见图2。

MF RC522共有32个引脚,可以分为若干类。

详情参见表8所示。

表8 引脚说明引脚类型引脚名说明电源类TVDD,TVSS(12脚,10,14脚)驱动天线电源还有其他一些引脚不提及。

本课题使用的是SPI接口。

这里我们例举一个MF RC522的一个典型的电路图,如图3所示,本文也是按照这种典型的外围电路的连接方式,不过接口电路采用了SPI接。

相关主题