《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于μC/OS-Ⅱ和GPRS的無線RFID 讀寫器的研究與開發(fā)
基于μC/OS-Ⅱ和GPRS的無線RFID 讀寫器的研究與開發(fā)
來源:微型機與應用2011年第7期
王延政,李瑞祥,王立青
(上海理工大學 光電信息與計算機工程學院,上海 200093)
摘要: 針對目前RFID讀寫器無法隨身攜帶,實現(xiàn)遠程的IC卡讀寫操作的問題,采用GPRS無線網絡作為數(shù)據傳輸?shù)妮d體,實現(xiàn)了無線RFID讀寫器的開發(fā)。采用μC/OS-Ⅱ嵌入式實時操作系統(tǒng)作為讀寫器終端的軟件平臺,在ARM7系列微處理器LPC2148上實現(xiàn)了對IC卡的發(fā)行、加值、消費、操作記錄查詢與匯總、數(shù)據采集以及無線傳輸。采用動態(tài)密鑰加密算法很好地保證了IC卡的數(shù)據安全。應用結果表明,該RFID讀寫器運行穩(wěn)定可靠、響應速度快、安裝及操作方便、便于攜帶,具有一定的實用性和推廣價值。
Abstract:
Key words :

摘  要: 針對目前RFID讀寫器無法隨身攜帶,實現(xiàn)遠程的IC卡讀寫操作的問題,采用GPRS無線網絡作為數(shù)據傳輸?shù)妮d體,實現(xiàn)了無線RFID讀寫器的開發(fā)。采用μC/OS-Ⅱ嵌入式實時操作系統(tǒng)作為讀寫器終端的軟件平臺,在ARM7系列微處理器LPC2148上實現(xiàn)了對IC卡的發(fā)行、加值、消費、操作記錄查詢與匯總、數(shù)據采集以及無線傳輸。采用動態(tài)密鑰加密算法很好地保證了IC卡的數(shù)據安全。應用結果表明,該RFID讀寫器運行穩(wěn)定可靠、響應速度快、安裝及操作方便、便于攜帶,具有一定的實用性和推廣價值。
關鍵詞: μC/OS-Ⅱ;GPRS;LPC2148;動態(tài)密鑰

 傳統(tǒng)的RFID讀寫器多采用有線接入的方式實現(xiàn)與數(shù)據中心(上位機)的通信,即使部分RFID讀寫器終端實現(xiàn)了無線的數(shù)據傳輸,但也多是采用短距離的無線通信方式,最終還是要經過現(xiàn)場的有線設備實現(xiàn)與數(shù)據中心的通信,無法滿足遠距離、跨區(qū)域、便攜式的RFID讀寫器的應用需求。本文介紹的無線RFID讀寫器的開發(fā)是以提高系統(tǒng)的穩(wěn)定性、便攜性、安全性為目標,采用嵌入式系統(tǒng)的設計思想,硬件方面使用功能強大的ARM處理器LPC2148,外擴GPRS無線模塊實現(xiàn)終端數(shù)據的實時上傳。LPC2148豐富的IO口資源使其能夠外擴更多的外設,保證了終端功能的實現(xiàn)。軟件方面引入實時多任務嵌入式操作系統(tǒng)μC/OS-Ⅱ,進行多任務的調度,在提高系統(tǒng)穩(wěn)定性的同時降低了系統(tǒng)的開發(fā)難度。
1 GPRS簡介
 通用分組無線業(yè)務GPRS(General Packet Radio Service)是在現(xiàn)有GSM系統(tǒng)上發(fā)展起來的一種新的承載業(yè)務,目的是為GSM用戶提供分組形式的數(shù)據業(yè)務,而不需要利用電路交換模式的網絡資源,從而提供了一種高效、低成本的無線分組數(shù)據業(yè)務。GPRS充分利用共享無線信道,實現(xiàn)了與標準Internet的無縫連接,采用IP Over PPP實現(xiàn)數(shù)據終端的高速、遠程接入。無線GPRS網絡所具有的永遠在線、按流量計費、傳輸速率高以及支持X.25和IP協(xié)議等突出特點,特別適合于RFID讀寫器系統(tǒng)這樣間斷、突發(fā)性的數(shù)據傳輸。
