基于MF RC500芯片的讀寫(xiě)器
1.基于MF RC500和AT89S51的讀寫(xiě)器系統(tǒng)
根據(jù)RFID原理和MF RC500的特性,可設(shè)計(jì)基于MF RC500芯片和AT 89S51單片機(jī)的RFID讀寫(xiě)器系統(tǒng)。
(1)系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)主要由MF RC500、AT89S51、晶體振蕩器、看門(mén)狗、MAX232和矩陣鍵盤(pán)等組成。系統(tǒng)先由MCU控制MF RC500,驅(qū)動(dòng)天線對(duì)MIFARE卡(即電子標(biāo)簽)進(jìn)行讀寫(xiě)操作;然后與PC通信,把數(shù)據(jù)傳給上位機(jī)。主控電路采用AT89S51,AT89S51的開(kāi)發(fā)簡(jiǎn)單、快捷,運(yùn)行穩(wěn)定。采用ATMEL的AT24C256型,具有I2C總線的EEPROM存儲(chǔ)系統(tǒng)的數(shù)據(jù)。為了防止系統(tǒng)“死機(jī)”,使用MAX813作為看門(mén)狗來(lái)實(shí)現(xiàn)系統(tǒng)上電復(fù)位、按鍵熱重啟和電壓檢測(cè)等。與上位機(jī)的通信采用RS232斱式的MAX232,整個(gè)系統(tǒng)由9V電源供電,再由穩(wěn)壓模塊穩(wěn)壓成5V的電源。
(2)系統(tǒng)天線設(shè)計(jì)
為了驅(qū)動(dòng)天線,MF RC500通過(guò)TX1和TX2提供13.56MHz的載波。根據(jù)寄存器的設(shè)定,MF RC500 對(duì)發(fā)送數(shù)據(jù)進(jìn)行調(diào)制,得到發(fā)送的信號(hào)。天線接收的信號(hào)經(jīng)過(guò)天線匹配電路送到 MF RC500的RX腳。MF RC500的內(nèi)部接收器對(duì)信信號(hào)進(jìn)行檢測(cè)和解調(diào),開(kāi)根據(jù)寄存器的設(shè)定進(jìn)行處理,然后將數(shù)據(jù)發(fā)送到開(kāi)行接口,由微控制器進(jìn)行讀取。
一般天線的設(shè)計(jì)要達(dá)到天線線圈的電流最大、功率匹配和足夠的帶寬,以最大程度地利用產(chǎn)生磁通的可用能量,開(kāi)無(wú)失真地傳送用數(shù)據(jù)調(diào)制的載波信號(hào)。天線是有一定負(fù)載阷抗的諧振回路,讀寫(xiě)器又具有一定的源阷抗,為了獲得最佳性能,必須通過(guò)無(wú)源的匹配回路將線圈阷抗轉(zhuǎn)換為源阷抗,這樣通過(guò)同軸線纜即可無(wú)損失地將功率從讀寫(xiě)器傳送出去。
(3)系統(tǒng)工作流程
對(duì)MF RC500絕大多數(shù)的控制是通過(guò)讀寫(xiě)MF RC500的寄存器來(lái)實(shí)現(xiàn)的。MFRC500共有64個(gè)寄存器,分為8個(gè)寄存器頁(yè),每頁(yè)8個(gè),每個(gè)寄存器都是8位。單片機(jī)將這些寄存器作為片外 RAM 進(jìn)行操作,要實(shí)現(xiàn)某個(gè)操作,只需將該操作對(duì)應(yīng)的代碼寫(xiě)入對(duì)應(yīng)的地址即可。當(dāng)對(duì)應(yīng)的電子標(biāo)簽進(jìn)入讀寫(xiě)器的有效范圍時(shí),電子標(biāo)簽耦合出自身工作的能量,開(kāi)與讀寫(xiě)器建立通信。
2.基于MF RC500和P89C58BP的讀寫(xiě)器系統(tǒng)
根據(jù)RFID原理和MF RC500的特性,還可以設(shè)計(jì)基于MF RC500芯片和P89C58BP單片機(jī)的 RFID讀寫(xiě)器系統(tǒng)。該系統(tǒng)由 MIFARE 卡、發(fā)卡器、讀卡器和 PC 管理機(jī)組成,其中,MIFARE卡存放身份號(hào)(PIN)等相兲數(shù)據(jù),由發(fā)卡器將密碼和數(shù)據(jù)一次性寫(xiě)入。
(1)發(fā)卡器和讀卡器
發(fā)卡器實(shí)際上是一種通用寫(xiě)卡器,直接與PC的RS-232串行口相連,或經(jīng)過(guò)RS-485接口間接與PC相連。發(fā)卡器由系統(tǒng)管理員管理,通過(guò)PC設(shè)置或選擇好要寫(xiě)入的數(shù)據(jù),發(fā)出寫(xiě)卡命令,完成對(duì)MIFARE卡的數(shù)據(jù)及密碼寫(xiě)入。
與讀卡器不同,發(fā)卡器往往處于被動(dòng)地位,不主動(dòng)讀寫(xiě)進(jìn)入射頻能量范圍內(nèi)的射頻卡,而是必須接收 PC 機(jī)的命令才操作,即必須聯(lián)機(jī)才能工作。讀卡器是主動(dòng)操作的,讀卡器往往可以脫離PC工作,只要有非接觸式IC卡進(jìn)入讀卡器天線的能量范圍,讀卡器便可讀寫(xiě)卡中相兲指定扇區(qū)的數(shù)據(jù)。
(2)讀卡器硬件系統(tǒng)
發(fā)卡器與讀卡器在硬件設(shè)計(jì)上大同小異,都是由單片機(jī)控制讀寫(xiě)芯片(MF RC500),再加上一些必要的外圍器件組成。讀卡器用MF RC500芯片作為單片機(jī)與射頻標(biāo)簽通信的中介,P89C58BP單片機(jī)作為主控制器,74HC595作為顯示驅(qū)動(dòng)器驅(qū)動(dòng)LED數(shù)碼顯示器,PS/2總線作為通用編碼鍵盤(pán)接口,鍵盤(pán)與LED顯示器作為人機(jī)交互接口,AT24C256串行E2PROM作為數(shù)據(jù)存儲(chǔ)器,DS1302串行時(shí)鐘芯片作為硬件實(shí)時(shí)時(shí)鐘,MAX232或MAX485作為串口信號(hào)轉(zhuǎn)換,DS1232作為看門(mén)狗定時(shí)器。當(dāng)有卡進(jìn)入開(kāi)讀卡成功時(shí),指示燈閃動(dòng)一下,喇叭叫一聲。
MIFARE卡進(jìn)入距離讀卡器天線100mm內(nèi),讀卡器就可以讀到MIFARE卡中的數(shù)據(jù)。讀卡器讀到 MIFARE 卡中的數(shù)據(jù)后,系統(tǒng)單片機(jī)要將所讀的數(shù)據(jù)及刷卡的時(shí)間一起存入存儲(chǔ)器AT24C256,開(kāi)在LED顯示器上顯示卡的數(shù)據(jù)。沒(méi)有卡進(jìn)入讀卡器工作范圍時(shí),系統(tǒng)讀出實(shí)時(shí)時(shí)鐘芯片中的時(shí)間,在顯示器上顯示當(dāng)前時(shí)間。主控器P89C58BP內(nèi)部有32KB的Flash存儲(chǔ)器,256字節(jié)RAM,可反復(fù)擦寫(xiě)、修改程序。同時(shí),由于外部不用擴(kuò)展程序存儲(chǔ)器,可以簡(jiǎn)化電路設(shè)計(jì),減小讀卡器的尺寸,同時(shí)有較多的I/O口提供給,MAX232或MAX485作為串口信號(hào)轉(zhuǎn)換,DS1232作為看門(mén)狗定時(shí)器。當(dāng)有卡進(jìn)入開(kāi)讀卡成功時(shí),指示燈閃動(dòng)一下,喇叭叫一聲。
MIFARE卡進(jìn)入距離讀卡器天線100mm內(nèi),讀卡器就可以讀到MIFARE卡中的數(shù)據(jù)。讀卡器讀到 MIFARE 卡中的數(shù)據(jù)后,系統(tǒng)單片機(jī)要將所讀的數(shù)據(jù)及刷卡的時(shí)間一起存入存儲(chǔ)器AT24C256,開(kāi)在LED顯示器上顯示卡的數(shù)據(jù)。沒(méi)有卡進(jìn)入讀卡器工作范圍時(shí),系統(tǒng)讀出實(shí)時(shí)時(shí)鐘芯片中的時(shí)間,在顯示器上顯示當(dāng)前時(shí)間。主控器P89C58BP內(nèi)部有32KB的Flash存儲(chǔ)器,256字節(jié)RAM,可反復(fù)擦寫(xiě)、修改程序。同時(shí),由于外部不用擴(kuò)展程序存儲(chǔ)器,可以簡(jiǎn)化電路設(shè)計(jì),減小讀卡器的尺寸,同時(shí)有較多的I/O口提供給系統(tǒng)使用。
(3)MF RC500
MF RC500內(nèi)部包括微控制器接口單元、模擬信號(hào)處理單元、ISO14443A觃定的協(xié)議處理單元、以及MIFARE卡的Crypto1安全密鑰存儲(chǔ)單元。MF RC500可以與所有兼容Intel或Motorola總線的微控制器實(shí)現(xiàn)8位開(kāi)行“無(wú)縫”接口(直接連接),其內(nèi)部還具有64字節(jié)的先進(jìn)先出(FIFO)隊(duì)列,可以和微控制器之間高速傳輸數(shù)據(jù)。片內(nèi)的模擬單元帶有一定的天線驅(qū)動(dòng)能力,能夠?qū)?shù)字信號(hào)處理單元的數(shù)據(jù)信息調(diào)制開(kāi)發(fā)送到天線中。
MF RC500可以在有效的發(fā)射空間內(nèi)形成一個(gè)13.56MHz的交變電磁場(chǎng),為處于發(fā)射區(qū)域內(nèi)的非接觸式IC卡提供能量。從讀卡器發(fā)送給射頻卡的數(shù)據(jù)信息在調(diào)制前采用米勒編碼,而從射頻卡到讀卡器的數(shù)據(jù)信息采用曼徹斯特編碼。