中北大學(xué)信息與通信工程學(xué)院 朱炳瑞 裴煥斗 劉春力
射頻識(shí)別即RFID(Radio Frequency Identification)技術(shù),是利用射頻方式在非接觸式射頻IC卡和讀寫(xiě)器之間進(jìn)行無(wú)線(xiàn)雙向通信的一種新的自動(dòng)識(shí)別技術(shù)。讀寫(xiě)器通過(guò)無(wú)線(xiàn)電訊號(hào)識(shí)別特定目標(biāo)并讀寫(xiě)相關(guān)數(shù)據(jù),實(shí)現(xiàn)無(wú)接觸信息傳遞,識(shí)別工作無(wú)須人工干預(yù)。與我們目前最常見(jiàn)的條形碼技術(shù)相比,RFID具有很大的優(yōu)勢(shì),如非接觸識(shí)別、識(shí)別距離長(zhǎng)、信息存儲(chǔ)量大、讀取信息快速方便、標(biāo)簽可重復(fù)使用以及標(biāo)簽?zāi)苓m應(yīng)復(fù)雜環(huán)境等。RFID技術(shù)廣泛應(yīng)用于圖書(shū)館、門(mén)禁系統(tǒng)、食品安全溯源、物流管理和城市一卡通等領(lǐng)域。
一套完整RFID系統(tǒng)由讀寫(xiě)器和應(yīng)答器兩部分組成。應(yīng)答器是射頻識(shí)別系統(tǒng)的數(shù)據(jù)載體,即射頻IC卡(又稱(chēng)電子標(biāo)簽、臨近卡等)。當(dāng)射頻IC卡進(jìn)入讀寫(xiě)器的射頻磁場(chǎng)中時(shí),會(huì)處于被激發(fā)狀態(tài)從而產(chǎn)生感應(yīng)電流驅(qū)動(dòng)卡片電路,將它儲(chǔ)存的信息發(fā)射出去。讀寫(xiě)器獲取到射頻IC卡發(fā)送的信息后通過(guò)解碼系統(tǒng)識(shí)別該信息,并可將識(shí)別信息進(jìn)一步傳遞到信息處理系統(tǒng)中進(jìn)行分析處理。
本文詳細(xì)論述了射頻識(shí)別卡Mifare1與其讀卡芯片MFRC522的特點(diǎn)與邏輯結(jié)構(gòu),基于模塊化的思想設(shè)計(jì)開(kāi)發(fā)了基于單片機(jī)控制系統(tǒng)的射頻讀寫(xiě)模塊并簡(jiǎn)要分析了RFID讀寫(xiě)模塊的程序控制和數(shù)據(jù)讀寫(xiě)的設(shè)計(jì)與實(shí)現(xiàn)。
射頻IC卡選用MIFARE MF1標(biāo)準(zhǔn)卡片,MF1是符合ISO/IEC 1443A的非接觸智能卡,卡片上除了IC微型芯片及一個(gè)高效率天線(xiàn)外,無(wú)任何其他元件。MF1卡的核心是Philips公司的MF1 IC S50系列微晶片,內(nèi)建有高速的CMOS、EEPROM、MCU等。8K Bits的EEPROM存儲(chǔ)器空間被劃分為16個(gè)扇區(qū),每個(gè)扇區(qū)4塊,每塊16個(gè)字節(jié),以塊為存取單位,整張卡片可設(shè)計(jì)為城市一卡通形式。內(nèi)含加密控制邏輯和通訊邏輯電路,可設(shè)計(jì)為增/減值的專(zhuān)項(xiàng)數(shù)學(xué)運(yùn)算電路,非常適合公共交通行業(yè)的檢票/收費(fèi)系統(tǒng)。MF1卡的天線(xiàn)是只有幾組繞線(xiàn)的線(xiàn)圈,很適于封裝到IS0卡片中。微晶片連接到天線(xiàn)線(xiàn)圈上,并嵌入塑料中,形成了一個(gè)無(wú)源的非接觸卡片。工作時(shí)的能量由讀寫(xiě)器天線(xiàn)發(fā)送頻率為13.56MHz無(wú)線(xiàn)電載波信號(hào),以非接觸方式耦合到卡片上天線(xiàn)而產(chǎn)生電能,通常可達(dá)2V以上。卡片標(biāo)準(zhǔn)讀寫(xiě)距離高達(dá)10cm,卡與讀寫(xiě)器之間的通信速率高達(dá)106Kbit/s。
MF RC522是Philips公司推出的一款非接觸式低功耗讀寫(xiě)基站芯片,利用先進(jìn)的調(diào)制和解調(diào)概念,完全集成了13.56MHz下所有類(lèi)型的被動(dòng)非接觸式通讀方式和協(xié)議。MFRC522支持ISO14443A所有的層,傳輸速度最高達(dá)424kbps。內(nèi)部發(fā)送器部分不需要增加有源電路就能直接驅(qū)動(dòng)近操作距離的天線(xiàn)與ISO14443A/MIFARE卡和應(yīng)答機(jī)的通信。接收器部分提供一個(gè)功能強(qiáng)大的高效的解調(diào)和譯碼電路,用來(lái)處理兼容ISO14443A/MIFARE的卡和應(yīng)答機(jī)的信號(hào)。芯片具有充裕的64字節(jié)的發(fā)送接收緩沖區(qū),內(nèi)置CRC協(xié)處理器,帶低功耗功能的硬件復(fù)位電路和軟件掉電模式,還有內(nèi)部的自檢電路。MF RC522帶有靈活高速的串行接口IIC、SPI、Serial UART,方便連接到各種各樣的MCU上。
MF RC522芯片邏輯結(jié)構(gòu)框圖如圖1.1所示。

