引 言
無線射頻識別技術(shù)(RFID)以其高度安全保密性、通信高速性、使用方便性、成本低等特點而得到快速的普及和推廣,現(xiàn)已廣泛地應(yīng)用于各類門禁控制系統(tǒng)、公共交通支付系統(tǒng)、醫(yī)療保險系統(tǒng)、停車場管理系統(tǒng)、倉儲管理、車輛防盜等方面,并帶動了讀寫器和各類應(yīng)用產(chǎn)品的開發(fā)和推廣。本文在分析射頻識別系統(tǒng)組成和原理的基礎(chǔ)上,提出了基于STC11F32高速單片機和MFRC500芯片的射頻讀寫器設(shè)計方案;同時,在該讀卡器上擴展了點陣圖形液晶LCD和串行存儲器W25X80,以及USB芯片CH340T等外圍設(shè)備。LCD可以顯示各種圖形和漢字;串行存儲器用來存儲點陣字庫、圖形庫等;USB芯片使得該讀卡器省去了串口和電源供電端口,可以通過USB接口和PC管理軟件通信。該讀卡器使用方便、成本低,電路運行穩(wěn)定,可以應(yīng)用到各種場合。
1 射頻讀寫系統(tǒng)的構(gòu)成和基本原理
最基本的RFID系統(tǒng)由3部分組成:
①電子標簽(Tag,或稱射頻標簽),由芯片及內(nèi)置天線組成。芯片內(nèi)保存有一定格式的電子數(shù)據(jù),作為待識別物品的標識性信息,是射頻識別系統(tǒng)真正的數(shù)據(jù)載體。內(nèi)置天線用于和射頻天線間進行通信。
②閱讀器,讀寫電子標簽信息的設(shè)備。主要任務(wù)是控制射頻模塊向標簽發(fā)射讀取信號,并接收標簽的應(yīng)答;對標簽的對象標識信息進行解碼,將對象標識信息連帶標簽上其他相關(guān)信息傳輸?shù)街鳈C以供處理。
③天線,標簽與閱讀器之間傳輸數(shù)據(jù)的發(fā)射、接收裝置。
射頻讀寫系統(tǒng)基本原理如下:讀寫器向卡片發(fā)一組固定頻率的電磁波,卡片內(nèi)有一個LC串聯(lián)諧振電路,其頻率與讀寫器發(fā)射的頻率相同。在電磁波的激勵下,LC諧振電路產(chǎn)生共振,從而使電容內(nèi)有了電荷。在這個電容的另一端接有一個單向?qū)ǖ碾娮颖?,將電容?nèi)的電荷送到另一個電容內(nèi)存儲。當所積累的電荷達到2 V時,此電容可作為電源為其他電路提供工作電壓,將卡內(nèi)數(shù)據(jù)發(fā)射出去或存取讀寫器的數(shù)據(jù)。
2 讀卡器硬件設(shè)計
STC11F32是宏晶科技公司生產(chǎn)的單時鐘/機器周期(1T)的單片機,是高速、低功耗、具有超強抗干擾能力的新一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8~12倍。內(nèi)部集成高可靠復(fù)位電路,可用在高速通信、智能控制、強干擾等場合;內(nèi)部有32 KB的Flash、29KB的EEPROM和1 280字節(jié)的SRAM;EA、ALE、PSEN和RST引腳可以定義為通用I/O,即4個P4引腳;編程支持ISP下載功能,使用起來比較方便。
MFRC500是Philips公司應(yīng)用于13.56 MHz非接觸式通信中高集成讀卡IC系列中的一員。該讀卡IC系列利用先進的調(diào)制解調(diào)概念,完全集成了13.56 MHz下所有類型的被動非接觸式通信方式和協(xié)議。MFRC500支持ISO 14443A所有的層,內(nèi)部的發(fā)送器部分不需要增加有源電路就能夠直接驅(qū)動近操作距離的天線(距離可達10cm);與微控制器的接口方式有多種,既可以采用總線擴展方式,也可以采用模擬總線方式。
為了使用STC11F32內(nèi)部1 KB的擴展SRAM,采用模擬總線接口方式,即用單片機的P0口和MFRC500的D0~D7相連,用EA、ALE、WR、RD等作為控制線分別和MFRC500的NCS、ALE、NWR、NRD等相連。由于是模擬總線方式,所以單片機的P0口要加上拉電阻。采用模擬總線方式是一種通用的方法,特別是對于不支持總線擴展的單片機更為重要。該設(shè)計中使用模擬總線方式可防止MFRC500和單片機內(nèi)部的RAM發(fā)生總線沖突。圖1是讀卡器的系統(tǒng)硬件原理圖。
CH340T是南京沁恒公司生產(chǎn)的USB總線轉(zhuǎn)接芯片,可以實現(xiàn)USB轉(zhuǎn)串口,用于為計算機擴展異步串行口,或者將普通的串口設(shè)備直接升級到USB總線。CH340T是全速USB設(shè)備接口,兼容USB V2.0,外圍元器件只需要晶體和電容等器件;硬件全雙工串口,內(nèi)置收發(fā)緩沖區(qū),支持通信波特率50 bps~2 Mbps;支持常用的Modem聯(lián)絡(luò)信號RTS、DTR、DCD、RI、DSR等。CH340T使得該讀卡器省去了串口和電源供電端口,可以通過該USB接口和PC管理軟件通信。
LCD采用的是不帶字庫的點陣圖形LCD模塊FG12864E。為了使讀卡器可以應(yīng)用在諸如圖書館圖書管理等需要漢字顯示的場合,采用串行存儲器W25X80自行設(shè)計了GB2312漢字庫和其他圖片庫。串行存儲器以其體積小、密度高、功耗低、價位低、操作簡單而備受青睞。Winbond公司生產(chǎn)的W25X80為8 Mb串行存儲器,分為4 096頁,每頁為256字節(jié)的存儲單元,且?guī)в?56字節(jié)的緩沖區(qū),SPI接口方式。使用Flash自行設(shè)計漢字庫不僅操作十分簡單,并且可以靈活地適用于多個設(shè)計方案。
3 讀卡器軟件設(shè)計
在軟件設(shè)計中STC11F32和MFRC500之間的模擬通信是最關(guān)鍵的一步,因為只有打通了底層通信的關(guān)鍵環(huán)節(jié),STC11F32才能進一步通過控制MFRC500實現(xiàn)讀、寫卡的基本操作。為了實現(xiàn)這一步,首先要弄清楚MFRC500的讀寫時序。本設(shè)計采用的是獨立讀/寫選通、復(fù)用地址總線的方式,在此方式下MFRC500的讀寫時序如圖2所示。
根據(jù)該時序圖可以寫出STC11F32單片機從MFRC500讀、寫一個字節(jié)的C語言實現(xiàn)代碼。
(1)從一個地址讀出一個數(shù)據(jù)
STC11F32主要通過調(diào)用這兩個最基本的函數(shù)來實現(xiàn)對MFRC500進行復(fù)雜的讀寫控制的。采用模擬總線通信方式的最大好處是,用C語言寫的代碼很容易移植到不支持總線擴展的各種單片機上,增強了軟件模塊的可復(fù)用性和可移植性。打通了底層通信的關(guān)鍵環(huán)節(jié)之后,就可以編寫調(diào)試各個軟件模塊。軟件總體流程如圖3所示。
系統(tǒng)上電后,首先要初始化STCllF32的I/O引腳和串行口。I/O設(shè)置主要是把STC11F32的特殊引腳(如EA、ALE、PSEN等)定義為通用I/O,以便與MFRC500進行模擬通信。之后進行MFRCS00的復(fù)位,要延時足夠長的時間以使MFRC500得到可靠的復(fù)位。在復(fù)位過程中,MFRC500的一些寄存器位由硬件預(yù)置;復(fù)位成功以后,還需要對MFRC500的各個寄存器進行必要的配置。
在LCD初始化完成后,LCD上將顯示系統(tǒng)的相關(guān)提示信息,然后等待用戶從串口或按鍵輸入的命令,根據(jù)用戶輸入的命令進行相應(yīng)的操作,并把執(zhí)行操作的結(jié)果再返回給用戶,同時在LCD上顯示出來。
結(jié) 語
本文采用宏晶科技的高速、低價位單片機STC11F32和Philips公司的MFRC500芯片設(shè)計出了非接觸式的射頻讀卡器;按照ISO/IEC 14443的標準,完成了系統(tǒng)硬件和軟件的設(shè)計工作。經(jīng)實際使用證明,該讀卡器工作穩(wěn)定、抗干擾能力強、性價比高、操作靈活,具有很強的市場競爭力。