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