磁卡門禁控制器的如何進行設計
文章出處:http://m.dipdnbxp.cn 作者:高澤涵,黃嵐 人氣: 發(fā)表時間:2010年08月05日
隨著“金融電子化”的高速發(fā)展,尤其“金卡工程”的實施,使卡基應用系統(tǒng)越來越深入到各種管理控制系統(tǒng)。其中“卡基門禁管理控制系統(tǒng)”已成為銀行、商店、停車場、游樂場、圖書館、實驗室、倉庫等需要對出入進行控制管理的部門和機構、出入管理(即門禁)控制系統(tǒng)的重要方式。本文介紹的門禁控制器具有以下基本功能:
(1)可通過磁卡閱讀器(也可以是任何具有RS232接口的條碼閱讀器或Ic卡讀寫器)讀取磁卡第二、第三磁道前18位信息,當磁卡信息與控制器準人密碼符合時,自動開啟門控系統(tǒng)。
(2)可自動存儲最后900條開鎖記錄,記錄內(nèi)容為開鎖時間和表示進入者身份的l8位磁卡信息。
(3)對每天24小時以1O分鐘為單位,可任意將門禁狀態(tài)劃分為“常開”、“常關”和 自動”三個時區(qū)。
(4)可任意修改100條長度為18位的準人密碼,并可設置三條主人密碼(允許持主人卡者開鎖不受時區(qū)限制)。準人密碼由0~9十個數(shù)字和通兌符“*”組成。
(5)允許以秒為單位對開鎖時間、關門到位延時時間、開門超時時間、門故障報警時間實現(xiàn)編程控制(控制范圍1~99秒)。
(6)能通過標準RS232接口,接受PC機或專用編程器對控制器進行編程控制和管理信息提取。并可由PC機對多個控制器組成的網(wǎng)絡型門禁控制進行系統(tǒng)管理。
圖1 硬件框圖
2 控制器硬件設計
門禁控制器硬件結構框圖如圖l所示。由單片機、門鎖驅動、門狀態(tài)接口、讀卡器接口、編程器接口、RS232擴展、密碼存儲、開鎖記錄、地址譯碼等單元電路組成。門禁控制器電路原理如圖2所示。
門禁控制器主要有“讀卡”和“編程”兩個基本工作模式,當模式選擇開關K2斷開時控制器為讀卡工作模式,讀卡模式下可編程門禁控制器與相應的卡閱讀器(磁條閱讀器或條碼閱讀器)和電動門鎖配合,可實現(xiàn)門禁控制管理。當模式選擇開關K2閉合時控制器工作在編程模式下,此時控制器能接受PC機或專用編程器對其進行編程控制和管理信息提取。單元電路基本工作原理如下:
圖2 門禁控制器電路原理圖
單片機選用低功耗的CMOS器件AT89C51,它具有4K字節(jié)ROM、128字節(jié)RAM、32條I/O接口(P0、Pl、P2、P3)、2個16位定時/汁數(shù)器、一個全雙工串行接口、一個包含5個中斷源的兩級中斷系統(tǒng)以及片內(nèi)振蕩器和時鐘電路。
密碼存儲、開鎖記錄、地址譯碼部分,采用兩片可讀寫EzPROM存儲器28C64和一片數(shù)據(jù)鎖存器573在讀/寫線和地址譯碼電路控制下,通過數(shù)據(jù)口P0和擴展的地址口P0、P2使控制器具有可任意編寫100條長度l8位的許人密碼,可自動存儲最后900條長度22位的開鎖記錄的功能。密碼區(qū)起始地址為#2000H,開鎖信息記錄區(qū)起始地址為#2800H。
RS232擴展、讀卡器接口和編程器接口組成控制器的串行口驅動電路,由于AT89C51只有一個串行接口,但門禁控制器要求與兩個設備實現(xiàn)通訊,即在讀卡模式下控制器應與磁條閱讀器通訊,而在編程模式下控制器應與PC機或專用編程器通訊。為此,電路采用模式選擇開關K2、RS232傳輸驅動芯片ICL232和多路電子開關CD4066組成串行口擴展電路.模式選擇開關K2決定P3、2口的電平。以軟件查詢P3.2口(P3.2=1為讀卡模式P3.2=0為編程模式)的方式,并通過控制P3.3口選通與讀卡器或編程器進行數(shù)據(jù)通訊。且設置AT89C51串行口在讀卡模式時為低級中斷方式,串行口工作方式1。波特率由定時計數(shù)器T1工作方式2和晶振頻率決定,取T1為八位自動裝入常數(shù)#00E6H晶振6MI-IZ時,串口波特率為1200bit/s。每當發(fā)生讀卡操作,程序即轉去執(zhí)行讀卡中斷程序。
門鎖驅動和門狀態(tài)接口組成門禁控制器基本接口電路,門禁控制器有J1-J18共l8個對外接121。其中,J1、J2為DC12V輸入電源接121。J17、J18為D v輸出電源接口。J3、J4、J5為門鎖控制繼電器輸出接121,由P1.0輸出低電平有效控制門鎖開啟。J6允許進入、J7出門有效、J8門故障報警是三個TrL電平輸出接口,高電平有效.分別由P1.1、P1.2、P1.3低有效控制。J9門鎖到位信號、J10出門開關是兩個光隔輸入接口,可輸入DCSV~12V開關信號,并分別使P1.5、P1.6低有效。Jll開門輔助輸出接口,TrL信號低有效,由P1.7輸出低電平有效門控制。J12、J13為劇卡器RS232接口。J14、J15為PC機或專用編程器RS232接口。J16為信號公用地線。
控制器其他電路:電路中采用4_8v后備電池對單片機89C51單獨供電,正常時后備電源開關K1接通,外接電源對系統(tǒng)供電且向后備電池充電,當外接電源臨時掉電時電池僅對單片機供電,以保證實時時鐘正常運行和保存用戶基本參數(shù),使控制器在外接電源恢復正常時無需重新編程即可正常開始工作。
3 控制器軟件設計
控制器軟件的主要功能有兩部分,一是讀取磁卡器的信息與準人密碼進行比較,當符合條件時開啟門鎖。二是與PC機或專用編程器通信,完成修改準人者信息、更改管理時區(qū)、更改門控狀態(tài)、確定當前時間等編程工作??刂破鬈浖鞒倘鐖D3所示。
圖3 控制器軟件流程圈
(1)主程序:主程序包括系統(tǒng)初始化、工作模式選擇和時區(qū)劃分三個模塊。
初始化模塊完成對系統(tǒng)的各種參數(shù)設置。如實時時鐘定時計數(shù)器工作方式設置、串行ISl工作方式和波特率設置、數(shù)據(jù)緩沖區(qū)設置和單片機各種工作參數(shù)的設置等。工作模式選擇模塊.根據(jù)有關輸人ISl信息確定控制器工作在“出門狀態(tài)”、“讀卡模式”或“編程模式”狀態(tài)。出門狀態(tài)由出門按鈕選定,此時控制器轉去執(zhí)行開門和關門子程序,發(fā)出開門信號并禁止讀卡和編程響應,直至門恢復關閉為止。
讀卡模式由模式選擇開關K2斷開選定,讀卡模式下控制器RS232接ISl與讀卡器連接,軟件允許系統(tǒng)響應讀卡中斷,并執(zhí)行讀卡中斷程序。編程模式由模式選擇開關K2接通選定,編程模式下控制器RS232接VI與PC機或專用編程器連接,軟件轉去運行編程子程序,并禁止讀卡和不響應出門信號,直至按照PC機或專用編程器指令退出編程狀態(tài)為止。
時區(qū)劃分模塊,將每周分為星期一~星期五、星期六和星期日三個工作時間段,并且通過編程將每天24小時以10分鐘為單位,可任意設置為“常開”、“常關”和“自動”三個工作時區(qū)。在常開時區(qū)內(nèi)門鎖始終開啟,在常關時區(qū)內(nèi)只允許符合三條主人密碼的磁卡開啟門鎖.在自動時區(qū)內(nèi)允許符合準人密碼的磁卡開啟門鎖。
(2)實時時鐘中斷程序:設置AT'89C51的定時計數(shù)器TO.工作方式1為高級中斷,當晶振頻率為6MHZ,定時常數(shù)為#3CBOH,將產(chǎn)生0.1秒定時中斷。在實時時鐘中斷程序中對0、1秒、秒、分、時、星期和月份進行計時并存人相應單元。
(3)讀卡中斷程序:讀卡中斷程序包括讀卡、數(shù)據(jù)處理和糾錯處理三個模塊。讀卡模塊的功能是當程序響應讀卡器中斷后,即將讀卡器發(fā)來的磁卡中第二磁道和第三磁道前l(fā)8位主賬號數(shù)據(jù)信息分別讀人相應的緩沖區(qū)。
數(shù)據(jù)處理模塊中,分別將 、三磁道數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)逐個取出,并與密碼區(qū)中各條準^密碼信息逐位進行比較,全部相符時即將當前時間和進^者18位主帳號寫^開鎖信息區(qū),同時轉向門狀態(tài)控制子程序。
糾錯模塊的功能是,當發(fā)現(xiàn)無論是硬件或軟件故障造成通訊信號丟失時,都將退出讀卡中斷程序,返回主程序以免程序陷^死循環(huán)。
(4)門狀態(tài)控制程序:包括自動開門、關門兩個子程序。在開門子程序中給出開門驅動信號,并按照編程給定的開門時間,維持開門驅動信號。
在關門子程序中首先檢測門鎖到位信號,確認門鎖到位后發(fā)出關閉開門驅動信號,否則將保持開門驅動信號。當開門時間超過編程給定的開門超時時間時,控制器將按編程給定的報警時間長短發(fā)出門故障報警信號,直至門鎖到位信號得到確認。
(5)編程通訊程序:當模式選擇開關K2接通,主程序查詢到P3.2=0時,控制器進人編程工作模式。在編程模式下控制器與PC機或專用編程器通過RS232接VI通訊可完成設置準人密碼,設置當前時間,設置門狀態(tài)參數(shù),設置編程密碼,設置工作時區(qū),讀取開鎖記錄等工作??刂破餍栌蒔C機或專用編程器的指令退出編程模式。