《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 基于嵌入式技術(shù)的智能卡門禁系統(tǒng)設(shè)計

基于嵌入式技術(shù)的智能卡門禁系統(tǒng)設(shè)計

2009-06-09
作者:洪家平

??? 摘 要:介紹了基于智能卡讀寫模塊ZLG500的門禁系統(tǒng)設(shè)計的原理與方法,主要分析了該智能卡門禁系統(tǒng)中的數(shù)據(jù)存儲與傳輸模塊、系統(tǒng)主模塊和系統(tǒng)時鐘模塊的工作原理,同時給出了智能卡讀寫模塊ZLG500與主模塊MCU的硬件接口及部分軟件代碼。本系統(tǒng)經(jīng)過實際運行,具有穩(wěn)定可靠和操作簡便等特點。
??? 關(guān)鍵詞:ZLG500;智能卡;門禁系統(tǒng)

?

??? 目前智能卡的應(yīng)用越來越廣泛,如校園一卡通系統(tǒng)、城市公交系統(tǒng)、大型會議簽到系統(tǒng)、消費系統(tǒng)、考勤系統(tǒng)、門禁系統(tǒng)等都使用了智能卡。本文以ZLG500讀寫模塊作為卡與門禁機交換數(shù)據(jù)的接口模塊為例,介紹了ZLG500在智能卡門禁系統(tǒng)中的應(yīng)用。
1 讀寫模塊ZLG500
1.1 ZLG500與MCU的接口原理

??? ZLG500模塊采用Philips公司最新推出的高集成ISO14443讀卡芯片MF RC500該芯片。該芯片能讀寫RC500內(nèi)EEPROM,提供三線制SPI接口,并具有控制線輸出端口,能與任何MCU連接。ZLG500與MCS51單片機的接口原理圖如圖1所示。ZLG500模塊的EMC性能優(yōu)良,并且自帶無源蜂鳴器信號輸出,還能用軟件控制輸出頻率及輸出持續(xù)時間。

?


??? 圖1中,SS、SCLK、SDATA為ZLG500與MCU相連接的控制線,分別為片選線SS、時鐘線SCLK和數(shù)據(jù)線SDATA。主控制器的MCU和讀卡模塊內(nèi)的MCU通過此三線相連。接口空閑時,主機的SS=1、SCLK=0、SDATA=0,而從機的SS=1、SCLK=1、SDATA=0。其中,SS和SDATA都是雙向的,而時鐘線SCLK是單向的,即時鐘只能由主控制器產(chǎn)生,該信號必須嚴(yán)格遵守時序規(guī)范,否則將出現(xiàn)通信錯誤,此時讀卡模塊必須釋放該線
??? SS還作為數(shù)據(jù)發(fā)送使能端,若一方有數(shù)據(jù)要發(fā)送給另一方,則該方控制SS線為低電平,并在發(fā)送結(jié)束后將該線置高電平,接收數(shù)據(jù)方不得控制該線,雙方必須遵守該通信協(xié)議,不得同時控制該線。
??? SDATA為數(shù)據(jù)線,由數(shù)據(jù)發(fā)送端控制數(shù)據(jù),接收端必須釋放該線。SDATA在一次傳輸開始時還同時作為數(shù)據(jù)接收端的響應(yīng)信號。
1.2? ZLG500與MCU接口的時序及通信協(xié)議
??? ZLG500與MCU無論數(shù)據(jù)傳輸?shù)姆较蛉绾危琒PI 線上信號的波形總是如圖2所示。由圖中可以看出,在SS為低時,時鐘和數(shù)據(jù)線上的信號才有效;且在SCLK為低時,SDATA才變化,在SCLK為高時,SDATA應(yīng)保持穩(wěn)定。

?


??? 以上傳輸中,從數(shù)據(jù)發(fā)送器請求開始至數(shù)據(jù)接收器響應(yīng)的時間是不確定的,取決于接收器內(nèi)的MCU是否忙。因此,有必要設(shè)置看門狗定時器對數(shù)據(jù)接收器的響應(yīng)進(jìn)行監(jiān)視,一旦接收器響應(yīng),則MCU必須根據(jù)數(shù)據(jù)傳輸方向,嚴(yán)格控制以下幾個時間,以確保數(shù)據(jù)傳輸無誤。

