基于MF RC500的射頻識(shí)別讀寫(xiě)器設(shè)計(jì)
文章出處:http://56733.cn 作者: 人氣: 發(fā)表時(shí)間:2011年10月20日
[文章內(nèi)容簡(jiǎn)介]:主要介紹一種基于Philips公司的MF RC500的射頻識(shí)別讀寫(xiě)器的設(shè)計(jì):首先介紹系統(tǒng)的組成以及MF RC500的特性,接著給出天線(xiàn)的設(shè)計(jì)規(guī)范,最后給出MCU 89C52與MF RC500的接口原理圖、對(duì)Mifare卡操作流程以及及讀卡的程序。該系統(tǒng)選用Mifare卡作為系統(tǒng)的應(yīng)答器(PICC),電路穩(wěn)定,系統(tǒng)運(yùn)行正常。
與傳統(tǒng)的接觸式IC卡、磁卡相比較,利用射頻識(shí)別技術(shù)(radio frequncy identification)開(kāi)發(fā)的非接觸式IC識(shí)別器,在系統(tǒng)壽命、防監(jiān)聽(tīng)、防解密等性能上具有很大的優(yōu)勢(shì)。利用MCU 89C52、MF RC500、、Mifare卡等構(gòu)建非接觸式IC讀寫(xiě)器,并在該讀寫(xiě)器基礎(chǔ)上能很容易地開(kāi)發(fā)出適用于各方面的自動(dòng)識(shí)別系統(tǒng)。 1 MF RC500介紹 MF RC500是應(yīng)用于13.56MHz非接觸式通信中高集成讀卡IC系列中的一員。該讀卡IC系列利用先進(jìn)的調(diào)制和解調(diào)概念,完全集成了在13.56MHz下所有類(lèi)型的被動(dòng)非接觸式通信方式和協(xié)議。MF RC500支持ISO14443A所有的層,內(nèi)部的發(fā)送器部分不需要增加有源電路就能夠直接驅(qū)動(dòng)近操作距離的天線(xiàn)(可達(dá)100mm);接收器部分提供一個(gè)堅(jiān)固而有效的解調(diào)和解碼電路,用于ISO14443兼容的應(yīng)答器信號(hào);數(shù)字部分處理ISO14443A幀和錯(cuò)誤檢測(cè)(奇偶&CRC)。此外,它還支持快速CRYPTO1加密算法,用于驗(yàn)證Mifare系列產(chǎn)品。方便的并行接口可直接連接到任何8位微處理器,給讀卡器/終端的設(shè)計(jì)提供了極大的靈活性。2 系統(tǒng)組成 從圖1可以看出,系統(tǒng)主要由MCU、時(shí)鐘芯片、MFRC500、液晶屏、看門(mén)狗以及485通信模塊組成。系統(tǒng)的工作方式主要是,先由MCU控制MF RC500驅(qū)動(dòng)天線(xiàn)對(duì)Mifare卡,也就是應(yīng)答器(PICC),進(jìn)行讀寫(xiě)操作。然后,根據(jù)所得的數(shù)據(jù)對(duì)其它接口器件,如液晶屏、EEPROM、時(shí)鐘芯片等,進(jìn)行響應(yīng)操作。最后,與PC機(jī)之間進(jìn)行通信,把數(shù)據(jù)傳給上位機(jī)。 MCU采用89C52,是因?yàn)?9C52開(kāi)發(fā)簡(jiǎn)單,運(yùn)行穩(wěn)定。EEPROM采用24C256,用于存儲(chǔ)系統(tǒng)的數(shù)據(jù)。24C256是串口操作方式,是一種性?xún)r(jià)比較高的存儲(chǔ)芯片。液晶屏采用帶字庫(kù)的ST7920,是因?yàn)樗遣⒖诓僮鞣绞降模僮鞣奖?。時(shí)鐘芯片采用DS12C887。DS12C887是Dallas公司生產(chǎn)的新型產(chǎn)品,內(nèi)置電池,可連續(xù)使用10年,可以方便記錄事件的發(fā)生時(shí)間。為了防止系統(tǒng)“死機(jī)”,使用x5045作為看門(mén)狗。X5045是串口工作方式,內(nèi)置EEPROM,可用來(lái)存儲(chǔ)一些系統(tǒng)參數(shù)。與上位機(jī)的通信采用RS-485通信模塊,通信距離可以達(dá)到1000m左右。 整個(gè)系統(tǒng)由24V電源供電,再由穩(wěn)壓模塊7805穩(wěn)壓成5V的電源。由于7805的工作熱量很高,故在7805上安置一個(gè)散熱片。3 系統(tǒng)工作原理 系統(tǒng)數(shù)據(jù)存儲(chǔ)在無(wú)源Mifare卡,也就是PICC中。從圖2可以看出,PCD的主要任務(wù)是傳輸能量給PICC,并建立與之的通信。PICC是由一個(gè)電子數(shù)據(jù)作載體,通常由單個(gè)微型芯片以及用作天線(xiàn)的大面積線(xiàn)圈等組成;而PCD產(chǎn)生高頻的強(qiáng)電磁場(chǎng),這種磁場(chǎng)穿過(guò)線(xiàn)圈橫截面和線(xiàn)圈周?chē)目臻g。因?yàn)镸F RC500提供的頻率為13.56MHz,所以其波長(zhǎng)比PCD的天線(xiàn)和PICC之間的距離大好多倍,可以把PICC到天線(xiàn)之間的電磁場(chǎng)當(dāng)作簡(jiǎn)單的交變磁場(chǎng)來(lái)對(duì)待。PCD天線(xiàn)線(xiàn)圈發(fā)射磁場(chǎng)的一小部分磁力線(xiàn)穿過(guò)PICC的天線(xiàn)線(xiàn)圈,接著PICC的天線(xiàn)線(xiàn)圈和電容器C構(gòu)成振蕩回路,調(diào)頻到PCD的發(fā)射頻率。回路的諧振使PICC線(xiàn)圈的電壓達(dá)到最大值,將其整流后作為數(shù)據(jù)載體(微型芯片)的電源。PICC啟動(dòng)之后 ,可與PCD之間進(jìn)行數(shù)據(jù)通信。 如上所述可以看出,PCD的性能與天線(xiàn)的參數(shù)有著直接的關(guān)系。在對(duì)天線(xiàn)的性能進(jìn)行優(yōu)化之后,PCD的讀卡距離可以達(dá)到10cm。4 PCD的天線(xiàn)設(shè)計(jì) 由于MF RC500的頻率是13.56MHz,屬于短波段,因此可以采用小環(huán)天線(xiàn)。小環(huán)天線(xiàn)有方型、圓形、橢圓型、三角型等,本系統(tǒng)采用方型天線(xiàn)。天線(xiàn)的最大幾何尺寸同工作波長(zhǎng)之間沒(méi)有一個(gè)嚴(yán)格的界限,一般定義為:L/λ≤1/(2π) (1)式(1)中,L是天線(xiàn)的最大尺寸,λ是工作波長(zhǎng)。對(duì)于13.6MHz的系統(tǒng)來(lái)說(shuō),天線(xiàn)的最大尺寸在50cm左右。 在天線(xiàn)設(shè)計(jì)中,品質(zhì)因數(shù)Q是一個(gè)非常重要的參數(shù)。對(duì)于電感耦合式射頻識(shí)別系統(tǒng)的PCD天線(xiàn)來(lái)說(shuō),較高品質(zhì)因數(shù)的值會(huì)使天線(xiàn)線(xiàn)圈中的電流強(qiáng)度大些,由此改善對(duì)PICC的功率傳送。品質(zhì)因數(shù)的計(jì)算公式為:Q=(2πf0·Lcoil)/Rcoil (2)式(2)中的f0是工作頻率,Lcoil是天線(xiàn)的尺寸,Rcoil是天線(xiàn)的半徑。通過(guò)品質(zhì)因數(shù)可以很容易計(jì)算出天線(xiàn)的帶寬:B=f0/Q (3) 從式(3)中可以看出,天線(xiàn)的傳輸帶寬與品質(zhì)因數(shù)成反比關(guān)系。因此,過(guò)高的品質(zhì)因數(shù)會(huì)導(dǎo)致帶寬縮小。從而減弱PCD的調(diào)制邊帶,會(huì)導(dǎo)致PCD無(wú)法與卡通信。一般系統(tǒng)的最佳品質(zhì)因數(shù)為10~30,最大值不能超過(guò)60。5 MF RC500與MCU 89C52的部分接口電路 圖3為MF RC500與MCU的接口原理。由圖3可以看出,本系統(tǒng)采用中斷(INT1)工作模式,即MCU利用MFRC500提供中斷信息對(duì)其進(jìn)行控制。另外,根據(jù)系統(tǒng)的需要,可以采用查詢(xún)方式對(duì)MF RC500進(jìn)行操作。6 對(duì)Mifarel卡操作流程 整個(gè)系統(tǒng)的工作由對(duì)Mifare卡操作和系統(tǒng)后臺(tái)處理兩大部分組成。由于篇幅有限,本文只介紹對(duì)Mifare卡操作流程。Mifare卡的操作可以分為以下幾項(xiàng)。(1)復(fù)位請(qǐng)求 當(dāng)一張Mifare卡片處在卡處讀寫(xiě)器的天線(xiàn)的工作范圍之內(nèi)時(shí),程序員控制讀寫(xiě)器向卡片發(fā)出REQUEST all(或REQUEST std)命令??ㄆ腁TR將啟動(dòng),將卡片Block 0中的卡片類(lèi)型(TagType)號(hào)共2個(gè)字節(jié)傳送給讀寫(xiě)器,建立卡片與讀寫(xiě)器的第一步通信聯(lián)絡(luò)。 如果不進(jìn)行得位請(qǐng)求操作,讀寫(xiě)器對(duì)卡片的其它操作將不會(huì)進(jìn)行。(2)反碰撞操作 如果有多張Mifare卡片處在卡片讀寫(xiě)器的天線(xiàn)的工作范圍之內(nèi)時(shí),PCD將首先與每一張卡片進(jìn)行通信,取得每一張卡片的系列號(hào)。由于每一張Mifare卡片都具有其唯一的序列號(hào),決不會(huì)相同,因此PCD根據(jù)卡片的序列號(hào)來(lái)保證一次只對(duì)一張卡操作。該操作PCD得到PICC的返回值為卡的序列號(hào)。(3)卡選擇操作 完成了上述二個(gè)步驟之后,PCD必須對(duì)卡片進(jìn)行選擇操作。執(zhí)行操作后,返回卡上的SIZE字節(jié)。(4)認(rèn)證操作 經(jīng)過(guò)上述三個(gè)步驟,在確認(rèn)已經(jīng)選擇了一張卡片時(shí),PCD在對(duì)卡進(jìn)行讀寫(xiě)操作之前,必須對(duì)卡片上已經(jīng)設(shè)置的密碼進(jìn)行認(rèn)證。如果匹配,才允許進(jìn)一步的讀寫(xiě)操作。(5)讀寫(xiě)操作 對(duì)卡的最后操作是讀、寫(xiě)、增值、減值、存儲(chǔ)和傳送等操作。7 讀卡程序 根據(jù)上面的流程,采用基于Keil C的C語(yǔ)言進(jìn)行編程,程序如下:char M500Reset(void){ char status;RC500RST=0; //RC500在RSTPD腳由高變低的時(shí)候復(fù)位delay_1ms(25); //注意延時(shí)的長(zhǎng)度,本系統(tǒng)的晶振頻率是11.0592MHzRC500RST=1;delay_50us(200);RC500RST=0;delay_50us(50);...return status;}char M500Config(void)//對(duì)RC500的寄存器進(jìn)行初始化char M500PiccCommonRequest(unsigned char req_code,unsigned char *atq) //RC500發(fā)送請(qǐng)求。req_code是請(qǐng)求模式,一共有request all和Request std兩種模式。Request all指令是非連續(xù)性的讀卡指令,只讀一次。但有個(gè)例外,當(dāng)某一次Request all指令讀卡片失敗時(shí),例如,卡片沒(méi)能通過(guò)密碼認(rèn)證或其它原因而出錯(cuò)時(shí),Request all指令將連續(xù)地讀卡,直到讀卡成功才進(jìn)入非連續(xù)性的讀卡模式。Request std指令的使用和Request all指令剛巧相反。Request std指令是連續(xù)性的讀卡指令。當(dāng)某一張卡片在MCM之天線(xiàn)的有效的工作范圍(距離)內(nèi),Request std指令在成功地讀取這一張卡片之后,進(jìn)入MCM對(duì)卡片的其它操作。如果其它操作完成之后 ,程序員又將MCM進(jìn)入Request std指令操作,則Request std指令將連續(xù)地再次進(jìn)行讀卡操作,而不管這些片卡是否被拿卡。只要有一張卡片進(jìn)入MCM之天線(xiàn)的有效的工作范圍(范圍)內(nèi),Request std指令將始終連續(xù)地再次進(jìn)行讀卡操作。對(duì)于Mifare1卡,該函數(shù)反回值為0004H。char M500PiccCascAnticoll(unsigned char bcnt,unsignedchar *snr) //反碰撞函數(shù),得到一張卡的序列號(hào)//存入snr中char M500PiccCascSelect(unsigned char *snr,unsigned char *sak) //選中snr指定的卡,對(duì)于Mifarel卡返回值為0008H,值存入sak中char M500PiccAuthKey(unsigned char auth_mode,unsigned char *snr,unsigned char *keys,unsigned char block)//這是三輪認(rèn)證函數(shù),整個(gè)過(guò)程包括:先將所要訪問(wèn)的區(qū)密碼加密(如區(qū)0的初始密碼為6個(gè)FFH),再將加密后的密碼通過(guò)Loadkey存入MF RC500的Key緩存中,接著進(jìn)行認(rèn)證。Char M500PiccRead(unsigned char addr,unsigned char *_data) //最后讀卡,讀到的數(shù)據(jù)存入_data中結(jié)語(yǔ) 本文主要介紹一種基于MF RC500的射頻識(shí)別讀寫(xiě)器的設(shè)計(jì)方法。試驗(yàn)證明系統(tǒng)運(yùn)行穩(wěn)定,在此讀寫(xiě)器的基礎(chǔ)上,只要稍加屐就能開(kāi)發(fā)成不同的射頻識(shí)別應(yīng)用系統(tǒng),如考勤系統(tǒng)、門(mén)禁 系統(tǒng)、公交車(chē)收費(fèi)系統(tǒng)等。
本文關(guān)鍵詞:射頻識(shí)別技術(shù),MFRC500,讀寫(xiě)器,M,頻識(shí)別技術(shù),MFRC500,讀寫(xiě)器,Mi,識(shí)別技術(shù),MFRC500,讀寫(xiě)器,Mif,別技術(shù),MFRC500,讀寫(xiě)器,Mifa,技術(shù),MFRC500,讀寫(xiě)器,Mifar,術(shù),MFRC500,讀寫(xiě)器,Mifare,,MFRC500,讀寫(xiě)器,Mifare卡,MFRC500,讀寫(xiě)器,Mifare卡,,FRC500,讀寫(xiě)器,Mifare卡,應(yīng),RC500,讀寫(xiě)器,Mifare卡,應(yīng)答,C500,讀寫(xiě)器,Mifare卡,應(yīng)答器,500,讀寫(xiě)器,Mifare卡,應(yīng)答器P,0
上一篇:IC卡讀寫(xiě)機(jī)的研制[ 10-20 ]
下一篇:基于新型非接觸IC卡T5557讀寫(xiě)器設(shè)計(jì)[ 10-20 ]