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