基于MF RC632讀寫器芯片的專用讀卡器設(shè)計及實現(xiàn)
利用射頻識別技術(shù)(Radio Frequncy Identification)開發(fā)的非接觸式IC識別器,與傳統(tǒng)的接觸式IC卡、磁卡相比較,在系統(tǒng)壽命、防監(jiān)聽、防解密等性能上具有很大的優(yōu)勢。本文介紹利用MCU P89LPC932、MF RC632、Mifare卡等構(gòu)建的非接觸式專用IC讀寫器,充分利用了MF RC632的射頻識別讀寫器芯片的功能。
所使用的器件大部分都是PHILPS公司的器件,具有典型性和一定的通用性,因此稍加改動即可應(yīng)用到其他系統(tǒng)中,而且在該讀寫器基礎(chǔ)上能很容易地開發(fā)出適用于各種自動識別系統(tǒng)的非接觸式IC識別器。
1 系統(tǒng)硬件結(jié)構(gòu)及工作原理
1.1 系統(tǒng)結(jié)構(gòu)及特點
系統(tǒng)主要由核心控制單元MCU P89LPC932、與Mi-fare One卡通訊的MF RC632、與PC機通訊的RS232、提供時間基準的實時時鐘芯片PCF8563和存儲系統(tǒng)設(shè)置數(shù)據(jù)的存儲器AT45DB021組成。整個系統(tǒng)所用的器件都是比較常用的器件,具有典型性和通用性。此外,在系統(tǒng)方案設(shè)計中,將整個系統(tǒng)分為主站和基站,而主站和基站的硬件和軟件均無區(qū)別只是設(shè)置不同。因此只要在設(shè)備安裝后通過PC機就可設(shè)置其權(quán)限,易于安裝、調(diào)試、維修和擴展。
1.2 系統(tǒng)硬件及工作原理
系統(tǒng)硬件框圖如圖1所示。主板上電后,讀取存儲器中的系統(tǒng)設(shè)置,然后根據(jù)其中的設(shè)置初始化整個系統(tǒng),包括本設(shè)備的ID號、主站、從站、開機時間、關(guān)機時間、數(shù)據(jù)的存儲方式等。本系統(tǒng)除可以作為一個通用的Mifare卡的讀寫器外,還可作為一種訓(xùn)練器材,作為一種專用的訓(xùn)練評估工具。例如,將該設(shè)備安裝在跑道的周圍,并將Mifare One卡安裝在測試者的鞋上。因為每個訓(xùn)練者都有自己的ID號,當(dāng)他從起跑線起跑時,安裝在起跑線的專用讀卡器就會將訓(xùn)練者的設(shè)備ID號和當(dāng)時的時間寫入測試者的Mifare One卡中,當(dāng)經(jīng)過下一個基站時讀卡器會將測試者的設(shè)備ID和當(dāng)時的時間寫入測試者的Mifare One卡中,同時會將測試者的ID號、姓名等個人信息包括經(jīng)過上個測試基站時間都讀進設(shè)備中保存。由于Mifare One卡共有16個扇區(qū),每個扇區(qū)又分為四塊、每塊又有16個字節(jié),因此,除了保證系統(tǒng)使用的扇區(qū)空間外,用戶可以使用的有48×16字節(jié)。而通過Mifare One卡存儲的數(shù)據(jù)均不大,只占用一塊存儲區(qū),換句話說,Mifare One卡的數(shù)據(jù)存儲區(qū)可以存儲48次,當(dāng)超過48次時就從前面覆蓋數(shù)據(jù)。所以,在Mifare One卡中存儲的永遠是最后經(jīng)過最近48個基站的信息。在訓(xùn)練結(jié)束后,就可以通過主站將各個基站的數(shù)據(jù)收集起來以評估測試者的信息。而主站和基站之間的通訊方式也是多樣的:當(dāng)主站和基站的距離比較近時,可以采用RS232、RS485;為提高通信質(zhì)量則可以采用工業(yè)總線的方式,如CAN總線、FC總線或One Wire總線等;當(dāng)距離比較遠時,可采用無線通訊的方式,如GSM等。此外,各個基站還可以通過打印機將數(shù)據(jù)輸出[1-2]。
2 關(guān)鍵器件和關(guān)鍵技術(shù)
2.1 讀卡器核心CPU P89LPC932
P89LPC932是飛利浦公司生產(chǎn)的一款單片封裝的微控制器,適合于要求高集成度、低成本的場合,可以滿足多方面的性能要求。它采用了高性能的處理器結(jié)構(gòu),指令執(zhí)行時間只需2~4個時鐘周期,是標準80C51器件的六倍;集成了許多系統(tǒng)級的功能。其功能框圖如圖2所示[3]。
2.2 Mifare MF RC632高集成度非接觸通訊讀卡IC
Mifare MF RC632是飛利浦公司推出的適用于工作頻率為13.56MHz的非接觸式智能卡和標簽,并且支持這個頻段范圍內(nèi)多種ISO非接觸式標準,其中包括ISO1443和ISO15693。MF RC632通過改變包括公共交通、公路征稅、存取控制計劃和供應(yīng)鏈管理等不同讀取應(yīng)用的射頻信號振幅,使系統(tǒng)集成商能夠方便靈活地開發(fā)出可互操作的RFID系統(tǒng)。
該新型讀取IC應(yīng)用了一種特別的調(diào)制解調(diào)概念,這種技術(shù)可以改變射頻信號的振幅,能夠識別基于RFID的各種智能卡、標識和標簽,并支持ISO1443和ISO15693標準,其設(shè)計與飛利浦現(xiàn)有的讀取IC管腳到管腳兼容,這些Ic包括:Mifare智能卡讀取ICMF RC632、TYPE-B卡片讀取IC MF RC531和I.CODE智能標記讀取IC SL RC400。該IC卡并行接口可直接連接到任何8位微處理器,給讀卡器/終端的設(shè)計提供了極大的靈活性。此外,它所提供的SPI總線對一些I/O資源有限的設(shè)計提供了有效的解決方式。
2.3 實時時鐘芯片PCF8563
PCF8563是一款低功耗、可編程為時鐘輸出、中斷輸出和低電壓檢測功能的CMOS芯片,所有地址和數(shù)據(jù)都通過串行I2C總線傳輸,最高速率可達400kbps,內(nèi)置的字地址寄存器在每次讀寫結(jié)束后自動加1。主要特點如下:
提供基于32.768Hz晶振的年、月、日、時、分、秒和世紀標記;提供從1V~5V的寬操作電壓范圍從;低保持電流,在25°C、3V供電的情況下只有0.25μA;400kHz的I2C總線作為外部接口;可編程作為外部設(shè)備的時鐘源,時鐘有:32.768kHz、1024Hz、32Hz和1Hz四種;有報警和定時器功能;低電壓檢測;內(nèi)部提供晶振電容和上電復(fù)位電路;I2C總線;集電極開路輸出[5]。
3 設(shè)計方案實現(xiàn)
3.1 硬件部分
(1) 系統(tǒng)供電電路
由于本系統(tǒng)的最終設(shè)計目標是做出一臺手持設(shè)備,所以在供電上選用電池供電。為減少整個電路板上的電源消耗,除了在器件選擇上選用低功耗器件外,在電源設(shè)計上也使用了一些簡單的電路來實現(xiàn)電源管理。如圖3所示,整個供電電路分為三個部分,電池電壓通過接插件BATTER輸入,經(jīng)過D3后將6V左右的電壓降為5.3V。5.3V電壓經(jīng)過VT4后輸出5V左右電壓供給板上的5V電路,VT4由系統(tǒng)的控制核心CPU控制。5.3V電壓經(jīng)過電源模塊后給供電電路。AS1117構(gòu)成3.3V供電電路為電路板上的控制核心P89LPC932供電。3.3V電壓經(jīng)過VT2后輸出3V左右的供電電壓,為板上的其他3V左右的電路供電。除了系統(tǒng)的控制核心采用這種方式供電外,其他電路的供電完全由系統(tǒng)的控制核心P89LPC932通過軟件來控制,大大減少了系統(tǒng)的功耗,提高了電源使用效率。
(2) 系統(tǒng)的控制核心
其電路如圖4所示。
整個系統(tǒng)的控制核心使用PHILPS公司生產(chǎn)的高速51系列產(chǎn)品,利用其豐富的內(nèi)部資源,不僅降低了設(shè)計難度,在PCB制板上也提高了系統(tǒng)的可靠性。
(3) 射頻電路
其電路如圖5所示。在本設(shè)計中,為提高整個系統(tǒng)的使用范圍,在芯片選擇上使用功能更加強大的MFRC632,這也是整個系統(tǒng)的核心部分。
(4) 系統(tǒng)時鐘電路
系統(tǒng)時鐘電路如圖6所示。在本系統(tǒng)中,為節(jié)約系統(tǒng)的I/O資源,選用了I2C總線高性能的時鐘芯片,同時利用其內(nèi)部的電源檢測電路對系統(tǒng)的供電電池進行監(jiān)控。
(5) 天線設(shè)計
由于MF RC632的頻率是13.56MHz,屬于短波段,因此可以采用小環(huán)天線。小環(huán)天線有方型、圓形、橢圓型、三角型等,本系統(tǒng)采用方型天線。天線的最大幾何尺寸與工作波長之間沒有嚴格的界限,一般定義為:
L/λ≤1/2π (1)
上式中,L是天線的最大尺寸,λ是工作波長。對于13.6MHz的系統(tǒng)來說,天線的最大尺寸在50厘米左右。在天線設(shè)計中,品質(zhì)因數(shù)Q是一個非常重要的參數(shù),對于電感耦合式射頻識別系統(tǒng)的PCD天線來說,較高的品質(zhì)因數(shù)值會使天線線圈中的電流強度大一些,但由此可改善對PICC的功率傳送。品質(zhì)因數(shù)的計算公式為:
Q=(2πf0·Lcoil)/Rcoil (2)
式中。?0是工作頻率,Lcoil是天線的電感量,Rcoil是天線的電阻值。通過品質(zhì)因數(shù)可以很容易計算出天線的傳輸帶寬:
B=f0/Q (3)
從式(3)中可以看出,天線的傳輸帶寬與品質(zhì)因數(shù)成反比關(guān)系。因此,過高的品質(zhì)因數(shù)會導(dǎo)致傳輸帶寬縮小,從而減弱PCD的調(diào)制邊帶,導(dǎo)致PCD無法與卡通信。一般系統(tǒng)的最佳品質(zhì)因數(shù)為10~30,最大值不能超過60。
考慮上述因素和實現(xiàn)的方便,采用在PCB板的最外側(cè)用方形導(dǎo)線纏繞形成天線。其電路原理圖如圖7所示,天線PCB電路如圖8所示。
(6) 數(shù)據(jù)存儲電路
數(shù)據(jù)存儲電路如圖9所示。在本系統(tǒng)中,為節(jié)約系統(tǒng)的硬件資源并增加系統(tǒng)的數(shù)據(jù) 存儲能力,采用ATMEL公司生產(chǎn)的SPI總線接口的容量為264KB的Flash AT45DB021,用來存儲系統(tǒng)設(shè)置和備份數(shù)據(jù)。
3.2 軟件部分
3.2.1 對Mifare卡的操作流程
整個系統(tǒng)的工作由對Mifare卡操作和系統(tǒng)后臺處理兩大部分組成。由于篇幅有限,本文只對Mifare卡的操作流程進行簡單介紹,其操作流程如下:
(1) 復(fù)位請求
當(dāng)一張Mifare卡片處在卡片讀寫器天線的工作范圍之內(nèi)時,程序員控制讀寫器向卡片發(fā)出REQUEST all(或REQUEST std)命令,卡片的ATR將啟動,將卡片Block 0中的卡片類型(TagType)號共2個字節(jié)傳送給讀寫器,建立卡片與讀寫器的第一步通信聯(lián)絡(luò)。如果不進行復(fù)位請求操作,讀寫器對卡片的其他操作將不會進行。
(2) 反碰撞操作
如果有多張Mifare卡片處在卡片讀寫器天線的工作范圍之內(nèi),PCD天線將與每一張卡片進行通信,取得每一張卡片的系列號。由于每一張Mifare卡片都具有惟一的序列號(決不會相同),因此PCD天線將根據(jù)卡片的序列號來保證一次只對一張卡操作。該操作使PCD天線得到PICC的返回值作為卡的序列號。
(3) 卡選擇操作
完成上述二個步驟之后,PCD天線必須對卡片進行選擇操作。執(zhí)行操作后,返回卡上的SIZE字節(jié)。
(4) 認證操作
經(jīng)過上述三個步驟,確認已經(jīng)選擇了一張卡片,PCD天線在對卡進行讀寫操作之前,還必須對卡片上已經(jīng)設(shè)置的密碼進行認證。如果匹配,才允許進行讀寫操作。
(5) 讀寫操作
該寫操作是對卡的最后操作,包括讀、寫、增值、減值、存儲和傳送等操作。
3.2.2 系統(tǒng)軟件的部分代碼
根據(jù)上面的流程,采用Keil C語言進行編程,由于篇幅有限,本文只對讀卡程序的頭文件的部分代碼進行簡單的介紹,主要介紹在程序中所要使用到的部分功能函數(shù):
大多數(shù)射頻卡的操作流程與Mifare卡類似,所用到的操作函數(shù)也差不多,所以,只要修改本系統(tǒng)所用到函數(shù)的少量代碼就可應(yīng)用到其他讀卡器設(shè)計中。
4 可靠性對策
由于本系統(tǒng)是一臺標準的射頻讀卡器設(shè)備,所以對其電磁兼容性要特別加以控制。本系統(tǒng)所采用的方法是,在PCB制板上除了要考慮一些能引起電池輻射干擾的信號線的走線外,還要在電路板上鋪銅以增加地線對信號的屏蔽能力。此外,在電路板的四周還要多打一些過孔,以增加上下兩層底線的導(dǎo)通能力,降低兩層之間的阻抗,增加系統(tǒng)的抗EMC能力,降低系統(tǒng)的EMI。
該讀寫器最突出的特點是高性能、高穩(wěn)定性和強兼容性,典型的讀寫距離為11厘米,在有效讀寫區(qū)域內(nèi)無死區(qū),讀寫操作可靠。而在桌面工作環(huán)境中,卡片在有效感應(yīng)區(qū)域內(nèi)連續(xù)讀寫出錯率低于0.01%,其兼容性表現(xiàn)在不僅能夠讀取標準的卡片,對于偏離標準很多的卡片也能夠進行讀取。同時,因本系統(tǒng)作為一種帶有實時時鐘的特殊專用讀卡器,在對一些需要計時檢測的領(lǐng)域有著廣泛的用途。例如在賽鴿比賽中,只需在鴿籠的開口處裝上此設(shè)備,在鴿子的身上裝上Mifare卡,就可以在比賽當(dāng)中迅速得到比賽成績。該方案已在某公司的設(shè)備上獲得成功,相信還可以在其他領(lǐng)域獲得更廣闊的發(fā)展。
評論