2 讀寫器硬件組成    
2.1 硬件系統(tǒng)原理

    IC卡無線手持機的硬件系統(tǒng)結構框圖如圖1所示。圖中,LPC2148為終端的主控單元,通過GPIO口與IC卡讀卡芯片MF RC500相連實現(xiàn)對IC卡的讀寫;通過串口1(URRT1)與GPRS模塊MC55相連實現(xiàn)GPRS數(shù)據傳輸;系統(tǒng)外擴一塊I2C接口的E2PROM芯片24C256,用于存儲終端設置參數(shù)以及暫存IC卡用戶在本機的交易信息;通過LPC2148自帶的USB接口實現(xiàn)上位機對讀寫器相關參數(shù)的設置以及交易信息的離線上傳。

2.2 讀寫器的微處理器
 手持機終端系統(tǒng)的核心部分是由LPC2148及其外圍電路構成的最小系統(tǒng)電路。LPC2148是基于一個支持實時仿真和嵌入式跟蹤的32/16 bit ARM7 TDMI-S CPU的微控制器,并帶有32 KB和512 KB嵌入的高速Flash存儲器。較小的封裝和很低的功耗使得LPC2148特別適用于POS機等小型的應用場合。LPC2148提供多達45個高速GPIO口以及USB2.0全速設備控制器,使其成為本系統(tǒng)設計的理想選擇。
2.3 讀寫器的IC卡讀寫模塊
 IC卡讀寫模塊選用Philips公司Mifare卡專用讀卡芯片MF RC500及其相關的外圍電路、射頻天線等,實現(xiàn)手持機與IC卡之間的數(shù)據通信。MF RC500是應用于13.56 MHz非接觸式通信中高集成讀卡IC系列之一,利用了先進的調制和解調概念,在13.56 MHz下,完全集成了所有類型的被動非接觸式通信方式和協(xié)議,并支持ISO14443A所有的層。
2.4 匹配電路及天線的設計[1]
 MF RC500是一個單獨的讀卡器集成電路,在本系統(tǒng)中,MF RC500與Mifare卡之間的數(shù)據交互是通過RF天線來完成的。參照MF RC500數(shù)據手冊,采用直接匹配的天線,即可實現(xiàn)該讀寫器與Mifare卡之間的數(shù)據通信和能量傳遞,其推薦的工作距離可達100 mm。直接匹配天線的匹配電路如圖2所示,主要包括:
 (1)EMC濾波:Mifare系統(tǒng)的工作頻率為13.56 MHz,由石英振蕩器發(fā)生,但它同時也產生高次諧波。為了符合國際EMC規(guī)定,13.56 MHz中的3次、5次和高次諧波要被良好地抑制。本系統(tǒng)使用如圖2所示的L1、L2、C11、C13組成的低通濾波器來實現(xiàn)EMC濾波。
 (2)接收電路:MF RC500的內部接收部分使用了一個新的接收概念,即使用卡響應的副載波負載調制所產生的兩個邊頻帶,由圖2中的R9、R10、C9、C10組成接收電路。

 

 

 (3)阻抗匹配:在圖2中由電容C11和C13組成,電容的值由天線本身和環(huán)境因素來決定,本系統(tǒng)C11、C13均取47 pF。該部分電路主要是為了實現(xiàn)濾波和天線之間的阻抗匹配,以使天線的性能達到最佳。
