王超峰
WANG Chao-feng
(蘇州大學 應用技術學院,蘇州 215006)
紙質打卡機、射頻IC卡考勤機等傳統考勤設備因自身的諸多弊端正逐漸的淡出市場,取而代之的是基于生物身份識別技術的考勤設備,如基于指紋識別技術和基于人臉圖像識別技術的考勤系統開始應用于現代企業[1,2]。嵌入式微處理器在指紋識別系統中的應用設計是當今及今后相當長一段時間的研究重點和熱點[3],嵌入式自動指紋識別技術使得考勤機的便攜式、可移動、低成本、易安裝、易擴展提供了可能。近年來眾多國內外公司推出的一些基于DSP或者ARM處理器的指紋識別模塊、嵌入式系統開發平臺促進了自動指紋識別系統的設計與應用開發。
本文設計的嵌入式自動指紋考勤機硬件平臺由TCS316指紋模塊和基于S3C2440ARM處理器的嵌入式mini2440 ARM開發平臺組成,人機交互采用觸摸式LCD顯示屏;軟件設計基于嵌入式LINUX操作系統,采用模塊化編程。該嵌入式自動指紋考勤機體積小、可移動,能獨立完成指紋采集、存儲、比對和顯示等考勤功能,通過網絡接口可以接入服務器或PC,通過USB接口可以實現數據自動存儲至USB存儲設備。
考勤機的硬件系統結構如圖1所示。系統通過結合半導體指紋傳感器的TCS316指紋模塊采集用戶指紋圖像信息,然后進行指紋圖像的預處理、特征值提取等指紋圖像處理過程,最后將處理后的指紋信息存儲于模塊上的FLASH和SRAM;指紋識別模塊通過串口和ARM平臺連接,在ARM平臺的控制下實現指紋的自動識別及考勤功能,考勤相關信息記錄在ARM平臺模塊的FLASH和SRAM;DM9000芯片實現網絡連接,USB HOST/DEVICE實現USB存儲設備的連接。

圖1 考勤機硬件組成
系統采用了以DSP處理器為核心,結合半導體指紋傳感器,嵌入活體指紋識別技術的指紋模塊TCS316,該模塊具有功能較強、指令集豐富、開發方便、性價比高的特點,能確保身份識別的唯一性、不可否認性,可以支持USB、RS232兩種通訊接口,既可以在模塊內也可以將指紋數據傳輸到其他上位機(PC機或嵌入式微處理器系統)中進行指紋圖像的處理、存儲和比對。
模塊的性能指標主要包括[8]:半導體指紋傳感器;指紋輸入面積:18.8×16MM;灰度256級、分辨率363DPI;匹配方式1:1、1:N;拒真率<1%、認假率<0.0001%;特征數據大小<=256bytes/枚;指紋存儲容量1024K,可容納1000枚;指紋登記速度3-10S/枚(三次);識別時間 1:1,2- 3毫秒;1:N(N<1000),< 1秒;通訊接口USB2.0、RS232;波特率1200Bps-115200Bps、缺省值-9600Bps;數據位8BITS、1BIT停止位、無校驗位;電源DC5V;使用環境溫度 -5℃-+45℃;濕度 20%-80%;物理尺寸112×57×47MM;使用壽命100萬次。該指標可適用于大部分環境下的應用。
系統使用的嵌入式mini2440 ARM開發平臺以Samsung S3C2440為微處理器,并采用專業穩定的CPU內核電源芯片和復位芯片來保證系統運行時的穩定性。硬件平臺框圖如圖2所示,主要性能指標包括[9]:CPU處理器:Samsung S3C2440A,主 頻 400MHz, 最 高 533 MHz;SDRAM內 存:64M,32bit數據線,SDRAM的時鐘頻率高達100MHz;FLASH存 儲:256M Nand Flash, 掉 電非易失;2M Nor Flash,掉電非易失;LCD顯示:256K色240x320/3.5英寸TFT真彩液晶屏,帶觸摸屏;接口資源:10M以太網RJ-45接口(采用DM9000 網卡);USB(1 host、1 device);UART 3 個;RS232串口1個;系統時鐘源:12M 無源晶振;操作系統支持:Linux 2.6.32;Windows CE NET 5.0;提供所有板級設備驅動。

圖2 Mini2440 ARM開發平臺硬件框圖
系統上電后,首先是初始化和加載驅動,然后根據主菜單進行功能選擇。考慮到考勤機的實際使用,系統實現了有人值守和無人值守兩種工作模式,長時間不工作系統均進入省電模式。考勤時間等考勤要求,可在使用前由管理者根據實際情況定制。無人值守模式下,系統能實現自動考勤、自動記錄考勤信息等功能。有人值守時,系統可根據需要增減指紋信息;指紋信息或者考勤信息可選擇使用網絡接口或USB接口上傳數據。系統主程序流程圖如圖3。

