基于ARM平台的RFID智能卡系统设计与实现
2016-12-10罗栋焕
罗栋焕
(桂林理工大学 信息科学与工程学院,广西 桂林 541004)
基于ARM平台的RFID智能卡系统设计与实现
罗栋焕
(桂林理工大学 信息科学与工程学院,广西 桂林 541004)
射频识别技术是当今信息时代发展的趋势,它通过无线电信号,按照RFID标准通信协议进行信息交换,无需进行任何物理性的接触。文章以开发一款RFID嵌入式消费终端设备为目的,搭载Linux操作系统,支持触摸屏操作,QT用户图形界面,将传统的PC平台消费系统转为ARM平台嵌入式Linux消费系统,使整个消费系统更便于携带、成本更低、操作更简单。
射频识别技术;ARM处理器;嵌入式Linux;QT用户图形界面
射频识别技术(Radio Frequency Identification,RFID)是21世纪比较热门的一项新技术,此技术最先出现于二战时期。直到现在,RFID技术已经越发成熟,RFID产品在日常生活中随处可见[1-2]。近些年,我国在RFID技术方面的研发发展得很迅速,已经拥有自主开发低频、高频与微波RFID标签和读卡器的能力了[3]。目前,该技术在我国应用也比较广泛的,显而易见的就是第二代身份证和公共交通消费系统[4],这两项应用就是RFID技术最为典型的、最贴切生活的应用[5]。随着技术的发展,读卡器的成本也越来越低。产品模块多样化,但各类产品之间相互兼容,功能、性能也比较接近。本文以校园一卡通消费系统为原型,设计一款具有高便携性,简单易用的消费卡系统终端。整个设计更趋于人性化,系统终端拥有友好的人机交流界面,触摸屏操作,使用起来更加方便,也更为简单[6]。
1 系统的设计原理
从上到下为上层软件、底层硬件。如图1所示,该系统底层就是ARM9开发板和RFID读卡器模块,进行简单的连接。软件部分以Linux操作系统为主导,设备驱动程序包含在操作系统中,经过上层软件调用之后,负责驱动下层硬件工作。在Linux操作系统上,又移植了一个QT图形系统(其实是应用程序)。在这个图形系统中,有完整的图形设计接口,兼容操作系统的一切操作和C/C++的一切规则,又能设计图形界面。再往上就是具体的应用程序,在这个应用程序中,可以设计RFID消费系统的各种功能,逻辑关系。
2 硬件部分
硬件电路主要由RFID读卡器部分、S3C2440核心系统、LCD触摸屏、UART四大部分组成。由于本次设计的重点在于软件设计部分,因此硬件选型最好是操作简便,使用简单,于是选用了基于MFRC。无论是微处理器还是微控制器,都是需要时钟震荡,作为系统运行的一个基准。另外,为了防止系统意外死机,也需要复位电路。522频率为13.56 MHz高集成读写卡芯片。外围电路就相当于人的各项器官,光拥有发达的大脑是不行的。因此,外围电路就显得十分重要,是能否实现功能的关键。
图1 整个系统框图
2.1 RFID读卡器
本模块使用串口协议进行通信,只要按照一定的通信协议就可以很快地对IC卡进行读写。
2.2 S3C2440最小系统电路
使用12M的晶振作为处理器的主时钟,还有一个32.768 KHz的晶振作为RTC的时钟。核心硬件系统还设计了复位电路,使用RESET芯片IMP811进行电路设计,能保证极好的稳定性。
2.3 S3C2440外围电路
SDRAM作为主存储器,NAND Flash作为辅助存储器。外围电路也用到了LCD触摸屏。
3 软件部分
当按下电源开机键时,CPU首先会运行一段小程序,称之为BIOS,运行这段代码的目的是引导并加载操作系统,之后才将CPU的控制权交给操作系统。
系统的实现过程分为以下几步:启动嵌入式Linux—>U-Boot移植—>Linux内核移植—>制作根文件系统—>驱动程序—>Qtopia图形界面。本文最终目的是Linux操作系统为基础,在qtopia平台上开发RFID的应用程序。
3.1 启动嵌入式Linux
Bootloader初始化硬件,配置系统运行环境,复制外部存储器数据到内存。Kernel parameters存放要传递给内核的参数。Kernel是操作系统的核心。Root filesystem根文件系统是操作系统挂载的一个文件系统,这个系统方便用户和操作系统之间进行交互。
3.2 U-Boot移植、Linux内核移植
U-Boot是一个Bootloader,是一个相当成熟稳定的系统引导程序,它支持多种架构的CPU。U-Boot代码的主要作用是初始化硬件,将内核从外部存储器独到SDRAM中,设栈,转跳内核。Linux内核就是Linux操作系统的核心,它是一套控制文件系统和指导底层硬件工作,分配资源,多任务调度等核心功能的软件系统。
3.3 驱动程序
在嵌入式Linux系统中,驱动程序的作用就相当于纽带的作用,是连接底层硬件和应用程序的枢纽。在Linux系统中,一切都是文件,驱动程序也是一个文件。应用程序通过打开某个驱动文件,实现操作底层硬件工作,让软件能够直接操作硬件。驱动程序分为串口驱动程序和触摸屏驱动程序。
3.4 Qtopia图形界面
Qtopia是专门为嵌入式Linux操作系统而开发的应用平台,它具备了完善的应用界面,大多应用在各种嵌入式消费电子上。其分为Qtopia图形界面移植和Qtopia图形界面设计。在Qtopia图形界面设计中主要要理解信号与槽的概念。信号与槽是QT开发的核心要点。它们关系着图形部件之间的连接。信号简单来说就是程序内部对象产生的一个信号,图形部件的相应操作发出的信号,一般用槽进行接收。槽其实就是一个普通的C++函数,它唯一的特殊性在于能够跟图形部件进行关联。
4 结语
本次嵌入式系统方面的设计,属于系统级产品开发,主要注重软件设计。硬件平台选用现成的ARM9核心系统板;软件方面的工作量也相当大,包括ARM裸机的基本开发操作,全新认识Linux操作系统并应用开发、Linux移植、驱动程序、QT图形界面设计、最后应用程序的开发。此次设计的智能卡系统也只是比较简易化的,并不能真正满足人们的需求。相信随着计算机技术的发展,智能卡系统会更趋于人性化,系统终端将拥有友好的人机交流界面、触摸屏操作,使用起来更加方便,也更为简单。
[1]董丽华.RFID技术与应用[M].北京:电子工业出版社,2008.
[2]高建良,贺建飚.物联网RFID原理与技术[M].北京:电子工业出版社,2013.
[3]中华人民共和国科学技术部等十五部委.中国射频识别(RFID)技术政策白皮书[R].北京:中华人民共和国科学技术部等十五部委,2006.
[4]周文豪.RFID物联网世界最新应用[M].北京:北京理工出版社,2012.
[5]复旦微电子.FM11RF005M编程指南[M].北京:机械工业出版社华章公司,2002.
[6]RFID世界网.RFID技术的发展历程和应用现状[EB/OL].(2016-10-25)[2005-12-20].http://www.rfidworld.com.cn.
[9]黄玉兰.物联网射频识别(RFID)核心技术详解[M].北京:人民邮电出版社,2012.
[10]陆桑璐,谢磊.射频识别技术:原理、协议及系统设计[M].北京:科学出版社,2014.
[11]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005.
[12]朱小远,谢龙汉. Linux嵌入式系统开发[M].北京:电子工业出版社,2012.
[13]韦东山. 嵌入式Linux完全开发手册[M].北京:人民邮电出版社,2008.
[14]张玲. Linux操作系统基础、原理与应用[M].北京:清华大学出版社,2014.
[15]李俊.嵌入式Linux设备驱动开发详解[M].北京:人民邮电出版社,2008.
RFID smart card system design and realization based on ARM platform
Luo Donghuan
(Information Science and Engineering School of Guilin University of Technology, Guilin 541004, China)
Radio frequency identification technology is a development trend of today’s information age, it through radio signals, in accordance with the RFID standard communication protocols to exchange information, without the need for any physical contact. For the purpose of developing an RFID embedded consumer devices, which is equipped with Linux operating system, supports for touch-screen operation and QT graphical user interface, this paper changes traditional consumer PC platforms consumption systems into the ARM platform embedded Linux consumption system, makes the whole system more portable, low-cost, and operation simpler.
radio frequency identification; ARM microprocessor; embedded Linux; QT graphical user interface
罗栋焕(1993— ),男,广西桂平,本科。