張 瑜
(日照廣播電視大學(xué),山東 日照 276826)
考勤辦公管理系統(tǒng)是企事業(yè)單位的一個重要的組成部分,它對提高本單位的工作效率,展現(xiàn)本單位的現(xiàn)代管理風(fēng)貌起了很大的作用.近幾年,隨著射頻識別技術(shù)(Radio Frequency Identification,RFID)的發(fā)展,考勤、公告等辦公系統(tǒng)也需要不斷研發(fā)新的功能才能適應(yīng)企業(yè)發(fā)展的要求.為此筆者設(shè)計了一個基于射頻卡的考勤辦公系統(tǒng).該系統(tǒng)易學(xué)易用,權(quán)限分明,數(shù)據(jù)安全.能簡易方便的管理員工考勤、請假等方面的事務(wù).
系統(tǒng)整體框架圖如圖1所示.
圖中基于射頻識別技術(shù)的多個刷卡器通過刷卡分別獲得卡號,通過485通訊方式上傳給PC,PC正確接收后,發(fā)送確認(rèn)信息給各個刷卡器,并在刷卡器上出現(xiàn)相應(yīng)的聲光反應(yīng).PC機將卡號和上班時間通過考勤系統(tǒng)計入數(shù)據(jù)庫進行考勤信息管理.
圖1 系統(tǒng)總體框架
本系統(tǒng)中刷卡器采用了8052兼容單片機華邦78E52為控制核心,其功能是讀取ID卡的卡號,并將該卡號通過RS485串口發(fā)送給上位機.刷卡器可以分為電源、晶振、復(fù)位電路、TTL-485轉(zhuǎn)換電路、ID卡讀取電路以及其他電路等單元模塊[1-2].
電源電路設(shè)計采用了7805電源芯片,該芯片允許的最大輸入電壓為35V,滿足大多數(shù)電源適配器的輸出電壓,適應(yīng)范圍比較廣.只需簡單的外圍電路就能實現(xiàn)5V的穩(wěn)壓輸出,輸出電壓的誤差不會超過4%,即4.8-5.2V;峰值電流最大為2.2A;內(nèi)置短路電流限制電路和溫度過熱保護電路,如果出現(xiàn)過熱或者過流,芯片會自動降低輸出電流甚至關(guān)斷輸出以保護芯片不被燒毀,可靠性比較高,是一款應(yīng)用比較廣泛的電源芯片.7805的封裝類型有TO-220和D-PAK,本設(shè)計采用的是TO-220封裝形式.為了避免將錯誤極性的電源加到7805電源芯片上而燒壞芯片,該設(shè)計中采用的1N4007是一款快速恢復(fù)整流二極管軸線引線式封裝.保險絲主要是實現(xiàn)過流保護.
該設(shè)計中的電解電容和電感都是濾波的作用.其中的小電容104(0.1μF)是去耦電容,用來消除高頻干擾.電源電路如圖2示.
圖2 電源電路
射頻ID卡與刷卡器的通訊[2-3]設(shè)計采用長春力得公司的LD001-W射頻讀卡模塊,該模塊讀卡距離在80~120mm;模塊封裝類似DIP28,工作頻率為125kHz,適用的卡片類型為uEM4001及兼容芯片,該卡片采用曼徹斯特編碼,而該模塊與單片機的通訊接口采用該公司的韋根26協(xié)議[1-3],電路連接如圖3所示.
圖3 射頻卡通訊電路
圖3中引腳1:DATA0和引腳2:DATA1與單片機通過韋根協(xié)議進行通訊,將卡號傳輸給單片機,3號引腳CS與單片機的INT0引腳相連,每個位的傳輸都會引起單片機的外部中斷,并在其中斷服務(wù)程序中將該位的數(shù)據(jù)存到單片機的緩存區(qū)中.15號和16號引腳接外部的感應(yīng)線圈.
設(shè)計采用的LD001-W模塊與單片機的通訊采用的是韋根26協(xié)議,該協(xié)議是長春力得公司在標(biāo)準(zhǔn)韋根26協(xié)議的基礎(chǔ)上改進而來.該協(xié)議的基本內(nèi)容為:
(1)韋根數(shù)據(jù)輸出的基本概念
DATA0為低電平,DATA1為高電平時,當(dāng)前傳輸?shù)奈粸?,而DATA0為高電平,DATA1為低電平時,當(dāng)前傳輸?shù)奈粸?.
(2)韋根26位輸出格式
第一位是2-13位的偶校驗位;第二十六位是14-25位的奇校驗位.
(3)韋根26的接收格式
韋根的接收對時間的實時性要求比較高,如果用查詢的方法接收會出現(xiàn)丟幀的現(xiàn)象:假設(shè)查詢到DATA0為0,DATA1為1時,主程序正在指向其他任務(wù),等主程序執(zhí)行完該任務(wù)時DATA0變成1,DATA1變成0了,這樣讀出的卡號肯定奇偶校驗通不過,所以表現(xiàn)出CPU接收不到ID模塊發(fā)送的卡號了.唯一的辦法是在外部中斷里接收每個位[4].
(4)奇偶校驗
奇偶校驗是一種校驗代碼傳輸正確性的方法,是所有校驗算法中最簡單的方式.根據(jù)被傳輸?shù)囊唤M二進制代碼的數(shù)位中“1”的個數(shù)是奇數(shù)或偶數(shù)來進行校驗.采用奇數(shù)的稱為奇校驗,反之,稱為偶校驗.采用何種校驗是事先規(guī)定好的.通常專門設(shè)置一個奇偶校驗位,用它使這組代碼中“1”的個數(shù)為奇數(shù)或偶數(shù).若用奇校驗,則當(dāng)接收端收到這組代碼時,校驗“1”的個數(shù)是否為奇數(shù),從而確定傳輸代碼的正確性.
ID卡的讀取程序流程如圖4所示.
圖4 ID卡讀卡流程圖
上位機軟件是本系統(tǒng)的重要實現(xiàn)平臺,本設(shè)計采用DELPHI編程環(huán)境實現(xiàn)上位機軟件的編寫、調(diào)試.分為兩大部分[2-5]:
(1)監(jiān)控軟件.主要面向系統(tǒng)管理員使用,實現(xiàn)對刷卡情況的監(jiān)控,并將卡號寫入數(shù)據(jù)庫.
(2)數(shù)據(jù)庫軟件.實現(xiàn)考勤信息的錄入,修改,刪除,請假管理等.
上位機軟件從技術(shù)方面主要分為兩大部分.
(1)數(shù)據(jù)庫操作部分.本設(shè)計采用的數(shù)據(jù)庫是SQL server 2000,主要操作是數(shù)據(jù)庫的連接、查詢、刪除、編輯、請假管理等.
(2)串口通訊部分.這部分實現(xiàn)與刷卡器的通訊,獲得卡號及考勤時間.
本文著重介紹與485串口刷卡器的通訊.
由于PC機是RS232串口,在進行RS485通訊時,首先要進行RS232與RS485轉(zhuǎn)換,設(shè)計采用了STM485S型號的轉(zhuǎn)換器.
實現(xiàn)485通訊的前提是制定通訊協(xié)議,考慮到多個刷卡器與PC機通訊的及時性,因此,在制定通訊協(xié)議時,基于MODBUS協(xié)議進行了適當(dāng)?shù)男薷?
主從式485通訊協(xié)議數(shù)據(jù)格式[6]:
長度+分機號+命令碼+幀數(shù)據(jù)+XOR
長度:1字節(jié),為除校驗字節(jié)的所有數(shù)據(jù)長度(包括自身),
分機號:1字節(jié),分機的地址;
命令碼:1字節(jié),命令格式:
0x00:從機沒有數(shù)據(jù);
0xFF:從機有數(shù)據(jù);
0x01:數(shù)據(jù)接收成功;
0x02:重復(fù)簽退;
0x03:卡號異常;
0x04:未注冊手機;
0x05:無數(shù)據(jù);
0xF1:數(shù)據(jù)地址錯誤,結(jié)束;
0xF2:校驗錯誤,重試;
0xF3:校驗錯誤,結(jié)束;
幀數(shù)據(jù):n字節(jié),幀數(shù)據(jù)可以為空;
XOR:1字節(jié),異或校驗位;
主從式485通訊協(xié)議:
從機正常狀態(tài)應(yīng)處于接收地址狀態(tài)(SM=1);
主機發(fā)送地址幀(MARKPARITY);
主機進入數(shù)據(jù)接收狀態(tài)(SP_PARITY);
所有從機收到地址幀,地址核對正確的從機進入接收數(shù)據(jù)狀態(tài)(SM=0);并根據(jù)數(shù)據(jù)格式,發(fā)送信息到主機;
主機收到返回數(shù)據(jù)時:
如果校驗錯誤,返回校驗錯誤命令(0xF2);
如果校驗成功,進一步判斷地址是否正確,若地址錯誤則返回地址錯誤命令(0xF1);否則有數(shù)據(jù)讀取卡號返回(0x01或0x02或0x03或0x04),無數(shù)據(jù)返回(0x05);
從機收到返回數(shù)據(jù)時:
如果校驗錯誤,要求重新刷卡.
如果校驗正確,當(dāng)命令字為(0xF2)時,保存數(shù)據(jù).否則,本次通訊結(jié)束.
功能測試界面如圖5、圖6所示.
圖5 請假處理界面
圖6 統(tǒng)計報表界面
本文設(shè)計的基于485通訊的射頻卡刷卡考勤系統(tǒng),能與多個刷卡器通訊,實現(xiàn)了考勤信息的自動化管理.且該系統(tǒng)具有準(zhǔn)確快捷、易于擴展等特點.
[1]蔣皓石,張成,樸嘉宇.無線射頻識別技術(shù)及其應(yīng)用和發(fā)展趨勢[J].電子技術(shù)應(yīng)用,2005(5):56-58.
[2]桑靜.基于射頻識別卡的學(xué)生考勤系統(tǒng)的設(shè)計與實現(xiàn)[D].蘇州:蘇州大學(xué),2007.
[3]徐麗華.射頻識別卡讀寫模塊的設(shè)計與應(yīng)用[D].蘇州:蘇州大學(xué),2005.
[4]李錦濤,郭俊波.射頻識別技術(shù)及其應(yīng)用[J].信息技術(shù)快報,2004,5(11):88-90.
[5]凌國平.如何提高測控系統(tǒng)中RS485通信的可靠性[J].儀器儀表學(xué)報,2005(8):470-471.
[6]劉錚,章兢,劉建漢.非接觸式IC卡在公共汽車自動售票系統(tǒng)中的應(yīng)用[J].微型電腦應(yīng)用,2002,18(5):21-23.