欒希杰
遼寧錦州渤海大學工學院
基于單片機的指紋考勤系統設計
欒希杰
遼寧錦州渤海大學工學院
指紋識別是最常見的生物識別方式,可以用于驗證一個人的身份?;谥讣y識別的考勤系統已經被廣泛應用于各單位。由于指紋識別技術具有巨大的市場應用前景,因此本文重點研究了指紋識別系統的設計,以MSP430F149開發板為平臺,利用MSP430F149的串行口外接FM-180指紋識別模塊,根據指紋識別模塊的指令要求,在IAR設計平臺中,采用結構化程序設計方法利用C語言編程實現了基于串行口通信的指紋識別系統。
指紋識別 指紋比對 MSP430 FM-180
隨著網絡的普及和電子商務的快速發展,人們需要越來越多地依靠密碼、數字證書、身份證和IC卡等個人身份認證方式進行安全認證,但這些傳統的方式都或多或少的存在可破譯、可盜用、可偽造等漏洞,所以迫切需要找到一種可以替代傳統識別技術的,更加可靠安全的技術,于是生物識別技術出現在了人們的視線當中,作為其中之一的指紋識別技術無疑是目前應用最熱,最有前景的傳統識別技術的接替者。
2.1 硬件模塊的選擇
考慮到系統的穩定性、體積大小以及成本等重要因素,合理的選擇系統的各個模塊是必須引起重視的。選擇模塊的原則是:在所選用模塊體積最小、成本最低的條件下,還能實現系統的設計要求。另外,由于不同類型模塊之間可能存在一些連接匹配的問題,因此最好選用同一類型的集成電路,這樣可以減少不必要的麻煩。下面主要介紹一下本系統用到的兩個主要部件,一個是MSP430F149單片機,另一個是FM-180指紋識別模塊。
2.1.1 MSP430F149介紹
本次設計的是指紋識別系統,所以需要對得到的用戶指紋信息進行判斷,對后續操作進行正確的進給,因此選擇采用以單片機為核心的控制方案。電子市場上單片機種類繁多,運行速率、參數指標和性能價格比更不相同,考慮到本次設計用到的單片機并不需要承擔太過困難和復雜的運算工作,因此不必選擇價錢和性能過高的單片機。最終決定使用常見的MSP430F149單片機來完成設計。
2.1.2 FM-180指紋識別模塊介紹
指紋識別模塊以DSP處理器為處理核心,內部嵌入指紋識別算法,具有采集、處理、儲存以及比對指紋等功能,十分方便用戶對它進行二次開發。模塊與上位機進行串行通訊時,接口引腳定義如表1所示。

表1 串行通訊的接口引腳定義
2.2 硬件系統整體框圖
根據本次畢業設計課題的基本要求確定此次系統設計的基本原則如下:
第一,為了給硬件系統的模塊化和標準化打下良好基礎。在要求符合單片機常規用法的條件下,盡可能的選擇一些典型模塊進行系統設計,“不選最好的,只選最合適的”,且盡量做到模塊之間性能匹配。
第二,為了減少設計的整體難度,便于系統的分析和擴展,根據系統的基本功能,可以將整個系統分成若干個小模塊,然后對各個小模塊進行獨立的設計,最后拼接到一起。
第三,為了將來對系統成品的修改、完善及進一步開發創造便利,在系統設計過程中,盡量減少不必要線路的連接,簡化代碼的編寫,使設計更為簡潔易懂。
第四,把硬件結構結合軟件方案一起考慮,可以減輕硬件結構和軟件方案之間的相互影響??紤]的原則是:為使硬件結構簡單化,軟件能實現的功能盡可能由軟件實現,力爭最大限度增加系統的可靠性。
第五,在對系統進行功能擴展前,一定要確保系統的基本功能都能實現。進行系統功能擴展時,要盡可能充分的利用I/ O接口,避免不必要的浪費。必須考慮系統中單片機的驅動能力可否帶動其連接的所有外圍模塊。
本系統的整體設計框圖如圖1所示。每一個方框表示一個小的功能單元,用表示信號流向的箭頭將各功能單元連接起來,構成一個系統。指紋識別模塊用來對指紋信息進行采集分析比對,判斷指紋的合法性,然后與單片機進行通訊,進而決定是否可以進行下一步的操作。接續電路是指紋識別成功后,可以執行的、用戶可以自定義的一個電路,本次系統設計沒有連接任何接續電路。按鍵用于輸入命令進行各種功能的執行。LED指示燈和LCD顯示器都是對執行各種功能后進行提示的部件。