圖3 主程序流程圖
ARM平臺系統選擇了開源的Linux操作系統,具體版本為Linux 2.6.32,采用模塊化編程。軟件模塊主要包括預定義及初始化模塊、串行通信模塊、指紋識別功能模塊、網絡通信模塊等,對源程序進行了交叉編譯和調試。人機交互的觸摸屏應用程序設計采用了QT2.2.3平臺。
預定義模塊主要是對一些常用的數據類型重新進行類型名聲明;對一些指令碼、包標識、確認碼等進行定義,從而增強了程序的可讀性。初始化模塊程序主要利用開發平臺所帶的驅動級程序,系統上電后,在bootloder 控制下加載所有的驅動程序,使得所應用的硬件處于工作狀態。
TCS316指紋模塊與Mini2440 ARM平臺通過UART串口進行通信,ARM平臺按照TCS316指紋模塊的命令格式和通信協議進行交互工作。Linux操作系統提供了豐富而便捷的函數,對串口通信提供了很好的支持。串行通信模塊主要是調用Linux豐富的庫函數,從而完成對串口的初始化,打開、關閉串口,設置波特率、數據位、停止位奇偶校驗等操作。
根據TCS316指紋模塊的命令集及通信協議和平臺串口通信函數,編寫了可以實現指紋采集、特征值存儲、指紋搜索和比對、刪除等功能的函數模塊。由于TCS316模塊命令集及通信協議的特殊性,在編寫指令發送函數和應答包接收函數時都采取了各自適當的長度進行,以滿足其通信協議和命令格式的具體要求。
本考勤機具有網絡通信功能,其硬件支撐芯片為DM9000,本系統架構采用基于TCP協議棧網絡編程方式,利用ARM平臺和操作系統系統的套接字網絡編程接口,開發相應的網絡應用程序,考勤機屬于網絡通信的客戶端,在LINUX操作系統平臺下的客戶端操作主要包括初始化Socket,建立Socket,與服務器連接,發送數據,接收數據,關閉Socket等過程。為了實際應用,自定義的TCP應用層的通信協議主要包括初始注冊、日常驗證、查詢等命令功能和工號、姓名、性別、部門、指紋特征串等信息。通過該模塊,嵌入式考勤機可以通過任何網絡設備如路由器、交換機等設備和服務器實現互聯。
本系統采用了觸摸式LCD實現人機交互,人機界面應用程序的設計采用了便于設計出界面友好、開發效率高、兼容Linux操作系統的QT平臺,具體版本為QT2.2.3。QT/Embedded平臺的搭建和使用比較簡單,這里不再贅述。
為了驗證所設計考勤機的可行性和穩定性,測試了指紋識別功能和系統運行的功能。測試結果表明系統的硬件和軟件都能較好的工作,實現了指紋錄入、比對、刪除等指紋功能。系統穩定性較好,成功率高。考勤機關鍵功能測試結果如表1。
測試中指紋錄入、搜索出現的極少數不成功的情況,都是極端情況下指紋采集方面的問題,只要保證指紋質量可以實現100%的成功。在采集指紋時,應盡量保證指紋擺放位置盡量和傳感器的采集頭重合、指紋采集傳感器的潔凈和手指的潔凈等,這樣就能采集到質量較高的指紋,為相應功能的實現奠定良好的基礎。

表1 考勤機關鍵功能測試結果
本文采用TCS316指紋識別模塊和基于S3C2440 ARM9處理器的嵌入式mini2440 ARM平臺,設計了一款基于嵌入式技術的自動指紋識別考勤機。設計的考勤機體積小、可移動,能獨立完成指紋采集、存儲、比對和顯示等考勤功能,具有網絡接口和USB接口,可以方便的接入服務器、PC或USB存儲設備,實現數據自動存儲和備份。實驗結果表明系統的硬件和軟件都能較好的工作,達到了預期的目的。
利用系統設計的USB和網絡接口功能可以實現考勤基本信息的數據上傳,結合服務器或PC端的考勤管理系統,可以實現功能完善的基于指紋識別技術的考勤系統,具有廣泛的應用前景。
[1] 段少雄,等.高效指紋考勤系統的研究與設計[J].計算機工程.2003,29(9).
[2] 唐業等.基于智能卡的分布式考勤管理系統的研究與實現[J].計算機應用與軟件.2005,22(5).
[3] Jain A.K., Ross A., Prabhakar S..An introduction to biometric recognition.IEEE Transactions on Circuits and Systems for Video Technology, 2004, 4(1):4-20
[4] 畢曉君等.基于嵌入式的指紋識別系統研究.模式識別與仿真.2007年第26卷第1期
[5] 孫瓊.嵌入式Linux應用程序開發詳解[M].北京:人民郵電出版社,2006
[6] 李昊,傅曦.精通VisualC++指紋模式識別系統算法與實現[M].北京:人民郵電出版社,2008
[7] 祝恩,殷建平,張國敏,等.自動指紋識別技術[M].長沙:國防科技大學出版社,2006
[8] 北京天誠盛業科技有限公司.TCS316用戶手冊[M].北京:北京天誠盛業科技有限公司,2009
[9] 廣州友善之臂計算機科技有限公司.MINI2440ARM開發平臺用戶手冊[M].廣州:廣州友善之臂計算機科技有限公司,2010