摘? 要: 對(duì)基于通信器S1503的門禁系統(tǒng)" title="門禁系統(tǒng)">門禁系統(tǒng)的實(shí)現(xiàn)技術(shù)及組成部件進(jìn)行了簡要描述;介紹了系統(tǒng)核心部件——通信器S1503的特點(diǎn),、結(jié)構(gòu)及應(yīng)用原理以及標(biāo)簽S1251的結(jié)構(gòu)和工作原理,并對(duì)該系統(tǒng)的具體設(shè)計(jì)過程進(jìn)行了分析和討論;最后對(duì)該系統(tǒng)進(jìn)行了必要的說明,。
關(guān)鍵詞: 門禁系統(tǒng)? S1503? 通信器? 通信編程
?
門禁系統(tǒng)是對(duì)出入口通道進(jìn)行管制的系統(tǒng)。近年來,隨著數(shù)字技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,特別是射頻通信識(shí)別技術(shù),、智能卡技術(shù)和生物識(shí)別技術(shù)的發(fā)展,門禁系統(tǒng)也得到了飛躍式的發(fā)展,出現(xiàn)了智能卡門禁系統(tǒng),、指紋門禁系統(tǒng)和面部識(shí)別門禁系統(tǒng)等各種系統(tǒng),。它們?cè)诎踩?、方便性和易管理性等方面各有特長,是確保各重要部門出入口安全的有效措施,現(xiàn)已廣泛應(yīng)用于各領(lǐng)域。
本文設(shè)計(jì)的門禁系統(tǒng)是武警部隊(duì)車輛信息綜合管理系統(tǒng)課題(武警部隊(duì)立項(xiàng)課題)的一部分,。該系統(tǒng)是基于射頻通信識(shí)別技術(shù)的單機(jī)控制型門禁系統(tǒng),。它以CONFIDENT自動(dòng)識(shí)別系統(tǒng)為基礎(chǔ),對(duì)部隊(duì)單位的車輛進(jìn)出停車場實(shí)現(xiàn)自動(dòng)管理。CONFIDENT系統(tǒng)的基本部件包括電子標(biāo)簽,、通信器和主機(jī),。在本系統(tǒng)中,通信器采用瑞典TagMaster AB公司生產(chǎn)的S1503,電子標(biāo)簽采用S1251,主機(jī)是車場調(diào)度室的計(jì)算機(jī)。CONFIDENT系統(tǒng)結(jié)構(gòu)示意圖如圖1所示,。
?
1 通信器S1503
通信器是門禁系統(tǒng)的核心部件,直接管理和控制門禁系統(tǒng)的所有事務(wù);此外,還負(fù)責(zé)與主機(jī)進(jìn)行通信來交換信息,。本系統(tǒng)采用的S1503是長距離通信器,工作頻率為2.45GHz,具有圓極化天線波束的讀寫工作站,用于讀寫CONFIDENT系統(tǒng)中射頻識(shí)別標(biāo)簽,在車輛收費(fèi)管理、車場車輛進(jìn)出口管理以及列車車次識(shí)別等系統(tǒng)中有著廣泛的應(yīng)用,。其主要特點(diǎn)是:(1)具有6m的長閱讀距離;(2)能進(jìn)行5m范圍內(nèi)的運(yùn)動(dòng)監(jiān)測;(3)提供C,、Delphi以及VB的驅(qū)動(dòng)接口程序;(4)提供與主機(jī)通信的RS232和2/4線制 的RS485接口。S1503的內(nèi)部結(jié)構(gòu)示意圖如圖2所示,。
?
1.1 S1503軟件系統(tǒng)
S1503的軟件系統(tǒng)結(jié)構(gòu)示意圖如圖3所示,。
?
?
Confilib:CONFIDENT函數(shù)庫名,該庫中包含幾百個(gè)通信器管理函數(shù)以及ConfiTalk通信協(xié)議" title="通信協(xié)議">通信協(xié)議接口函數(shù)。同時(shí)提供適合于DOS,、Windows3.1以及Windows 95/NT等不同平臺(tái)要求的Confilib版本,。PC平臺(tái)的Confilib應(yīng)用程序" title="應(yīng)用程序">應(yīng)用程序接口以C/C++動(dòng)態(tài)鏈接庫(DLL)的形式提供,同時(shí)也提供Visual Basic、Delphi語言接口,適用于通信器的Confilib是C語言庫,。這些函數(shù)庫包含諸如閱讀,、寫入、格式化標(biāo)簽,讀,、寫,、檢索數(shù)據(jù)庫,軟、硬件設(shè)置,讀,、寫I/O接口,發(fā)送,、接收ConfiTalk命令,定時(shí)器,緩存區(qū)管理和郵件管理等函數(shù)。
ConfiTalk:標(biāo)準(zhǔn)通信協(xié)議,。該協(xié)議規(guī)定通信器傳送和接收數(shù)據(jù),、處理數(shù)據(jù)流、重復(fù)傳送,、校驗(yàn)以及數(shù)據(jù)透明的方式,。該協(xié)議還可用于點(diǎn)對(duì)點(diǎn)通信和多點(diǎn)網(wǎng)絡(luò)通信,并采用查詢方式。用戶可自己編寫通信協(xié)議來替代ConfiTalk,。
Pyramid:通信器S1503出廠時(shí)預(yù)裝的標(biāo)準(zhǔn)應(yīng)用程序,。安裝了Pyramid的S1503在閱讀到標(biāo)簽或檢測到運(yùn)動(dòng)時(shí),能夠自己作出判斷和決定。S1503還可以通過串行接口接收并執(zhí)行ConfiTalk命令,。
1.2 S1503編程控制原理
在CONFIDENT系統(tǒng)中,如何編程控制通信器是關(guān)鍵,有四種控制方式" title="控制方式">控制方式可供選擇,。
(1)利用用戶編寫的通信器應(yīng)用程序
該方式是利用用戶在Confilib庫函數(shù)基礎(chǔ)上編寫的應(yīng)用程序取代標(biāo)準(zhǔn)通信器應(yīng)用程序Pyramid,所有邏輯判斷均由用戶所編寫的通信器應(yīng)用程序完成,。主機(jī)可不定期地連接到通信器上讀取通信器記錄信息,并更新通信器數(shù)據(jù)庫。該方式的優(yōu)點(diǎn)是:運(yùn)行速度快,、可單機(jī)運(yùn)行;缺點(diǎn)是:需要PROM寫入器,、缺少方便的界面。
(2)利用Confilib庫函數(shù)開發(fā)的主機(jī)應(yīng)用程序
在該方式中,通信器S1503利用Confilib庫函數(shù)或其它軟件開發(fā)的主機(jī)程序進(jìn)行控制,系統(tǒng)的智能部分在主機(jī),通信器不做任何邏輯判斷,。當(dāng)主機(jī)應(yīng)用程序調(diào)用Confilib函數(shù)時(shí),自動(dòng)將Confilib命令翻譯成ConfiTalk命令,然后傳遞給S1503,S1503根據(jù)該命令執(zhí)行對(duì)應(yīng)的Confilib命令,。這種方式的優(yōu)點(diǎn)是:與通信器應(yīng)用程序Pyramid控制方式相比,擁有更加方便的界面,主機(jī)應(yīng)用程序更加便于開發(fā)、調(diào)試;缺點(diǎn)是:執(zhí)行速度慢,。
(3)利用主機(jī)應(yīng)用程序與標(biāo)準(zhǔn)通信器應(yīng)用程序Pyramid通信
這種方式與第二種方式相似,主要區(qū)別在于主機(jī)與S1503的標(biāo)準(zhǔn)應(yīng)用程序Pyramid通信,而不是直接同Confilib通信。主機(jī)應(yīng)用程序與通信器標(biāo)準(zhǔn)應(yīng)用程序通過互送郵件實(shí)現(xiàn)通信,。采用這種方式,其優(yōu)點(diǎn)是:主機(jī)應(yīng)用程序簡單,部分邏輯判斷可交給通信器應(yīng)用程序,從而獲得較快的運(yùn)行速度;缺點(diǎn)是:Pyramid郵件不支持寫標(biāo)簽和數(shù)據(jù)庫管理功能,。不過,這些功能可通過Confilib/Confitalk命令實(shí)現(xiàn)。
(4)利用用戶協(xié)議
這種方式除了通信器中的Confilib之外,所有軟件均由用戶編寫,。當(dāng)系統(tǒng)使用ConfiTalk以外的協(xié)議時(shí),采用這種方式,。該方式的優(yōu)點(diǎn)是:可實(shí)現(xiàn)通信器ConfiTalk以外的協(xié)議通信;缺點(diǎn)是編寫程序量大、開發(fā)周期長,。
在實(shí)際應(yīng)用中,可根據(jù)用戶實(shí)際需求,選擇適合要求的編程控制方式,。在本系統(tǒng)中,采用了主機(jī)應(yīng)用程序與標(biāo)準(zhǔn)通信器應(yīng)用程序Pyramid通信的控制方式,既保證了系統(tǒng)有較快的執(zhí)行速度,又實(shí)現(xiàn)了主機(jī)與S1503的信息交換。
1.3 S1503應(yīng)用編程
S1503程序庫的核心是一個(gè)被稱作事件器的模塊,其絕大部分應(yīng)用是由事件驅(qū)動(dòng)的,。事件是指正常程序運(yùn)行以外不定期發(fā)生的事情,事件的產(chǎn)生可以來自外部 (如按鍵),也可以來自內(nèi)部(如定時(shí)器),。Confilib庫中有七個(gè)模塊產(chǎn)生事件,可能產(chǎn)生的事件包括:DTMF(雙音多頻接口輸入)、Push_Button(通信器控制盤上的按鍵被按下),、Doppler_Radar(多譜勒雷達(dá)檢測到運(yùn)動(dòng)物體),、Par_In(并行輸入口輸入)、Timer(設(shè)置的計(jì)時(shí)器到達(dá)時(shí)間),、Tag(成功閱讀到一個(gè)標(biāo)簽),、Tamper_Switch(防護(hù)開關(guān)動(dòng)作)、Null_Event(自上次查詢后,沒有事件發(fā)生),、Reset_Event(系統(tǒng)復(fù)位),。除防護(hù)開關(guān)動(dòng)作外,其它所有事件模塊必須經(jīng)過初始化后才能夠產(chǎn)生事件。當(dāng)事件產(chǎn)生時(shí),系統(tǒng)及時(shí)響應(yīng)并存入通信器事件處理器,應(yīng)用程序通過調(diào)用Bsw_Event_Handler_Get_Event()從通信器讀取事件,若有事件發(fā)生,該函數(shù)返回其事件類型,、相應(yīng)數(shù)據(jù),否則返回Null_Event,。因此,通信器應(yīng)用程序應(yīng)是一個(gè)等待事件的死循環(huán),當(dāng)事件發(fā)生時(shí),應(yīng)用程序調(diào)用適當(dāng)?shù)氖录幚沓绦騺眄憫?yīng)該事件。在本系統(tǒng)中,考慮到實(shí)際情況和需求,S1503的應(yīng)用程序采用了通信器自帶的標(biāo)準(zhǔn)應(yīng)用程序Pyramid,這樣既保證了系統(tǒng)有較快的運(yùn)行速度,同時(shí)也降低了應(yīng)用編程的難度,。
1.4 S1503通信編程
當(dāng)通信器S1503與主機(jī)連接時(shí),其與主機(jī)要進(jìn)行通信并交換信息,主要有三種方法:(1)利用CONFIDENT庫函數(shù)所支持的動(dòng)態(tài)緩沖區(qū);(2)利用用戶通過所提供的串行通信接口字節(jié)級(jí)設(shè)備驅(qū)動(dòng)函數(shù)自定義的通信協(xié)議;(3)利用CONFIDENT軟件庫提供的郵件交換系統(tǒng),。在本系統(tǒng)中,采用了第三種方法。通信器通過調(diào)用函數(shù)Msw_Mail_Init,、Msw_Mail_Send以及Msw_Mail_Receive等來使用郵件交換系統(tǒng),。使用郵件交換系統(tǒng)的前提是系統(tǒng)至少有一個(gè)空閑的動(dòng)態(tài)緩沖區(qū),。在初始化郵件系統(tǒng)時(shí),函數(shù)將占據(jù)編號(hào)最高的動(dòng)態(tài)緩沖區(qū)。
2 電子標(biāo)簽S1251
S1251是一種形似信用卡的電子標(biāo)簽,其結(jié)構(gòu)示意圖如圖4所示,。其工作頻率為2.45GHz,可通過微波與通信器通信,能夠存儲(chǔ)606位數(shù)據(jù),相當(dāng)于82個(gè)7位ASCII字符和32位校驗(yàn)和,。該標(biāo)簽還可通過微波進(jìn)行格式化,用戶可根據(jù)對(duì)內(nèi)存模式、響應(yīng)時(shí)間,、響應(yīng)模式以及數(shù)據(jù)速率等的要求設(shè)置標(biāo)簽的工作模式,。該標(biāo)簽使用對(duì)環(huán)境無害的鋰電池供電,具有閱讀距離長和閱讀速度快的特點(diǎn),且同時(shí)可閱讀多個(gè)標(biāo)簽。在該系統(tǒng)中,每一車輛都有唯一的電子標(biāo)簽與之一一對(duì)應(yīng),。車輛的有關(guān)信息(包括唯一標(biāo)識(shí)號(hào))存儲(chǔ)在電子標(biāo)簽中,通信器通過與電子標(biāo)簽進(jìn)行微波通信來識(shí)別標(biāo)簽并對(duì)車輛進(jìn)行管理,。
?
電子標(biāo)簽S1251不停地將數(shù)據(jù)反射到任何CONFIDENT通信器(在該系統(tǒng)中為S1503),不管通信器工作在工作頻率為2.435~2.465GHz范圍內(nèi)的哪一個(gè)頻道,只要S1251在通信器天線波束范圍內(nèi),則通信器均能夠讀到標(biāo)簽信息。標(biāo)簽反射到通信器的信息包括出廠前指定的標(biāo)簽的唯一標(biāo)識(shí)號(hào),、讀/寫標(biāo)簽的“數(shù)據(jù)”以及標(biāo)簽的“狀態(tài)”域,。上述標(biāo)識(shí)號(hào)、數(shù)據(jù)以及狀態(tài)域構(gòu)成標(biāo)簽的“識(shí)別信息幀”,。標(biāo)簽的識(shí)別信息幀根據(jù)格式化由固定的間隔或隨機(jī)的間隔隔開,。兩個(gè)相鄰的識(shí)別信息幀連同其中的間隔稱為“信息時(shí)間”。當(dāng)S1251被格式化為隨機(jī)間隔時(shí),在同一天線波束內(nèi)可同時(shí)閱讀多個(gè)標(biāo)簽;若同一通信器天線波束內(nèi)有四個(gè)以上的標(biāo)簽時(shí),則應(yīng)將標(biāo)簽的識(shí)別信息幀之間的間隔設(shè)置長一些,以免發(fā)生識(shí)別錯(cuò)誤(主要指替代錯(cuò)誤),。
3 門禁系統(tǒng)設(shè)計(jì)
門禁系統(tǒng)的設(shè)計(jì)涉及到硬件組裝和軟件編程" title="軟件編程">軟件編程,。硬件組裝主要包括車場調(diào)度室計(jì)算機(jī)與通信器的連接,通信器、電子標(biāo)簽以及電動(dòng)門的安裝等,。通信器與主機(jī)最好采用屏蔽電纜連接,。通信器的安裝應(yīng)注意使通信器天線波束覆蓋整個(gè)車場大門,最好安裝在門口旁邊;電子標(biāo)簽安裝在車輛前面的擋風(fēng)玻璃下方,以便與通信器進(jìn)行通信。電子標(biāo)簽在安裝前最好進(jìn)行初始化,在該系統(tǒng)中,初始化工作是通過通信器自帶的標(biāo)準(zhǔn)應(yīng)用程序Pyramid手工輸入完成的,。為了確保系統(tǒng)有較快的處理速度,通信器由自帶的標(biāo)準(zhǔn)應(yīng)用程序Pyramid控制,主要完成系統(tǒng)和電子標(biāo)簽的初始化以及電子標(biāo)簽的檢測等,。故在該系統(tǒng)中,軟件編程主要是指通信器與主機(jī)的通信編程。
3.1 硬件連接結(jié)構(gòu)
門禁系統(tǒng)包括通信器(S1503),、電動(dòng)門和若干標(biāo)簽(S1251),。硬件連接結(jié)構(gòu)示意圖如圖5所示。S1503通過串行口與主機(jī)相連,并且通過繼電器對(duì)電動(dòng)門實(shí)現(xiàn)控制,。
?
?
3.2 工作原理
通信器內(nèi)有數(shù)據(jù)庫,內(nèi)部存有合法車輛的車牌號(hào)信息和車輛唯一標(biāo)識(shí)碼,電子標(biāo)簽安裝在車輛前擋風(fēng)玻璃內(nèi)適當(dāng)位置并與車輛一一對(duì)應(yīng),主要是記錄每個(gè)車輛的信息數(shù)據(jù)(包括唯一標(biāo)識(shí)碼),。在通信器的控制范圍內(nèi),電子標(biāo)簽?zāi)芘c通信器進(jìn)行實(shí)時(shí)通信,傳遞所存儲(chǔ)的信息。通信器通過微波通信監(jiān)控電子標(biāo)簽來監(jiān)視車輛的進(jìn)出場動(dòng)作,。當(dāng)監(jiān)測到有車輛出入時(shí),通信器接收電子標(biāo)簽所發(fā)送的信息數(shù)據(jù),將所收到的數(shù)據(jù)與數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行比較,確認(rèn)是合法車輛后,繼電器閉合,接通電動(dòng)門電源,電動(dòng)門打開,給予放行,并向主機(jī)發(fā)送車輛的進(jìn)出場信息;當(dāng)檢測到不合法車輛或陌生車輛時(shí),通信器不接通電動(dòng)門電源,而是向主機(jī)發(fā)送提示信息,發(fā)出聲音警告,。
3.3 軟件編程的實(shí)現(xiàn)
軟件編程主要實(shí)現(xiàn)的功能是:通信器檢測到電子標(biāo)簽后,生成標(biāo)簽記錄;將標(biāo)簽記錄以郵件的形式提交給主機(jī);主機(jī)接收到郵件后,對(duì)郵件內(nèi)容進(jìn)行處理,并將處理結(jié)果顯示在主機(jī)屏幕上。
在該系統(tǒng)中,利用CONFIDENT軟件庫提供的郵件交換系統(tǒng)實(shí)現(xiàn)通信器S1503與主機(jī)的通信,。使用郵件交換系統(tǒng)的程序流程圖如圖6和圖7所示,。其實(shí)現(xiàn)功能是主機(jī)接收到通信器發(fā)送來的標(biāo)簽郵件后,立即對(duì)郵件內(nèi)容進(jìn)行處理,并將與標(biāo)簽對(duì)應(yīng)的車牌號(hào)顯示在屏幕上。為了避免主機(jī)和通信器同時(shí)控制串行口而產(chǎn)生矛盾,系統(tǒng)規(guī)定:每當(dāng)空格鍵被按下時(shí),改變通信器的安靜模式,。通信器在安靜模式時(shí)閱讀標(biāo)簽事件,并將標(biāo)簽數(shù)據(jù)通過郵件發(fā)送給主機(jī),主機(jī)通過郵件將通信器設(shè)置為非安靜模式并在通信器為非安靜模式時(shí)讀取標(biāo)簽數(shù)據(jù)郵件,。在程序?qū)崿F(xiàn)時(shí),利用定時(shí)器事件,主機(jī)應(yīng)用程序每隔30秒自動(dòng)輸入空格鍵來達(dá)到此目的,。
?
?
?
參考文獻(xiàn)
1 Klaus Finkenzeller.射頻識(shí)別(RFID)技術(shù).北京:電子工業(yè)出版社, 2001
2 S1503 Long Range Communication. TagMaster AB, 2000
3 ScriptTag S1251 General Purpose R/W Card. TagMaster?AB,, 2000
4 程序員編程指南. YuanWang LTD,, 2000
5 門禁系統(tǒng)綜述. 北京恒順維遠(yuǎn)科技有限公司, 2002