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