《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于AT89C51CC01和FM1712的射頻卡讀寫器的設計[圖]
基于AT89C51CC01和FM1712的射頻卡讀寫器的設計[圖]
C114
C114
摘要: 射頻卡(非接觸IC卡)是最近幾年發(fā)展起來的一項新技術,,與傳統(tǒng)的接觸式IC卡磁卡相比較,,利用射頻識別技
Abstract:
Key words :
射頻卡(非接觸IC卡)是最近幾年發(fā)展起來的一項新技術,,與傳統(tǒng)的接觸式IC卡磁卡相比較,,利用射頻識別技術(radio frequency identifica-tion)開發(fā)的非接觸式IC卡成功解決了無源和免接觸等難題,,是電子器件領域的一大突破,。其高度安全保密性以及使用簡單等特點,,使之在各領域的應用異軍突起,。本文介紹的非接觸射頻卡讀寫器就是基于單片機AT89C51CC01 (筆者應設計需要選擇帶獨立CAN控制器的MCU)與復旦微電子股份有限公司的FM1712嵌入式讀寫芯片開發(fā)的,。它能完成對Mifare卡的所有讀寫及控制操作,,并可方便地嵌入到其它的系統(tǒng)(例如:門禁,公交,,考勤等)中而成為用戶系統(tǒng)的一部分,。

1 FM1712芯片簡介

FM1712系列是復旦微電子股份有限公司設計的非接觸卡讀卡機專用芯片。它采用0.6微米CMOS EEPROM工藝制造,,可分別支持13.56 MHz頻率下的typeA,、typeB非接觸式通信協(xié)議,以及Mifare標準的加密算法,,并可兼容Philips的RC500,、RC530、RC531讀卡機芯片,。FM1712內部的發(fā)射器不需要增加有源電路就可以驅動近距離天線(可達10 cm),,而其接收部分則提供了一個堅固而有效的解調和解碼電路,以用于接收ISO14443兼容的應答信號。數(shù)字部分還可以處理ISO14443幀和錯誤檢測奇偶CRC,。FM1712芯片只需少量的外圍電路就可以工作,,它支持6種微處理器接口,其數(shù)字電路具有TTL和CMOS兩種電壓工作模式,。

2 系統(tǒng)設計

圖1所示是基于FM1712的通用射頻讀寫系統(tǒng)的結構框圖,。該系統(tǒng)由AT89C51CC01、鍵盤,、EEPROM,、FM1712、LCD,,以及485通信模塊組成,。MCU負責控制FM1712對Mifare卡(也就是應答器PICC)的讀寫操作,再根據得到的數(shù)據對LCD,、EEPROM進行相應的操作,。MCU與PC機通過CAN總線進行通信。使用時,,即使PC機與MCU之間通信發(fā)生異常,,MCU也可以獨立工作。在與PC機通信恢復之后,,MCU還可以將備份在EEP-ROM中的信息再傳給PC機,。AT89C5lCC01是一款單片封裝的微控制器,它采用高性能的處理器結構,,其指令執(zhí)行時間只需2至4個時鐘周期,。EEPROM采用的FM24C64L是一款以I2C為操作方式的存儲芯片。LCD則選擇內置HD61202U控制器的點陣式液晶LM12864,,因為LM12864是并口操作方式,,因此使用起來比較方便。整個系統(tǒng)采用12 V電源供電,,再由穩(wěn)壓芯片穩(wěn)壓成3.6 V,。

基于AT89C51CC01和FM1712的射頻卡讀寫器的設計

3 工作原理

射頻卡的電氣部分由天線和1個高速(106KB/s)RF口、1個控制單元和1個8 KB的EEPROM組成,。其中EEPROM分為16個扇區(qū),,每個扇區(qū)為4塊,每塊16個字節(jié),,以塊為存取單位,,每個扇區(qū)有獨立的一組密碼以進行訪問控制。每張卡都有一個唯一的32位序列號,。該RF卡無電源,,自帶高頻天線,,內含加密控制邏輯和通訊邏輯電路。信息存儲在Mifare卡里,,讀寫器與Mifare卡通過各自的天線建立二者之間的非接觸信息傳輸通道,。系統(tǒng)數(shù)據存儲在無源Mifare,也就是PICC(應答器)中,。圖2為系統(tǒng)工作原理,,可以看出,PCD(讀寫器)的主要任務是傳輸能量給PICC,,并建立與之的通信,。PICC是由一個電子數(shù)據作載體,通常由單個微型芯片以及用作天線的大面積線圈等組成,;而PCD則可產生高頻強電磁場,,這種磁場能穿過線圈橫截面和線圈周圍的空間。因為FM1712提供的頻率為13.56 MHz,,其波長比PCD的天線和PICC之間的距離大好多倍,,故可以把PICC到天線之間的電磁場當作簡單的交變磁場來對待。首先讓PCD天線線圈發(fā)射磁場的一小部分磁力線穿過PICC的天線線圈,,接著將PICC天線線圈和電容器C構成的振蕩回路調頻到PCD的發(fā)射頻率,。回路的諧振可使PICC線圈的電壓達到最大值,,將該電壓整流后作為數(shù)據載體(微型芯片)的電源。這樣,,在PICC啟動之后,,可與PCD之間進行數(shù)據通信。如上所述可以看出,。PCD的性能與天線的參數(shù)有著直接的關系,。在對天線的性能進行優(yōu)化之后,PCD的讀卡距離可以達到10 cm,。

基于AT89C51CC01和FM1712的射頻卡讀寫器的設計

4 讀寫器的天線設計