圖1 系統整體框圖
3.1 程序設計語言的選擇
一個成功的應用系統,如果要滿足其設定的各項功能,那么有一個較為完善的硬件和軟件系統作為保障是必須的。為了充分利用豐富的硬件資源和軟件資源,采用與MSP430F149單片機相對應的C語言和結構化程序設計方法進行軟件編程,可以實現本次設計的目的。
3.2 IAR EW430簡介
IAR嵌入式工作平臺集成開發環境(IAR Embedded Workbench Integrated Development Environment)為開發不同的處理器項目提供了強有力的開發環境,該集成開發環境包含了IAR的C/C++編譯器、匯編器、連接器、文件管理器、文本編輯器、工程管理器和C-SPY調試器。IAR Embedded Workbench集成開發環境支持絕大多數8位、16位、32位微處理器,其中支持MSP430的部分稱為MSP430 IAR Embedded Workbench IDE(簡稱EW430)。MSP430單片機內部具有JTAG接口,可連接JTAG調試器,在EW430的控制下,利用單片機的JTAG接口可將在PC端開發的單片機程序下載(俗稱燒寫,programming)到單片機上。
JTAG調試器與PC機和目標板的連接如圖2所示。

圖2 JTAG調試器與PC機和目標板的連接圖
3.3 系統功能與實現原理
3.3.1 本系統的基本實現原理
在本系統中采用的上位機就是MSP430F149單片機,首先在PC上通過IAR軟件編寫本系統的程序(也就是控制單片機發送相應的指令到指紋識別模塊,之后接收并處理指紋識別模塊對該指令的應答數據包,并決定是否做出下一步操作),然后對程序進行編譯調試,發現沒有錯誤后,通過MSP430-USB全功能型仿真器將該程序燒至MSP430F149單片機中,連接好需要用到的各個模塊,之后給各個模塊上電,按開發板上的Reset鍵,即可運行該系統。
3.3.2 系統程序的具體實現
在程序的主函數中,首先關閉所有的I/O口,以避免先前開發板上某些遺留現象的干擾。通過串口1連接電腦,在串口調試助手中查看串口0的通信(也就是查看單片機與指紋識別模塊之間發送的各種數據包的內容)。在兩個串口初始化的程序中,將它們的波特率都設置為9600bps,一是因為指紋識別模塊的缺省波特率就是9600bps,二是如果波特率設置過高,可能使得單片機與指紋識別模塊之間發送的數據包發生一些錯誤,導致它們之間無法正常通信。之后,初始化鍵盤和LCD模塊。然后就進入鍵盤的掃描程序,等待用戶按鍵,程序根據鍵值做出相應的決策,決定調用哪個函數去執行。
程序中涉及到的部分函數的流程圖與簡單描述如下:
①指紋庫錄入新指紋。FM-180指紋識別模塊要求用戶需要進行兩次指紋圖像采集,并在每次采集之后進行特征生成,之后將生成的兩個特征再進行合并生成特征模版,最后儲存于FLASH中才算完成一次成功的指紋錄入。
②指紋搜索比對。FM-180指紋識別模塊要求用戶需要先進行指紋圖像的采集,然后模塊將指紋圖像生成特征,之后才能與指紋識別模塊數據庫內的指紋特征模板進行比對,得出匹配結果。指紋搜索比對過程流程圖如圖3所示。

圖3 指紋搜索比對過程流程圖
本文主要講解了指紋識別系統的基本原理、硬件系統的搭建和軟件程序的具體實現,實現了基于單片機的指紋考勤系統的設計,以MSP430F149開發板為平臺,利用MSP430F149的串行口外接FM-180指紋識別模塊,根據指紋模塊的指令要求,編程實現了基于串行口通信的指紋識別系統。
[1]白潔.門禁系統中自動指紋識別技術的研究[D].武漢:武漢理工大學,2009:3-4
[2]明武.指紋識別技術發展現狀初步分析[J].軍民兩用技術與產品,2001,7:40-41
[3]楊軍.指紋識別系統及其應用[J].安防科技,2003,1:57-58