摘要:研究了一種可替代校園飯卡付費系統的指紋識別系統,該系統由服務器管理模塊和操作終端模塊構成,二者經由網線通信。設計了基于ARM7的操作終端硬件電路,編寫了驅動USB接口芯片和網卡芯片的C語言程序。主機服務器安裝指紋比對程序通過對終端傳輸來的指紋圖像信息進行比對確認學生身份,進而進行計費操作。同時由于該系統在現有的網絡條件下通過拓展終端可以方便的擴充系統,因此具有較好的發展空間和應用前景。
關鍵詞:ARM7; 指紋識別; 數據庫; 服務器
目前進行一卡通建設的學校為數不多,用指紋代替卡片來消費和進行身份識別的(即一指通)絕無僅有。其方便之處在于同學們不用攜帶各種卡出行,甚至不會因為沒帶錢或沒帶卡而誤事。本系統服務器存儲了學生的自然信息和充值信息,可以進行自動計費;通過網卡發送接收信息,避免沖突;利用網線傳輸,不用另外鋪設線路,管理方便。
1 系統的網絡結構及工作原理
本網絡的結構如圖1和圖2所示。主機服務器管理著其他分機服務器,師生的主要信息都存在分機里,如姓名,學生證號,余額等,每個終端都會向分機發送數據(如學生信息和消費金額等)并更新數據。主機服務器的負責管理分機服務器,在固定時間將信息互傳,以確保信息的完整性和實時性。各分機分工明確,有管理圖書館,有管理飯堂消費,有管理微機室,等等。再下面一層就是各終端,雖然它們的功能不盡相同,但它們都有兩點相同的地方:一是它們都會用指紋進行身份識別;二是,它們負責計算任務,把計費結果發給主機,主機只負責劃扣,不負責計算,如此一來就會大大減輕主機的壓力。
2硬件系統的組成
2.1 各終端與主機服務器的網線連接
終端操作系統采用基于ARM7的微控制單元,電腦與ARM7的實時交互通過以太網通信。以太網驅動程序是針對以太網接口芯片CS8900A進行編程,正確初始化芯片,并提供數據輸入輸出和控制接口給高層網路協議使用[1]。CS8900A是CIRUS LOGIC公司生產的16位以太網控制器,芯片內嵌片內RAM,10BASE-T收發濾波器,直接ISA總線接口。該芯片的突出特點是使用靈活,其物理層接口、數據傳輸模式和工作模式等都能根據需要而動態調整,通過內部寄存器的設置來適應不同的應用環境[3]。電路連接如圖3所示。
工作原理:收到由主機發來的數報報(從目的地址域到數據域)后,偵聽網絡線路。如果線路忙,它就等到線路空閑為止,否則立即發送該數據幀。發送過程中,首先添加以太網幀頭(包括先導字段和幀開始標志),然后生成CRC校驗碼,最后將此數據幀發送到以太網上,接收時,它將從以太網收到的數據幀在經過解碼、去掉幀頭和地址檢驗等步驟后緩存在片內,通過CRC校驗后,它會根據初始化配置情況,通知主機CS8900A收到了數據幀,最后傳到主機的存儲區中[3]。
cs8900a.c文件是CS8900A的驅動程序,函數功能如下:
CS_Init():初始化函數;
CS_Close ( ):關閉CS8900A芯片數據收發功能。及關閉中斷請求;
CS_Rest ( ):復位CS8900A芯片;
CS_Identification ( ):獲得CS8900A芯片ID和修訂版號;
CS_TransmitPacket ( ):數據包輸出;
CS_ReceivePacket ( ):數據包接收[1];
2.2 指紋識別儀的選擇
所有的身份識別都仰仗指紋識別儀的識別準確度,不然就會出現身份識別出錯的現象。本系統采用長春方圓公司出品的EFS310-HB型指紋識別儀。其分辨率700ⅹ500DPI;采集方式為平面滾動;畸變:< 1%。圖像采集精確清晰。連接方式為USB,可與ARM通過轉換芯片連接[4]。
2.3 USB與ARM接口
USB設備開發包括硬件電路設計和軟件兩部分,其中軟件設計部分又包括USB芯片驅動程序設計和應用程序設計兩部分。USB設備在硬件上通過USB芯片實現,USB芯片負責:
管理和實現USB物理層差分信號;通過配置和管理寄存器來初始化設備;提供接地端點管理電源,通過寄存器管理端點
⑴ 基于上述硬件資源,USB芯片驅動程序可實現USB的各項功能[1],硬件連接如圖4所示。
⑵ 設備驅動程序設計
USB的讀寫:芯片用戶寄存器有兩個,分別為只寫內部地址寄存器和可讀寫數據寄存器。內部地址寄存器地址為0x02000002,數據寄存器地址為0x02000000.對USB控制器進行讀操作時,第一步是設置USB6位內部地址寄存器,指明要從USB某個內部地址讀一個字節,第二步 從數據寄存器讀數據。對USB寫操作類似讀操作,第一步設置USB地址寄存器,第二步向數據寄存器寫數據。
USB中斷:首先初始化中斷寄存器INTCON及中斷方式寄存器INTMOD,使EINT0使能。然后安裝USB中斷服務程序入口到中斷向量中。然后初始化I/O端口G組控制器PCONG,PUPG指明EXINT0作為中斷輸入引腳。最后設置外部中斷寄存器EXTINT,指明觸發中斷方式。
初始化USB:首先設置主控制器MCNTRL軟件復位位(SRST),復位USB控制器。然后設置主控制器MCNTRL的電壓調整位(VGE)及中斷輸出(INTOC)位,以禁止中斷輸出。然后寫時鐘寄存器CCONF,設置USB控制器的工作頻率。然后初始化功能寄存器FAR及EPC0寄存器。端點號0為雙向端點,用做控制使用。然后設置中斷屏蔽寄存器。最后允許USB控制器中信號輸出,事控制器附加到USB總線上。
USB中斷服務例程:首先從主事件寄存器MAEV中讀出產生中斷的事件,然后根據事件讀取相應的時間寄存器、接收寄存器或者發送寄存器等等。然后進一步判斷時間寄存器的狀態,根據具體事件分別做出相應的操作[1]。
3 軟件系統組成、數據庫系統的選擇
3.1 指紋識別軟件
自動指紋識別系統的工作模式可以分為兩類:驗證模式和辨識模式。驗證模式又稱一對一比對,比對原理為:指紋預先登記到樣本數據庫并設定一個標識碼,比對時,錄入指紋并輸人標識碼,系統根據標識碼從數據庫中提取指紋樣本與錄入指紋進行比對。辨識模式又稱一對多比對,是把錄入的指紋與樣本數據庫中的所有指紋逐一進行對比,直至找到相匹配的指紋或搜索完整個樣本數據庫后給出無對應指紋的結論。典型的指紋識別系統包括個體指紋采集,圖像增強、特征提取、與數據庫中模板匹配等步驟,圖5為指紋識別系統的一般結構。
方圓公司自帶圖像增強軟件和圖像采集軟件,本課題主要實現基于點模式四叉樹匹配的指紋識別方案,下面主要介紹基于點模式的匹配。大多數指紋識別算法是基于細節點匹配的,因為普遍認為細節點是最獨特、最可信的特征,基于點模式的匹配算法假定輸入指紋及模板指紋間的存在平移、旋轉、尺寸縮放等相似變換,而且它們可適應限定范圍內的偽細節點出現和真細節點的丟失,其中一些改進后的算法側可容忍細節點在一個較小距離內的偏移。點模式匹配的問題是模式識別中的一個有名的難題。它是指對于兩個含有不同數量的點集P{PO,Pl……Pm}和Q{Qo,Q1……Qn},如何找出它們之間的匹配關系。因此,一個好的點模式匹配算法應該能夠有效地解決兩個點集間的幾何不變量問題。人們對一般的點模式匹配提出過很多算法。Ranade等人的松弛算法,Skea的三角形匹配算法等,這些算法有的只是針對部分幾何不變量進行處理。點模式匹配中的2個點集P和Q,其中P從第1幅圖象抽取,由m個點特征構成,Q從第2幅圖象抽取,由n個點特征構成,即P={Po,P,……Pm}和Q={Qo,Q1……Qn}。它們之間的匹配就是找到一個校準函數,以使兩個點集有最大數量點對之間存在穩定的一一對應關系。
為了把指紋識別系統各個部分的算法整合起來,完成一個切實可用的指紋識別軟件,本軟件是在 windows xp sp2環境下開發,應用的編譯軟件是MS VisualC++6.0。下面為程序的主要框架類:
CEFingerApp類:程序主線程類,負責程序的啟動、關閉合消息泵的運作。
CMalnFrame類:程序的主窗口類,負責創建主界面,包括菜單、工具條、以及其他視圖。
CEFingerDoc類:核心文檔類,主要負責文檔的管理。
CEFingerView類:輸入和控制視圖類,用來輸入各種指紋算法的參數,控制指紋算法的運行以及視圖的顯示。
CaddDlg,CfinDlg,CEditDlg:顯示視圖類,用來顯示指定的指紋圖像和數據信息[2]。
3.2 數據庫系統
(l)關系數據庫
數據倉庫使用關系數據庫技術作為其設計、結構和維護的基礎。SQL Server 2000的核心組件是強大的、全功能的關系數據庫引擎。SQL Server 2000是提供很多設計和操作關系數據庫的工具,與該數據庫所用于的應用程序無關。
(2)數據轉換服務
數據倉庫應用程序需要將來自許多源的數據轉換為聚合在一起的、一致的數據集,這些數據集經過了適當配置可用于數據倉庫操作。SQL Server 2000為這類任務提供了一個強大的工具,即數據轉換服務(DTS)。DTS可以訪問來自各種不同源的數據,并使用內置的自定義轉換規范轉換這些數據。
(3)復制
數據庫復制是具有許多用途的強大工具。復制通常用于分發數據和協調聯機事務處理系統(OLTP)中分布式數據的更新,可用于數據倉庫。一些潛在的數據倉庫的復制應用是將數據從中央數據倉庫分發到數據集市,以及從數據準備區更新數據倉庫數據。
(4)Meta Data Serviees
SQL Server2000 Meta Data Services提供用于查看中央知識庫的元數據的瀏覽器,并提供用于開發自定義元數據應用程序的接口[5]。
4 結束語
本文提出了一種新型的大規模身份識別系統設計,將指紋識別網絡系統從軍用轉為民用,并且將各種計費項目統一歸如本系統,對于用戶更加方便。本系統可隨意拓展終端,也可以為校園內后續建設的新設施提供服務。
本文創新點:研究了一種可替代校園飯卡付費系統的指紋識別系統,該系統在現有的網絡條件下通過拓展終端可以方便的擴充系統,具有較好的發展空間和應用前景。
參考文獻
[1] 田澤. ARM7嵌入式開發實驗與實踐. 北京航空航天大學出版社 2006
[2] 杜寶雷. 自動指紋識別系統軟件研究與開發[J]. 中國學術文獻網絡出版總庫, 2007-09-28. 廣東工業大學
[3] 孫天澤 袁文菊 張海峰編. 嵌入式設計及Linux驅動開發指南. 出版日期2005年02月
[4] EFS310-HB技術資料
[5] 孔海峰,李廣勇. SQL Server 2000的數據倉庫解決方案[J]. 海軍航空工程學院學報. 2006-06-28. 海軍航空工程學院研究生管理大隊
作者簡介:方文釗(1986.1), 男, 漢族, 吉林大學電子科學與工程學院學生。
鄭傳濤(1982.11), 男, 漢族, 吉林大學電子科學與工程學院博士研究生。