基于RS485總線和RFID的智能門(mén)禁系統(tǒng)實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著網(wǎng)絡(luò)技術(shù)、數(shù)字技術(shù),特別是射頻通信識(shí)別技術(shù)的進(jìn)步,門(mén)禁系統(tǒng)在安全性、方便性、易管理性等方面也得到了長(zhǎng)足的發(fā)展,成為確保小區(qū)及其它重要部門(mén)出入口安全的有效措施,已廣泛應(yīng)用于交通、物流管理等多個(gè)領(lǐng)域[1-3]。
RS485總線主機(jī)調(diào)度網(wǎng)以其組網(wǎng)容易、造價(jià)低、軟硬件豐富、添加節(jié)點(diǎn)方便快捷、數(shù)據(jù)傳輸可靠穩(wěn)定、誤碼率較低及傳輸距離適中等優(yōu)點(diǎn),仍是目前中小型網(wǎng)絡(luò)管理系統(tǒng)的主流形式。本工作研究了一種基于RS 485總線和RFID技術(shù)的智能門(mén)禁系統(tǒng)的硬件和軟件實(shí)現(xiàn)方案。
1 系統(tǒng)整體構(gòu)成
系統(tǒng)總體框圖見(jiàn)圖1,其結(jié)構(gòu)采用集散式控制形式,各下位機(jī)分別監(jiān)控各自節(jié)點(diǎn)內(nèi)的操作狀況,又統(tǒng)一受上位機(jī)的監(jiān)控。該系統(tǒng)采用PC機(jī)作為上位機(jī),主要負(fù)責(zé)住戶信息的數(shù)據(jù)庫(kù)管理、各節(jié)點(diǎn)住戶實(shí)時(shí)操作的監(jiān)控與信息記錄等,具體信息包括:RFID卡信息、住戶個(gè)人信息、密碼信息、實(shí)時(shí)操作信息和歷史記錄及系統(tǒng)時(shí)間等。各下位機(jī)采用WINBOND公司生產(chǎn)的W77E58單片機(jī)作為微處理器,負(fù)責(zé)本節(jié)點(diǎn)內(nèi)RFID卡的管理、用戶權(quán)限的判定及門(mén)狀態(tài)的控制等。各節(jié)點(diǎn)內(nèi)的485收發(fā)器MAX485負(fù)責(zé)接收來(lái)自485總線的PC機(jī)控制數(shù)據(jù)或者通過(guò)總線向上位機(jī)發(fā)送實(shí)時(shí)操作信息見(jiàn)圖2。各門(mén)禁控制器通過(guò)一個(gè)串口讀取RFID卡信息,并通過(guò)另一個(gè)串口與485總線通信。上位機(jī)通過(guò)串口并經(jīng)232—485電平轉(zhuǎn)換后連接至485總線,統(tǒng)一管理各門(mén)禁控制器。
圖1 智能門(mén)禁系統(tǒng)總體框圖
系統(tǒng)工作過(guò)程為:用戶將持有的RFID卡接近讀卡器時(shí),讀卡器識(shí)別卡信息并通過(guò)串口將卡信息傳送給單片機(jī)控制器。用戶也可以通過(guò)鍵盤(pán)輸入密碼,單片機(jī)控制器將卡信息或鍵盤(pán)信息與外部EEPR0M 中存儲(chǔ)的信息比較,驗(yàn)證用戶權(quán)限,進(jìn)而控制門(mén)狀態(tài)。單片機(jī)通過(guò)另一個(gè)串口經(jīng)由485收發(fā)器通過(guò)總線與上位機(jī)通信,將卡信息、各時(shí)刻操作信息、鍵盤(pán)信息等傳送到總線上,上位機(jī)通過(guò)總線對(duì)這些信息進(jìn)行文件和數(shù)據(jù)庫(kù)的存儲(chǔ);同時(shí),上位機(jī)對(duì)各住戶的卡、密碼及個(gè)人信息以注冊(cè)或者注銷(xiāo)等形式進(jìn)行數(shù)據(jù)庫(kù)管理,以便于查詢。
圖2 485收發(fā)器電路
2 系統(tǒng)硬件設(shè)計(jì)
2.1硬件組成
上位機(jī)硬件是PC機(jī)和232—485轉(zhuǎn)接卡。下位機(jī)硬件主要包括RFID讀卡器、485收發(fā)器和門(mén)禁控制器。下位機(jī)節(jié)點(diǎn)結(jié)構(gòu)見(jiàn)圖3。
圖3 下位機(jī)門(mén)禁控制器總體框圖
下位機(jī)的核心部分是W77E58單片機(jī)微控制器,其主要特點(diǎn)是具有兩個(gè)獨(dú)立的串行通訊口。
RFID讀卡器采用周立功公司的ZLG500CMifare卡讀寫(xiě)模塊嘲,利用單片機(jī)控制器的P1.4引腳作為其復(fù)位信號(hào)。讀卡器與控制器的接口引線還包括電源線、地線及RXD、TXD 串口數(shù)據(jù)線,二者為串行通信方式。
485總線收發(fā)器采用MAXIM 公司的MAX485,其電路原理見(jiàn)圖2。其中加入光隔離以實(shí)現(xiàn)抗干擾及保護(hù)功能。利用單片機(jī)的P2.3引腳對(duì)其內(nèi)部的發(fā)送和接收驅(qū)動(dòng)器進(jìn)行控制,通過(guò)單片機(jī)的一個(gè)串口與之通信。
2.2 工作原理
W77E58具有2個(gè)串口,這一點(diǎn)在該系統(tǒng)是至關(guān)重要的。單片機(jī)控制器既要通過(guò)串口與RFID讀卡器通信,又要通過(guò)串口與485總線控制器MAX485通信,因此選擇具有2個(gè)串口的單片機(jī)是解決這一矛盾的最佳方案。而且在相同的時(shí)鐘頻率下,它的指令執(zhí)行速度比標(biāo)準(zhǔn)8051快2.5倍,這對(duì)于作為門(mén)禁控制器核心的單片機(jī)來(lái)說(shuō)也是大有優(yōu)勢(shì)的。
鍵盤(pán)具有12個(gè)按鍵,各按鍵的功能定義為:數(shù)字鍵0-9、確認(rèn)鍵及取消鍵。用戶可以通過(guò)鍵盤(pán)輸入密碼信息,也可以通過(guò)鍵盤(pán)呼叫開(kāi)門(mén)。EEPROM 存儲(chǔ)器AT24C256用來(lái)存儲(chǔ)用戶密鑰信息及RFID卡的卡號(hào)和密碼信息,它具有IIC總線功能,可以在IIC總線的時(shí)序下對(duì)它進(jìn)行讀寫(xiě)操作;DS1302時(shí)鐘芯片用來(lái)向系統(tǒng)提供時(shí)鐘,為了方便,該時(shí)鐘應(yīng)與上位機(jī)一致;另外,采用MAX813看門(mén)狗芯片監(jiān)視程序的運(yùn)行;采用EA_D20040AR液晶顯示器顯示用戶通過(guò)鍵盤(pán)輸入的密碼、實(shí)時(shí)操作信息及系統(tǒng)時(shí)間信息等;采用DS2Y—S繼電器控制電門(mén)的開(kāi)關(guān)狀態(tài)。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件由上位機(jī)管理平臺(tái)和下位機(jī)門(mén)禁控制程序組成。
上位機(jī)管理軟件是在Windows XP操作平臺(tái)上,利用Visual C++6.0開(kāi)發(fā)的,功能包括RFID卡注冊(cè)注銷(xiāo)、住戶信息添加、刪除、查找、編輯、排序、顯示、實(shí)時(shí)監(jiān)控、管理員登錄驗(yàn)證等,具有友好的人機(jī)交互界面,顯示直觀,操作方便。系統(tǒng)運(yùn)行時(shí),各門(mén)禁控制器將采集到的卡信息、鍵盤(pán)信息及實(shí)時(shí)操作信息以TxT文件的形式存儲(chǔ)在上位機(jī)中;各小區(qū)的單元住戶信息以“樹(shù)”視圖的形式顯示在平臺(tái)界面的左側(cè)窗口中。點(diǎn)擊相應(yīng)的節(jié)點(diǎn),各單元的住戶信息以數(shù)據(jù)庫(kù)表的形式顯示在平臺(tái)界面的右側(cè)窗口中。平臺(tái)下面的“Tab”控件用來(lái)實(shí)時(shí)顯示各門(mén)禁控制器的實(shí)時(shí)操作信息。
下位機(jī)控制程序采用8OC51語(yǔ)言編程,Wave6000編譯仿真。該部分實(shí)現(xiàn)的主要功能包括:按鍵密碼及卡信息的讀取和驗(yàn)證、液晶LCD及LED顯示、時(shí)間設(shè)置和讀取、經(jīng)由485總線接收及發(fā)送操作信息等。軟件主程序流程見(jiàn)圖4。
3.1 485通信
通信波特率設(shè)為9600bit·S-1 。通信協(xié)議為起始字符+本機(jī)地址+功能字符+數(shù)據(jù)長(zhǎng)度+數(shù)據(jù)信息+結(jié)束字符其中,起始字符為’@ @@ ’,結(jié)束字符為’$$$’,本機(jī)地址為:0~32(可以按照需要選擇);廣告地址為:Oxffo功能字符為:’0’~’F’。
3.2 串口中斷處理
串口的功能包括:其一,向上位機(jī)發(fā)送操作信息,例如刷卡或者密碼認(rèn)證信息等;其二,接收上位機(jī)發(fā)送的密碼修改和卡注冊(cè)注銷(xiāo)信息,并依此修改EEPROM 相應(yīng)內(nèi)容,達(dá)到實(shí)時(shí)更新。中斷流程見(jiàn)圖5。
3.3 卡及密碼管理與認(rèn)證機(jī)制
一般情況下每個(gè)門(mén)禁控制節(jié)點(diǎn)的密碼只有一個(gè),該密碼既存儲(chǔ)在上位機(jī)的數(shù)據(jù)庫(kù)里,也存儲(chǔ)在EEPR0M里,當(dāng)上位機(jī)修改此密碼時(shí),將修改信息經(jīng)由總線發(fā)送給下位機(jī),進(jìn)行同步修改。
用戶的卡信息存儲(chǔ)方式與密碼相同,不同的是每個(gè)節(jié)點(diǎn)下的卡號(hào)信息不止一個(gè),可以幾十個(gè)。當(dāng)用戶通過(guò)上位機(jī)注冊(cè)或者注銷(xiāo)卡時(shí),需要將改動(dòng)信息經(jīng)由總線發(fā)送給下位機(jī),實(shí)現(xiàn)同步修改。認(rèn)證過(guò)程如下:當(dāng)住戶通過(guò)鍵盤(pán)輸入密碼時(shí),控制器將該信息與EEPROM 中的密碼信息進(jìn)行校對(duì)。如果正確,則通過(guò)繼電器將門(mén)打開(kāi),并經(jīng)由總線按照協(xié)議向上位機(jī)發(fā)送密碼開(kāi)門(mén)正確信息;反之,則操作相反。刷卡操作與密碼大致相同。
3.4 數(shù)據(jù)庫(kù)與實(shí)時(shí)信息管理
對(duì)用戶信息(卡、密碼)的管理采用數(shù)據(jù)庫(kù)的形式。利用Access2000創(chuàng)建數(shù)據(jù)庫(kù),包括所有門(mén)禁控制節(jié)點(diǎn)的密碼表和各門(mén)禁控制節(jié)點(diǎn)住戶信息表。通過(guò)數(shù)據(jù)庫(kù)類的成員變量In—pSet對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀寫(xiě)操作,可以通過(guò)管理平臺(tái)添加或者刪除用戶信息。上位機(jī)以文件的形式記錄各門(mén)禁節(jié)點(diǎn)的實(shí)時(shí)操作信息,文件格式為T(mén)xT格式,共創(chuàng)建4個(gè)文件,分別用來(lái)存儲(chǔ):實(shí)時(shí)操作信息、注冊(cè)和注銷(xiāo)信息、卡認(rèn)證信息和鍵盤(pán)操作信息。
4 結(jié)語(yǔ)
本系統(tǒng)實(shí)現(xiàn)了射頻RFID卡識(shí)別,門(mén)禁系統(tǒng)密碼認(rèn)證,實(shí)時(shí)信息顯示,上位機(jī)數(shù)據(jù)庫(kù)管理與存儲(chǔ)等功能。該系統(tǒng)具有很大的擴(kuò)展空間,根據(jù)需要不僅可以進(jìn)行門(mén)禁控制器節(jié)點(diǎn)的擴(kuò)展,而且在功能上可以加入攝像頭等監(jiān)控工具。經(jīng)實(shí)驗(yàn)證明,系統(tǒng)設(shè)計(jì)合理、工作可靠、開(kāi)發(fā)成本低、性價(jià)比高,具有很強(qiáng)的應(yīng)用價(jià)值和廣闊的市場(chǎng)前景。
基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(59978018)
作者簡(jiǎn)介:楊莉(1983~),女,吉林大學(xué)電子科學(xué)與工程學(xué)院 碩士研究生.
參考文獻(xiàn)
[1]彭月平,戰(zhàn)仁軍,劉軍,等.基于通信器S1503的門(mén)禁系統(tǒng)的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2003,29(07):77~80.
[2]李元忠,馬勇,楊旭東.不停車(chē)車(chē)輛門(mén)禁管理系統(tǒng)[J].信息與電子工程,2003,1(4):308—311.
[3]杜玉梅.射頻識(shí)別技術(shù)(RFID)及其在物流系統(tǒng)中的應(yīng)用[J].企業(yè)技術(shù)開(kāi)發(fā),2004,23(10):12-15.
[4]鄒麗新,朱桂榮,陸家昌,等.基于RS-485總線的多點(diǎn)式空氣潔凈度監(jiān)測(cè)系統(tǒng)I-J].電子技術(shù)應(yīng)用,2006,32(8):135—136.
[5]陳斗雪,黎毅明,陳一天,等.無(wú)線射頻識(shí)別及其在制造業(yè)中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,27(8):1359—136