資料簡介
隨著RFID技術(shù)的成熟,校園一卡通等相關(guān)產(chǎn)品在校園內(nèi)得到了廣泛的應(yīng)用,加快了數(shù)字化校園的建設(shè),實現(xiàn)了校園消費一卡化,極大地提高了卡務(wù)管理效率。本文從校園一卡通的工作原理及應(yīng)用出發(fā),著重介紹微控制器利用中斷方式讀取校園一卡通Wiegand(韋根)數(shù)據(jù)的方法,然后介紹基于校園一卡通的考勤管理系統(tǒng)的構(gòu)建及主要模塊的設(shè)計與實現(xiàn)。
引言
信息時代的校園離不開信息化的管理,數(shù)字化校園一卡通建設(shè)是校園信息化建設(shè)的重要組成部分,是校園信息化采集的基礎(chǔ)工程。校園一卡通是由學(xué)校統(tǒng)一發(fā)放的集工作證、學(xué)生證、圖書證、餐卡、浴卡、上機卡、考勤卡、電子錢包等功能于一體的非接觸式射頻IC卡。校園一卡通將智能IC卡的強大功能與計算機網(wǎng)絡(luò)的數(shù)字化理念融入校園,將學(xué)校各個系統(tǒng)連為一體,可以隨時掌握每一個持卡人的基本情況,有效地簡化校園日常管理,提高學(xué)校的管理水平和服務(wù)質(zhì)量。同時,在減少學(xué)校的重復(fù)性投入建設(shè)、管理及節(jié)約費用等方面也起到積極作用。鑒于RFID技術(shù)的逐步成熟及校園一卡通的廣泛應(yīng)用與優(yōu)勢,為彌補學(xué)生考勤管理的缺陷,設(shè)計開發(fā)了基于校園一卡通的考勤管理系統(tǒng)。
1考勤管理系統(tǒng)概述
在本系統(tǒng)中,校園一卡通作為非接觸式身份識別的標簽,構(gòu)成考勤管理系統(tǒng)的信息采集源。校園一卡通與讀卡器之間利用射頻方式進行數(shù)據(jù)傳輸,讀卡器對校園一卡通的操作可以在瞬間完成。學(xué)生在上下課時,只需將個人的一卡通在讀卡器前一晃,讀卡器即可自動、快速、準確地獲得校園卡卡號和刷卡時間等信息,然后微控制器對信息簡單打包,上傳至上位機軟件系統(tǒng)??记诠芾硐到y(tǒng)軟件對接收到的數(shù)據(jù)包進行解包、校驗等操作后,及時修改相關(guān)數(shù)據(jù)并把部分信息保存至數(shù)據(jù)庫,方便教師隨時查詢學(xué)生的出勤情況、匯總考勤報表等,從而有效地完成考勤管理工作,為學(xué)生考勤管理提供完整的解決方案。
2系統(tǒng)硬件設(shè)計
2.1校園一卡通工作原理
校園一卡通的電氣部分由ASIC和天線組成。卡片的天線僅僅由幾組線圈組成,很容易被封裝到卡片中。卡片的ASIC一般由一個高速的RF接口、一個控制單元和一個幾KB的EEPROM組成。
當讀卡器向一卡通發(fā)出一組固定頻率的電磁波時,卡片內(nèi)的LC串聯(lián)諧振電路的頻率與讀卡器發(fā)射的頻率相同。在電磁波的激勵下,LC諧振電路產(chǎn)生共振,產(chǎn)生微弱電流作為電源為其他電路提供工作電壓,將卡內(nèi)的數(shù)據(jù)發(fā)射給讀卡器或者接收讀卡器的數(shù)據(jù)。
2.2一卡通讀卡器模塊
本模塊采用AK-RFMOD05CD芯片對校園一卡通進行讀寫操作,該芯片可以讀寫符合ISO14443TYPEA/B-2,-3規(guī)范的射頻卡芯片(AT88RF020、
AT88SC6416CRF、ST_SRI176、ST_SRIX4K、MIFARES50、MIFARES70以及其他兼容ISO14443TYPEA/B規(guī)范的CPU卡、雙界面卡)。芯片與MCU之間可以通過多種接口(UART、SPI、TWI等)進行數(shù)據(jù)通信,便于用戶使用。從應(yīng)用的角度概括起來,其性能特征如下:
*兼容ISO14443TYPEA和TYPEB標準,可以穩(wěn)定讀寫各種符合ISO14443A/B兩種通信協(xié)議標準的卡片;
支持UART、SPI、TWI協(xié)議等多種外部通信接口,方便用戶開發(fā);
I/O引腳CMOS和TTL輸入/輸出電平兼容;
直接驅(qū)動50天線;
卡片通信FIFO為48字節(jié);
工作頻率13.56MHz。
同時,該芯片可對外提供13個I/O引腳、256字節(jié)的EEPROM、內(nèi)置上電復(fù)位電路、看門狗電路等硬件資源。其本身還具有自動檢測與測控功能,便于應(yīng)用系統(tǒng)的開發(fā)。
2.3讀卡器模塊硬件接口
讀卡器模塊采用Wiegand協(xié)議與微控制器通信。本系統(tǒng)將Wiegand數(shù)據(jù)輸出線WD0和WD1分別與Cortex-M3系列微控制器LM3S1138的2個I/O引腳相連,讀卡器模塊與LM3S1138連接圖。
讀卡器數(shù)據(jù)線WD0連接PB0引腳,當該引腳被讀卡器置為低電平時,說明當前傳輸一位數(shù)據(jù)0;讀卡器數(shù)據(jù)WD1連接PB1引腳,當該引腳被讀卡器置為低電平時,說明當前傳輸一位數(shù)據(jù)1。讀卡器的Wiegand協(xié)議選擇線連接PB2引腳,當該引腳懸空時(高電平或高阻)時,模塊選擇26位Wiegand協(xié)議,否則選擇34位Wiegand協(xié)議。此外,讀卡器模塊與微控制器LM3S1138共地。
2.4Wiegand協(xié)議與接口定義
Wiegand協(xié)議是由摩托羅拉公司制定的,具有適用于涉及門禁控制系統(tǒng)的讀卡器和卡片的許多特性,其協(xié)議沒有定義通信的波特率和數(shù)據(jù)長度。Wiegand協(xié)議支持多種數(shù)據(jù)格式,現(xiàn)在應(yīng)用zui多的是26位、34位、36位、44位等,其中標準26位格式是一個開放式的格式,并且對所有HID的用戶開放,其數(shù)據(jù)幀格式。
任何人都可以購買某一特定格式的HID卡,并且這些特定格式的種類是公開可選的,現(xiàn)在幾乎所有的門禁控制系統(tǒng)都接受26位格式的標準,促使其逐步成為廣泛使用的工業(yè)標準,其中26位Wiegand數(shù)據(jù)幀格式定義如下:
第1位為2~13位的偶校驗位;
第2~9位對應(yīng)電子卡HID碼的低8位;
第10~25位對應(yīng)電子卡的PID號碼;
第26位為14~25位的奇校驗位。
以上數(shù)據(jù)從左至右順序發(fā)送,高位在前。在上述標準26位Wiegand協(xié)議數(shù)據(jù)中,只包含了電子卡HID碼的低8位二進制編號(實際電子卡的HID碼為16位),即對應(yīng)于Wiegand數(shù)據(jù)幀的第2~9位;同時包含電子卡的16位PID二進制編號,即Wiegand數(shù)據(jù)幀的第10~25位。當安裝讀卡器模塊時,在讀卡器和門禁控制面板的連接點(終端)上都能夠看到7根連接線,Wiegand接口引腳定義如表1所列。目前幾乎所有的標準型讀卡器都可以提供可供選擇的Wiegand接口,WD0和WD1線負責(zé)傳送Wiegand數(shù)據(jù),也被稱為Wiegand信號線。Wiegand數(shù)據(jù)由這2根線分別輸出0或1。輸出0時,WD0線上出現(xiàn)一個負脈沖;輸出1時,WD1線上出現(xiàn)一個負脈沖。
2.526位Wiegand數(shù)據(jù)接收
Wiegand數(shù)據(jù)的接收對時間的實時性要求比較高,如果用查詢的方法接收極易出現(xiàn)丟幀的現(xiàn)象。假設(shè)查詢到WD0為0時主程序正在指向其他任務(wù),等主程序執(zhí)行完該任務(wù)時WD0已經(jīng)變?yōu)?了,那么這樣就丟失了一個Wiegand數(shù)據(jù)0。這樣讀出的Wiegand數(shù)據(jù)將不能通過奇偶校驗,導(dǎo)致MCU接收不到讀卡器模塊發(fā)送的正確卡號。目前,以外部中斷方式接收Wiegand數(shù)據(jù)是比較好的選擇,其核心代碼如下:
程序開始后初始化相關(guān)引腳的輸入/輸出方式,并且設(shè)置PB0和PB1的中斷為下降沿觸發(fā),在接收數(shù)據(jù)時,主程序中斷后進入相應(yīng)的中斷服務(wù)程序。在中斷服務(wù)程序中判斷觸發(fā)中斷的引腳編號,得知當前傳輸?shù)臄?shù)據(jù)是0或者1,并將數(shù)據(jù)存入一個全局靜態(tài)數(shù)組。
使用數(shù)字式示波器對讀卡器的WD0和WD1數(shù)據(jù)線的波形進行截取和分析。當協(xié)議選擇線為高電平或懸空時,即選擇26位Wiegand協(xié)議。此時將一張校園卡放置在讀卡器上,截取的26位Wiegand數(shù)據(jù)波形如圖4所示。其中上面波形為WD0,下面波形為WD1。從而可知該卡的26位Wiegand碼為00000110100010010100110111,數(shù)據(jù)波形與微控制器所接收的數(shù)據(jù)保持一致。
3上位機軟件設(shè)計
該系統(tǒng)的上位機軟件是基于VisualStudio2008系統(tǒng)平臺進行開發(fā),并采用Access數(shù)據(jù)庫技術(shù)。開發(fā)過程中,主微控制器把采集到的校園一卡通編號等信息都通過虛擬串口傳輸?shù)絇C上位機,上位機軟件對接收到的數(shù)據(jù)再進一步進行處理。為了較好地完成通信任務(wù),該軟件采用多線程串口通信CserialPort類進行開發(fā),CserialPort類是由RemonSpekeijse提供的免費串口類,其內(nèi)部函數(shù)*透明,并允許用戶對相關(guān)類進行改造、補充與完善。刷卡過程中,微控制器通過中斷方式獲得校園一卡通的ID,然后將數(shù)據(jù)進行打包、封裝并通過UART0傳輸至上位機。上位機軟件在獲得傳輸?shù)降臄?shù)據(jù)包后,立即對數(shù)據(jù)包進行解包解析,并利用解析數(shù)據(jù)查找已備份的數(shù)據(jù)庫系統(tǒng),獲得校園一卡通主人的考勤信息、基本信息等并予以顯示??记诠芾硐到y(tǒng)軟件界面如圖5所示。同時軟件需要對部分數(shù)據(jù)庫數(shù)據(jù)進行修改和備份,保證用戶對數(shù)據(jù)的準確訪問。
此外,根據(jù)用戶的需要靈活地設(shè)計系統(tǒng)的各子功能模塊,給出相應(yīng)的功能模塊集;將原有子系統(tǒng)的某些配置功能置于系統(tǒng)部署模塊中,可以有效地防止系統(tǒng)由于一卡通用戶配置不當而產(chǎn)生的不良后果,從而減少系統(tǒng)維護的開銷。
結(jié)語
校園一卡通的考勤管理系統(tǒng)通過*的RFID獲取準確的數(shù)據(jù),采用Accesss數(shù)據(jù)庫存儲備份數(shù)據(jù)。這些數(shù)據(jù)信息能夠真實地反映學(xué)生的出勤情況,提供了基于各種條件的統(tǒng)計、查詢與分析功能,為學(xué)校教學(xué)管理的全面開展和學(xué)生考勤考核提供了重要的參考依據(jù),具有一定的實際應(yīng)用價值。
作者簡介:李奇(碩士研究生),主要研究方向為嵌入式系統(tǒng)與物聯(lián)網(wǎng)應(yīng)用;馬忠梅(副教授),主要研究方向為嵌入式系統(tǒng)與物聯(lián)網(wǎng)應(yīng)用。