牛懷崗,林關成,曹靜
(1.渭南師范學院學報編輯部,陜西渭南 714099;2.渭南師范學院計算機學院,陜西渭南 714099)
人事考勤制度是現(xiàn)代企業(yè)管理的重要組成部分,其在提高員工的時間觀念和工作效率,改善企業(yè)風貌,提升企業(yè)形象等方面發(fā)揮著重要的作用。傳統(tǒng)的考勤方式主要包括手工簽到、打卡鐘、IC 卡或磁卡考勤等,存在管理效率較低、統(tǒng)計工作復雜以及代簽或代打卡等問題,耗費了大量人力、物力、財力,存在明顯的不足[1-2]。隨著生物特征識別技術(shù)的不斷發(fā)展,指紋識別技術(shù)也日趨成熟,逐漸成為生物特征識別技術(shù)中較為流行的一個分支[3-4]。指紋雖然面積不大,但其蘊含的數(shù)據(jù)信息量卻相當大,在認證和識別時,能夠做到準確高效而且速度較快[5-6]。由于其識別的高度準確性和使用的方便性,指紋識別技術(shù)已經(jīng)被廣泛應用到安防加密、人事考勤等領域,用以研究開發(fā)指紋考勤機、指紋考勤系統(tǒng)等產(chǎn)品。
針對傳統(tǒng)考勤方式的缺點,設計了一種基于光學指紋識別技術(shù)的考勤系統(tǒng),通過STC12C5A60S2單片機和指紋識別模塊采集人員考勤信息,利用上位機實時查看人員考勤狀態(tài),實現(xiàn)了現(xiàn)代企業(yè)和事業(yè)單位的自動考勤和考勤數(shù)據(jù)的分析處理,系統(tǒng)具有體積小、準確率高、速度快等優(yōu)點,節(jié)約了考勤時間,提高了考勤效率,可有效防止代人打卡、簽到和遲到早退等現(xiàn)象,提升了企事業(yè)單位考勤管理的信息化水平。
根據(jù)企事業(yè)單位考勤工作流程,智能指紋考勤系統(tǒng)首先需要通過上位機注冊或者刪除指紋,實現(xiàn)對工號、姓名、部門等人員信息和對應指紋的錄入和保存,然后采用光學指紋模塊,進行指紋識別打卡簽到。系統(tǒng)下位機將識別成功的指紋信息保存后,通過USB 轉(zhuǎn)TTL 接口將人員的考勤簽到信息發(fā)送到上位機,實現(xiàn)與上位機的數(shù)據(jù)通信與傳輸顯示。系統(tǒng)上位機可設定上、下班時間,保存簽到記錄和人員姓名、打卡時間及打卡狀態(tài)等考勤數(shù)據(jù)信息,還可控制下位機播放音頻文件,進行語音播報提示。同時,通過上位機可根據(jù)人員姓名和打卡時間,查詢員工的考勤記錄。如果遇到重名的員工,還可以進行標記區(qū)分,打卡時間精確到秒。
根據(jù)上述系統(tǒng)功能需求,以單片機作為中央處理芯片,智能指紋考勤系統(tǒng)主要由電源供電模塊、按鍵操作模塊、指紋采集與識別模塊、USB 轉(zhuǎn)TTL 通信模塊和語音播報模塊等組成,系統(tǒng)總體設計方案如圖1 所示。
圖1 系統(tǒng)總體設計方案
1.2.1 單片機選型
MSP430 單片機是16 位高性能單片機,其內(nèi)部具有精簡指令集,作為一種混合信號處理器,可以根據(jù)實際需求把數(shù)字電路、模擬電路和微處理器都集成到一個單片機芯片上,外部IO 資源較為豐富,能夠?qū)崿F(xiàn)高速運算,但是在編程上卻較為復雜。STC12C5A60S2 系列單片機是單時鐘/機器周期(1T)單片機,具有速度高、功耗低和超強抗干擾等特點,指令代碼完全兼容傳統(tǒng)8051 系列單片機,而且運行速度是傳統(tǒng)8051 單片機的8~12 倍,其內(nèi)部集成MAX810 專用復位電路以及2 路PWM 和8 路高速(250 kB/s)10 位A/D 轉(zhuǎn)換電路[7]。
通過對比MSP430 單片機與STC12C5A60S2 單片機,它們的處理速度和性能都能夠滿足系統(tǒng)設計要求,但是MSP430 編程復雜。因此,綜合考慮系統(tǒng)功能需求、編程難易程度以及性價比等因素,智能指紋考勤系統(tǒng)選擇STC12C5A60S2 單片機。
1.2.2 語音模塊選型
ISD4004 語音模塊是一款低功耗的錄放音模塊,可以對多段語音信息進行處理,其內(nèi)置串行通信接口可以與單片機直接相連,但是該模塊的編程較為復雜,且播放音質(zhì)較低;MY1690-16S 是由串口控制的插卡語音芯片,支持MP3、WAV 格式雙解碼,也可外接U 盤或USB 數(shù)據(jù)線播放音頻文件。用戶可以存入不同的音頻文件,作為小型的MP3 使用。該模塊連接外置喇叭后語音內(nèi)容可外放,功率約為3 W,是一款高性價比的語音模塊。
性能對比分析可知,ISD4004 語音模塊編程復雜,且價格偏高;MY1690 語音模塊使用方便,價格低廉。綜合考量制作性價比以及使用便捷性等方面,智能指紋考勤系統(tǒng)選擇MY1690 語音模塊。
根據(jù)總體設計方案要求,系統(tǒng)主控模塊選用STC12C5A60S2 單片機,該型單片機性能穩(wěn)定、通用性強、成本低廉、功耗低,具有較強的抗干擾能力和較高的可靠性,其指令集完全兼容8051 系列單片機,儲存空間可達61 kB,便于儲存較大的程序[8]。STC12C5A60S2 最小系統(tǒng)包括晶振電路、復位電路和供電電源。晶振電路由一個晶體振蕩器和兩個電容組成,可產(chǎn)生單片機工作時所必需的時鐘頻率信號,時鐘頻率越高,單片機的運行速度也就越快,該設計中晶振選用頻率為11.059 2 MHz,電容容量選為30 pF。復位電路由電阻和電容串聯(lián)構(gòu)成,系統(tǒng)上電或按下復位鍵時對電容進行充放電,在電阻上出現(xiàn)電壓,使得單片機復位;松開復位鍵或電容充滿后,電阻上電流和電壓均下降為0,使得單片機進入工作狀態(tài),系統(tǒng)中的傳感器處于確定的初始狀態(tài),并從該初始狀態(tài)開始運行。供電電源的工作電壓范圍為3.3~5 V,從直流穩(wěn)壓電源獲取5 V 直流電壓,按下開關鍵可實現(xiàn)對系統(tǒng)的開啟與關閉。
該文設計采用兩個獨立按鍵作為考勤打卡按鍵。在打卡前按下開啟鍵打開指紋識別模塊,然后進行指紋識別,識別結(jié)束后按下結(jié)束鍵關閉指紋識別模塊。獨立按鍵的工作原理:當按鍵被按下后,將拉低對應I/O 端口的電平,此時電路與GND 導通,單片機通過按鍵掃描程序可以讀取所對應I/O 端口的電平狀態(tài)[5]。因此,只要通過檢測單片機I/O 端口的電平狀態(tài)即可判斷按鍵的開關狀態(tài),從而判斷是哪個按鍵被按下,進而實現(xiàn)相應的按鍵功能。
該文設計采用MY1690-I2P 語音模塊播報提示音,通過上位機可設定上班時間和下班時間,控制下位機音頻文件的播放,在遲到或早退時如有人打卡,可播報語音提示:“早上好,您已遲到或者您已早退,再見”,實現(xiàn)對考勤結(jié)果的提醒。MY1690-I2P 語音模塊通過串口的方式與單片機連接并進行通信,通過讀取模塊中TF 卡所存儲的語音,實現(xiàn)語音信息播報。在與單片機連接的電路中,MY1690 模塊中所用到的引腳為RX 引腳、5V 引腳、GND 引腳以及SK1、SK2 引腳。模塊的RX 引腳為異步串口的輸入引腳,連接單片機的P3.1 口,實現(xiàn)與單片機的數(shù)據(jù)傳輸;GND 引腳接地,5 V 引腳連接電源,而SK1 和SK2 引腳為外界無源喇叭的連接引腳。MY1690-I2P 語音播報電路如圖2 所示。
圖2 MY1690語音播報電路
系統(tǒng)設計采用ATK-AS608 高性能光學指紋模塊電路,其芯片內(nèi)置了DSP 運算單元,同時將指紋識別算法集成于模塊內(nèi)部,可高效快速地采集識別指紋信息。通過串口方式與單片機的電路連接,簡單易用。ATK-AS608 指紋模塊的VCC 端為模塊的電源輸入端,由于ATK-AS608 指紋模塊采用3.3 V 電源供電,而智能指紋考勤系統(tǒng)采用5 V 電源供電,其間需要增加AMS1117 降壓模塊,將系統(tǒng)供電電壓5 V 轉(zhuǎn)換為指紋模塊電路所需的工作電壓3.3 V,TXD引腳與RXD 引腳分別為串行數(shù)據(jù)的輸出引腳和輸入引腳,分別連接單片機的數(shù)據(jù)輸出口P1.2 和數(shù)據(jù)輸入口P1.3,與單片機之間通過串口的方式實現(xiàn)數(shù)據(jù)的相互傳輸,單片機通過串口對指紋模塊進行控制[9-10]。VCC 端與GND端連接AMS1117降壓模塊,然后再分別連接系統(tǒng)的電源端和接地端。ATKAS608 指紋模塊電路設計如圖3 所示。
圖3 ATK-AS608指紋模塊電路
系統(tǒng)上位機采用Visual Studio 2019 進行開發(fā),目前大多數(shù)PC 端無串口,僅有USB 端口,因此,系統(tǒng)與上位機之間采用USB 轉(zhuǎn)TTL 串口的方式與單片機實現(xiàn)通信。STC125A60S2 單片機具有雙串口,設計中采用CH340 芯片實現(xiàn)USB 轉(zhuǎn)TTL 接口電路設計,將CH340 芯片的TXD 引腳與RXD 引腳分別連接到單片機的數(shù)據(jù)輸出口P3.0 和數(shù)據(jù)輸入口P3.1,通過USB 線連接電腦的USB 接口后即可實現(xiàn)系統(tǒng)與PC端之間的數(shù)據(jù)傳輸,為指紋模塊的連接和通信電路的設計提供了便利。
智能指紋考勤系統(tǒng)上位機軟件主要由通信模塊和數(shù)據(jù)查詢模塊等組成。通信模塊主要實現(xiàn)與下位機建立通信、斷開通信、接收數(shù)據(jù)和發(fā)送數(shù)據(jù)等功能[11]。軟件啟動后將自動掃描上位機PC 可用的通信端口,然后添加到下拉列表框中以供選擇,選擇好相應的通信端口后,點擊“打開”按鈕,軟件便會打開選定的端口與下位機建立通信連接。如果通信端口打開正常,則會顯示串口名稱。數(shù)據(jù)查詢模塊用于查詢考勤記錄的編號、時間和打卡狀態(tài)信息。軟件打開時默認顯示所有歷史數(shù)據(jù),如果數(shù)據(jù)過多,可通過時間段進行查詢。查詢時間段時需要輸入開始時間和結(jié)束時間,用鼠標直接點擊輸入框會彈出時間選擇界面,鼠標雙擊后,可以使用鍵盤輸入相應的開始時間和結(jié)束時間,通過開始時間和結(jié)束時間以數(shù)據(jù)表格呈現(xiàn)方式快速精準查詢考勤數(shù)據(jù)[12-13]。
系統(tǒng)上電后,主程序首先對串口進行初始化,在上位機考勤信息錄入界面輸入個人信息后,通過指紋模塊錄入指紋圖像并存入指紋庫中,完成指紋注冊過程。然后利用按鍵讀取輸入的考勤打卡指紋,調(diào)用指紋庫,通過指紋模塊對所輸入的考勤指紋進行識別匹配。如果指紋匹配不成功,警示燈亮一次后蜂鳴器響三聲進行報警,提示重新輸入指紋后識別;若指紋匹配成功,則提示考勤打卡成功,單片機將采集的數(shù)據(jù)發(fā)送到上位機[14-15]。系統(tǒng)主程序設計流程如圖4 所示。
圖4 主程序設計流程
系統(tǒng)初始化后,按下考勤開啟鍵使指紋模塊處于指紋錄入狀態(tài),當指紋模塊采集到指紋圖像信息時,需要兩次錄入指紋才能生成特征指令并存儲到指紋信息庫,其具體運行過程為:指紋模塊內(nèi)置DSP 單元發(fā)送取圖像指令,等待接收應答包。當DSP單元讀取到指紋圖像信息時,發(fā)送生成特征指令,等待接收應答包;再次發(fā)送取圖像指令及發(fā)送生成特征指令,結(jié)束判斷后輸入存儲ID,等待接收應答包后完成指紋的錄入。指紋模塊的錄入程序設計流程如圖5所示。
圖5 指紋錄入程序設計流程
系統(tǒng)在進行指紋考勤時,指紋模塊中接收到讀取觸摸感應狀態(tài),指紋模塊內(nèi)置DSP單元發(fā)送讀取圖像指令,等待接收應答包;當DSP 單元讀取到指紋圖像信息時,會生成指紋特征信息并發(fā)送特征指令,等待接收應答包后發(fā)送搜索指令,在指紋信息庫中提取檢索到的指紋并顯示指紋信息,為后續(xù)指紋識別匹配提供數(shù)據(jù)[16]。指紋考勤程序設計流程如圖6 所示。
圖6 指紋考勤程序設計流程
智能考勤系統(tǒng)軟件部分主要由單片機程序和上位機軟件及輔助程序等構(gòu)成。系統(tǒng)軟件調(diào)試主要是對系統(tǒng)各部分功能代碼和性能進行測試。首先,利用Keil μVision 自帶的斷點調(diào)試工具對單片機部分的軟件程序及流程進行調(diào)試,程序編寫完成后可進入編譯器中檢查代碼編寫是否有錯誤,如果檢查出錯誤可進行更改然后再次編譯程序。如果程序編譯失敗,可進入斷點調(diào)試,在斷點調(diào)試的工具欄中逐行對程序進行調(diào)試。斷點調(diào)試完成后,可點擊編譯按鈕對程序重新進行編譯。完成程序調(diào)試后即可生成HEX 鏡像文件,將鏡像文件燒錄進單片機即可進行下一步測試。然后,按照系統(tǒng)功能模塊劃分,對上位機程序部分的每項功能逐一進行測試,發(fā)現(xiàn)錯誤調(diào)整修改,直至全部完成功能和性能測試。
智能考勤系統(tǒng)硬件部分主要由指紋模塊、MY1690 語音模塊、獨立按鍵、5 V 轉(zhuǎn)3.3 V 電源模塊、ATK-AS608 指紋模塊、AMS1117 降壓模塊以及LED指示燈、三極管、蜂鳴器、電容、電阻等器件連接組成。系統(tǒng)硬件的調(diào)試主要是對系統(tǒng)各電路模塊的調(diào)試。首先,根據(jù)軟件的引腳定義與單片機的IO 端口進行連接,正確區(qū)分模塊引腳連接的正負極,確保傳感器的引腳連接無誤。其次,在電路的焊接與連接中,需要確定元器件是否焊接良好,確保不存在虛焊。然后,調(diào)試單片機與上位機的通信端口,確保串口選擇正確。最后,對系統(tǒng)進行軟硬件聯(lián)合調(diào)試,實現(xiàn)預期的設計功能。
該文提出了基于單片機的智能指紋考勤系統(tǒng)的總體設計方案,通過STC12 單片機和指紋識別模塊采集考勤信息,利用上位機實時查看考勤狀態(tài),實現(xiàn)了企事業(yè)單位的自動考勤和考勤數(shù)據(jù)的分析處理。智能考勤系統(tǒng)體積小、準確性高、速度快、節(jié)省了考勤時間,提高了考勤效率,可有效防止代人打卡、簽到和遲到早退等現(xiàn)象,提升了企事業(yè)單位考勤管理的信息化水平,具有較好的實用推廣價值。