羅棟煥
(桂林理工大學 信息科學與工程學院,廣西 桂林 541004)
基于ARM平臺的RFID智能卡系統(tǒng)設(shè)計與實現(xiàn)
羅棟煥
(桂林理工大學 信息科學與工程學院,廣西 桂林 541004)
射頻識別技術(shù)是當今信息時代發(fā)展的趨勢,它通過無線電信號,按照RFID標準通信協(xié)議進行信息交換,無需進行任何物理性的接觸。文章以開發(fā)一款RFID嵌入式消費終端設(shè)備為目的,搭載Linux操作系統(tǒng),支持觸摸屏操作,QT用戶圖形界面,將傳統(tǒng)的PC平臺消費系統(tǒng)轉(zhuǎn)為ARM平臺嵌入式Linux消費系統(tǒng),使整個消費系統(tǒng)更便于攜帶、成本更低、操作更簡單。
射頻識別技術(shù);ARM處理器;嵌入式Linux;QT用戶圖形界面
射頻識別技術(shù)(Radio Frequency Identification,RFID)是21世紀比較熱門的一項新技術(shù),此技術(shù)最先出現(xiàn)于二戰(zhàn)時期。直到現(xiàn)在,RFID技術(shù)已經(jīng)越發(fā)成熟,RFID產(chǎn)品在日常生活中隨處可見[1-2]。近些年,我國在RFID技術(shù)方面的研發(fā)發(fā)展得很迅速,已經(jīng)擁有自主開發(fā)低頻、高頻與微波RFID標簽和讀卡器的能力了[3]。目前,該技術(shù)在我國應(yīng)用也比較廣泛的,顯而易見的就是第二代身份證和公共交通消費系統(tǒng)[4],這兩項應(yīng)用就是RFID技術(shù)最為典型的、最貼切生活的應(yīng)用[5]。隨著技術(shù)的發(fā)展,讀卡器的成本也越來越低。產(chǎn)品模塊多樣化,但各類產(chǎn)品之間相互兼容,功能、性能也比較接近。本文以校園一卡通消費系統(tǒng)為原型,設(shè)計一款具有高便攜性,簡單易用的消費卡系統(tǒng)終端。整個設(shè)計更趨于人性化,系統(tǒng)終端擁有友好的人機交流界面,觸摸屏操作,使用起來更加方便,也更為簡單[6]。
從上到下為上層軟件、底層硬件。如圖1所示,該系統(tǒng)底層就是ARM9開發(fā)板和RFID讀卡器模塊,進行簡單的連接。軟件部分以Linux操作系統(tǒng)為主導,設(shè)備驅(qū)動程序包含在操作系統(tǒng)中,經(jīng)過上層軟件調(diào)用之后,負責驅(qū)動下層硬件工作。在Linux操作系統(tǒng)上,又移植了一個QT圖形系統(tǒng)(其實是應(yīng)用程序)。在這個圖形系統(tǒng)中,有完整的圖形設(shè)計接口,兼容操作系統(tǒng)的一切操作和C/C++的一切規(guī)則,又能設(shè)計圖形界面。再往上就是具體的應(yīng)用程序,在這個應(yīng)用程序中,可以設(shè)計RFID消費系統(tǒng)的各種功能,邏輯關(guān)系。
硬件電路主要由RFID讀卡器部分、S3C2440核心系統(tǒng)、LCD觸摸屏、UART四大部分組成。由于本次設(shè)計的重點在于軟件設(shè)計部分,因此硬件選型最好是操作簡便,使用簡單,于是選用了基于MFRC。無論是微處理器還是微控制器,都是需要時鐘震蕩,作為系統(tǒng)運行的一個基準。另外,為了防止系統(tǒng)意外死機,也需要復位電路。522頻率為13.56 MHz高集成讀寫卡芯片。外圍電路就相當于人的各項器官,光擁有發(fā)達的大腦是不行的。因此,外圍電路就顯得十分重要,是能否實現(xiàn)功能的關(guān)鍵。
圖1 整個系統(tǒng)框圖
2.1 RFID讀卡器
本模塊使用串口協(xié)議進行通信,只要按照一定的通信協(xié)議就可以很快地對IC卡進行讀寫。
2.2 S3C2440最小系統(tǒng)電路
使用12M的晶振作為處理器的主時鐘,還有一個32.768 KHz的晶振作為RTC的時鐘。核心硬件系統(tǒng)還設(shè)計了復位電路,使用RESET芯片IMP811進行電路設(shè)計,能保證極好的穩(wěn)定性。
2.3 S3C2440外圍電路
SDRAM作為主存儲器,NAND Flash作為輔助存儲器。外圍電路也用到了LCD觸摸屏。
當按下電源開機鍵時,CPU首先會運行一段小程序,稱之為BIOS,運行這段代碼的目的是引導并加載操作系統(tǒng),之后才將CPU的控制權(quán)交給操作系統(tǒng)。
系統(tǒng)的實現(xiàn)過程分為以下幾步:啟動嵌入式Linux—>U-Boot移植—>Linux內(nèi)核移植—>制作根文件系統(tǒng)—>驅(qū)動程序—>Qtopia圖形界面。本文最終目的是Linux操作系統(tǒng)為基礎(chǔ),在qtopia平臺上開發(fā)RFID的應(yīng)用程序。
3.1 啟動嵌入式Linux
Bootloader初始化硬件,配置系統(tǒng)運行環(huán)境,復制外部存儲器數(shù)據(jù)到內(nèi)存。Kernel parameters存放要傳遞給內(nèi)核的參數(shù)。Kernel是操作系統(tǒng)的核心。Root filesystem根文件系統(tǒng)是操作系統(tǒng)掛載的一個文件系統(tǒng),這個系統(tǒng)方便用戶和操作系統(tǒng)之間進行交互。
3.2 U-Boot移植、Linux內(nèi)核移植
U-Boot是一個Bootloader,是一個相當成熟穩(wěn)定的系統(tǒng)引導程序,它支持多種架構(gòu)的CPU。U-Boot代碼的主要作用是初始化硬件,將內(nèi)核從外部存儲器獨到SDRAM中,設(shè)棧,轉(zhuǎn)跳內(nèi)核。Linux內(nèi)核就是Linux操作系統(tǒng)的核心,它是一套控制文件系統(tǒng)和指導底層硬件工作,分配資源,多任務(wù)調(diào)度等核心功能的軟件系統(tǒng)。
3.3 驅(qū)動程序
在嵌入式Linux系統(tǒng)中,驅(qū)動程序的作用就相當于紐帶的作用,是連接底層硬件和應(yīng)用程序的樞紐。在Linux系統(tǒng)中,一切都是文件,驅(qū)動程序也是一個文件。應(yīng)用程序通過打開某個驅(qū)動文件,實現(xiàn)操作底層硬件工作,讓軟件能夠直接操作硬件。驅(qū)動程序分為串口驅(qū)動程序和觸摸屏驅(qū)動程序。
3.4 Qtopia圖形界面
Qtopia是專門為嵌入式Linux操作系統(tǒng)而開發(fā)的應(yīng)用平臺,它具備了完善的應(yīng)用界面,大多應(yīng)用在各種嵌入式消費電子上。其分為Qtopia圖形界面移植和Qtopia圖形界面設(shè)計。在Qtopia圖形界面設(shè)計中主要要理解信號與槽的概念。信號與槽是QT開發(fā)的核心要點。它們關(guān)系著圖形部件之間的連接。信號簡單來說就是程序內(nèi)部對象產(chǎn)生的一個信號,圖形部件的相應(yīng)操作發(fā)出的信號,一般用槽進行接收。槽其實就是一個普通的C++函數(shù),它唯一的特殊性在于能夠跟圖形部件進行關(guān)聯(lián)。
本次嵌入式系統(tǒng)方面的設(shè)計,屬于系統(tǒng)級產(chǎn)品開發(fā),主要注重軟件設(shè)計。硬件平臺選用現(xiàn)成的ARM9核心系統(tǒng)板;軟件方面的工作量也相當大,包括ARM裸機的基本開發(fā)操作,全新認識Linux操作系統(tǒng)并應(yīng)用開發(fā)、Linux移植、驅(qū)動程序、QT圖形界面設(shè)計、最后應(yīng)用程序的開發(fā)。此次設(shè)計的智能卡系統(tǒng)也只是比較簡易化的,并不能真正滿足人們的需求。相信隨著計算機技術(shù)的發(fā)展,智能卡系統(tǒng)會更趨于人性化,系統(tǒng)終端將擁有友好的人機交流界面、觸摸屏操作,使用起來更加方便,也更為簡單。
[1]董麗華.RFID技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,2008.
[2]高建良,賀建飚.物聯(lián)網(wǎng)RFID原理與技術(shù)[M].北京:電子工業(yè)出版社,2013.
[3]中華人民共和國科學技術(shù)部等十五部委.中國射頻識別(RFID)技術(shù)政策白皮書[R].北京:中華人民共和國科學技術(shù)部等十五部委,2006.
[4]周文豪.RFID物聯(lián)網(wǎng)世界最新應(yīng)用[M].北京:北京理工出版社,2012.
[5]復旦微電子.FM11RF005M編程指南[M].北京:機械工業(yè)出版社華章公司,2002.
[6]RFID世界網(wǎng).RFID技術(shù)的發(fā)展歷程和應(yīng)用現(xiàn)狀[EB/OL].(2016-10-25)[2005-12-20].http://www.rfidworld.com.cn.
[9]黃玉蘭.物聯(lián)網(wǎng)射頻識別(RFID)核心技術(shù)詳解[M].北京:人民郵電出版社,2012.
[10]陸桑璐,謝磊.射頻識別技術(shù):原理、協(xié)議及系統(tǒng)設(shè)計[M].北京:科學出版社,2014.
[11]周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學出版社,2005.
[12]朱小遠,謝龍漢. Linux嵌入式系統(tǒng)開發(fā)[M].北京:電子工業(yè)出版社,2012.
[13]韋東山. 嵌入式Linux完全開發(fā)手冊[M].北京:人民郵電出版社,2008.
[14]張玲. Linux操作系統(tǒng)基礎(chǔ)、原理與應(yīng)用[M].北京:清華大學出版社,2014.
[15]李俊.嵌入式Linux設(shè)備驅(qū)動開發(fā)詳解[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— ),男,廣西桂平,本科。