錢瑩晶
(懷化學(xué)院 物理與信息工程系,湖南 懷化 418008)
目前身份識別系統(tǒng)主要有兩個(gè)方向的技術(shù)支撐,一是基于智能卡和射頻識別技術(shù)的身份驗(yàn)證系統(tǒng)[1-3],二是基于生物識別技術(shù)的身份驗(yàn)證系統(tǒng)[4]。 前者將用戶信息固化在一塊集成電路IC 或射頻識別卡中,系統(tǒng)雖簡單但通用性差、可靠性差、容易出現(xiàn)身份冒認(rèn)現(xiàn)象[5-6];指紋識別技術(shù)是生物識別技術(shù)中的一種,是迄今為止人們最關(guān)注、最成熟的生物識別技術(shù)[7-8]。
目前, 市面上的基于指紋識別技術(shù)的身份認(rèn)證系統(tǒng)通常采用的是通用計(jì)算機(jī)或沒有考慮功耗的控制器控制。 這樣的系統(tǒng)雖然功能全、容量大,但存在成本高、體積和功耗較大等缺陷,因而不適合隨身攜帶,應(yīng)用場合也受到一定的限制[9],尤其是在非固定考勤地點(diǎn)和容量不大的場合。 例如,高校學(xué)分制下課堂考勤就不能套用目前市面上固定安裝的這種指紋考勤機(jī)[10],這是由于對學(xué)生的考勤只有與教師上課完全同步才有意義,這就需要考勤終端在教師上課時(shí)能在學(xué)生中自由有序地移動(dòng)來采集學(xué)生指紋[11-12]。這顯然是目前市面上由于功耗問題需要市電供電而固定安裝在考勤地點(diǎn)的指紋考勤機(jī)所無法解決的技術(shù)問題。 所以,以教務(wù)考勤系統(tǒng)為例研制一套高效、 智能和可靠的便攜式考勤管理系統(tǒng)有著重要的應(yīng)用價(jià)值和一定的工程參考價(jià)值。
系統(tǒng)框圖如圖1 所示,系統(tǒng)由光學(xué)指紋傳感器、DSP、單片機(jī)、外擴(kuò)存儲器和人機(jī)接口等模塊組成。 其中光學(xué)指紋傳感器用于采集指紋信息;DSP 處理器采用TI 公司的TMS320VC5501,通過TFS-9 商用指紋算法在光學(xué)指紋傳感器錄入指紋信息經(jīng)過圖像處理提取特征值, 并能完成指紋比對和搜索等功能; 單片機(jī)TM4C123GH6PMI 通過異步串口UART 接口通訊協(xié)議控制DSP 完成指紋錄入、比對、上傳或接收特征值;用戶的信息可以通過鍵盤錄入同時(shí)通過液晶顯示器OLED12864 顯示。 需要說明的是為了適應(yīng)便攜式使用, 系統(tǒng)進(jìn)行模塊選型時(shí)最為重要的就是選擇低功耗器件。 這里單片機(jī)采用德州儀器的32 位超低功耗微處理器TM4C123GH6PMI、液晶采用低功耗液晶OLED12864。
圖1 系統(tǒng)框圖
由圖1 的系統(tǒng)框圖可以看出, 該系統(tǒng)的硬件組成很簡單,其連接也不復(fù)雜。 主要涉及到3 部分之間的接口連接。 單片機(jī)與DSP 內(nèi)核的TFS-M51 指紋模塊的連接,采用UART 的3 線標(biāo)準(zhǔn), 用于給指紋模塊發(fā)送命令和接收指紋模塊采集到的用戶信息及模塊狀態(tài); 單片機(jī)與液晶采用并行連接,OLED12864 是128×64 行點(diǎn)陣的OLED 單色、 字符、 圖形顯示模塊, 模塊內(nèi)藏64×64 的顯示數(shù)據(jù)RAM,其中每位數(shù)據(jù)都對應(yīng)于OLED 屏上一個(gè)點(diǎn)的亮、暗狀態(tài),其接口電路和操作指令簡單,可以采用串行數(shù)據(jù)接口; 單片機(jī)和外擴(kuò)存儲器采用I2C 串行接口, 存儲器24C02 用于存儲用戶考勤結(jié)果(注意只是考勤記錄而非用戶的指紋信息),保證掉電后考勤結(jié)果不至于丟失。
該考勤系統(tǒng)的主要設(shè)計(jì)任務(wù)是軟件設(shè)計(jì), 特別是不同功能狀態(tài)時(shí)單片機(jī)與DSP 內(nèi)核指紋模塊之間的通信。為了明確軟件設(shè)計(jì)任務(wù), 先對該系統(tǒng)的功能和使用流程進(jìn)行說明。
該便攜式指紋考勤系統(tǒng)主要用于學(xué)生上課考勤,其具體功能應(yīng)該包括以下幾項(xiàng):
3.1.1 指紋錄入:輸入學(xué)號后,對同一個(gè)用戶連續(xù)三次錄入指紋一致后方成功, 以此為基礎(chǔ)建立任課班級指紋庫。
3.1.2 指紋匹配: 正常授課課堂上采集指紋并與指紋模塊中的指紋庫對照,即學(xué)生指紋簽到。
3.1.3 考勤統(tǒng)計(jì): 可以統(tǒng)計(jì)未進(jìn)行指紋簽到的學(xué)生名單,下課后教師可以按鍵翻閱。
除此3 部分基本功能外,還有清除簽到記錄、刪除指紋庫和對錯(cuò)誤操作進(jìn)行程序復(fù)位等功能。
該便攜式指紋考勤系統(tǒng)設(shè)置了16 個(gè)按鍵:10 個(gè)數(shù)字鍵用來輸入學(xué)號;1 個(gè)添加用戶‘A’鍵;1 個(gè)簽到匹配‘B’鍵;‘C’鍵重新補(bǔ)簽到,補(bǔ)簽到需要教師密碼;‘D’鍵刪除所有的記錄包括指紋庫(加有警告提示,此處也可在程序中設(shè)置密碼);‘*’鍵查看未到的用戶。
正如上文所述, 此系統(tǒng)的主要軟件工作是單片機(jī)和DSP 內(nèi)核的指紋模塊間的數(shù)據(jù)交換。 這部分軟件設(shè)計(jì)與通信方式和通信協(xié)議密切相關(guān)。
DSP 模塊作為從設(shè)備, 由主設(shè)備單片機(jī)發(fā)送相關(guān)命令對其進(jìn)行控制。 其命令接口波特率為19200bps,1 起始位,1 停止位,無校驗(yàn)位。
主設(shè)備發(fā)送的命令及DSP 模塊的應(yīng)答按數(shù)據(jù)長度可分為2 類, 最為簡單和常用的是固定8 個(gè)字節(jié)的數(shù)據(jù)格式。 具體數(shù)據(jù)格式如下:
表1 通信格式
其 中,CMD 為 命 令/應(yīng) 答 類 型;P1、P2、P3 為 命 令 參數(shù);Q1、Q2、Q3 為應(yīng)答參數(shù);CHK 為校驗(yàn)和,0xF5 為第2字節(jié)到第6 字節(jié)的異或值。
4.2.1 使模塊進(jìn)入休眠狀態(tài)(命令/應(yīng)答均為8 字節(jié))
命令數(shù)據(jù)格式如下:
表2 休眠模式格式字
4.2.2 設(shè)置/讀取指紋添加模式(命令/應(yīng)答均為8 字節(jié))
指紋添加分兩種模式: 允許重復(fù)模式和禁止重復(fù)模式。 在”禁止重復(fù)模式”下,同一枚手指只能添加一個(gè)用戶,若強(qiáng)行進(jìn)行第二輪添加將返回錯(cuò)誤信息。 上電后系統(tǒng)處于禁止重復(fù)模式。
表3 設(shè)置指紋添加模式格式字
4.2.3 添加指紋(命令/應(yīng)答均為8 字節(jié))
為確保有效性, 用戶必須錄入3 次指紋, 主機(jī)須向DSP 模塊發(fā)送3 次命令。 此處以第一次錄入為例,其余2次只需將下表的第三列上數(shù)字改為相應(yīng)的錄入次數(shù)值。
表4 添加指紋格式字
4.2.4 刪除指定用戶(命令/應(yīng)答均為8 字節(jié))
表5 刪除模式格式字
4.2.5 采集圖像并提取特征值上傳(命令為8 字節(jié)/應(yīng)答>8 字節(jié))
表6 采集、上傳格式字
應(yīng)答數(shù)據(jù)包如下:
表7 應(yīng)答模式格式字
說明:特征值數(shù)據(jù)長度Len-3 恒為193 字節(jié)。
在上述通信方式和協(xié)議下可以進(jìn)行如下軟件設(shè)計(jì)。軟件設(shè)計(jì)包括主程序和部分功能子程序, 其中比較重要的功能子程序包括添加用戶功能程序、 刪除用戶功能程序和簽到匹配功能程序。
4.3.1 主程序設(shè)計(jì)
如圖2 所示系統(tǒng)主程序流程圖中, 系統(tǒng)在上電之后先進(jìn)行串口、液晶和24C02 存儲器的初始化。 然后進(jìn)行按鍵掃描,根據(jù)按鍵掃描情況設(shè)置狀態(tài)機(jī)安排任務(wù)調(diào)度。 若檢測到A 鍵被按下,則進(jìn)行新用戶錄入操作;若檢測到B鍵被按下,則進(jìn)行匹配簽到操作;若檢測到C 鍵被按下,則進(jìn)行補(bǔ)簽到操作;若檢測到D 鍵被按下,則進(jìn)行刪除;若檢測到*鍵被按下,則進(jìn)行查看未簽到學(xué)生操作;若檢測到數(shù)字鍵被按下,則記錄數(shù)字并顯示。
圖2 主程序流程圖
4.3.2 添加用戶功能程序設(shè)計(jì)
圖3 添加用戶子程序流程圖
為了保證登記入指紋庫的學(xué)生用戶指紋信息有效可靠,需要連續(xù)錄入3 次,并保證3 次錄入的學(xué)生指紋特征值一致。 合法的指紋特征值作為模板保持在指紋庫中,正常上課考勤時(shí)錄入的學(xué)生指紋將以此指紋庫中的指紋模板為對照對象。
4.3.3 刪除用戶子程序設(shè)計(jì)
刪除用戶指紋可以是對所有用戶, 也可以指定某個(gè)用戶。 下面以刪除所有用戶信息為例說明如何刪除指紋信息。
圖4 刪除用戶子程序流程圖
4.3.4 簽到匹配子程序設(shè)計(jì)
該功能程序在B 健被按下時(shí)啟動(dòng)。當(dāng)B 健被按下時(shí),單片機(jī)給DSP 指紋模塊發(fā)送0x0C 命令(進(jìn)行1:N 比對)。如比對匹配成功, 可以從指紋模塊返回的狀態(tài)字中讀出匹配的學(xué)生用戶號, 然后在主設(shè)備單片機(jī)端將用戶號和學(xué)生學(xué)號映射,并在顯示器上顯示。
圖5 簽到匹配子程序流程圖
本文以教務(wù)考勤系統(tǒng)為例, 介紹了一套基于指紋識別技術(shù)的便攜式考勤管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。 該系統(tǒng)為適應(yīng)便攜式設(shè)備低功耗的需要, 硬件上以超低功耗單片機(jī)TM4C123GH6PMI 為控制器、以兼容LTTL 電平和支持待機(jī)模式的TFS-M51 為指紋模塊、 以低功耗液晶OLED12864 為顯示器, 軟件上在系統(tǒng)無激活時(shí)采用低功耗待機(jī)模式。 該系統(tǒng)具有指紋錄入、刪除、對比檢測和翻閱未簽到學(xué)生名單等功能。 測試結(jié)果表明: 該系統(tǒng)可在2000mAh 容量電池供電情況下正常工作10 小時(shí),實(shí)現(xiàn)容量為800 人的考勤,可以滿足便攜式考勤的需要。
圖6 實(shí)物典型界面圖
[1]李卓徽. 基于RFID 的人員身份識別及定位系統(tǒng)研制[J].計(jì)算機(jī)測量與控制,2012,20(8):2281-2284.
[2]熊愛民,梁穎思.基于GSM 網(wǎng)絡(luò)的RFID 汽車防盜系統(tǒng)設(shè)計(jì)[J].華南師范大學(xué)學(xué)報(bào):自然科學(xué)版,2009(2):53-56.
[3]黃偉.基于RFID 技術(shù)的礦山人員定位系統(tǒng)的設(shè)計(jì)[J].控制工程,2013,20(6):1181-1184.
[4]湯敏.通用指紋圖像處理分析平臺的研發(fā)與應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2010(4):791-794.
[5]陳瑞鑫,鄒傳云.有源RFID 定位系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2010(10):114-116.
[6]時(shí)浩,李爭平,郭書軍,黃明.基于RFID 的考勤系統(tǒng)設(shè)計(jì)[J].北方工業(yè)大學(xué)學(xué)報(bào),2011,23(3):17-22.
[7]朱宇.21 世紀(jì)最具發(fā)展前景的生物認(rèn)證技術(shù)[J].科技導(dǎo)報(bào),2010(5):8.
[8]李曉昆.基于結(jié)構(gòu)特征的指紋識別[J].計(jì)算機(jī)工程與科學(xué),1999(2):25-29
[9]陳建孝.利用指紋識別器進(jìn)行考勤管理[J].內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2006,27(1):108-110.
[10]李建坡,朱緒寧,唐寧.基于DSP 的無線指紋考勤系統(tǒng)[J].自動(dòng)化儀表,2012,33(9):28-31.
[11]王超峰. 基于ARM 平臺的嵌入式自動(dòng)指紋考勤機(jī)設(shè)計(jì)[J].制造業(yè)自動(dòng)化,2010(12):139-141.
[12]章通,陳金玉.網(wǎng)絡(luò)指紋考勤系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2011,28(2):73-75.