一種具有指紋識別功能IC卡讀寫(xiě)器的開(kāi)發(fā)
文章出處:http://psychicreadingswithdeb.com 作者:中國電子網(wǎng) 人氣: 發(fā)表時(shí)間:2011年09月18日
隨著(zhù)IC卡技術(shù)的空前發(fā)展,非接觸式IC卡技術(shù)具有快速便利、可靠性高、安全性好、抗干擾能力強、壽命長(cháng)、防偽性好和一卡多用等優(yōu)點(diǎn),在門(mén)禁管理、身份認證、電子現金消費等方面得到了廣泛的應用。生物識別技術(shù)是近幾年來(lái)發(fā)展起來(lái)的一門(mén)新技術(shù),利用人體的生物特征鑒別每個(gè)人的真實(shí)身份,主要包括虹膜、面孔、 指紋、掌紋等,其中以指紋識別技術(shù)最為成熟穩定。IC卡技術(shù)和指紋識別技術(shù)的結合使用,具有優(yōu)勢互補的特點(diǎn)。以IC卡作為個(gè)人身份及指紋信息的存儲載體,利用指紋的唯一性達到個(gè)人身份鑒別的目的,為IC卡技術(shù)和指紋識別技術(shù)的應用提供了更加廣泛的發(fā)展空間。本文介紹了具有指紋識別功能的IC卡讀寫(xiě)器的設計方法。
1 硬件電路設計
1.1 非接觸式IC卡工作原理
非接觸IC卡又稱(chēng)射頻卡,是射頻識別技術(shù)、無(wú)線(xiàn)通信技術(shù)和IC卡技術(shù)有機結合的產(chǎn)物。它解決了卡無(wú)源和免接觸的難題,具有方便快捷、不易損壞的特點(diǎn)。本設計采用的IC卡是Philips公司的Mifare One智能卡。該卡片有容量為8K位的EEPROM,分為16個(gè)扇區,每個(gè)扇區為4塊,每塊16個(gè)字節,以塊為存取單位,每個(gè)扇區都有獨立的一組密碼以及訪(fǎng)問(wèn)控制,具有聯(lián)沖突機制,支持多卡操作,讀寫(xiě)距離10cm以?xún)?。本讀寫(xiě)器的讀寫(xiě)模塊采用自行設計的基于MF-RC531讀寫(xiě)芯片的讀寫(xiě)模塊設計方案。讀寫(xiě)模塊天線(xiàn)和卡之間通過(guò)無(wú)線(xiàn)電感應交換數據。天線(xiàn)發(fā)出頻率固定的電磁波(13.6MHz),射頻卡接收到電磁波后,由卡中自帶的LC串聯(lián)諧振電路產(chǎn)生共振,從而使電容充電有了電荷,再接一個(gè)單向導電的電子泵,將電荷送到另一個(gè)電容內存儲,經(jīng)過(guò)濾波整流后產(chǎn)生2V的電壓作為電源供卡片工作使用??ㄆ幚斫邮盏拿詈蛿祿?,并將結果返回給讀寫(xiě)器。
1.2 指紋識別技術(shù)
指紋識別技術(shù)主要包括四方面的功能:采集指紋圖像、提取指紋特征、對比。采集指紋的設備有三類(lèi):光學(xué)傳感器、硅晶體傳感器、超聲波掃描設備。通過(guò)指紋采集設備得到人體指紋的灰度圖像后首先進(jìn)行圖像預處理,主要步驟包括方向圖計算、圖像增強、二值化、細化等。經(jīng)過(guò)預處理的指紋圖像消除了原圖像的噪聲、斷紋和紋線(xiàn)模糊等,極大地改善了圖像質(zhì)量。然后進(jìn)行特征提取和后處理。特征提取是通過(guò)指紋上的“節點(diǎn)”獲得的?!肮濣c(diǎn)”包括指紋紋路的分叉、起始點(diǎn)或孤立點(diǎn)的坐標位置等。通常人的一個(gè)手指指紋有70個(gè)節點(diǎn),用這種方法大約會(huì )產(chǎn)生490個(gè)數據,對這些數據進(jìn)行后處理就生成指紋模板并存儲起來(lái),大小一般不越過(guò)250字節,通常為100多個(gè)字節。指紋模板數據大小因指紋不同略有波動(dòng)。
1.3 硬件電路設計
本具有指紋識別功能的IC卡讀寫(xiě)器的硬件包括單片機、鍵盤(pán)、顯示模塊、EEPROM存儲器、IC卡讀寫(xiě)模塊、指紋識別模塊、指示信號電路、上位機RS232通信接口、RS485網(wǎng)絡(luò )接口等,如圖1所示。 主板電路采用Cygnal公司的C8051F023單片機,它具有與MCS-51兼容、速度快、外圍接口豐富等特點(diǎn),可以滿(mǎn)足本設計的需求,故選用它作為控制核心。主板簡(jiǎn)化電路圖如圖2所示。單片機P3口與讀寫(xiě)模塊MFRC531芯片D0~D7口相連,用做MCU和讀寫(xiě)模塊之間的數據線(xiàn);P25用于讀寫(xiě)模塊的片選線(xiàn),與模塊NCS腳相連;P17用于模塊的軟復位信號線(xiàn),與MFRC531的RSTPD腳相連;外部中斷INT0(P10)與模塊中斷請求IRQ腳相連,對應模塊的請求中斷;MCU讀寫(xiě)控制的/RD和WR分別與MFRC531的NRD和NWR相連;地址鎖存控制ALE與MFRC531的ALE相連;P14和P15分別用來(lái)控制指示燈和蜂鳴器;另外P3口還通過(guò)驅動(dòng)芯片74HC245驅動(dòng)分辨率為128×64的液晶顯示模塊;P27作為驅動(dòng)芯片的片選;MCU的硬串口UART0與指紋識別模塊的串行通信口相連,用于對指紋識別模塊的控制;MCU的硬串口UART1作為上位機RS232通信端口或者RS485網(wǎng)絡(luò )通信端口使用;P04和P11作為軟串口用于對鍵盤(pán)模塊的控制,整個(gè)電路板的電源通過(guò)變壓器以及直流電流轉換芯片獲得5V及3.3V電壓。
2 軟件開(kāi)發(fā)
讀寫(xiě)器軟件開(kāi)發(fā)主要包括四部分:對讀寫(xiě)器模塊MFRC531應用程序的開(kāi)發(fā)、對指紋識別模塊應用程序的開(kāi)發(fā)、液晶顯示程序的開(kāi)發(fā)以及其他相關(guān)輔助電路的開(kāi)發(fā)。
2.1 讀寫(xiě)IC卡工作流程
(1)讀寫(xiě)模塊初始化,對MFRC531模塊初始化。初始化相應寄存器使模塊工作在符合ISO14443A協(xié)議的工作狀態(tài)下,并且具有ISO14443的幀和錯誤檢測功能,支持快速的CRYPTO1加密算法。
(2)復位應答,復位應答操作通知模塊在天線(xiàn)有效范圍內尋找MIFARE ONE卡片,不斷發(fā)出REQA的請求命令,天線(xiàn)范圍內的卡片發(fā)出回應命令ATQA,返回卡片類(lèi)型代碼0004,代碼返回給MCU進(jìn)行卡片類(lèi)型識別處理。
(3)反沖突環(huán)操作,如果在讀寫(xiě)器天線(xiàn)范圍內有多張卡片存在,需要經(jīng)過(guò)反沖突環(huán)的操作,通過(guò)卡片的唯一序列號,選出其中的一張卡片。
(4)選擇卡片操作,在成功進(jìn)行反沖突環(huán)的操作后,根據已經(jīng)得到的卡片序列號,必須進(jìn)行選擇卡片操作,建立與所選卡片的通信。
(5)三輪認證操作,對卡的某個(gè)固定存儲位置訪(fǎng)問(wèn)時(shí),為了保證對卡片操作的保密性和合法性,卡片和讀寫(xiě)器之間需要三輪密鑰確認過(guò)程,成功確認后所有存儲器操作都是保密和合法的。 經(jīng)過(guò)上述步驟后即可對卡片操作,可以執行讀、寫(xiě)、增值、減值、重儲和傳送等命令。讀寫(xiě)IC卡操作流程如圖3所示。
2.2 指紋識別流程及主要指令
(1)模塊初始化,MCU對指紋識別模塊初始化,設置其工作模式為命令工作模式,串口通信波特率為57600bps。
(2)生成模板,通過(guò)指紋傳感器錄入指紋圖像三次并生成指紋模板保存在模板緩沖區(Mb_Buffer)中。
(3)上傳模塊,將模板緩沖區中(Mb_Buffer)的內容上傳到MCU。
(4)下載模塊,從MCU下載一個(gè)指紋模板到模板緩沖區(Mb_Buffer)中。
(5)生成特征,通過(guò)指紋傳感器錄入一副指紋圖像并生成指紋征值,存在模塊的特征值緩沖區(Tz_Buffer)中。
(6)對比指紋,模板緩沖區(Mb_Buffer)與特征緩沖區(Tz_Buffer)中內容進(jìn)行對比,并給出比對結果,返回給MCU。 指紋識別程序分指紋模板錄入和指紋現場(chǎng)對比兩種情況,圖4、圖5給出了流程圖。
2.3 兼容指紋識別的IC卡讀寫(xiě)器應用程序
讀寫(xiě)器根據不同的用途,主要分為發(fā)卡讀寫(xiě)器和身份認證讀寫(xiě)器。發(fā)卡讀寫(xiě)器一般由系統控制中心發(fā)卡處使用。而身份認證讀寫(xiě)器一般用在卡的使用終端,實(shí)現對持卡人合法性的認證。
發(fā)卡讀寫(xiě)器應用的主要流程是:首先刷卡錄入用戶(hù)的指紋圖像,指紋采集過(guò)程需要對同一指紋錄入三次,對三次指紋綜合處理提取特征,生成指紋模板;然后將指紋模板上傳到MCU,讀寫(xiě)器對指紋模板進(jìn)行加密處理后寫(xiě)入卡片;最后在卡中寫(xiě)入用戶(hù)其他相關(guān)信息,完成發(fā)卡過(guò)程。 終端身份認證過(guò)程的主要流程是:持卡人刷卡后,讀寫(xiě)器將卡中存儲的指紋模板信息解密后下載到指紋識別模塊的模板緩沖區中,然后通過(guò)傳感器采集持卡人指紋,指紋識別模塊生成指紋特征值,并將值存在該模塊的特征值緩沖區中并與模板緩沖區模板信息進(jìn)行比對;根據比對結果判定持卡人的合法性,通過(guò)后才可以進(jìn)行其他相關(guān)操作。 兼容指紋識別的IC卡讀寫(xiě)器可以應用在需要身份認證的門(mén)禁系統、考試身份認證以及其他安全性要求比較高的身份認證管理系統中。
本文討論了一種具有指紋識別功能的IC卡讀寫(xiě)器的設計方法。指紋識別技術(shù)和IC卡技術(shù)的結合使用,大大提高了系統的可靠性和安全性。衡量指紋識別性能的重要標志是識別率。識別率包括FRR(拒真率)和FAR(認假率)兩部分。FRR和FAR是一個(gè)反比的關(guān)系,根據不同的用途,權衡易用性和安全性,調整這兩個(gè)值的大小,以滿(mǎn)足系統設計需要。本讀寫(xiě)器已經(jīng)在實(shí)驗室研發(fā)成功,運行穩定,安全可靠,即將投入某門(mén)禁系統使用。