??? t1:數(shù)據(jù)接收器響應(yīng)至MCU產(chǎn)生第1個SCLK上升沿的時間。
??? t2:2個字節(jié)傳輸之間SCLK低電平的持續(xù)時間。
??? t3:傳輸最后1個字節(jié)的最后1位的SCLK信號的上升沿至SS上升沿的時間。
??? tH:SCLK信號的高電平持續(xù)時間。
??? tL:SCLK信號的低電平持續(xù)時間。
??? 數(shù)據(jù)傳輸?shù)姆较虿煌瑫r,對時間t1、t2、t3、tH、tL都有各自不同的要求。
??? MCU與ZLG500的通信必須先由MCU發(fā)送命令和數(shù)據(jù)給ZLG500,ZLG500執(zhí)行命令完畢后,將命令執(zhí)行的狀態(tài)和響應(yīng)數(shù)據(jù)發(fā)回給MCU。
??? 開始通信前,收發(fā)雙方必須處于空閑狀態(tài)。首先由MCU發(fā)出SS下降沿信號,然后等待ZLG500在SDATA線上的響應(yīng),若在50 ms內(nèi)未檢測到此信號,則退出本次傳輸。若正確響應(yīng),則MCU可將命令和數(shù)據(jù)發(fā)送出去。然后MCU等待ZLG500發(fā)回的狀態(tài)和響應(yīng)數(shù)據(jù),即等待SS線上的下降沿信號,若在50 ms內(nèi)未檢測到此信號,則退出本次傳輸;若正確檢測到SS信號,則可以接收狀態(tài)和數(shù)據(jù)。
2? 智能卡門禁系統(tǒng)設(shè)計
2.1 智能卡門禁系統(tǒng)的總體結(jié)構(gòu)

??? 系統(tǒng)采用Philips公司的非接觸智能IC卡Mifare 1卡,以M1卡作為用戶卡,以用戶卡的序列號SN(全球唯一)為依據(jù)控制門的開啟。由于它是一個高頻卡(工作頻率為13.5 MHz),有較強的抗干擾能力且讀寫距離遠(yuǎn)(2.5 cm~10 cm)。
??? 整個智能卡門禁系統(tǒng)分為3部分:(1)讀寫器部分,包括MCU、復(fù)位電路、時鐘電路、顯示電路、鍵盤、數(shù)據(jù)存儲等主控模塊及非接觸IC卡讀寫模塊和電鎖驅(qū)動部分;(2)中央控制電腦的軟件管理系統(tǒng)模塊;(3)中央控制電腦與讀寫器之間的數(shù)據(jù)傳輸模塊。其總體系統(tǒng)框圖如圖3所示。

?

?

??? 首先,在發(fā)卡系統(tǒng)(中央控制PC機)里把用戶的卡號及個人信息輸入系統(tǒng)數(shù)據(jù)庫,并將該卡號作為合法卡號下載給所有門禁機。當(dāng)有1張M1卡在門禁機的有效工作范圍內(nèi)時,系統(tǒng)會自動向卡發(fā)出命令,卡接收到命令后向門禁機反饋其SN,門禁機判斷收到的卡號是否合法,合法則驅(qū)動電磁門鎖開門,并實時上傳其開門記錄;如果是非法卡(未經(jīng)授權(quán)或已掛失的卡)則拒絕開門并上傳報警信息。只有最高授權(quán)者(掌握授權(quán)密碼)才可以發(fā)管理員卡,管理員必須用管理員卡方可登錄發(fā)卡系統(tǒng)進(jìn)行發(fā)卡/下傳合法卡號、掛失、解掛、下傳黑名單等操作。
??? 通過AT89C52對ZLG500的控制達(dá)到對卡的讀寫。系統(tǒng)外圍配有RS232轉(zhuǎn)RS485的接口并能與PC機互連成網(wǎng)絡(luò),可以完成讀卡、顯示卡號和出入時間、身份識別、開鎖以及保存和上傳出入記錄、下載黑名單、設(shè)置開門權(quán)限等功能。
??? 門禁機模塊的主控軟件主要完成門禁機模塊的初始化、卡的識別、開啟門鎖及保存有關(guān)數(shù)據(jù)和數(shù)據(jù)的傳輸?shù)?大功能。其總體工作流程如圖4所示。

