射頻識(shí)別(RFID)是一種非接觸的自動(dòng)識(shí)別技術(shù),它能通過(guò)射頻信號(hào)自動(dòng)識(shí)別目標(biāo)對(duì)象并獲取相關(guān)數(shù)據(jù),。RFID系統(tǒng)由3部分組成:讀寫(xiě)器(Reader)及天線(Antenna),、標(biāo)簽(Tag)和RFID后臺(tái)應(yīng)用管理系統(tǒng)。與其他自動(dòng)識(shí)別技術(shù)相比,,RFID技術(shù)具有可遠(yuǎn)距離,、多目標(biāo)識(shí)別、可反復(fù)讀寫(xiě),、適應(yīng)場(chǎng)合廣和智能化程度高等優(yōu)點(diǎn),,已越來(lái)越多地應(yīng)用于金融、保險(xiǎn),、身份認(rèn)證,、公共交通、物流,、倉(cāng)儲(chǔ)及會(huì)員管理等領(lǐng)域,。在RFID現(xiàn)場(chǎng)應(yīng)用中,通常的方法是直接在裝置上或者通過(guò)后臺(tái)系統(tǒng)來(lái)進(jìn)行操作,,然后將數(shù)據(jù)上傳并進(jìn)行處理,。但由于PC機(jī)和筆記本電腦體積較大,,存在攜帶、供電不便等問(wèn)題,,在實(shí)際環(huán)境中應(yīng)用時(shí)受到諸多制約,。來(lái)源一卡通世界。而PDA(掌上電腦)是一種比筆記本電腦還要小得多的個(gè)人信息處理設(shè)備,,其數(shù)據(jù)處理,、信息管理和電子商務(wù)等功能完善。將RFID和PDA結(jié)合起來(lái)應(yīng)用,,不僅保持了PDA的原有功能,,而且還具有了對(duì)射頻卡的讀、寫(xiě)能力,,能充分利用PDA的便捷,、易操作、大屏幕,、手寫(xiě)輸入等特點(diǎn),,形成具有高可靠性、低功耗,、操作簡(jiǎn)單,、模塊化設(shè)計(jì)的智能掌上數(shù)據(jù)處理終端設(shè)備,同時(shí)還能提供豐富的應(yīng)用軟件資源和硬件接口等,?;赑DA的RFID采集裝置可以方便操作人員的工作,大大提高現(xiàn)場(chǎng)工作效率,,為用戶提供方便高效的業(yè)務(wù)移動(dòng)處理模式,,是現(xiàn)代數(shù)據(jù)采集、電子管理的發(fā)展方向,,同時(shí)在PDA上亦能方便,、快捷地進(jìn)行二次應(yīng)用開(kāi)發(fā)。
1 RFID讀寫(xiě)模塊介紹
本文所使用的硬件設(shè)備之一是符合ETSI(歐洲電信標(biāo)準(zhǔn)協(xié)會(huì))規(guī)范的超高頻(UHF)RFID讀寫(xiě)模塊,,它具有高性能,、安全、低功耗等特點(diǎn),,能讀寫(xiě)EPC C1G1(產(chǎn)品電子代碼)、ISO 18000—6B和IS018000-6C等多種協(xié)議的標(biāo)簽,。該模塊能工作在862~955 MHz的頻段,,具有多種通信方式,能讀取1~2.5 m范圍內(nèi)的超高頻電子標(biāo)簽,。天線部分通過(guò)MMCX(連接器)母頭與RFID模塊進(jìn)行連接,。在此類嵌入式系統(tǒng)開(kāi)發(fā)過(guò)程中常需要解決設(shè)備間的通信問(wèn)題,,相對(duì)于其他類型的接口,串行通信仍然是最基本,、最常用的通信方式,。本文利用在WinCE系統(tǒng)下提供的通用串口驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)設(shè)備間的數(shù)據(jù)通信。
2 基于PDA的軟件開(kāi)發(fā)
2.1常用工具軟件及開(kāi)發(fā)流程
PDA常用的操作系統(tǒng)有WinCE和Linux,。WinCE系統(tǒng)下的開(kāi)發(fā)工具軟件主要有:C,、C#、Java,,Embedded Visual Basic和Embedded Visual C++等,;而Linux系統(tǒng)下一般用C語(yǔ)言來(lái)進(jìn)行開(kāi)發(fā)。本文作者是在WinCE系統(tǒng)下進(jìn)行軟件開(kāi)發(fā)的,。系統(tǒng)開(kāi)發(fā)流程如圖1所示,。
2 系統(tǒng)所具備的功能模塊
在PDA上開(kāi)發(fā)RFID系統(tǒng)需要實(shí)現(xiàn)的功能模塊主要有4個(gè):端口配置、端口配置信息,、標(biāo)簽信息和標(biāo)簽盤點(diǎn),。系統(tǒng)模塊功能圖如圖2所示。
來(lái)說(shuō),,端口配置的內(nèi)容大多是固定的,,包括端口名COMl或COM2、波特率,、數(shù)據(jù)位,、奇偶校驗(yàn)及停止位。在打開(kāi)串口之前首先應(yīng)進(jìn)行端口配置的設(shè)置,,設(shè)置完畢后再連接或斷開(kāi)連接,。
端口配置信息包括除端口配置外的標(biāo)簽協(xié)議信息、工作模式,、射頻頻率及射頻功率等,。標(biāo)簽協(xié)議信息可包括常用的幾種RFID協(xié)議,如EPC G2和IS018000—6B等,,并可選擇設(shè)置同時(shí)讀取幾種不同協(xié)議的標(biāo)簽,;工作模式根據(jù)循環(huán)讀取模式的不同讀取單張或多張標(biāo)簽;射頻功率由RFID模塊所確定,。本文作者使用的是超高頻的RFID模塊,,其頻率為916.5 MHz;射頻功率在10----27 dBm范圍內(nèi)可調(diào),。
3關(guān)鍵技術(shù)的實(shí)現(xiàn)
3.1接口與通信問(wèn)題
3.1.1接口問(wèn)題
本文作者使用的PDA是HP ipAQ,,由于大部分PDA采用的是RS232電平(士12 V),而RFID模塊使用的是TTL電平(0~5 V),,盡管都是串口,,都有TX/RX端點(diǎn),,但二者電壓不同,不能直接相連,,否則會(huì)燒掉RFID讀寫(xiě)模塊,,因此需要使用轉(zhuǎn)接口來(lái)實(shí)現(xiàn)轉(zhuǎn)換,PICl6F84是PDA的接口芯片,,與轉(zhuǎn)換芯片相連,,再連接到RFID模塊的接口(目前也有PDA支持TTL電平)。
3.1.2 PDA與RFID模塊間通信的實(shí)現(xiàn)
設(shè)備間串口通信[33過(guò)程如下:
(1)打開(kāi)串口,。使用串口之前,,首先應(yīng)使用CreateFile函數(shù)打開(kāi)串口,返回一個(gè)串口句柄,,并確認(rèn)使用的是COMl還是COM2,。
(2)串口配置。打開(kāi)串口后用SetComm State函數(shù)進(jìn)行端口配置,,包括波特率,、數(shù)據(jù)位、工作模式和射頻頻率等,。
(3)讀寫(xiě)串口,。通過(guò)ReadFile和WriteFile函數(shù)來(lái)讀寫(xiě)串口,讀和寫(xiě)的超時(shí)時(shí)間由SetCommTimeouts函數(shù)設(shè)置,。
(4)設(shè)置串口事件,。用SetCommMask函數(shù)設(shè)定要查找的一個(gè)或多個(gè)串口事件。
(5)接收串口數(shù)據(jù),。接收數(shù)據(jù)的同時(shí),,PDA向RFID模塊發(fā)送連接報(bào)文;當(dāng)PDA接收到正確的模塊返回報(bào)文后,,PDA與模塊連接成功,。此時(shí)PDA與RFID模塊之間可以進(jìn)行正常的串口通信。
(6)關(guān)閉串口,。在通信結(jié)束后,,PDA向RFID模塊發(fā)送斷開(kāi)連接報(bào)文,并關(guān)閉接收串口數(shù)據(jù)的線程,,調(diào)用CloseHandle函數(shù)來(lái)關(guān)閉串口句柄,,釋放資源。
PDA與RFID模塊在串口通信過(guò)程中進(jìn)行設(shè)置,、參數(shù)和信息記錄的上傳和下載過(guò)程的流程如圖4所示,。
本文所使用的RFID讀寫(xiě)模塊的部分命令如表1所示。
3.2數(shù)據(jù)庫(kù)的選擇及同步問(wèn)題
在PDA的應(yīng)用開(kāi)發(fā)研究中,,由于需要進(jìn)行PDA與PC機(jī)數(shù)據(jù)的交互[4],,因此數(shù)據(jù)庫(kù)的選擇、維護(hù)和不同數(shù)據(jù)庫(kù)間的同步問(wèn)題顯得非常重要,。目前在PDA的Win CE系統(tǒng)上可以使用的數(shù)據(jù)庫(kù)有:Pocket Access,、SQL Sever CE和Oracle9i Lite等。Pocket Access只提供對(duì)一組表的存儲(chǔ)和訪問(wèn),,由于缺乏報(bào)表,、存儲(chǔ)查詢以及表之間的關(guān)系,因此并不常用,,它只適合于地址本,、通訊錄之類的小容量數(shù)據(jù)庫(kù)應(yīng)用。
Oraclegi Lite提供基礎(chǔ)架構(gòu)和應(yīng)用程序服務(wù),,可以發(fā)布使用各種移動(dòng)設(shè)備的安全和個(gè)性化的應(yīng)用程序,。它是Oracle9i AS的附加軟件,對(duì)Ora—clegiAS Wireless進(jìn)行了完善,,提供了完整簡(jiǎn)單的集成化移動(dòng)電子商務(wù)框架,。來(lái)源一卡通世界。Oracle9i Lite包括兩個(gè)主要組件:Mobile Server和移動(dòng)開(kāi)發(fā)工具包,。對(duì)于使用Oracle基礎(chǔ)框架的企業(yè),,建議使用該數(shù)據(jù)庫(kù),以便獲得更高的穩(wěn)定性和服務(wù),。
SQL Server CE可以說(shuō)是目前功能較全面,、性能較穩(wěn)定的移動(dòng)數(shù)據(jù)庫(kù),它提供的關(guān)系數(shù)據(jù)庫(kù)所占空間很小,,但包含了一個(gè)查詢處理器和一些合并復(fù)制功能,,能執(zhí)行大部分SQL查詢處理,支持大部分SQL語(yǔ)句,,而且為移動(dòng)計(jì)算應(yīng)用進(jìn)行了很多優(yōu)化和取舍,,大大加快了SQL語(yǔ)句的執(zhí)行速度,提高了在低CPU頻率,、低內(nèi)存情況下運(yùn)行的性能,。SQLServer CE還能與SQL Server 2000較好地配合,只要通過(guò)少量的代碼就能實(shí)現(xiàn)移動(dòng)數(shù)據(jù)庫(kù)到服務(wù)器的數(shù)據(jù)連接,。從某種意義上講,,SQL Server CE就是SQL Server 2000的一個(gè)簡(jiǎn)化版本。本文選用的就是該數(shù)據(jù)庫(kù),。
目前可以利用RDA(Remote Data Access,,遠(yuǎn)程數(shù)據(jù)存取)和Replication(復(fù)制)來(lái)完成與PC機(jī)的SQL Server 2000[51數(shù)據(jù)庫(kù)的存取交換。由于PDA對(duì)PC機(jī)訪問(wèn)必須通過(guò)因特網(wǎng)信息服務(wù)器(IIS)進(jìn)行,因此安裝好SQL Server CE后需要在IIS上安裝SQL CE Server Tool,,并配置連接SQLServer 2000,。由于已有不少關(guān)于SQL Server CE與SQL Sever 2000配置的文章,本文不再贅述,。
4 實(shí)現(xiàn)結(jié)果
圖5和圖6所示為在WinCE系統(tǒng)下進(jìn)行調(diào)試并實(shí)現(xiàn)RFID功能的圖示,。圖5為端口配置示意圖。圖6為資產(chǎn)盤點(diǎn)示意圖,,反映了掃描到的標(biāo)簽相關(guān)信息,,從而完成了在PDA上實(shí)現(xiàn)RFID識(shí)別和處理功能。此外還需要將PDA,、RFID讀寫(xiě)模塊及天線進(jìn)行封裝,,使其真正一體化。
5 基于PDA的RFID手持機(jī)與傳統(tǒng)RFID手持機(jī)的比較
在完成了基于PDA的RFID手持機(jī)開(kāi)發(fā)后,,我們將其與傳統(tǒng)的RFID手持機(jī)產(chǎn)品進(jìn)行比較,,能更直觀地看到兩者各自所具有的特點(diǎn)及優(yōu)勢(shì),具體見(jiàn)表2,。
6 總結(jié)與展望
本文實(shí)現(xiàn)了PDA與RFID模塊的結(jié)合應(yīng)用,,研究了應(yīng)用PDA開(kāi)發(fā)RFID系統(tǒng)的關(guān)鍵問(wèn)題。雖然目前PDA價(jià)格相對(duì)較貴,,導(dǎo)致基于PDA的RFID手持機(jī)成本偏高,,但由于PDA本身功能強(qiáng)大,且具有較大的升級(jí)和功能擴(kuò)展空間,,因此基于PDA的RFID手持機(jī)具備普通RFID手持機(jī)無(wú)法比擬的優(yōu)勢(shì),。這種結(jié)合模式已經(jīng)在烽火通信科技股份有限公司的產(chǎn)品中得到應(yīng)用,同時(shí)通過(guò)對(duì)該過(guò)程的分析研究,,可以類比完成將一塊RFID芯片移植到其他個(gè)人信息處理設(shè)備中,,因此具有較高的實(shí)際應(yīng)用價(jià)值。