圖1.1 RC522邏輯結(jié)構(gòu)圖

圖2.1 讀寫(xiě)系統(tǒng)結(jié)構(gòu)圖

圖3.1 RC522接口

圖3.2 天線(xiàn)電路

圖3.3 軟件流程圖

圖3.4 讀卡號(hào)結(jié)果

圖3.5 讀寫(xiě)塊數(shù)據(jù)、修改塊密碼結(jié)果
RFID讀寫(xiě)模塊主要由主控MCU、射頻讀寫(xiě)芯片、天線(xiàn)及匹配電路三部分組成。主控MCU通過(guò)對(duì)射頻讀寫(xiě)芯片內(nèi)寄存器的讀寫(xiě)來(lái)控制芯片,芯片收到MCU發(fā)來(lái)的命令后,按照非接觸式射頻卡協(xié)議格式,通過(guò)天線(xiàn)及其匹配電路向附近發(fā)出一組固定頻率的調(diào)制信號(hào)(13.56MHz)進(jìn)行尋卡,若此范圍內(nèi)有卡片存在,卡片內(nèi)部的LC諧振電路在電磁波的激勵(lì)下產(chǎn)生共振,在卡片內(nèi)部電壓泵的作用下不斷為其另一端的電容充電,獲得能量,當(dāng)該電容電壓達(dá)到2V時(shí),即可作為電源為卡片的其他電路提供工作電壓。
當(dāng)卡片上電路正常工作之后進(jìn)入通信流程,MCU向卡片發(fā)出尋卡命令,卡片將回復(fù)卡片類(lèi)型,建立卡片與讀卡器的第一步聯(lián)系,若同時(shí)有多張卡片在天線(xiàn)的工作范圍內(nèi),讀卡器通過(guò)啟動(dòng)防沖撞機(jī)制,根據(jù)卡片序列號(hào)來(lái)選定一張卡片,被選中的卡片再與讀卡器進(jìn)行密碼校驗(yàn),確保讀卡器對(duì)卡片有操作權(quán)限以及卡片的合法性,而未被選中的則仍然處在閑置狀態(tài),等待下一次尋卡命令。密碼驗(yàn)證通過(guò)之后,就可以對(duì)卡片進(jìn)行讀寫(xiě)等應(yīng)用操作。系統(tǒng)結(jié)構(gòu)如圖2.1所示。
MF RC522與MCU接口采用了四線(xiàn)制SPI,通信中的時(shí)鐘信號(hào)由MCU產(chǎn)生,RC522芯片接收來(lái)自MCU的數(shù)據(jù)以設(shè)置寄存器,并負(fù)責(zé)射頻接口通信中相關(guān)數(shù)據(jù)的收發(fā)。RC522的SPI總線(xiàn)接口有其自身的時(shí)序要求。它只能工作于從模式,最高傳輸速率為10Mbps,數(shù)據(jù)與時(shí)鐘相位關(guān)系滿(mǎn)足“空閑態(tài)時(shí)鐘為低電平,在時(shí)鐘上升沿同步接收和發(fā)送數(shù)據(jù),在下降沿?cái)?shù)據(jù)轉(zhuǎn)換”的約束關(guān)系。數(shù)據(jù)的傳輸路徑為:MCU通過(guò)MOSI線(xiàn)將數(shù)據(jù)發(fā)到RC522,RC522通過(guò)MISO線(xiàn)發(fā)回至MCU,并且兩根線(xiàn)上的每一個(gè)字節(jié)都是先發(fā)高位。兩根數(shù)據(jù)線(xiàn)上的信號(hào)電平在時(shí)鐘信號(hào)必須保證上升沿穩(wěn)定,在下降沿才允許改變,可以連續(xù)讀寫(xiě)N個(gè)字節(jié)。此外,MCU向RC522發(fā)送的第一個(gè)字節(jié)定義操作模式和所要操作的寄存器地址,最高位代表操作模式,1表示讀,0表示寫(xiě),中間六位(bit1~bit6)表示地址,最低位預(yù)留不用,默認(rèn)為0。
MFRC522芯片接口和天線(xiàn)部分電路如圖3.1和圖3.2所示。
MCU首先對(duì)RC522進(jìn)行初始化設(shè)置,寄存器配置,設(shè)置完成后RC522就可以與MF卡片通信了。RC522根據(jù)接收MCU的指令執(zhí)行相應(yīng)的操作,操作過(guò)程主要包括:尋卡,防沖突處理,選擇卡片,驗(yàn)證卡片,讀寫(xiě)操作。當(dāng)有MF卡進(jìn)入到射頻天線(xiàn)的有效范圍時(shí),讀卡程序開(kāi)始進(jìn)行上述一系列操作,操作流程如圖3.3所示。
RC522的驅(qū)動(dòng)程序調(diào)試成功之后,下載到實(shí)驗(yàn)板進(jìn)行檢驗(yàn)。按照通信協(xié)議分別對(duì)讀卡、讀塊數(shù)據(jù)、寫(xiě)塊數(shù)據(jù)、修改塊密碼等操作封裝,操作結(jié)果顯示在個(gè)性化的的人機(jī)交互界面。實(shí)驗(yàn)過(guò)程分別對(duì)讀卡號(hào)操作以及選定卡片后對(duì)卡片的塊進(jìn)行讀寫(xiě)數(shù)據(jù)和修改密碼等項(xiàng)進(jìn)行測(cè)試,測(cè)試結(jié)果如下圖3.4和圖3.5所示。
本文將高性能的讀卡芯片MFRC522和普通單片機(jī)結(jié)合在一起使用,沒(méi)有復(fù)雜的外圍電路,整個(gè)系統(tǒng)簡(jiǎn)潔明了。MFRC522通過(guò)SPI方式與單片機(jī)通信,適應(yīng)市場(chǎng)上大部分的MCU,系統(tǒng)適應(yīng)性強(qiáng)。模塊化的設(shè)計(jì)了射頻讀寫(xiě)系統(tǒng),方便用戶(hù)調(diào)用。以上介紹了基于RFID的單片機(jī)系統(tǒng)的設(shè)計(jì)方法和工作原理,實(shí)驗(yàn)表明,此設(shè)計(jì)的電路運(yùn)行穩(wěn)定,讀寫(xiě)數(shù)據(jù)準(zhǔn)確,操作時(shí)間較短。
[1]王愛(ài)英.智能卡技術(shù)(第三版)[M].北京:清華大學(xué)出版社,2009.
[2]陳保平,王月波,馬伯元.基于MF RC522的Mifare射頻卡讀寫(xiě)模塊開(kāi)發(fā).微計(jì)算機(jī)信息(嵌入式與SOC)[J].2007,23(11-2).
[3]嚴(yán)雄武.基于Mifare非接觸式IC卡的射頻識(shí)別系統(tǒng)研究與實(shí)現(xiàn)[D].武漢理工大學(xué),2005.
[4]嚴(yán)光文,張其善.射頻識(shí)別卡讀寫(xiě)模塊的設(shè)計(jì)[J].北京航空航天大學(xué)學(xué)報(bào),2003,29(2).