萬 國 帥,李 寶 營,祁 建 廣
(大連工業(yè)大學(xué) 信息科學(xué)與工程學(xué)院,遼寧 大連 116034)
隨著網(wǎng)絡(luò)科學(xué)技術(shù)的迅猛發(fā)展,射頻識(shí)別技術(shù)(Radio Frequency Identification,RFID),逐漸被人們重新認(rèn)知并得到普遍的重視。作為一種自動(dòng)ID識(shí)別技術(shù),RFID的工作原理是利用射頻信號(hào)通過空間耦合(電磁感應(yīng)或電磁傳播),實(shí)現(xiàn)無接觸信息目標(biāo)并得到目標(biāo)物的ID信息以做到識(shí)別目的物。感應(yīng)卡的優(yōu)點(diǎn)在于便于隨身攜放,安全有保障,不易損壞,有較強(qiáng)的抗干擾性,并且允許多卡同時(shí)進(jìn)行操作,能在各種不同的情形條件下使用,相比于磁卡和接觸式IC卡更讓業(yè)主安心。本設(shè)計(jì)將整個(gè)小區(qū)內(nèi)的公用的門進(jìn)行集中管理,采用RFID技術(shù)進(jìn)行身份、權(quán)限的識(shí)別,使每個(gè)業(yè)主用一卡可以開任何自己權(quán)限的門,為“小區(qū)”的管理提供了新的技術(shù)方法。
圖1所示為系統(tǒng)結(jié)構(gòu)框圖[1]。每個(gè)門都有一個(gè)終端機(jī)控制,整個(gè)系統(tǒng)通過RS485總線連接在一起,通過終端機(jī)采集到門的狀態(tài),上傳到PC機(jī),通過PC管理整個(gè)系統(tǒng)。IC卡在發(fā)行給各用戶后,具有電子鑰匙開門功能,將IC卡在IC卡讀卡器前感應(yīng),門棟門鎖自動(dòng)打開。首先將必要的信息如開門權(quán)限、用戶姓名等記錄到MF1卡固定位置,讀卡機(jī)讀出卡內(nèi)信息,根據(jù)具體協(xié)議進(jìn)行開門等操作,PC機(jī)通過查詢方式得到每個(gè)門的狀態(tài)。
如圖2所示,終端機(jī)采用AT89S52單片機(jī)做處理器,通過SPI總線和門外讀卡器進(jìn)行數(shù)據(jù)通信采集卡內(nèi)容,判斷是否執(zhí)行開門動(dòng)作,通過RS485通信模塊接收PC機(jī)的命令,如掛失操作,把接收到的卡號(hào)存入存儲(chǔ)器模塊用作以后開門的判斷。
圖1 系統(tǒng)結(jié)構(gòu)框圖Fig.1 Block diagram of system architecture
圖2 終端機(jī)功能框圖Fig.2 Block diagram of terminal feature
處理器和讀卡器電路如圖3所示。采用AT89S52單片機(jī)為控制器,處理器是實(shí)現(xiàn)系統(tǒng)功能的主要控制器,完成MF1卡識(shí)別、數(shù)據(jù)處理和發(fā)出控制命令等功能。MF1卡通過讀卡器讀卡后,決定該卡是否為本系統(tǒng)已注冊(cè)的有效卡,該卡是否有進(jìn)出入該門禁的權(quán)限,并將讀到的卡信息傳送給門禁控制器,從而控制電磁鎖是否開啟。接收PC機(jī)發(fā)送過來的命令,執(zhí)行相應(yīng)操作。
圖3 處理器和讀卡器電路Fig.3 Processor and card reader circuit
讀卡器電路采用讀卡芯片F(xiàn)M1702為核心,上電后通過各管腳電平自動(dòng)識(shí)別通信方式,設(shè)計(jì)采用SPI方式。讀卡器電路功能是采集MF1卡內(nèi)容,通過SPI總線傳送給處理器模塊。在每一次上電或硬件復(fù)位后,F(xiàn)M1702會(huì)復(fù)位微處理器接口處理模塊,并且通過檢測控制管腳上的電平來設(shè)置,F(xiàn)M1702SL的SPI接口符合標(biāo)準(zhǔn)的SPI接口協(xié)議,并且只作為slave使用。SPI(Serial Peripheral Interface——串行外設(shè)接口)總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。
圖4為232/485轉(zhuǎn)換電路和存儲(chǔ)器電路圖。PC機(jī)與485總線接口電路采用硬件485電平轉(zhuǎn)換。RS232電平規(guī)定邏輯“1”為-5~-15V;邏輯“0”為+5~+15V。本設(shè)計(jì)采用MAX232芯片把PC機(jī)的232電平轉(zhuǎn)換成TTL電平,通過MAX485芯片轉(zhuǎn)換成485信號(hào)[2]。
圖4 RS232/485轉(zhuǎn)換電路和存儲(chǔ)器電路Fig.4 RS232/485conversion circuit and storage circuit
MAX485是通過2個(gè)引腳RE(2腳)和DE(3腳)來控制數(shù)據(jù)的輸入和輸出。當(dāng)RE為低電平時(shí),MAX485數(shù)據(jù)輸入有效;當(dāng)DE為高電平時(shí),MAX485數(shù)據(jù)輸出有效。在半雙工使用中,通??梢詫⑦@2個(gè)腳直接相連,然后由PC或者單片機(jī)輸出的高低電平就可以讓MAX485在接收和發(fā)送狀態(tài)之間轉(zhuǎn)換了。由于本電路DTR和RTS都用于了電路供電,因此使用TX線和MAX232的另外一個(gè)通道及Q1來控制MAX485的狀態(tài)切換。平時(shí)MAX232的9腳輸出高電平,經(jīng)Q1倒相后,使MAX485的RE和DE為低電平而處于數(shù)據(jù)接收狀態(tài)。當(dāng)PC機(jī)發(fā)送數(shù)據(jù)時(shí),MAX232的9腳輸出低電平,經(jīng)Q1倒相后,使MAX485的RE和DE為高電平而處于數(shù)據(jù)發(fā)送狀態(tài)。存儲(chǔ)器電路實(shí)現(xiàn)掛失/激活等操作,每當(dāng)控制器接收到掛失/激活指令時(shí),控制器會(huì)把接收到的卡號(hào)存入/刪除。
軟件設(shè)計(jì)主要包括兩個(gè)內(nèi)容,分別是前端數(shù)據(jù)采集讀卡程序設(shè)計(jì)和終端機(jī)主程序設(shè)計(jì),程序流程圖如圖5所示[3]。前端數(shù)據(jù)采集讀卡程序主要是權(quán)限協(xié)議認(rèn)證過程。權(quán)限協(xié)議是將數(shù)據(jù)塊4的前10個(gè)字節(jié)用作權(quán)限,每個(gè)門都定義一個(gè)門號(hào),10個(gè)字節(jié)一共80位,每位控制一個(gè)門,“0”代表可以開門,“1”代表沒有開門權(quán)限。第11、12字節(jié)用作用戶代號(hào)。通過對(duì)讀取的卡內(nèi)容進(jìn)行辨析,判斷是否有權(quán)限。終端機(jī)主程序是終端機(jī)在對(duì)各模塊初始化結(jié)束后,一直處于尋卡狀態(tài),當(dāng)有符合權(quán)限的卡接近時(shí),執(zhí)行開門動(dòng)作。終端機(jī)通過接收PC的指令執(zhí)行相應(yīng)的操作,采用多機(jī)通信方式,利用M2位。首先尋址,再發(fā)數(shù)據(jù)。幀格式如下:PC機(jī)為尋址+命令+內(nèi)容+數(shù)據(jù)字節(jié)數(shù)+結(jié)束符號(hào)0FFH;終端機(jī)接收后返回接到數(shù)據(jù)的字節(jié)數(shù)。命令如下:01H為查詢門狀態(tài),終端機(jī)返回上次接到的數(shù)據(jù)字節(jié)數(shù)+01H(門開狀態(tài))或02H(門關(guān)狀態(tài));02H為開門命令,終端機(jī)返回上次接到的數(shù)據(jù)字節(jié)數(shù),并執(zhí)行開門命令;03H為改密命令,終端機(jī)返回上次接到的數(shù)據(jù)字節(jié)數(shù),并執(zhí)行改密程序;04H為修改卡內(nèi)容命令;05H為發(fā)新卡命令。
圖5 讀卡程序和終端機(jī)主程序流程圖Fig.5 Flow chart of reader program and terminal main program
本設(shè)計(jì)完成了小區(qū)一卡通的門禁系統(tǒng)的底層硬件設(shè)計(jì)。對(duì)射頻技術(shù)的研究,通過閱讀FM1702芯片文檔和MF1卡的相關(guān)資料,測試通過了單片機(jī)與FM1702通信,F(xiàn)M1702與MF1卡通信。完成了底層數(shù)據(jù)采集部分設(shè)計(jì)。完成了其他部分底層硬件設(shè)計(jì),包括利用74LS574芯片設(shè)計(jì)了4位數(shù)碼管動(dòng)態(tài)顯示電路、蜂鳴器驅(qū)動(dòng)電路、存儲(chǔ)器電路。經(jīng)過焊接、調(diào)試,成功制作了聲光提示模塊、存儲(chǔ)器模塊,通過了測試程序。在理論的基礎(chǔ)上,設(shè)計(jì)了備用電源電路、RS-232/485轉(zhuǎn)換電路。分析了它們的可行性,并確定了PC機(jī)與單片機(jī)之間的通信協(xié)議、MF1卡中內(nèi)容的格式、開門權(quán)限的定義。
[1]黃菊生,彭曉燕,彭庚新.Mifare1智能IC卡讀寫器的設(shè)計(jì)與開發(fā)[J].湖南工程學(xué)院學(xué)報(bào),2003(12):71-74.
[2]張毅剛.新編 MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2008:251-271.
[3]劉瑩,梁楚樵.停車場發(fā)卡器與IC卡讀寫器的設(shè)計(jì)開發(fā)[J].武漢理工大學(xué)學(xué)報(bào),2006(12):77-80.