摘要:介紹了一種GPRS無線射頻考勤機設計方法。將華為GTM900B無線模塊與HID讀卡器統一于ARM微處理器硬件平臺,可滿足大范圍分散地域的統一考勤需求。在此基礎上,設計了可兼容WEIGAND26和WEIGAND34協議的讀卡程序、GPRS無線通信程序和其它軟件。在分散于湛江地區的多個移動營業廳實地應用表明,該設備讀卡正確率高、響應快,數據存儲和無線傳輸穩定可靠。
關鍵:GPRS ARM 射頻考勤機 WIEGAND
0 引言
為了實現先進的“扁平化”管理,現代大公司往往謀求建立公司級別的統一考勤制度。然而,對于企業員工散布于大范圍地域的大公司來說,現行的有線考勤系統往往存在網絡結構復雜,統一考勤系統構建困難等諸多難題。
本文將GPRS無線網絡單元與射頻接收端統一于ARM7微處理器平臺,設計了基于ARM的GPRS無線射頻考勤機,可有效滿足分散地域的大范圍統一考勤需求。
1 基于ARM的GPRS無線射頻考勤機系統硬件結構設計
系統結構由ARM微處理器、HID設頻模塊、GPRS無線模塊、外部實時時鐘和考勤記錄存儲單元五部分組成??紤]到開發周期、系統穩定性等問題,ARM微處理器采用西門子LPC2214微處理器芯片,HID射頻模塊采用成熟的ProcPoint公司6005B型HID讀卡器,GPRS無線模塊采用華為GTM9DOB內嵌TCP/IP協議無線通信模塊??紤]到系統結構見圖1??紤]到準確計時和批量保存考勤數據的需要,擴展了12C總線的外部時鐘芯片1337和采用備用電池供電的外部靜態ROM存儲單元CY62157ESL。
1.1 GPRS無線模塊相關電路設計GPRS模塊選用華為GTM900B帶TPC/IP協議的無線模塊。該無線模塊是一款三頻段GSM/GPRS無線模塊,支持標準的AT命令及增強AT命令,提供豐富的語音和數據業務等功能。
由于該模塊通過RS232接口實現與主機的通信,因此選用了SP3243E作為232電平的轉換芯片。其接口電路見圖2。圖中左側所接電路為無線通信模塊的RS232接口,右側電路接入LPC2214微處理器芯片串口1相關管腳。
1.2基于WEIGAND協議的射頻讀卡器接口電路設計HID射頻模塊采用成熟的ProcPoint公司6005B型HID讀卡器。該讀卡器輸出信號支持WEIGAND26和WEIGAND34協議。
電路設計中,將LPC2214的P0.16和P0.20多路復用管腳功能設置為外部中斷0和外部中斷3,采用外部中斷的方式實現對6005B型HID讀卡器DATA0和DATAl路數據每次讀卡過程26個或34個脈沖信號的采集。由于HID讀卡器輸出為標準TTL電平,ARM微處理器為低功耗CMOS電平,該處使用了74LV×4245電平轉換芯片,將5V標準輸入轉換為3.3V。
接口電路見圖3。圖中左側最上端兩個管腳為LPC2214的輸入管腳,通過對74LV×4245的22腳接低電平實現輸入電壓轉換。
2 基于ARM的GPRS無線射頻考勤機系統軟件結構設計
軟件系統主要圍繞穩定可靠的GPRS無線通信和兼容WEIGAND26和WEIGAND34協議的讀卡識別兩方面展開。
2.1 GPRS無線通信軟件結構設計整個軟件體系如圖4所示,首先啟動μc/OS—Ⅱ系統,建立主任務,進行串口等的初始化,然后通過串口信號線驅動Modem,AT指令集進行一系列Modem參數設置,并撥號到GGSN,新建PPP任務進行數據鏈路層和網絡層的協商,得到IP,完成上網過程。此時可以建立發送數據任務,作為客戶端向網絡主機發送建立TCP連接請求,經過2次握手成功后,雙方TCP連接狀態都到達ESTABUSH(建立連接)狀態,此時便可以將搜集到的數據(此處傳送利用壓力傳感器采集到的人的心率數據)通過套接字傳輸回網絡主機,完成傳輸任務。接下來可以結束任務或等待下一次采集數據時間到,再次進行傳輸。
2.2兼容WEIGAND26和WEIGAND34協議的HID射頻讀卡識別軟件設計WEIGAND(韋根)協議在數據的傳輸中只需兩條數據線,一條為DATA0,另一條為DATA1。協議規定,兩條數據線在無數據時均為高電平,如果DATA0為低電平代表數據0,DATA1為低電平代表數據1(低電平信號低于1V,高電平信號大于4V)。兩個脈沖間的時間間隔在200μs到20ms之間。
韋根26位輸出格式:
E ×××× ×××× ×××× ×××× ××××× ×××× ×××× 0
其中,第1位E表示前12BIT偶校驗碼,最后1位0表示后12BIT奇校驗碼,第2位到第9位為區域碼,第10位到第25位為卡號。以上數據從左至右順序發送。高位在前。韋根34與韋根26的區別在于區域碼由8位擴展到16位,首尾的校驗碼均為16位而不是12位校驗碼。
考慮到現有HID員工卡多為WEIGAND26
和WEIGAND34兩種格式,本文設計了可兼容兩種協議的讀卡程序。
程序流程見圖5。采用捕捉外部中斷的方式對DATA0和DATA1的脈沖計數,同時記錄脈沖間隔時間。當脈沖間隔時間>30ms時,認為一次讀卡過程結束。若脈沖數等于26或34,作為WEIGAND26卡或WEIGAND34卡處理,記錄卡號和讀卡時間;否則,丟棄數據,通過顯示屏和喇叭發出刷卡失敗報警信息,提示考勤人員重新刷卡。
3 系統應用
系統于2008年7月投入試運行,并與2008年8月通過驗收。從試用結果看來,該考勤機對WEIGAND26和WEIGAND34協議的不同種類HID卡均可正確識別,讀卡響應快,數據存儲和無線傳輸穩定可靠。
圖6為散布于湛江地區80個移動營業廳考勤機15天(21600分鐘)實際運行在線率統計結果。從圖中可看出,除56號機等處于偏遠地區,經實際測試無線信號很弱的考勤機掉線時間較長外,90%的考勤機在線率達90%以上,系統運行穩定可靠。
參考文獻:
[1]秦霆鎬,張婷婷,基于ARM的非接觸式指紋IC卡一體機的設計,儀表技術[J],2006,6:11—15
[2]岳云峰,韋根(Wiegand)協議及其應用,齊齊哈爾大學學報[J],2002.6:56—58
[3]周立功.ARM微控制器基礎與實戰[M].北京:北京航空航天大學出版社,2003.
[4]苗啟廣.基于uClinux的嵌入式軟件開發架構[J].計算機工程與設計,2004,25(6):881—883
[5]蘆東昕,張華強,王陳.基于UDP的可靠數據傳遞技術環境[J]計算機工程,2003,29(22):62—63.
[6]華為GTM900 無線模塊 AT命令手冊.