2.5 讀寫器無線傳輸模塊
 系統(tǒng)的無線數(shù)據傳輸通過內嵌有TCP/IP協(xié)議的GPRS模塊來實現(xiàn)。目前市場上提供的GPRS無線模塊有WAVECOM公司的Q2403B,SIEMENS公司的MC35i、MC39I,摩托羅拉公司的G20等。結合本系統(tǒng)的實際應用,選用了SIEMENS的Sim300。Sim300是新一代的900 MHz/1 800 MHz雙頻自動選擇的無線模塊,內嵌有TCP/IP協(xié)議棧,無需微處理器的支持即可實現(xiàn)基于TCP/IP的數(shù)據傳輸。其支持標準的AT命令及增強的AT命令監(jiān)護數(shù)據模式,功能強大,操作靈活方便。微處理器可以通過標準串口接口RS232與Sim300通信,為用戶提供了標準的AT命令接口,為數(shù)據傳輸提供了快速、可靠、安全的傳輸通道,用戶可以很方便地進行實際應用的二次開發(fā)設計。
2.6 讀寫器人機交互的實現(xiàn)
 手持終端人機交互通過外擴的一塊I2C接口的數(shù)碼管驅動及鍵盤掃描管理芯片ZLG7290,配以8 bit共陰數(shù)碼管和16個按鍵實現(xiàn)。ZLG7290是廣州周立功單片機發(fā)展有限公司研發(fā)的數(shù)碼管驅動及鍵盤掃描管理芯片,具有I2C總線串行接口,能夠提供鍵盤中斷、驅動8 bit共陰數(shù)碼管和64個按鍵掃描等功能,并且支持10種數(shù)字和21種字母的譯碼顯示功能。
3 讀寫器軟件設計
 讀寫器的軟件采用μC/OS-Ⅱ嵌入式實時操作系統(tǒng)作為系統(tǒng)的軟件平臺,在μC/OS-Ⅱ系統(tǒng)下實現(xiàn)對讀寫器終端的控制管理。μC/OS-Ⅱ具有較高的可靠性和穩(wěn)定性,提供了多任務管理功能。系統(tǒng)的各單元部分以單獨的任務線程設計,在減少了軟件設計的復雜度的同時也增強了軟件系統(tǒng)的穩(wěn)定性。
3.1 μC/OS-Ⅱ嵌入式實時操作系統(tǒng)的移植
 要將μC/OS-Ⅱ實時操作系統(tǒng)移植到處理器上,處理器必須滿足以下條件[2]:
 (1)處理器的編譯環(huán)境能夠產生可以重入的C代碼。
 (2)用C語言就可以打開或關閉中斷。
 (3)處理器支持中斷處理,并能產生定時中斷。
 (4)處理器支持能夠容納一定數(shù)量的硬件堆棧。
 (5)處理器具有將寄存器、堆棧指針讀出和存儲到堆棧中的指令。
 對于ARM7系列的微處理器LPC2148及其開發(fā)環(huán)境ADS1.2的編譯器,完全能夠滿足上述條件,可以確保μC/OS-Ⅱ在LPC2148上的移植成功。移植工作包括:
 (1)用#define設置一個常量的值(OS_CPU.H)。
 (2)聲明10個數(shù)據類型(OS_CPU.H)。
 (3)用#define聲明3個宏(OS_CPU.H)。
 (4)用C語言編寫6個簡單的函數(shù)(OS_CPU_C.C)。
 (5)編寫4個匯編語言函數(shù)(OS_CPU_A.ASM)。
3.2 無線數(shù)據傳輸?shù)能浖崿F(xiàn)
 Sim300中內嵌了TCP/IP協(xié)議,并且以AT指令的形式給控制模塊提供接入GPRS網絡進而接入Internet的API接口。由于該GPRS模塊具有自動撥號功能,因此在進行無線數(shù)據傳輸時,不需要通過AT撥號指令連接Internet。讀卡器系統(tǒng)在傳輸數(shù)據時對數(shù)據準確性的要求相對較高,因此,本設計采用TCP的方式實現(xiàn)讀寫器終端與系統(tǒng)數(shù)據中心之間的數(shù)據傳輸。讀寫器終端在與數(shù)據中心進行數(shù)據傳輸時用到的AT指令如下:
 (1)建立TCP連接
 AT+CIPSTART=“TCP”,”61.13.48.9”,”2020”
