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