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