?

?

2.2 主控模塊
??? 如圖3所示,智能卡門禁系統(tǒng)中主控模塊主要由MCU(AT89C52)、ZLG500、復(fù)位電路、時鐘電路、數(shù)據(jù)存儲接口電路、鍵盤與顯示接口電路及電鎖等幾個部分組成。MCU除了完成對ZLG500讀寫模塊的控制外,還要承擔(dān)其他功能的控制,主要包括4大部分:數(shù)據(jù)存儲和數(shù)據(jù)傳輸、實時時鐘和掉電保護、鍵盤和顯示、驅(qū)動控制。
2.2.1 數(shù)據(jù)存儲和數(shù)據(jù)傳輸模塊
??? 各門禁點的出入記錄可采用實時上傳或定時采集的方式從門禁機傳輸給中央數(shù)據(jù)庫,前者對系統(tǒng)網(wǎng)絡(luò)速度要求較高,當(dāng)網(wǎng)絡(luò)堵塞時有丟失數(shù)據(jù)的可能。本系統(tǒng)采用了出入記錄暫時存儲在門禁機中、每隔一段時間(例如每周1次)上傳給中央數(shù)據(jù)庫的方式,為此要求門禁機具備一定容量的存儲器,用于暫存門禁數(shù)據(jù)以及由中央數(shù)據(jù)庫下載的授權(quán)卡號。門禁機存儲器的容量取決于一個門禁記錄的長度、系統(tǒng)的卡容量以及定時上傳周期內(nèi)最大的刷卡次數(shù)等,通常應(yīng)留有一定的余量以免由于超出存儲容量而丟失數(shù)據(jù)。本系統(tǒng)采用了AT24C256作為門禁機的存儲器,其存儲容量達(dá)64 KB,劃分成2個區(qū),一個區(qū)用來存儲所讀取的記錄,另一個區(qū)用來存儲上位機下載的授權(quán)卡號。門禁機存儲器模塊的電路原理圖如圖5所示。

?

?

