王超峰
WANG Chao-feng
(蘇州大學(xué) 應(yīng)用技術(shù)學(xué)院,蘇州 215006)
紙質(zhì)打卡機(jī)、射頻IC卡考勤機(jī)等傳統(tǒng)考勤設(shè)備因自身的諸多弊端正逐漸的淡出市場,取而代之的是基于生物身份識別技術(shù)的考勤設(shè)備,如基于指紋識別技術(shù)和基于人臉圖像識別技術(shù)的考勤系統(tǒng)開始應(yīng)用于現(xiàn)代企業(yè)[1,2]。嵌入式微處理器在指紋識別系統(tǒng)中的應(yīng)用設(shè)計是當(dāng)今及今后相當(dāng)長一段時間的研究重點(diǎn)和熱點(diǎn)[3],嵌入式自動指紋識別技術(shù)使得考勤機(jī)的便攜式、可移動、低成本、易安裝、易擴(kuò)展提供了可能。近年來眾多國內(nèi)外公司推出的一些基于DSP或者ARM處理器的指紋識別模塊、嵌入式系統(tǒng)開發(fā)平臺促進(jìn)了自動指紋識別系統(tǒng)的設(shè)計與應(yīng)用開發(fā)。
本文設(shè)計的嵌入式自動指紋考勤機(jī)硬件平臺由TCS316指紋模塊和基于S3C2440ARM處理器的嵌入式mini2440 ARM開發(fā)平臺組成,人機(jī)交互采用觸摸式LCD顯示屏;軟件設(shè)計基于嵌入式LINUX操作系統(tǒng),采用模塊化編程。該嵌入式自動指紋考勤機(jī)體積小、可移動,能獨(dú)立完成指紋采集、存儲、比對和顯示等考勤功能,通過網(wǎng)絡(luò)接口可以接入服務(wù)器或PC,通過USB接口可以實(shí)現(xiàn)數(shù)據(jù)自動存儲至USB存儲設(shè)備。
考勤機(jī)的硬件系統(tǒng)結(jié)構(gòu)如圖1所示。系統(tǒng)通過結(jié)合半導(dǎo)體指紋傳感器的TCS316指紋模塊采集用戶指紋圖像信息,然后進(jìn)行指紋圖像的預(yù)處理、特征值提取等指紋圖像處理過程,最后將處理后的指紋信息存儲于模塊上的FLASH和SRAM;指紋識別模塊通過串口和ARM平臺連接,在ARM平臺的控制下實(shí)現(xiàn)指紋的自動識別及考勤功能,考勤相關(guān)信息記錄在ARM平臺模塊的FLASH和SRAM;DM9000芯片實(shí)現(xiàn)網(wǎng)絡(luò)連接,USB HOST/DEVICE實(shí)現(xiàn)USB存儲設(shè)備的連接。
圖1 考勤機(jī)硬件組成
系統(tǒng)采用了以DSP處理器為核心,結(jié)合半導(dǎo)體指紋傳感器,嵌入活體指紋識別技術(shù)的指紋模塊TCS316,該模塊具有功能較強(qiáng)、指令集豐富、開發(fā)方便、性價比高的特點(diǎn),能確保身份識別的唯一性、不可否認(rèn)性,可以支持USB、RS232兩種通訊接口,既可以在模塊內(nèi)也可以將指紋數(shù)據(jù)傳輸?shù)狡渌衔粰C(jī)(PC機(jī)或嵌入式微處理器系統(tǒng))中進(jìn)行指紋圖像的處理、存儲和比對。
模塊的性能指標(biāo)主要包括[8]:半導(dǎo)體指紋傳感器;指紋輸入面積:18.8×16MM;灰度256級、分辨率363DPI;匹配方式1:1、1:N;拒真率<1%、認(rèn)假率<0.0001%;特征數(shù)據(jù)大?。迹?56bytes/枚;指紋存儲容量1024K,可容納1000枚;指紋登記速度3-10S/枚(三次);識別時間 1:1,2- 3毫秒;1:N(N<1000),< 1秒;通訊接口USB2.0、RS232;波特率1200Bps-115200Bps、缺省值-9600Bps;數(shù)據(jù)位8BITS、1BIT停止位、無校驗(yàn)位;電源DC5V;使用環(huán)境溫度 -5℃-+45℃;濕度 20%-80%;物理尺寸112×57×47MM;使用壽命100萬次。該指標(biāo)可適用于大部分環(huán)境下的應(yīng)用。
系統(tǒng)使用的嵌入式mini2440 ARM開發(fā)平臺以Samsung S3C2440為微處理器,并采用專業(yè)穩(wěn)定的CPU內(nèi)核電源芯片和復(fù)位芯片來保證系統(tǒng)運(yùn)行時的穩(wěn)定性。硬件平臺框圖如圖2所示,主要性能指標(biāo)包括[9]:CPU處理器:Samsung S3C2440A,主 頻 400MHz, 最 高 533 MHz;SDRAM內(nèi) 存:64M,32bit數(shù)據(jù)線,SDRAM的時鐘頻率高達(dá)100MHz;FLASH存 儲:256M Nand Flash, 掉 電非易失;2M Nor Flash,掉電非易失;LCD顯示:256K色240x320/3.5英寸TFT真彩液晶屏,帶觸摸屏;接口資源:10M以太網(wǎng)RJ-45接口(采用DM9000 網(wǎng)卡);USB(1 host、1 device);UART 3 個;RS232串口1個;系統(tǒng)時鐘源:12M 無源晶振;操作系統(tǒng)支持:Linux 2.6.32;Windows CE NET 5.0;提供所有板級設(shè)備驅(qū)動。
圖2 Mini2440 ARM開發(fā)平臺硬件框圖
系統(tǒng)上電后,首先是初始化和加載驅(qū)動,然后根據(jù)主菜單進(jìn)行功能選擇??紤]到考勤機(jī)的實(shí)際使用,系統(tǒng)實(shí)現(xiàn)了有人值守和無人值守兩種工作模式,長時間不工作系統(tǒng)均進(jìn)入省電模式??记跁r間等考勤要求,可在使用前由管理者根據(jù)實(shí)際情況定制。無人值守模式下,系統(tǒng)能實(shí)現(xiàn)自動考勤、自動記錄考勤信息等功能。有人值守時,系統(tǒng)可根據(jù)需要增減指紋信息;指紋信息或者考勤信息可選擇使用網(wǎng)絡(luò)接口或USB接口上傳數(shù)據(jù)。系統(tǒng)主程序流程圖如圖3。
圖3 主程序流程圖
ARM平臺系統(tǒng)選擇了開源的Linux操作系統(tǒng),具體版本為Linux 2.6.32,采用模塊化編程。軟件模塊主要包括預(yù)定義及初始化模塊、串行通信模塊、指紋識別功能模塊、網(wǎng)絡(luò)通信模塊等,對源程序進(jìn)行了交叉編譯和調(diào)試。人機(jī)交互的觸摸屏應(yīng)用程序設(shè)計采用了QT2.2.3平臺。
預(yù)定義模塊主要是對一些常用的數(shù)據(jù)類型重新進(jìn)行類型名聲明;對一些指令碼、包標(biāo)識、確認(rèn)碼等進(jìn)行定義,從而增強(qiáng)了程序的可讀性。初始化模塊程序主要利用開發(fā)平臺所帶的驅(qū)動級程序,系統(tǒng)上電后,在bootloder 控制下加載所有的驅(qū)動程序,使得所應(yīng)用的硬件處于工作狀態(tài)。
TCS316指紋模塊與Mini2440 ARM平臺通過UART串口進(jìn)行通信,ARM平臺按照TCS316指紋模塊的命令格式和通信協(xié)議進(jìn)行交互工作。Linux操作系統(tǒng)提供了豐富而便捷的函數(shù),對串口通信提供了很好的支持。串行通信模塊主要是調(diào)用Linux豐富的庫函數(shù),從而完成對串口的初始化,打開、關(guān)閉串口,設(shè)置波特率、數(shù)據(jù)位、停止位奇偶校驗(yàn)等操作。
根據(jù)TCS316指紋模塊的命令集及通信協(xié)議和平臺串口通信函數(shù),編寫了可以實(shí)現(xiàn)指紋采集、特征值存儲、指紋搜索和比對、刪除等功能的函數(shù)模塊。由于TCS316模塊命令集及通信協(xié)議的特殊性,在編寫指令發(fā)送函數(shù)和應(yīng)答包接收函數(shù)時都采取了各自適當(dāng)?shù)拈L度進(jìn)行,以滿足其通信協(xié)議和命令格式的具體要求。
本考勤機(jī)具有網(wǎng)絡(luò)通信功能,其硬件支撐芯片為DM9000,本系統(tǒng)架構(gòu)采用基于TCP協(xié)議棧網(wǎng)絡(luò)編程方式,利用ARM平臺和操作系統(tǒng)系統(tǒng)的套接字網(wǎng)絡(luò)編程接口,開發(fā)相應(yīng)的網(wǎng)絡(luò)應(yīng)用程序,考勤機(jī)屬于網(wǎng)絡(luò)通信的客戶端,在LINUX操作系統(tǒng)平臺下的客戶端操作主要包括初始化Socket,建立Socket,與服務(wù)器連接,發(fā)送數(shù)據(jù),接收數(shù)據(jù),關(guān)閉Socket等過程。為了實(shí)際應(yīng)用,自定義的TCP應(yīng)用層的通信協(xié)議主要包括初始注冊、日常驗(yàn)證、查詢等命令功能和工號、姓名、性別、部門、指紋特征串等信息。通過該模塊,嵌入式考勤機(jī)可以通過任何網(wǎng)絡(luò)設(shè)備如路由器、交換機(jī)等設(shè)備和服務(wù)器實(shí)現(xiàn)互聯(lián)。
本系統(tǒng)采用了觸摸式LCD實(shí)現(xiàn)人機(jī)交互,人機(jī)界面應(yīng)用程序的設(shè)計采用了便于設(shè)計出界面友好、開發(fā)效率高、兼容Linux操作系統(tǒng)的QT平臺,具體版本為QT2.2.3。QT/Embedded平臺的搭建和使用比較簡單,這里不再贅述。
為了驗(yàn)證所設(shè)計考勤機(jī)的可行性和穩(wěn)定性,測試了指紋識別功能和系統(tǒng)運(yùn)行的功能。測試結(jié)果表明系統(tǒng)的硬件和軟件都能較好的工作,實(shí)現(xiàn)了指紋錄入、比對、刪除等指紋功能。系統(tǒng)穩(wěn)定性較好,成功率高??记跈C(jī)關(guān)鍵功能測試結(jié)果如表1。
測試中指紋錄入、搜索出現(xiàn)的極少數(shù)不成功的情況,都是極端情況下指紋采集方面的問題,只要保證指紋質(zhì)量可以實(shí)現(xiàn)100%的成功。在采集指紋時,應(yīng)盡量保證指紋擺放位置盡量和傳感器的采集頭重合、指紋采集傳感器的潔凈和手指的潔凈等,這樣就能采集到質(zhì)量較高的指紋,為相應(yīng)功能的實(shí)現(xiàn)奠定良好的基礎(chǔ)。
表1 考勤機(jī)關(guān)鍵功能測試結(jié)果
本文采用TCS316指紋識別模塊和基于S3C2440 ARM9處理器的嵌入式mini2440 ARM平臺,設(shè)計了一款基于嵌入式技術(shù)的自動指紋識別考勤機(jī)。設(shè)計的考勤機(jī)體積小、可移動,能獨(dú)立完成指紋采集、存儲、比對和顯示等考勤功能,具有網(wǎng)絡(luò)接口和USB接口,可以方便的接入服務(wù)器、PC或USB存儲設(shè)備,實(shí)現(xiàn)數(shù)據(jù)自動存儲和備份。實(shí)驗(yàn)結(jié)果表明系統(tǒng)的硬件和軟件都能較好的工作,達(dá)到了預(yù)期的目的。
利用系統(tǒng)設(shè)計的USB和網(wǎng)絡(luò)接口功能可以實(shí)現(xiàn)考勤基本信息的數(shù)據(jù)上傳,結(jié)合服務(wù)器或PC端的考勤管理系統(tǒng),可以實(shí)現(xiàn)功能完善的基于指紋識別技術(shù)的考勤系統(tǒng),具有廣泛的應(yīng)用前景。
[1] 段少雄,等.高效指紋考勤系統(tǒng)的研究與設(shè)計[J].計算機(jī)工程.2003,29(9).
[2] 唐業(yè)等.基于智能卡的分布式考勤管理系統(tǒng)的研究與實(shí)現(xiàn)[J].計算機(jī)應(yīng)用與軟件.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] 畢曉君等.基于嵌入式的指紋識別系統(tǒng)研究.模式識別與仿真.2007年第26卷第1期
[5] 孫瓊.嵌入式Linux應(yīng)用程序開發(fā)詳解[M].北京:人民郵電出版社,2006
[6] 李昊,傅曦.精通VisualC++指紋模式識別系統(tǒng)算法與實(shí)現(xiàn)[M].北京:人民郵電出版社,2008
[7] 祝恩,殷建平,張國敏,等.自動指紋識別技術(shù)[M].長沙:國防科技大學(xué)出版社,2006
[8] 北京天誠盛業(yè)科技有限公司.TCS316用戶手冊[M].北京:北京天誠盛業(yè)科技有限公司,2009
[9] 廣州友善之臂計算機(jī)科技有限公司.MINI2440ARM開發(fā)平臺用戶手冊[M].廣州:廣州友善之臂計算機(jī)科技有限公司,2010