南京郵電大學通達學院通信與信息工程學院 陳 贊 陳 燕 李 楊
基于單片機的指紋識別系統設計與優化
南京郵電大學通達學院通信與信息工程學院陳贊陳燕李楊
本文概述了基于單片機的指紋識別系統硬件電路設計,并分析指紋模塊。應用STC89C52指紋識別模塊設計基于單片機的指紋識別硬件電路,形成一個獨立的指紋識別系統。該系統實現單片機和指紋模塊之間的串口通信。通過操作獨立式鍵盤按鍵;向指紋模塊的DSP芯片發送相應指令;從而執行添加用戶、刪除指定用戶、刪除全部用戶、認證用戶;以及管理用戶權限等功能。
生物識別技術;指紋識別;串口通信;單片機
如今,科學技術的發展在讓社會進步的同時;也讓傳統的安全管理系統受到威脅。此外,基于指紋識別的員工考勤系統能夠徹底解決代打卡問題,由此,提高了考勤數據的真實性,便于管理。鑒于此,我們萌生了研究指紋簽到系統的想法,并寫此文簡述指紋簽到系統的部分設計。
采用STC89C52為系統的主控芯片,單片機外圍電路的設計主要涉及到外部晶振電路、復位電路、電源電路、按鍵控制電路以及指紋模塊電路的設計。
STC89C52(主控芯片),片內具有12k字節的Flash閃速存儲器、1024字節的內部RAM以及2個16位定時/計數器,5個中斷向量,32個I/O口線,同時片內置有一個全雙工串行通信口、片內振蕩器及時鐘電路。

圖1 STC89C52引腳圖
2.1外部晶振電路的設計
由于STC89C52內部的高增益反相放大器能夠構成振蕩器,所以通過XTAL1,ATAL2外部接上一片作為反饋元件的晶體,與C1和C2構成并聯諧振電路,使其構成自激振蕩器,具體的接法如圖2所示。

圖2 外部晶振電路

圖3 復位電路
在本次項目中,我們選用11.0592MHZ的晶振,在試驗過程中發現,為了避免找不到信號,晶振不能離單片機太遠。
2.2復位電路的設計
本系統采用簡單的自動復位電路如圖3所示。單片機在上電瞬間,RC電路充電,RST引腳端出現正脈沖,只要RST端加上兩個機器周期及以上的高電平,就能使單片機有效復位。
2.3電源電路設計
本系統采用的5V電源主要采用兩種方法,第一是直接用9V電池然后通過一個變壓電路,利用7805將轉化成5V供單片機和液晶顯示部分使用;其二是用220V通過變壓器等將其轉化成5V。
兩種方法都可以,但是由于第一種方法便于攜帶、而且成本相對較低所以我們選用第一種方案。

圖4 電源電路
2.4按鍵電路設計
多數情況下,我們利用高低電平反應按鍵的閉合與斷開,即高電平表示斷開,低電平表示閉合。由于實際操作中存在干擾信號,并且要確保CPU對一次按鍵動作只確認一次,所以我們應當采取措施以消除電平抖動。由于本系統中按鍵較多,可采用軟件消抖。
本次將鍵盤設計成4*4矩陣形式鍵盤,共16個按鍵,其中包括10個數字鍵,1個確認鍵,1個消除鍵,1個簽到鍵,1個時間修改鍵,1個指紋錄入鍵,1個指紋刪除鍵。
2.5指紋模塊電路
指紋模塊主要是里面的DSP芯片,加上外面的CMOS芯片。CMOS芯片主要是對指紋進行采集,生成指紋特征。具體的工作過程是:掃描指紋(錄入圖像)、生成特征、合成模板(建立一個指紋庫文件,成功錄入一個指紋)。指紋模塊電路如圖7所示:

圖5 指紋模塊電路
指紋模塊就是“照一次相”,指紋模塊里面的CMOS芯片采集一次指紋信息,然后進行模糊處理生成0和1兩種記錄信息,存入指紋模塊的FLASH芯片里面。
當切換到識別模式的時候,指紋模塊就會先讓CMOS芯片采集一次指紋,然后和FLASH芯片的數據進行對比。看是不是存在,如果存在就能返回是幾號指紋。這樣我們就能通過單片機或者電腦進行指紋識別與登記了。
我們進行指紋模塊的操作是通過單片機的串口發送與接收命令完成的。我們先通過串口給指紋模塊發送命令,然后等待指紋模塊傳回數據。再通過單片機進行數據的處理,從而判斷命令有沒有執行。指紋模塊的算法是自帶的,所以我們只需要從指紋模塊的用戶手冊當中選取相關的命令進行組合。PS_GetImage命令旨在探測用戶手指,探測到后錄入指紋圖像存于ImageBuffer。再由PS_GenChar命令將ImageBuffer中的原始圖像生成指紋特征文件存于CharBuffer1或者CharBuffer2中,繼而PS_RegModel命令會將CharBuffer1與CharBuffer2中的特征文件合并生成模版,結果存于CharBuffer1與CharBuffer2。將CharBuffer1或者CharBuffer2中的模版文件存到PageID號flash數據庫位置時執行PS_StoreChar命令。即生成指紋模塊大致需要進行如下四個命令:錄入圖像(PS_GetImage)、生成特征(PS_GenChar)、合成指紋模塊(PS_RegModel)、存儲指紋模版(PS_StoreChar)。經過這四個步驟與命令,我們就錄入了一個指紋,重復以上步驟,我們可以再錄入其它指紋。
經過一年的實踐,基于單片機的指紋考勤系統的設計與研制工作已基本完成。完成了該系統從方案選擇,器件挑選、原理圖設計、板圖設計到元器件焊接、軟件及硬件調試等所有工作。能夠實現預期的功能:通過指紋采集模塊采集考勤者的指紋,比對、識別后通過單片機進行實時的數據處理,確保錄入指紋的唯一性,同時可以實現考勤數據的一鍵刪除、查詢、統計等功能。
本文研究的是基于單片機的指紋簽到考勤模塊的設計,從實現角度出發,說明了選擇指紋模塊這一領域的重要意義,然后介紹了其模塊的一些基本特性,并根據多種算法進行研究實現。其次是本文的硬件電路設計,由于系統用了模塊式的設計方法,所以硬件電路的設計就相對簡單。最后是本文的軟件設計部分,優先考慮C語言,從整體考慮,再進行分支設計。由于時間的限制,沒有對整個系統進行優化調整。
[1]龍占超,蔡超.一種新的指紋細化算法[J].計算機技術與發展,2007(03).
[2]于秀霞.指紋識別技術在身份認證系統中的應用[J].現代情報,2005(05).
[3]彭曙蓉,王耀南.一種基于指紋識別的網絡考勤系統[J].長沙電力學院學報(自然科學版),2006(02).
[4]薛亞許,陳金玉.學校指紋考勤系統的設計與實現[J].微型機與應用,2011(01).
陳贊(1995—),江蘇東臺人,大學本科,現就讀于南京郵電大學通達學院。
陳燕(1993—),江蘇南京人,大學本科,現就讀于南京郵電大學通達學院。
李楊(1994—),江蘇徐州人,大學本科,現就讀于南京郵電大學通達學院。
項目來源:2015年江蘇省大學生科技創新訓練計劃項目省級項目(項目編號:201513989019X)。