??? AT24C256是ATMEL公司具有I2C總線結(jié)構(gòu)、可電擦寫與編程的只讀存儲芯片(EEPROM),MCU對AT24C256的讀寫必須遵循I2C總線傳輸?shù)臅r序要求,且向AT24C256寫入和讀出數(shù)據(jù)的時序和格式要求與AT24C01基本一致。
??? 單一的讀寫器,自身的數(shù)據(jù)存儲是有限的,讀寫器外帶的數(shù)據(jù)存儲器主要作為數(shù)據(jù)的臨時存儲,對于大量的、需要長期保存的數(shù)據(jù),一般是通過有線或無線、甚至網(wǎng)絡(luò)系統(tǒng)傳輸?shù)街骺赜嬎銠C中進(jìn)行保存。
2.2.2 主模塊的軟接口
??? 以主模塊中ZLG500與MCU(AT89C52)通信為例介紹智能卡門禁系統(tǒng)中主模塊的軟接口。ZLG500初始化的子程序如下:
??? SCLK? BIT? P1.0
??? SDATA? BIT? P1.1
??? SS? BIT? P1.2
??? RST? BIT? P3.3
??? Zlg500:?? SETB??? RST?????????? ; ZLG500內(nèi)部復(fù)位
??????????????LCALL? DELAY_50MS
??????? ???? ?CLR? RST
??????? ????? LCALL? DELAY_50MS
???????????? ?SETB? SS???????????? ; 處于空閑狀態(tài)
??????????? ??CLR? SDATA
??????????? ??CLR? SCLK
??????????????MOV 58H,#11H
??? ??????? ??MOV 59H,#11H
??? ??????? ??MOV 5AH,#11H
??? ??????? ??MOV 5BH,#11H
??? ??????? ??LCALL? CONFIG?????? ; 配置
??? ??????? ??LCALL? REQUEST????? ; 發(fā)送請求
??? ??????? ??LCALL? ANTICOLL???? ; 防碰撞
??? ;***********? IF HAVE CARD ***********
???? ?????? ??MOV A,52H
??? ??????? ??CJNE? A,#04H,SA123?? ; A=04 IS NO CARD
??? ??????? ??LJMP? SA234
??? SA123:????RET
??? SA234:????LCALL? ?READ_BLOCK?? ; 從存儲器中讀取數(shù)據(jù)
??????? ????? LCALL? DELAY_100MS
??? ??????? ??MOV?? ?R2,#20
??? ??????? ??MOV?? ?R0,#58H
??? ??????? ??MOV?? ?R1,#80H
??? ??????? ??LCALL? COMPARE?????? ;進(jìn)行卡號的比較和驗證
??? REL13:??? SETB? FLAG
??????????????LCALL? REL123
??????????? ??JB? FLAG,REL13
??????????? ??RET
??? 上述程序中CONFIG子程序為RC500的復(fù)位和配置子程序,是由MCU向ZLG500發(fā)出的不帶數(shù)據(jù)的命令程序;REQUEST子程序是MCU向ZLG500發(fā)出的帶一個字節(jié)數(shù)據(jù)的命令程序,主要是檢查在有效范圍內(nèi)是否有卡存在;ANTICOLL子程序是防沖突操作,必須在執(zhí)行了REQUEST命令后立即執(zhí)行。
2.2.3 時鐘控制
??? 在門禁系統(tǒng)中,需要實時記錄出入數(shù)據(jù)(開門的卡號及其出現(xiàn)的時間)。若采用單片機軟件計時,一方面需要占用硬件計數(shù)器資源,另一方面需要設(shè)置中斷、查詢等,耗費單片機的CPU資源。而在系統(tǒng)中采用芯片DS1302則能很好地解決這個問題。DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘芯片,它可以對年、月、日、星期、時、分、秒進(jìn)行計時,且具有閏年補償功能,工作電壓為2.5 ~5.5 V。圖6所示是實時時鐘芯片DS1302與MCU連接電路原理圖。DS1302采用三線接口與MCU進(jìn)行同步通信,并可采用突發(fā)方式1次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。

?