由于FM1712的頻率是13.56 MHz,,屬于短波段,因此可以采用小環(huán)天線,。小環(huán)天線有方型,、圓形、橢圓型,、三角型等,。本系統(tǒng)采用方型天線。天線是非接觸式lC卡讀寫器的一個重要組成部分,,在讀寫器和非接觸式IC卡通信中,,天線主要用于產生能發(fā)射和接收射頻信號磁通量,,而磁通量用于給讀寫器提供電源并在讀寫器和卡片之間傳送信息。根據互感原理可知,,半徑越大,、匝數(shù)越多,讀寫器上的天線和卡上天線的互感系數(shù)就越大,。根據國際標準要求,,卡和讀寫器的通信距離為10 cm。天線可等效成R,、L,、C并聯(lián)回路(見系統(tǒng)工作原理圖),故在設計天線時要注意天線的品質因數(shù),。國際標準ISO14443規(guī)定:無論TYPEA或TYPEB非接觸式IC卡,,其讀寫器和卡之間的數(shù)據傳輸速度為106 KB/s,載波的頻率f0=13.56 MHz,,因此,,每一位數(shù)據的維持時間T0=106/104k=9.44μs。TYPEA類射頻智能卡讀寫器到射頻卡的信號編碼是修正米勒編碼,,傳送每一位數(shù)都會具有3μs的載波中斷,,因此,該信號的帶寬近似為B=1/T=1/3μs=333.333 kHz,。這樣,,天線的品質因數(shù)應為:Q=f0/B=13.56 MHz/333.333kHz=35。由于天線的傳輸帶寬與品質因數(shù)成反比關系,,因此,,過高的品質因數(shù)會導致帶寬縮小,從而減弱讀寫器的調制邊帶,。導致讀寫器無法與卡通信,。

5 硬件接口電路設計

圖3所示是該讀卡器的硬件接口電路。由圖3可以看出,,MCU與FM1712是通過SPI總線通信的,。本系統(tǒng)采用中斷(INT1)工作模式,即MCU利用FM1712提供的中斷信息對其進行控制,。需要注意的是,,F(xiàn)M1712復位后必須進行一次初始化程序以視始化SPI接口模式,這樣還可以同步進行MCU和FM1712的啟動工作,。另外,,根據系統(tǒng)的需要,也可以采用查詢方式對FM1712進行操作,。

基于AT89C51CC01和FM1712的射頻卡讀寫器的設計

6 讀寫器對卡的操作

FM1712內部有8個寄存器頁,,每頁有8個寄存器,,每個寄存器有8位數(shù)據。這些寄存器是統(tǒng)一編址的(從0x00到0x3F),,MCU通過SPI接口與FM1712通信來對這些寄存器進行設置,。如MCU需要讓FM1712執(zhí)行某個命令(Transceive),就可以把此命令的代碼(1E)寫入Command寄存器,。必須注意的是,,MCU對卡片的操作不是簡單的一條指令所能完成的,其中必須有對FM1712內部硬件寄存器的設置,。其操作如圖4所示,。以下是對卡的操作定義。

基于AT89C51CC01和FM1712的射頻卡讀寫器的設計

(1) 初始化:包括對MCU的初始化和對各硬件寄存器設定初始值,、打開RF場以及看門狗復位等操作,;同時要初始化FM1712的SPI接口和定時器。設置定時器控制寄存器,,并打開TX1,、TX2。

(2) Request (請求):當一張Mifare卡片處在卡片讀寫器的天線工作范圍之內時,,程序員可控1制讀寫器向卡片發(fā)出REQUEST all(或REQUESTstd)命令,,以啟動卡片的ATR將卡片Block0中的卡片類型(TagType)號共2個字節(jié)傳送給讀寫器,從而建立卡片與讀寫器的第一步通信聯(lián)絡,。如果不進行復位請求操作,,讀寫器對卡片的其它操作將不能進行。

(3) Anticollision Loop(防沖突機制):如果有多張Mifare卡片處在卡片讀寫器的天線工作范圍之內,,PCD將首先與每一張卡片進行通信,,以取得每一張卡片的系列號。由于每一張Mifare卡片都具有其唯一的序列號而決不會相同,,因此,PCD可根據卡片的序列號來保證一次只對一張卡進行操作,。該操作后,,PCD得到PICC的返回值即為卡的序列號。

(4) Select Tag(選擇卡片):完成上述步驟之后,,PCD必須對卡片進行選擇操作,。執(zhí)行操作后,返回卡上的SIZE字節(jié),。

(5) Authentication(三次相互驗證):經過上述步驟并在確認已經選擇了一張卡片時,,讀寫器在對卡進行讀寫操作之前,還必須對卡片上已經設置的密碼進行認證,。如果匹配,,才允許進一步進行讀寫操作,。

(6) 讀寫操作:對卡的最后操作就是讀、寫,、增值,、減值、存儲和傳送等操作,。在每一個加值和減值操作后都必須跟隨一條Transfer傳送指令,。這樣才能真正地將數(shù)據結果傳送到卡片上。如果沒有傳送指令,,數(shù)據結果仍將保持在數(shù)據緩沖寄存器中,。

(7) 若循環(huán)詢問是Request All指令,那么,,在處理完一張卡片后,,還要判斷是否還有未處理完的卡片。

7 結束語

IC卡以其高度的信息集成及安全性已經融入當今信息技術的主流之中,。本文介紹的讀寫器所用的讀卡芯片F(xiàn)M1712是一款優(yōu)秀的新型國產芯片,,經實驗證明,基于該芯片設計的Mifare卡讀寫器,,工作十分穩(wěn)定,。此外,在此讀寫器的基礎上,,只要稍加改動還能開發(fā)成不同的射頻識別應用系統(tǒng),,因而具有很好的市場前景。

此內容為AET網站原創(chuàng),,未經授權禁止轉載,。