連接數(shù)據中心服務器,此處61.13.48.9是服務器的IP地址,2020是端口號。連接成功的返回值是:CONNECT OK。
 (2)向服務器發(fā)送數(shù)據
 AT+CIPSEND
 >Hello everyone!<Ctrl+Z>
 向服務器發(fā)送字符串Hello everyone!。發(fā)送成功返回值為:OK。
 (3)關閉連接
 AT+CIPCLOSE
 斷開與數(shù)據中心服務器之間的連接,操作成功返回值為:OK。
 (4)關閉移動場景
 AT+CIPSHUT
 操作成功返回值為:OK。
 當服務器端有數(shù)據傳輸?shù)紾PRS模塊時,數(shù)據會通過模塊與LPC2148之間的串口接口直接轉發(fā)給MCU,不需要AT指令操作。
 由于該GPRS模塊具有上電自動撥號的功能,在程序設計時就不再考慮終端撥號上網的實現(xiàn)。
3.3 MF RC500驅動軟件的設計
 MF RC500的驅動程序主要是MCU對MF RC500的控制以實現(xiàn)MF RC500與IC卡之間的數(shù)據交互,并把相關的數(shù)據結果返回給MCU。MCU通過MF RC500與IC卡的數(shù)據交換過程如下:
 (1)由讀寫器的MCU發(fā)送指令給MCM(MF RC500)。
 (2)MCM執(zhí)行指令,并將其轉換為射頻信號發(fā)送給IC卡。
 (3)IC卡接收到來自MCM的指令后,按指令完成其內部的各種處理,并回送應答信號/數(shù)據給MCM。
 (4)MCM接收卡回送的射頻信號,并將其轉換為數(shù)字信號輸出給MCU,MCU讀取MCM接收到的應答/數(shù)據,即可完成與IC卡的數(shù)據交換。
 MF RC500實現(xiàn)對IC卡讀寫的程序流程如圖3所示。


3.4 動態(tài)密鑰加密算法
 動態(tài)密鑰的的基本思想是在保持系統(tǒng)主密鑰不變的情況下,每讀一次用戶卡就使用本次通信中產生的數(shù)據A動態(tài)地改寫用戶卡的密鑰一次,以此來確保用戶卡密鑰不斷更新,從而不被破解。數(shù)據A可以是當前通信時間、操作機具體標識或者隨機數(shù)的組合。其具體的設計和實現(xiàn)可以參考文獻[2]。
 本文介紹的利用GPRS無線網絡作為數(shù)據傳輸載體,以ARM7系列微處理器LPC2148作為主控單元的無線RFID讀寫器,具有通用性強、功耗低、便于攜帶、安裝方便等特點。采用μC/OS-Ⅱ多任務實時操作系統(tǒng),使得讀寫器終端的穩(wěn)定性和可靠性均得到了較大的提高,同時程序的模塊化設計有利于終端功能的升級與擴展。應用結果表明,該RFID讀寫器運行穩(wěn)定可靠、響應速度快、安裝和操作方便、便于攜帶,具有廣泛的應用前景。
參考文獻
[1] 謝高生,易靈芝,王根平.動態(tài)密鑰在Mifare射頻IC卡識別系統(tǒng)中的應用[J].計算機測量與控制,2009,17(4):725-726.
[2] LABROSSE J J.嵌入式實時操作系統(tǒng)μC/OS-Ⅱ(第二版)[M].邵貝貝譯.北京:北京航空航天大學出版社,2003.

此內容為AET網站原創(chuàng),未經授權禁止轉載。