??? MCU對DS1302的讀寫控制主要包括DS1302的初始化和讀取DS1302的時間和日期,初始化過程就是給DS1302賦予初始的時間和日期。當(dāng)實時時鐘芯片被啟動后,在沒有接收到新的初始化指令情況下,使內(nèi)部的時鐘將一直不停地運行,從而保證時間的實時性和準(zhǔn)確性;MCU在任何時候都可以通過讀取DS1302內(nèi)部時間和日期寄存器中的值而獲得準(zhǔn)確的時間和日期。關(guān)于實時時鐘芯片的使用可參見參考文獻(xiàn)[2]。
3? 與上位機的通信軟件接口設(shè)計
??? 上位機數(shù)據(jù)庫管理系統(tǒng)采用Visual FoxPro編寫。本系統(tǒng)采用標(biāo)準(zhǔn)的通信控件communications進(jìn)行通信程序的設(shè)計,實現(xiàn)掛失數(shù)據(jù)的發(fā)送、用戶卡號的發(fā)送、發(fā)卡和門禁模塊數(shù)據(jù)的接收。每次通信時,首先在上位機的init事件中初始化通信控件olecontrol1,初始化設(shè)置為:
??? thisform.olecontrol1.CommPort=1? //選擇串行口com1
??? thisform.olecontrol1.PortOpen=1? //打開串行口com1
??? thisform.olecontrol1.InputMode=0? //接收的數(shù)據(jù)按文本方式
??? thisform.olecontrol1.RTSEnable=1? //允許使用rts線,用于RS-232/485轉(zhuǎn)換器的發(fā)送控制和供電
??? thisform.olecontrol1.InputLen=1? //每次讀取接收緩沖區(qū)的1個字符
??? thisform.olecontrol1.OutbufferCount=0? //清除發(fā)送緩沖區(qū)
??? thisform.olecontrol1.InbufferCount=0? //清除接收緩沖區(qū)
??? 智能卡的應(yīng)用并不是簡單的讀寫卡操作,而是一個綜合性的工程項目。它不僅包括卡和讀寫模塊的選擇,還涉及到讀寫模塊的控制、數(shù)據(jù)的傳輸、數(shù)據(jù)的處理和存儲;既需要有硬件應(yīng)用的知識、還必須具有軟件方面的能力。本系統(tǒng)經(jīng)過實際應(yīng)用的驗證,系統(tǒng)運行穩(wěn)定可靠,操作簡單方便,因而具有較好的應(yīng)用前景。
參考文獻(xiàn)
[1]? 廣州周立功單片機發(fā)展有限公司.ZLG500C Mifare卡讀寫模塊應(yīng)用. http://www.zlgmcu.com.2008-09.
[2]? 洪家平.DS1307及在太陽能電池控制裝置中的應(yīng)用[J].湖北師范學(xué)院學(xué)報,2007(3).
[3]? 高美珍.AT88RF020型射頻識別卡及其應(yīng)用[J].國外電子元器件,2006(2).
[4]? 林凌,李剛,丁茹,等.新型單片機接口器件與技術(shù)[M].西安:西安電子科技大學(xué)出版社,2005.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久青草欧美一区二区三区| 国产精品vip| 日韩亚洲欧美一区| 亚洲国产精品成人| 欧美在线亚洲一区| 香蕉乱码成人久久天堂爱免费 | 亚洲一区网站| 亚洲视频一区二区在线观看| 一本久道综合久久精品| 日韩视频在线观看一区二区| 91久久久久久国产精品| 亚洲国产精品成人精品| 亚洲国产高清视频| 亚洲国产小视频| 亚洲精品一区二区三区福利| 亚洲精品视频免费在线观看| 日韩香蕉视频| 一区二区三区av| 亚洲一区黄色| 亚洲免费在线观看视频| 性色av一区二区怡红| 久久精品国产亚洲aⅴ| 久久精品欧洲| 亚洲精品国产精品乱码不99| 亚洲最新在线视频| 亚洲一区黄色| 欧美一区国产二区| 久久久久中文| 免费亚洲网站| 欧美日韩国产美女| 国产精品久久久久久久久婷婷| 国产精品在线看| 好吊色欧美一区二区三区视频| 在线观看成人小视频| 亚洲黄色一区二区三区| 夜夜嗨av色一区二区不卡| 亚洲午夜成aⅴ人片| 欧美伊人久久| 亚洲伦理精品| 亚洲一区二区三区午夜| 久久精品国产第一区二区三区最新章节 | 国产一区二区三区精品欧美日韩一区二区三区 | 国产亚洲精久久久久久| 影音先锋久久久| 日韩亚洲一区二区| 香蕉久久久久久久av网站| 亚洲激情国产精品| 亚洲一区在线观看视频 | 老司机一区二区三区| 欧美猛交免费看| 国产乱肥老妇国产一区二| 狠狠色丁香婷婷综合影院| 亚洲乱码一区二区| 午夜精品亚洲| 亚洲免费高清视频| 午夜综合激情| 女人色偷偷aa久久天堂| 国产精品扒开腿爽爽爽视频| 国内精品久久久久久久97牛牛| 亚洲精品少妇| 欧美一区二区三区四区视频| 一区二区三区四区蜜桃| 久久精品欧洲| 欧美激情网站在线观看| 国产精品久久久久久久9999 | 亚洲欧美国产高清| 亚洲美女av电影| 久久av二区| 欧美日韩三级视频| 狠狠色狠色综合曰曰| 在线一区免费观看| 亚洲人成人99网站| 欧美综合国产| 国产精品成人观看视频免费| 尤妮丝一区二区裸体视频| 亚洲视频福利| 亚洲每日在线| 久久综合久久88| 国产欧美精品日韩| 日韩亚洲国产精品| 亚洲国产精品嫩草影院| 午夜精品www| 欧美日韩1区| 在线精品视频一区二区三四| 亚洲欧美bt| 中文久久精品| 欧美福利专区| 激情欧美亚洲| 西瓜成人精品人成网站| 亚洲午夜精品一区二区三区他趣| 欧美成人高清| 影音国产精品| 久久精品欧美日韩| 久久久国产精品亚洲一区| 欧美欧美天天天天操| 在线观看免费视频综合| 久久成人精品电影| 欧美一区二区高清在线观看| 欧美日韩在线播放三区| 亚洲激情视频在线播放| 亚洲国产日韩欧美在线图片| 久久精品国产精品亚洲综合| 国产精品久久久久久久免费软件 | 鲁大师影院一区二区三区| 国产午夜精品久久| 亚洲欧美区自拍先锋| 亚洲专区国产精品| 欧美视频在线观看一区二区| 亚洲精品一二三区| 日韩亚洲不卡在线| 欧美激情二区三区| 亚洲国产成人av| 亚洲精品国产精品国自产观看| 免播放器亚洲一区| 亚洲成色777777在线观看影院| 久久精品久久综合| 久久影院午夜论| 狠狠久久综合婷婷不卡| 亚洲国产成人在线| 久久综合久色欧美综合狠狠| 黄色一区三区| 亚洲黑丝在线| 欧美成熟视频| 亚洲精品日韩久久| 亚洲一区二区免费| 国产精品海角社区在线观看| 亚洲天堂免费观看| 欧美在线视频一区二区三区| 国产精品亚洲一区| 欧美一区二视频| 久久影院午夜片一区| 在线观看国产成人av片| 亚洲精品日韩精品| 欧美日韩精选| 亚洲一区二区三区在线| 欧美一级淫片aaaaaaa视频| 国产亚洲欧美日韩日本| 亚洲黄色成人久久久| 欧美国内亚洲| 99精品国产99久久久久久福利| 亚洲免费在线视频一区 二区| 国产精品一区二区欧美| 欧美资源在线观看| 欧美国产精品va在线观看| 亚洲精品免费在线| 亚洲欧美久久久| 国产日韩视频| 亚洲日韩欧美视频一区| 欧美日韩亚洲综合| 亚洲综合国产精品| 久久视频在线看| 亚洲日本aⅴ片在线观看香蕉| 亚洲欧美国产va在线影院| 国产一区二区日韩精品欧美精品 | 欧美一区在线视频| 伊人精品成人久久综合软件| av成人手机在线| 国产精品手机在线| 亚洲国产成人在线| 欧美午夜精品久久久久久人妖| 午夜亚洲影视| 欧美激情成人在线| 亚洲女同在线| 欧美激情偷拍| 亚洲欧美资源在线| 欧美成人精品一区二区| 一区二区三区精品在线| 久久久水蜜桃| 99热这里只有成人精品国产| 久久国产精品久久久久久| 亚洲国产精品成人综合| 午夜精品久久久久99热蜜桃导演| 狠狠色狠狠色综合日日五| 亚洲一区视频在线| 在线看欧美视频| 午夜精品理论片| 亚洲国产欧美一区二区三区久久 | 亚洲午夜精品久久久久久app| 国产亚洲欧美激情| 宅男在线国产精品| 国产主播一区二区三区| 一区二区三区精品视频| 好看的日韩视频| 亚洲视频免费看| 在线日韩精品视频| 亚洲欧美国产精品桃花 | 99国产一区| 欧美xxx成人| 午夜精品久久久久99热蜜桃导演| 欧美精品在线极品| 久久av二区| 国产精品久久97| 日韩午夜在线视频| 精品动漫3d一区二区三区免费版 | 欧美中文字幕视频| 亚洲人成在线播放| 国产在线视频欧美| 亚洲欧美日韩国产综合在线 | 亚洲午夜精品| 欧美精品一级|