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