歡迎您訪問鄭州興邦電子股份有限公司官方網(wǎng)站!
    阿里巴巴誠信通企業(yè)
    全國咨詢熱線:40000-63966
    興邦電子,中國水控機第一品牌

    聯(lián)系興邦電子

    全國咨詢熱線:40000-63966

    售后:0371-55132951/55132952

    工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

    校園一卡通系統(tǒng)中Mifare卡讀寫器設計

    文章出處:http://www.xujuanpiju.com 作者:南郵吳江學院 莊乾成   人氣: 發(fā)表時間:2011年10月23日

    [文章內(nèi)容簡介]:設計在校園一卡通系統(tǒng)中應用的Mifare RC5O0射頻識別卡讀寫器,以實現(xiàn)發(fā)卡、終端消費、自動掛失等功能 的終端機。該讀寫器具有安全、實用、方便、快捷、可靠性高的特點,解決了校園消費一卡通收費管理問題。

        非接觸式IC卡是根據(jù)射頻電磁感應原理產(chǎn)生的。它的讀/寫操作只需將卡片放在讀卡器附近一定的距離之內(nèi)就能實現(xiàn)數(shù)據(jù)交換,無需任何接觸,使用非常方便、快捷,不易損壞。因此,在公交、門禁、校園、企事業(yè)等人事管理、娛樂場所等方面有廣闊的應用前景。目前,我國引進的射頻IC卡主要有Philips公司的Mifare卡和Atmel公司的Temic卡。下面以Philips公司的Mifare卡為例,介紹校園一卡通IC卡讀寫器的實現(xiàn)方法。

    1 工作原理 

        非接觸式IC卡讀卡器以射頻識別技術為核心,讀卡器內(nèi)主要使用了1片Mifare卡專用的讀/寫處理芯片— —MMM 微模塊。其功能包括調(diào)制、解調(diào)、產(chǎn)生射頻信號、安全管理和防碰撞機制。內(nèi)部結(jié)構分為射頻區(qū)和接口區(qū):射頻區(qū)內(nèi)含調(diào)制解凋器和電源供電電路,直接與天線連接;接口區(qū)有與單片機相連的端口,還具有與射頻區(qū)相連的收/發(fā)器、16字節(jié)的數(shù)據(jù)緩沖器、存放64對傳輸密鑰的ROM、存放3套密鑰的只寫存儲器,以及進行3次證實和數(shù)據(jù)加密的密碼機、防碰撞處理的防碰撞模塊和控制單元。讀卡器工作時,不斷地向外發(fā)出一組固定頻率的電磁波(1 3.6 MHz)。當有卡靠近時,卡片內(nèi)有一個LC串聯(lián)諧振電路,其頻率與讀卡器的發(fā)射頻率相同,這樣在電磁波的激勵下,I C諧振電路產(chǎn)生共振,從而使電容充電有了電荷。在這個電容另一端,接有一個單向?qū)щ姷碾娮颖茫瑢㈦娙輧?nèi)的電荷送到另一個電容內(nèi)存儲。當電容器充電達到2 V時,此電容就作為電源為卡片上的其他電路提供工作電壓,將卡內(nèi)數(shù)據(jù)發(fā)射出去或接收讀卡器發(fā)出的數(shù)據(jù)并保存。 

    2 硬件組成

        校園一卡通系統(tǒng)結(jié)構復雜,非接觸IC卡的讀卡器至少應包括充值卡機、消費機及自動掛失機等,其硬件組成大體相同。圖1為非接觸IC卡及其讀卡器硬件電路原理,主要由MMM 微模塊、單片機、鍵盤、顯示器、存儲器、天線和監(jiān)控電路,以及能構成校園一卡通網(wǎng)絡系統(tǒng)的CAN總線節(jié)點電路等部分組成。 

    一卡通非接觸IC卡讀寫器原理圖

    圖1 一卡通非接觸IC卡讀寫器原理圖

        讀卡器采用單片89C52。其片內(nèi)有8 KB的ROM,256字節(jié)的RAM 以及32個I/O 口。P1口與串行器件24C64和顯示、報警電路連接。其中的顯示模塊采用串行方式進行通信,分別采用P1.0、P1.1模擬時鐘信號線和數(shù)據(jù)線。24C64用來存儲本消費終端機地址和其他數(shù)據(jù)信息。P0口分別與MMM 微模塊及CAN 總線控制器SJA1000相連,用作數(shù)據(jù)線。P3口用于讀/寫控制和中斷。監(jiān)控電路采用DS1 232L芯片。它是個看門狗定時器,其功能是:上電和掉電時給89C52、MMM 模塊及CAN總線控制器SJA1000產(chǎn)生RESET 信號;看門狗對系統(tǒng)進行監(jiān)控,防止死機。由于單片機的I/0口資源比較緊張,而鍵盤需要8個I/O 口,因此,鍵盤處理過程是使用一個獨立的cPU(89C2051)。這個CPU專門負責鍵盤處理,從按鍵掃描碼的獲得到通過掃描碼再查鍵碼表來獲得鍵碼。最后以串行的方式與主CPU進行通信,主CPU獲得鍵碼后再做相應的后續(xù)處理。

        CAN總線采用一種串行數(shù)據(jù)通信協(xié)議,它是一種多主總線,其數(shù)據(jù)長度為8字節(jié),不會占用總線時間過長,從而保證了通信的實時性。CAN協(xié)議采用CRC檢驗并可提供相應的錯誤處理功能,保證了數(shù)據(jù)通信的可靠性。CAN協(xié)議的一個最大特點是廢除了傳統(tǒng)的站地址編碼,而代之以對通信數(shù)據(jù)塊進行編碼。采用這種方法的優(yōu)點是可使網(wǎng)絡內(nèi)的節(jié)點個數(shù)在理論上不受限制,因此非常適合校園一卡通系統(tǒng)中的各終端機及服務器互聯(lián)從而構成網(wǎng)絡系統(tǒng)。

    3 軟件設計 

        IC卡讀卡器在校園一卡通中一般有3種功能:消費終端、充值卡終端及掛失卡終端機等。其中充值卡終端和掛失卡終端分別讀出IC卡序列號,交給服務器進行相關數(shù)據(jù)處理,并保存到服務器數(shù)據(jù)庫中。消費終端機不但要讀取IC卡號交給服務器,還要從服務器數(shù)據(jù)庫中下載與此卡號相對應的金額數(shù)據(jù)并顯示,以及對此數(shù)據(jù)進行消費運算處理,然后傳回服務器數(shù)據(jù)庫(為了安全和管理上的考慮,相關信息并不寫入IC卡內(nèi))。本文主要以消費終端為例,因此程序主要包括Ic卡讀操作程序、鍵盤掃描程序、顯示程序、存儲器讀/寫程序和通信程序。 

    第1頁第2頁

        (1)主程序流程:主程序主要完成系統(tǒng)變量的初始化,檢測操作IC卡,通過串口接收鍵值,與服務器建立通信,從服務器下載與卡號相關的信息并參與運算和顯示等,具體流程如圖2所示。

    消費終端機程序監(jiān)控流程

    圖2 消費終端機程序監(jiān)控流程

        (2)鍵盤掃描流程:鍵盤掃描程序可以采用掃描法和反轉(zhuǎn)法兩種方式,本系統(tǒng)鍵盤掃描功能模塊是采用反轉(zhuǎn)法實現(xiàn)的。這個方法實現(xiàn)起來比較方便,先置列線為低電平,對行線進行掃描,查看是否有低電平出現(xiàn)。如果有就是有健按下,再反轉(zhuǎn)置行線為低電平,對列線進行掃描,查看是否有鍵按下。如果列線中有低電平出現(xiàn),就表示有鍵按下;否則,就是無鍵按下。利用這種方法可以得到按鍵的掃描碼,再根據(jù)掃描碼查找鍵碼表來確定按鍵的鍵碼值,然后將鍵值通過串口發(fā)送到主控制器。鍵盤掃描程序的流程如圖3所示。 

    鍵盤掃描流程

    圖3 鍵盤掃描流程

        (3)顯示程序說明:根據(jù)圖1,在顯示電路中,用P1口的3根I/O 口線(P1.0、P1.1、P1.2)分別提供時鐘信號(CI K)、串行數(shù)據(jù)(DA)和使能信號(EN)。MC14499每一次可接收20位串行輸人數(shù)據(jù),前4位用于控制數(shù)碼管的小數(shù)點顯示,后16位是4個數(shù)碼管的BCD碼輸人數(shù)據(jù)。在每幀數(shù)據(jù)傳送之前,必須將EN置0,然后傳送20位數(shù)據(jù)。數(shù)據(jù)傳送完后,再將EN置1。

        (4)對Mifare卡的操作流程:本系統(tǒng)采用中斷(INT1)工作模式,即MCU利用MifareRC500提供中斷信息對其進行控制。另外,根據(jù)系統(tǒng)的需要,可以采用查詢方式對MifareRCS00進行操作。整個系統(tǒng)的工作由對Mifare卡操作和系統(tǒng)后臺處理兩大部分組成。由于篇幅有限,本文只介紹對Mifare卡操作流程。Mifare卡的操作可以分為以下幾個步驟: 

        ① 復位請求。當一張Mifare卡片處在卡片讀寫器天線的工作范圍之內(nèi)時,程序員控制讀寫器向卡片發(fā)出“REQUEST all”(或“REQUEST std”)命令。卡片的ATR將啟動,將卡片Block 0 中的卡片類型(TagType)號共2字節(jié)傳送給讀寫器,建立卡片與讀寫器的第一步通信聯(lián)絡。如果不進行得位請求操作,讀寫器對卡片的其他操作將不會進行。
        ② 反碰撞操作。如果有多張Mifare卡片處在卡片讀寫器天線的工作范圍之內(nèi)時,讀卡芯片將首先與每一張卡片進行通信,取得每一張卡片的系列號。由于每一張Mifare卡片都具有其唯一的序列號,決不會相同,因此讀卡芯片根據(jù)卡片的序列號來保證一次只對一張卡操作。該操作得到的返回值為卡的序列號。
        ③ 卡選擇操作。完成了上述2個步驟之后,讀卡芯片必須對卡片進行選擇操作。執(zhí)行操作后,返回卡上的SIZE字節(jié)。
        ④ 認證操作。經(jīng)過上述3個步驟,在確認已經(jīng)選擇了一張卡片時,讀卡芯片在對卡進行讀/寫操作之前,必須對卡片上已經(jīng)設置的密碼進行認證。如果匹配,才允許進一步的讀/寫操作。
        ⑤ 讀/寫操作。對卡的最后操作是讀、寫、增值、減值、存儲和傳送等操作。相關代碼如下:


        每調(diào)用一個函數(shù),函數(shù)執(zhí)行完畢都返回一個相應的狀態(tài)代碼(status)。如果成功調(diào)用,返回值為0;如果返回值不為0,說明該函數(shù)未成功執(zhí)行從而轉(zhuǎn)到其他操作。 

    結(jié) 語 

        本文介紹了校園一卡通系統(tǒng)中非接觸IC卡讀寫器的設計。在此讀寫器的基礎上,只要稍加修改就能開發(fā)出不同的射頻識別應用系統(tǒng),如考勤系統(tǒng)、門禁系統(tǒng)、公交車收費系統(tǒng)等。這些都是筆者在學習和實踐中得來的,相信能對相關工作人員有一定啟發(fā).

    參考文獻
    [1]王卓人,鄧晉軍,劉宗祥.Ic卡的技術與應用[M].北京:電子工業(yè)出版社,1999.
    [2]王宏軍,趙冬艷.智能Ic卡全書[M].北京:電子工業(yè)出版社,1996.
    [3]朱兆優(yōu),王耀南,林剛勇.非接觸IC卡應用系統(tǒng)設計[J].計算機自動測量與控制,2001,9(5).

    第1頁第2頁

    本文關鍵詞:讀寫器,讀卡器,mifare,校園一卡通
    回到頂部