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