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

    聯(lián)系興邦電子

    全國(guó)咨詢熱線:40000-63966

    售后:0371-55132951/55132952

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

    基于單總線的感應(yīng)式IC卡門禁系統(tǒng)設(shè)計(jì)

    文章出處:http://www.xujuanpiju.com 作者:陳羲梅 人氣: 發(fā)表時(shí)間:2011年07月04日

    [文章內(nèi)容簡(jiǎn)介]: 為了有效提高門禁系統(tǒng)的管理功能和實(shí)時(shí)性,所設(shè)計(jì)的基于VC 的門禁管理系統(tǒng)應(yīng)具有對(duì)門戶出入控制、保安防盜、報(bào)警等多種功能,它主要方便內(nèi)部員工或住戶出入,杜絕外來(lái)人員隨意進(jìn)出,既方便了內(nèi)部管理,又增強(qiáng)了內(nèi)部的安全保障。

            門禁系統(tǒng)是對(duì)重要區(qū)域或通道的出入口進(jìn)行管理與控制的系統(tǒng),它是一種新型現(xiàn)代化安全管理系統(tǒng),它集微機(jī)自動(dòng)識(shí)別技術(shù)和現(xiàn)代安全管理措施為一體,涉及電子、機(jī)械、光學(xué)、計(jì)算機(jī)技術(shù)、通信技術(shù)、生物技術(shù)等諸多高新技術(shù)。

            為了有效提高門禁系統(tǒng)的管理功能和實(shí)時(shí)性,所設(shè)計(jì)的基于VC 的門禁管理系統(tǒng)應(yīng)具有對(duì)門戶出入控制、保安防盜、報(bào)警等多種功能,它主要方便內(nèi)部員工或住戶出入,杜絕外來(lái)人員隨意進(jìn)出,既方便了內(nèi)部管理,又增強(qiáng)了內(nèi)部的安全保障。

        最近幾年隨著感應(yīng)卡技術(shù),生物識(shí)別技術(shù)的發(fā)展,門禁系統(tǒng)得到了飛躍式的發(fā)展,進(jìn)入了成熟期,出現(xiàn)了感應(yīng)卡式門禁系統(tǒng),指紋門禁系統(tǒng),虹膜門禁系統(tǒng),面部識(shí)別門禁系統(tǒng),亂序鍵盤門禁系統(tǒng)等各種技術(shù)的系統(tǒng),它們?cè)诎踩裕奖阈?,易管理性等方面都各有特長(zhǎng),門禁系統(tǒng)的應(yīng)用領(lǐng)域也越來(lái)越廣。

        1 總體設(shè)計(jì)

        1.1 課題研究的主要內(nèi)容

        本文對(duì)門禁系統(tǒng)進(jìn)行了簡(jiǎn)要的概述。門禁系管理統(tǒng)的組成包含以下幾個(gè)部分:
        (1) 門禁控制器。門禁系統(tǒng)的核心部分,相當(dāng)于計(jì)算機(jī)的CPU,它負(fù)責(zé)整個(gè)系統(tǒng)輸入、輸出信息的處理和儲(chǔ)存,控制等等。
        (2) 讀卡器(識(shí)別儀)。讀取卡片中數(shù)據(jù)(生物特征信息)的設(shè)備。
        (3) 電控鎖。門禁系統(tǒng)中鎖門的執(zhí)行部件。用戶應(yīng)根據(jù)門的材料、出門要求等需求選取不同的鎖具。
        (4) 卡片。開門的鑰匙。
        (5) AS232。串口通信接口。
        (6) 80C196KC。數(shù)據(jù)采集模塊。
        (7) 電腦。運(yùn)行門禁信息管理系統(tǒng)(DCIM)。

        1.2 總體設(shè)計(jì)分析

        為了提高門禁管理系統(tǒng)監(jiān)控的實(shí)時(shí)性,采用 VB 語(yǔ)言開發(fā)門禁管理系統(tǒng),完成了門禁管理系統(tǒng)操作界面、門禁控制器與上位機(jī)的通信以及門禁管理系統(tǒng)數(shù)據(jù)庫(kù)編程?,F(xiàn)場(chǎng)應(yīng)用表明,所設(shè)計(jì)門禁管理系統(tǒng)具有良好的實(shí)時(shí)監(jiān)控性,確保門禁系統(tǒng)穩(wěn)定、高效地工作,該系統(tǒng)具有實(shí)際應(yīng)用價(jià)值。系統(tǒng)結(jié)構(gòu)圖如圖1-1 所示??傮w設(shè)計(jì)需求:

        (1)設(shè)計(jì)單總線接口電路驅(qū)動(dòng)程序
        (2)設(shè)計(jì)智能電子鎖監(jiān)控程序
        (3)設(shè)計(jì)門禁信息管理程序

        1.2.1 系統(tǒng)硬件技術(shù)

        本設(shè)計(jì)的硬件部分大致可分為:DS1990A; AT90S2313 ; CAN 遠(yuǎn)程通信; AS232+PC。DS1990A 序列號(hào)iButton 是一種堅(jiān)固的數(shù)據(jù)載體,可作為自動(dòng)識(shí)別系統(tǒng)的電子注冊(cè)號(hào)。數(shù)據(jù)通過(guò)1-Wire 協(xié)議傳輸,只需要一條信號(hào)引線和一個(gè)地回路。每個(gè)DS1990A 內(nèi)包含工廠刻入的唯一64 位注冊(cè)號(hào)[2]。

        AT90S2313 是一款基于AVR RISC 的低功耗CMOS的8 位單片機(jī)通過(guò)在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行一條指令A(yù)T90S2313 可以取得接近1MIPS/MHz 的性能從而使得設(shè)計(jì)人員可以在功耗和執(zhí)行速度之間取得平衡AVR 核將32 個(gè)工作寄存器和豐富的指令集聯(lián)結(jié)在一起所有的工作寄存器都與ALU 算邏單元直接相連允許在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行的單條指令同時(shí)訪問(wèn)兩個(gè)獨(dú)立的寄存器這種結(jié)構(gòu)提高了代碼效率使AVR 得到了比普通CISC 單片機(jī)高將近10 倍的性能。

        CAN 的結(jié)構(gòu)是總線型。CAN 總線協(xié)議是建立在國(guó)際標(biāo)準(zhǔn)組織的開放系統(tǒng)互連模型基礎(chǔ)上的,主要描述設(shè)備之間的信息傳遞。CAN 總線的模型結(jié)構(gòu)只有3 層,選取了OSI 參考模型底層的物理層,數(shù)據(jù)鏈路層和應(yīng)用層。數(shù)據(jù)鏈路層包括邏輯鏈路控制子層和介質(zhì)訪問(wèn)控制子層。邏輯鏈路控制子層(LLC)包括:驗(yàn)收濾波,過(guò)載通知和恢復(fù)管理。介質(zhì)訪問(wèn)控制層(MAC)包括:數(shù)據(jù)包裝/解包;幀編碼(填充,消除填充);介質(zhì)訪問(wèn)管理;錯(cuò)誤檢測(cè);錯(cuò)誤標(biāo)定;應(yīng)答;并行轉(zhuǎn)換成串行/串行轉(zhuǎn)換成并行。

        CAN 總線不需要其它中間層,應(yīng)用層數(shù)據(jù)直接取自數(shù)據(jù)鏈路層或直接向鏈路層寫數(shù)據(jù)。CAN 智能節(jié)點(diǎn)電路圖如圖1-2 所示

        進(jìn)行串行通訊時(shí)要滿足一定的條件,比如電腦的串口是 RS232 電平的,而單片機(jī)的串口是TTL 電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,計(jì)算機(jī)串口與CAN 總線通信通過(guò)電平轉(zhuǎn)換芯片MAX232 實(shí)現(xiàn)TTL 電平到ELA 電平的轉(zhuǎn)換,單片機(jī)實(shí)現(xiàn)計(jì)算機(jī)與CAN 節(jié)點(diǎn)之間的數(shù)據(jù)交換。

        1.2.2 門禁管理系統(tǒng)設(shè)計(jì)

        門禁管理系統(tǒng)是門禁系統(tǒng)中的重要組成部分。它主要完成門禁系統(tǒng)的監(jiān)控、管理、查詢等工作。通過(guò)門禁管理系統(tǒng)軟件的設(shè)計(jì),監(jiān)控人員可對(duì)出/入口的狀態(tài)、門禁控制器的工作狀態(tài)進(jìn)行監(jiān)控管理,并可擴(kuò)展完成巡更、考勤、人員定位等功能。管理系統(tǒng)結(jié)構(gòu)圖如圖1-3所示。

        2 軟件設(shè)計(jì)

        2.1 單片機(jī)與信息按鈕通信

        單片機(jī)通過(guò)單總線和信息按鈕通信,主機(jī)呼叫從機(jī)時(shí),從機(jī)才能應(yīng)答,因此主機(jī)訪問(wèn)單總線器件都必須嚴(yán)格遵循單總線命令序列,也就是初始化、ROM 命令、功能命令。如果出現(xiàn)序列混亂,單總線器件將不會(huì)響應(yīng)主機(jī)(搜索ROM 命令、報(bào)警搜索命令除外) 。因此通信編寫要嚴(yán)格遵守單總線協(xié)議,否則就會(huì)出現(xiàn)錯(cuò)誤。

        我們?cè)陔娮渔i上設(shè)置一個(gè)控制開關(guān),其功能是:當(dāng)開關(guān)撥至 1 處時(shí),將鑰匙插入門鎖,單片機(jī)自動(dòng)讀取iButton 的64 位ID 碼,并存人單片機(jī)的EEPROM 中,存入完畢時(shí),系統(tǒng)會(huì)有綠燈閃爍。從而完成鎖對(duì)鑰匙的初始化。當(dāng)開關(guān)撥至0 處時(shí),為正常使用狀態(tài)。

        2.2 單片機(jī)控制軟件設(shè)計(jì)

        CAN 總線控制器PCA82C200,其初始化程序如下:
        DI
        LDB AX , # 03H ;接收中斷開放,復(fù)位請(qǐng)求位置“1”
        STB AX ,CR
        LDB AX , # 01H ;將節(jié)點(diǎn)1 標(biāo)識(shí)符送ACR
        STB AX ,ACR
        LDB AX , # 00 ;置ACR 所對(duì)應(yīng)的位都為相關(guān)位
        STB AX ,AMR
        LDB AX , # 01H ;傳輸波特率250Kbps (采用的是16M 晶振)
        STB AX ,BTRO
        LDB AX , # 1CH
        STB AX ,BTR1
        LDB AX , # 0AAH ;設(shè)置輸出方式
        STB AX ,0CR
        LDB AX , # 02H ;PCA82C200 開始正常工作
        STB AX ,CR
        EI
    采用中斷方式通信的流程圖如圖2-1 所示。

     

        2.3 單片機(jī)與 PC 機(jī)通信

        函數(shù)聲明,變量定義
        #include <reg.51.h>
        #define COUNT10 //定義接收緩沖區(qū)大小
        Unsigned char buffer[COUNT]; //定義接收緩沖區(qū)
        Unsigned char point; //定義接收數(shù)據(jù)個(gè)數(shù)指示變量
        Void UART_init(); //串口初始化函數(shù)
        Void COM_send(void); //串口接收函數(shù)
        Unsigned char CLU_checkdata(void); //計(jì)算機(jī)校驗(yàn)函數(shù)

        •Void UART_init(); 串口初始化函數(shù)
        函數(shù)功能:在系統(tǒng)時(shí)鐘為 11.0592MHZ 時(shí),設(shè)定串口數(shù)據(jù)傳輸率為9600bit/sVoid UART_init();
        { //初始化串口和數(shù)據(jù)傳輸率發(fā)生器
        SCON=0x58; //選擇串口工作方式,打開接收允許
        TMOD=0x21; //定時(shí)器1 工作在方式2,定時(shí)器0 工作在方式1
        TH1=0xfd; //實(shí)現(xiàn)數(shù)據(jù)傳輸率9600bit/s(系統(tǒng)時(shí)鐘11.0592MHZ)
        TR1=0; //啟動(dòng)定時(shí)器1
        ET1=0;
        ES=1; //允許串行口中斷
        PS=1; //設(shè)計(jì)允許串行口中斷優(yōu)先級(jí)
        EA=1; //單片機(jī)中斷允許
        }

        •Com_interrup()串口接收中斷處理函數(shù)
        函數(shù)功能:接收包括起始位’S’在內(nèi)的10bit 數(shù)據(jù)到緩沖區(qū)
        Com_interrupt(void)interrupt 4 using 3{
        Unsigned char RECEIVR_buffer;
        If(RI) //處理接收中斷
        {
        RI=0; //清楚中斷標(biāo)志位
        RECEIVR_buffer=SBUF; //接收串口數(shù)據(jù)
        If(point==0) //如果還沒有接收到起始位
        {
        If(RECEIVR_buffer==’S’) //判斷是否起始標(biāo)志位
        Point++; //是,準(zhǔn)備接收下一位
        Else
        Point=0; //不是,繼續(xù)等待起始位
        }
        Else if(point>0&&point<10) //判斷是否接收夠10bit 數(shù)據(jù)
        Buffer[point++]=RECEIVR_buffer; //不夠,把接收到的數(shù)據(jù)放入接收緩存區(qū)
        Else point=0; //緩沖區(qū)已滿,清除緩存區(qū)內(nèi)數(shù)據(jù)重新接收
        }
        If(TI); //處理發(fā)送中斷
        {
        TI=0;
        }
        }

        •COM_send()串口發(fā)送函數(shù)
        函數(shù)功能:把數(shù)據(jù)緩沖區(qū)的 10bit 數(shù)據(jù)發(fā)送出去
        Void COM_send(){
        For(point=0;point<=10,TI=1;point++) //連續(xù)發(fā)送10bit 數(shù)據(jù)
        //把緩存區(qū)的數(shù)據(jù)都發(fā)送到串口
        {
        SUBF=buffer[point];
        TI=0;
        }
        }

        •CLU_checkdata()計(jì)算機(jī)校驗(yàn)位函數(shù)
        輸入變量:無(wú)
        輸出變量:checkdata,包括起始位在內(nèi)的前九位數(shù)據(jù)的校驗(yàn)和
        函數(shù)功能:計(jì)算校驗(yàn)和
        Unsigned char CLU_checkdata(void){ //計(jì)算校驗(yàn)位
        Unsigned char checkdata=0;
        For(point=0;point<9,TI=1;point++)
        {
        Checkdata=checkdata︱buffer[point]
        }
        Return(checkdata);
        }

        •主函數(shù)
        函數(shù)功能:調(diào)度子函數(shù),完成通信過(guò)程
        Void main(void){
        Unsigned char checkdata;
        Do
        {
        UART_init(); //初始化串口
        If(point==10) //判斷數(shù)據(jù)是否接收完成
        Checkdata=CLU_checkdata; //調(diào)用求校驗(yàn)和函數(shù)
        If(checkdata==buffer[9]) //判斷校驗(yàn)和是否正確
        COM_send(); //正確則調(diào)用發(fā)送程序
        Point=0;
        }
        While(1);
        }

        2.4 計(jì)算機(jī)管理界面設(shè)計(jì)

        登陸之后,進(jìn)入管理軟件的界面。

        員工主要信息包括員工的聯(lián)系電話、年齡、所在部門、員工住址等。對(duì)員工信息的查詢?nèi)鐖D所示,在操作界面中可以根據(jù)不同的查詢條件進(jìn)行查找。

        在門禁管理中,包括對(duì)電子鎖的管理。其中ID 號(hào)取的是門鎖對(duì)應(yīng)的鑰匙的ID 號(hào)(每把鑰匙有自己固定的ID 號(hào)),一把鎖可以配對(duì)多把鑰匙。

        在實(shí)時(shí)監(jiān)控中,可以對(duì)房間的一些狀態(tài)進(jìn)行監(jiān)控,諸如門鎖打開的狀態(tài)、濕度、溫度、有無(wú)煙霧等。第一張圖是對(duì)某一個(gè)房間狀態(tài)進(jìn)行監(jiān)控,第二張圖則顯示的是對(duì)所有房間進(jìn)行的監(jiān)控。

        在門禁管理選項(xiàng)中,管理員還可以對(duì)門進(jìn)行強(qiáng)制關(guān)門開門操作。在系統(tǒng)維護(hù)中,可以對(duì)串口進(jìn)行設(shè)置,對(duì)管理員密碼進(jìn)行修改,對(duì)實(shí)時(shí)數(shù)據(jù)備份等等。這里不再進(jìn)行贅述。

        3 結(jié)論

        門禁管理系統(tǒng)設(shè)計(jì)涉及的主要技術(shù)有單總線技術(shù)、串口通信技術(shù)、CAN 總線等,整個(gè)系實(shí)現(xiàn)了門禁管理操作界面、完成門禁系統(tǒng)的監(jiān)控、管理、查詢等工作。通過(guò)門禁管理系統(tǒng)軟件的設(shè)計(jì),監(jiān)控人員可對(duì)出/入口的狀態(tài)、門禁控制器的工作狀態(tài)進(jìn)行監(jiān)控管理。

    本文關(guān)鍵詞:IC卡門禁系統(tǒng)
    回到頂部