基于ZLG500的智能卡門禁系統(tǒng)設計
1 讀寫模塊ZLG500簡介
1.1 ZLG500與MCU的接口原理
ZLG500模塊采用Philips公司最新的高集成ISO14443讀卡芯片MF RC500,它能讀寫RC500內(nèi)EEPROM,提供三線制SPI接口,并具有控制線輸出端口,能與任何MCU連接。ZLG500與MCS51單片機的接口原理圖如圖1所示。此外該模塊的EMC性能優(yōu)良,并且自帶無源蜂鳴器信號輸出,能用軟件控制其輸出頻率及輸出持續(xù)時間。
圖中SCLK、SDATA、SS為ZLG500與MCU相連接的控制線,分別為時鐘線、數(shù)據(jù)線和片選。主控制器的MCU和讀卡模塊內(nèi)的MCU通過此三線相連。接口空閑時,主機的SS=1,SCLK=O,SDATA=0,而從機的SS=1,SCLK=1,SDATA=O。其中SS和DATA都是雙向的,而時鐘線SCLK是單向的,即時鐘只能由主控制器產(chǎ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ù),接收端必須釋放該線。該線在一次傳輸開始時還同時作為數(shù)據(jù)接收端的響應信號。
1.2 ZLG500與MCU接口的時序及通信協(xié)議
ZLG500與MCU無論數(shù)據(jù)傳輸?shù)姆较蛉绾?,SPI線上信號的波形總是如圖2所示。由圖中可以看出,在SS為低時,時鐘和數(shù)據(jù)線上的信號才有效;在SCLK為低時SDATA變化,在SCLK為高時SDATA應保持穩(wěn)定。
以上傳輸中,從數(shù)據(jù)發(fā)送器請求開始至數(shù)據(jù)接收器響應的時間是不確定的,取決于接收器內(nèi)的MCU是否忙,因此有必要設置看門狗定時器對數(shù)據(jù)接收器的響應進行監(jiān)視。一旦接收器響應,則MCU必須根據(jù)數(shù)據(jù)傳輸方向,嚴格控制以下幾個時間,以確保數(shù)據(jù)傳輸無誤。
t1:數(shù)據(jù)接收器響應至MCU產(chǎn)生第一個SCLK上升沿的時間。
t2:2個字節(jié)傳輸之間SCLK低電平的持續(xù)時間。
t3:傳輸最后1個字節(jié)的最后1位的SCLK信號的上升沿至SS上升沿的時間。
tH:SCLK信號的高電平持續(xù)時間。
tL:SCLK信號的低電平持續(xù)時間。
在數(shù)據(jù)傳輸方向不同時,對時間t1、t2、t3、tH和tL都有不同的要求。
MCU與ZLG500的通信必須先由MCU發(fā)送命令和數(shù)據(jù)給ZLG500,ZLG500執(zhí)行命令完畢后,將命令執(zhí)行的狀態(tài)和響應數(shù)據(jù)發(fā)回MCU。
開始通信前,收發(fā)雙方必須處于空閑狀態(tài)。首先由MCU發(fā)出SS下降沿信號,然后等待ZLG500在SDATA線上的響應,若在50 ms內(nèi)未檢測到此信號,則退出本次傳輸。若正確響應,則MCU可將命令和數(shù)據(jù)發(fā)送出去。
然后MCU等待ZLG500發(fā)回的狀態(tài)和響應數(shù)據(jù),即等待SS線上的下降沿信號。若在50 ms內(nèi)未檢測到此信號,則退出本次傳輸;若正確檢測到SS信號,則可以接收狀態(tài)和數(shù)據(jù)。
2 智能卡門禁系統(tǒng)設計
2.1 總體結(jié)構(gòu)
系統(tǒng)采用Philips公司的非接觸智能IC卡Mifare 1(M1)卡。以M1卡作為用戶卡,以其全球唯一的序列號SN為依據(jù)控制門的開啟。由于它是一個高頻卡,工作頻率為13.5 MHz,因而具有較強的抗干擾能力且讀寫距離遠(2.5~10 cm)。
整個智能卡門禁系統(tǒng)分為三大部分:其一是讀寫器部分,包括MCU、復位電路、時鐘電路、顯示電路、鍵盤、數(shù)據(jù)存儲等主控模塊及非接觸IC卡讀寫模塊和電鎖驅(qū)動部分;其二是中央控制電腦的軟件管理系統(tǒng)模塊;其三是中央控制電腦與讀寫器之間的數(shù)據(jù)傳輸模塊??傮w系統(tǒng)框圖如圖3所示。
評論