1 引 言 指紋是指手指末端正面皮膚上凸凹不平產生的紋路。盡管指紋只是人體皮膚的一小部分,但是,它蘊涵大量的信息,每個人指紋的紋路在圖案、斷點和交叉點上是各不相同的。指紋識別是利用人體指紋的惟一性與不變性生理特征,將指紋作為人的一種“活的身份證”或一個隨身攜帶的特殊印章來進行身份識別的一種技術,其通過比較輸入的指紋特征和預先保存的合法指紋特征,來驗證用戶的真實身份。 指紋用來作為一個人的身份識別手段有著其他手段不可比擬的優越性。目前許多需要確定用戶身份的場合都使用了嵌入式指紋識別設備,但這些設備受嵌入式系統限制,往往存儲量小、速率慢,對于大型企業尤其是分布式企業的考勤難以勝任。 針對這一情況,設計一套基于企業內部局域網的指紋識別系統,系統終端通過以太網與數據處理服務器連接,將指紋算法的運行、指紋數據庫的存儲放在服務器端。整個系統具有存儲量大、運算速度快、功能強等特點。 2 系統硬件設計 整個指紋識別系統的硬件結構設計框圖如圖1所示,其中數據處理服務器用以存放指紋數據庫和進行指紋識別算法的實現,而指紋終端用于采集指紋和顯示驗證結果。 系統終端硬件結構如圖2所示,其中單片機采用SST89E544RC,指紋傳感器采用MBF200。 2.1 控制核心 系統采用SST89E544RC單片機作為控制核心。SST89系列是美國SST公司推出的高可靠、小扇區結構的FLASH單片機,內部嵌入40 kB的SuperFLASH。單片機內嵌IAP(在應用可編程)和ISP(在系統可編程)功能,不占用用戶資源,通過串行口即可在系統仿真和編程,3~5 V工作電壓,工作頻率可達40 MHz。 2.2 指紋傳感器 指紋識別認證系統的首要任務是如何采集到高質量指紋圖像以保證后續任務的完成,而指紋圖像質量不僅與指紋傳感器自身的性能有關,也與數據傳輸通信接口的性能密切相關。以前的各種指紋識別系統屬于光學識別系統,由于光不能穿透皮膚表層,所以只能夠掃描手指皮膚的表面,或者掃描到死性皮膚層,但不能深入真皮層。在這種情況下,手指表面的干凈程度,直接影響到識別的效果。 對于指紋的采集,系統采用了富士通公司的指紋傳感器MBF200,它屬于電容性傳感器。其電容性傳感器陣列由二維金屬電極組成,所有金屬電極充當一個電容板,接觸的手指充當第二個電容板,器件表面的鈍化層作為兩板的絕緣層。當手指觸摸傳感器表面時,指紋的高低不平就會在傳感器陣列上產生變化的電容,從而引起二維陣列上電壓的變化,并形成指紋傳感圖像。從而克服了以前光學識別系統出錯率高、可能仿冒等問題,大大提高了該系統的安全性。 MBF200支持3種接口形式,即MCU接口模式、SPI接口模式和USB接口模式。系統采用微處理器接口模式,在此模式下可將MBF200與51系列單片機8位數據總線直接相連,其接口形式非常簡單,且微處理器接口模式在MBF200的3種接口模式下,數據傳送速率最高(30幀/s;USB模式13幀/s;SPI模式為10幀/s),可以滿足對連續指紋圖像采集和比對的需要。 2.3 數據存儲器 為了保存指紋圖像數據,必須為系統擴充外部存儲器。MBF200一幅指紋掃描圖像需要存儲空間75 kB(256×300×8位),因此系統采用SST公司的FLASH存儲器SST 39SF010A對數據存儲器進行存儲擴充,其容量為128 k×8位。由于51單片機地址線只有16位,系統采用P1口對存儲空間進行分段訪問。其中,指紋圖像數據及識別數據采用固定地址進行存儲,數據讀取易實現。 2.4 顯示模塊 LCD顯示器用于顯示中文界面信息。為了方便系統設計,采用帶有中文字庫的LCD顯示模塊HTM12232Z。 3 軟件設計 3.1 系統程序流程 系統軟件功能包括主程序、指紋獲取功能模塊、通信模塊、定時模塊、顯示模塊。系統上電初始化后與服務器建立連接,取得服務器時間調用顯示模塊顯示中文界面及系統時間,然后等待指紋傳感器信號。系統主要工作流程如圖3所示。 3.2 TCP/IP協議的精簡設計 3.2.1 TCP/IP協議精簡 考慮嵌入式系統CPU處理能力和系統存儲能力限制,系統以高效、節省資源為目標,對TCP/IP協議進行精簡(見表1),僅實現了通信必須的ARP,IP,ICMP和UDP協議。 在鏈路層上,系統必須實現IEEE802.3所規定的CDMA/CD協議,而此協議只要采用通用的以太網接口芯片就可支持。為了保證系統在以太網中的通信,系統實現了ARP應答協議,該協議用于將IP地址映射成以太網MAC地址。 在網絡層,由于系統要求能夠在Intranet進行通信,因此系統要實現IP協議。同時,為了能夠測試系統與網絡的連接,系統實現了ICMP協議中的Ping應答協議。 在傳輸層,TCP為2臺主機提供面向連接的、可靠的、無重復的雙向數據流傳輸服務,但其實現對系統資源的耗費非常大。而UDP的實現比較簡單,它在嵌人式應用場合可以很好的應用。考慮到系統的簡化及速度的要求,采用UDP協議,為了確保UDP數據的到達,在應用程序中采用了重復發送、回復確認的方式來保證數據的正確性。 在應用層,由于本嵌入式系統無HTTP,FTP等應用,所以其中的協議無需實現。 3.2.2 TCP/IP協議實現 首先對協議中使用的公共數據結構進行定義:如MAC地址格式、IP地址格式、系統的地址配置、緩沖區格式及大小。其中MAC,IP地址格式都是固定的,系統的配置用于確定系統的IP地址及端口以及MAC地址值。由于系統中傳送的數據較大,必須定義用于傳送數據的緩沖區,長度為1 500 B,而接收的數據十分簡單,因此無需緩沖區。 其次,定義ARP數據幀頭結構及ARP高速緩沖表,數據幀必須根據標準定義,高速緩沖表至少要含有IP地址及相對應的MAC地址2項。由于本系統連接的對象只有數據服務器,因此,在系統初始化建立連接時填入ARP緩沖表信息,而不必實現定時更新。 接著,根據以太網標準定義IP及ICMP數據幀格式。網絡層的的主要工作有:對上一層傳下來的數據包,加上IP首部和IP校驗和,發往下一層;以及對下一層傳上來的數據包,進行校驗和檢查,若正確去掉IP首部,送往上一層;對收到的ICMP的回顯請求包,按照格式組裝1個ICMP的回顯應答包并發送,以便于響應服務器的PING程序。 最后,根據標準定義UDP數據幀格式。這一層的主要工作有:對應用層傳下來的數據包,加上UDP首部和UDP校驗和,發往下一層。以及對下一層傳上來的數據包,進行校驗和檢查,若正確去掉UDP首部,提出數據送給應用層。 3.3 數據通信的實現 根據系統上傳數據量大而接收數據量很小的特點,加之單片機的處理速度有限,系統將數據傳送程序放人到主程序中進行調用,而接收數據采用中斷方式。 當本地系統有數據要發送時,首先在傳輸層將數據加上UDP首部,再調用網絡層函數給其加IP首部,然后到鏈路層從ARP表中查詢MAC地址,填入相應位置,并發給網絡驅動程序傳到以太網上。 當收到網絡中斷就讀取數據,根據包的種類分別傳給ARP或IP協議,由每一層自行處理數據,最后調用顯示程序顯示接收到的識別結果。 4 結 語 系統針對目前嵌人式指紋識別設備存儲量小、處理速率慢的現狀,采用高性能51系統單片機作為處理核心與MBF200連接并工作于MCU模式下,設計實現了一款高性的網絡指紋采集識別終端。系統利用數據處理服務器海量存儲及處理速度高,可實現快速復雜匹配算法的優點。系統采集速率高,識別性能好。系統可廣泛應用于各類企業考勤應用。 |