摘? 要: 介紹一種帶標(biāo)準(zhǔn)報(bào)警探頭接口、具有本地和全局聯(lián)動(dòng)功能的報(bào)警控制器。利用這種報(bào)警控制器的RS485接口組成的報(bào)警控制系統(tǒng)結(jié)構(gòu)靈活、使用方便。由于采用基于退避算法" title="退避算法">退避算法的CSMA 隨機(jī)接入和輪詢(xún)" title="輪詢(xún)">輪詢(xún)相結(jié)合的通訊方式,該系統(tǒng)具有性能穩(wěn)定、可靠等特點(diǎn)。
關(guān)鍵詞: 本地聯(lián)動(dòng)? 全局聯(lián)動(dòng)? 退避算法
?
報(bào)警系統(tǒng)" title="報(bào)警系統(tǒng)">報(bào)警系統(tǒng)作為安全防范系統(tǒng)的重要組成部分,其自身在安全性、可靠性、智能化程度以及功能的完善等方面越來(lái)越受到人們的關(guān)注。
報(bào)警系統(tǒng)可分為單機(jī)獨(dú)立式和聯(lián)網(wǎng)式兩大類(lèi)。獨(dú)立式報(bào)警器一般只有現(xiàn)場(chǎng)報(bào)警(帶驅(qū)動(dòng)警笛、頻閃報(bào)警燈等外設(shè))和自動(dòng)撥號(hào)等功能,無(wú)法通過(guò)主控計(jì)算機(jī)對(duì)其進(jìn)行遠(yuǎn)程布防、撤防等控制,也無(wú)法實(shí)現(xiàn)報(bào)警記錄的存儲(chǔ)、報(bào)警地點(diǎn)在電子地圖上顯示等功能,常用于家庭和其它對(duì)安防要求不高的場(chǎng)合。
聯(lián)網(wǎng)式報(bào)警系統(tǒng)由控制中心和帶聯(lián)網(wǎng)功能的報(bào)警控制器組成。報(bào)警控制器與主控計(jì)算機(jī)的聯(lián)網(wǎng)方式一般采用電話(huà)撥號(hào)方式和總線(xiàn)方式,其中總線(xiàn)方式聯(lián)網(wǎng)的報(bào)警系統(tǒng)因其具有技術(shù)先進(jìn)、實(shí)時(shí)性好、控制功能強(qiáng)等特點(diǎn)而得到越來(lái)越廣泛的應(yīng)用。本文介紹的智能化報(bào)警控制器就是利用總線(xiàn)聯(lián)網(wǎng)方式,采用CSMA技術(shù)和輪詢(xún)相結(jié)合實(shí)現(xiàn)報(bào)警信息的可靠傳送,同時(shí)具有報(bào)警區(qū)域布防、撤防和本地聯(lián)動(dòng)等功能,在主控計(jì)算機(jī)支持下還可以實(shí)現(xiàn)全局聯(lián)動(dòng)功能。與傳統(tǒng)的報(bào)警控制器相比,具有更高的可靠性和更強(qiáng)大的功能。
1 系統(tǒng)功能
為了保證報(bào)警控制器自身的安全性和安裝方便,本報(bào)警控制器設(shè)有兩路標(biāo)準(zhǔn)報(bào)警輸入接口,可與各種報(bào)警探頭(如紅外、煙感、玻璃破碎探頭)相連,能檢測(cè)出報(bào)警、正常和線(xiàn)路故障三種狀態(tài)。對(duì)探測(cè)到的信息進(jìn)行分析處理,執(zhí)行相應(yīng)的本地聯(lián)動(dòng),并直接發(fā)送給主控計(jì)算機(jī),便可實(shí)現(xiàn)全局聯(lián)動(dòng)、主控計(jì)算機(jī)上警情顯示和處理報(bào)警信息。同時(shí),能根據(jù)主控計(jì)算機(jī)的命令實(shí)現(xiàn)布防和撤防。另外,本報(bào)警控制器還帶有防拆開(kāi)關(guān)接口,當(dāng)安裝報(bào)警控制器的機(jī)箱被非法打開(kāi)時(shí),立即向主控室發(fā)送報(bào)警信息。
??? 報(bào)警控制器上的兩路繼電器輸出用于觸發(fā)當(dāng)?shù)貓?bào)警系統(tǒng)(聲光報(bào)警設(shè)備)或其它緊急設(shè)備(如火災(zāi)報(bào)警時(shí)打開(kāi)逃生門(mén))。受主控計(jì)算機(jī)的控制,可以設(shè)置成常開(kāi)、常閉和開(kāi)啟若干時(shí)間等模式。當(dāng)本地聯(lián)動(dòng)被激活時(shí),報(bào)警控制器的輸入可以直接控制其繼電器的輸出狀態(tài)。
報(bào)警控制器與主控計(jì)算機(jī)之間采用RS485方式聯(lián)網(wǎng)。根據(jù)主控計(jì)算機(jī)的設(shè)定,可以工作在等待輪詢(xún)或主動(dòng)呼叫狀態(tài)。在輪詢(xún)狀態(tài)下,報(bào)警控制器接收到輸入端報(bào)警信息后,不主動(dòng)發(fā)送,而是等待主控計(jì)算機(jī)輪詢(xún)到該控制器時(shí)才將狀態(tài)發(fā)送出去。這種方式比較可靠,但實(shí)時(shí)性略差。而在主動(dòng)呼叫方式下,一旦收到報(bào)警信息,立即向主控計(jì)算機(jī)發(fā)送,實(shí)時(shí)性很強(qiáng),但當(dāng)系統(tǒng)內(nèi)報(bào)警控制器數(shù)量太多,在同一時(shí)間內(nèi)兩個(gè)控制器同時(shí)發(fā)送報(bào)警信息時(shí),就有通信堵塞的可能。為此,在設(shè)計(jì)報(bào)警控制器時(shí),通過(guò)檢測(cè)RS485總線(xiàn)狀態(tài),采用基于退避算法的CSMA(載波監(jiān)聽(tīng)多點(diǎn)接入技術(shù))隨機(jī)接入方式通訊,大大地提高了系統(tǒng)的性能。
2 系統(tǒng)結(jié)構(gòu)
本報(bào)警控制器的控制核心采用89C2051" title="89C2051">89C2051。利用89C2051自帶的比較器和外圍模擬開(kāi)關(guān)" title="模擬開(kāi)關(guān)">模擬開(kāi)關(guān)配合組成報(bào)警回路狀態(tài)監(jiān)測(cè)電路,利用具有瞬變電壓抑制的RS485收發(fā)器SN75LBC184實(shí)現(xiàn)設(shè)備間的通信,X25045可編程看門(mén)狗EEPROM 芯片用作看門(mén)狗和系統(tǒng)參數(shù)存儲(chǔ),同時(shí)提供狀態(tài)可編程的兩路三態(tài)輸入、一路開(kāi)關(guān)量輸入和兩路繼電器輸出。
系統(tǒng)原理框圖如圖1所示。
?
2.1 看門(mén)狗電路
看門(mén)狗復(fù)位電路選用 Xicor公司的X25045芯片。X25045是一種集看門(mén)狗定時(shí)器、電壓監(jiān)控和EEPROM為一體的多功能芯片。X25045通過(guò)三根總線(xiàn)工作的串行外設(shè)接口(SPI)和軟件協(xié)議進(jìn)行讀寫(xiě)操作,節(jié)約了單片機(jī)的口資源。X25045的存儲(chǔ)器部分是CMOS的4096位串行EEPROM,它在內(nèi)部按512×8來(lái)組織。采用了Xicor公司專(zhuān)有的Direct WriteTM晶片,提供最小為100000周期/字節(jié)的使用期限和至少100年的數(shù)據(jù)保存期。
利用X25045的電壓檢測(cè)電路,可以保護(hù)系統(tǒng)免受低電壓狀況影響而產(chǎn)生誤操作:當(dāng)電壓低于規(guī)定電壓時(shí),可以使系統(tǒng)保持在復(fù)位狀態(tài),直至電壓恢復(fù)正常。
X25045的第三腳是寫(xiě)保護(hù)引腳,當(dāng)其為低電平時(shí),禁止對(duì)其內(nèi)部EEPROM寫(xiě)數(shù)據(jù);高電平時(shí),允許寫(xiě)操作。本控制器利用X25045來(lái)保存系統(tǒng)的所有參數(shù),利用X25045的寫(xiě)保護(hù)引腳,將系統(tǒng)分為編程模式和工作模式。控制器上電時(shí)首先判斷工作在什么模式。在工作模式下,直接調(diào)用X25045中保存的參數(shù)運(yùn)行,而在編程模式下才可以修改模塊的地址和通信參數(shù),從而提高了系統(tǒng)的安全性和可靠性。
2.2 報(bào)警探頭三態(tài)檢測(cè)電路
圖2所示為報(bào)警探頭狀態(tài)檢測(cè)電路。利用89C2051內(nèi)部所提供的模擬比較器和外部多路模擬轉(zhuǎn)換開(kāi)關(guān)CD4052組成兩路三狀態(tài)報(bào)警探頭的通用接口電路。P1.0和P1.1為89C2051的比較器輸入端,P3.6為比較器的輸出端(89C2051內(nèi)部使用)。CD4052為雙四選一模擬開(kāi)關(guān),A、B為通道選擇輸入,X、Y分別為模擬開(kāi)關(guān)的兩路輸出。電阻R1、R2、R3、R4為比較器提供參考比較電壓。改變P1.2和P1.3的輸出電平,可以將報(bào)警探頭線(xiàn)路狀態(tài)分別和參考電壓高值VH和低值VL進(jìn)行比較,從而確定報(bào)警狀態(tài)。??
?
報(bào)警探頭一般都帶有干觸點(diǎn)繼電器輸出,在使用時(shí)要接終端[EOL]電阻。以報(bào)警發(fā)生時(shí)繼電器觸點(diǎn)閉合、正常狀態(tài)下斷開(kāi)為例,分析一下報(bào)警探頭1的檢測(cè)原理:若設(shè)電阻R5與Rt阻值相等,Vs取5V,則在正常情況下,報(bào)警探頭繼電器觸點(diǎn)斷開(kāi),模擬開(kāi)關(guān)輸入端S1處電壓為2.5V;當(dāng)報(bào)警探頭傳輸線(xiàn)路被短接或報(bào)警發(fā)生時(shí)(繼電器觸點(diǎn)閉合),S1處電壓為0V;而當(dāng)傳輸線(xiàn)路斷路(如被剪斷)時(shí),S1處電壓為5V。考慮到線(xiàn)路傳輸損耗,取參考電壓高值VH和低值VL分別為3.5V和1.5V。具體檢測(cè)過(guò)程為:令模擬開(kāi)關(guān)選擇端AB=00,此時(shí)輸出Y為報(bào)警探頭1的線(xiàn)路電平,輸出X為VH,若P1.0電平大于P1.1電平,則線(xiàn)路處于斷開(kāi)狀態(tài);否則令A(yù)B=01,此時(shí)輸出Y仍為報(bào)警探頭1的線(xiàn)路電平,輸出X為VL,若P1.0電平大于P1.1電平,則報(bào)警探頭處于正常狀態(tài),否則是處于報(bào)警狀態(tài)。同理,改變A、B的電平可以檢測(cè)出報(bào)警探頭2的工作狀態(tài)。
為了保證測(cè)量的準(zhǔn)確性,實(shí)際檢測(cè)線(xiàn)路上還有硬件濾波和過(guò)壓過(guò)流保護(hù)電路,結(jié)合軟件濾波措施,有效地消除了環(huán)境干擾可能產(chǎn)生的誤報(bào)警。
2.3 通信總線(xiàn)接口
報(bào)警控制器提供了RS-485通訊接口。RS-485接口由具有瞬變電壓抑制的RS-485收發(fā)器SN75LBC184及其外圍保護(hù)電路組成。SN75LBC184是一種與SN75176差分?jǐn)?shù)據(jù)收發(fā)器完全兼容的RS-485芯片,其片內(nèi)的RS485收發(fā)端接有高能量瞬變干擾保護(hù)裝置,能承受峰值為400W的瞬時(shí)過(guò)壓;同時(shí)使用了限斜率驅(qū)動(dòng)器,減少回波反射和電磁干擾的影響,適合在惡劣環(huán)境條件下工作;具有接收器輸入端開(kāi)路故障保護(hù)和熱關(guān)斷保護(hù)功能,可在總線(xiàn)上掛接64個(gè)收發(fā)器。
2.4 繼電器輸出接口
繼電器輸出接口主要用于本地和全局聯(lián)動(dòng)。在本地聯(lián)動(dòng)生效時(shí),報(bào)警控制器檢測(cè)到來(lái)自報(bào)警探頭的報(bào)警信息后,根據(jù)控制器內(nèi)的參數(shù)設(shè)置,按一定方式觸發(fā)對(duì)應(yīng)的繼電器。當(dāng)控制器接收到來(lái)自主控計(jì)算機(jī)的命令時(shí),也可以對(duì)繼電器實(shí)現(xiàn)操作,從而實(shí)現(xiàn)全局聯(lián)動(dòng)功能。
3 系統(tǒng)特點(diǎn)
3.1 系統(tǒng)參數(shù)可編程
通過(guò)控制器上的編程選擇開(kāi)關(guān),可以選擇系統(tǒng)運(yùn)行于編程模式或工作模式。在編程模式下可以接收主控計(jì)算機(jī)發(fā)送的控制器設(shè)置參數(shù),并將其保存到X25045中。這些參數(shù)將在工作模式下應(yīng)用,這樣即使由于某種原因使系統(tǒng)掉電而停止工作,但重新工作后,仍可按掉電前的工作模式運(yùn)行而不需重新設(shè)置。
3.2 聯(lián)動(dòng)功能靈活方便
與其它的通用報(bào)警控制器相比,本系統(tǒng)通過(guò)狀態(tài)和觸發(fā)條件的可編程,提供了靈活的聯(lián)動(dòng)功能,可以根據(jù)聯(lián)動(dòng)機(jī)構(gòu)的不同、應(yīng)用場(chǎng)合的不同而設(shè)置不同的聯(lián)動(dòng)方式?;芈飞细鱾€(gè)不同模塊即使在通訊中斷的情況下也可以獨(dú)立完成本地聯(lián)動(dòng),而在主控計(jì)算機(jī)干預(yù)下可以完成全局聯(lián)動(dòng)。聯(lián)動(dòng)狀態(tài)、觸發(fā)條件、繼電器狀態(tài)的靈活選擇可以應(yīng)用于各種領(lǐng)域、各種警訊處理的場(chǎng)合,使模塊的適應(yīng)性、通用性大大提高。
3.3 可靠的通信接口
RS-485總線(xiàn)傳送距離遠(yuǎn)、速度快、抗干擾能力強(qiáng),是工業(yè)現(xiàn)場(chǎng)廣泛應(yīng)用的通信標(biāo)準(zhǔn)。RS-485總線(xiàn)是一種半雙工通信標(biāo)準(zhǔn),支持總線(xiàn)方式多點(diǎn)互連,使其成為集散控制系統(tǒng)和現(xiàn)場(chǎng)總線(xiàn)控制系統(tǒng)中采用最多的通信和組網(wǎng)方法。采用RS-485總線(xiàn)連接多個(gè)站點(diǎn),任一時(shí)刻只能有一個(gè)站點(diǎn)在“說(shuō)”,其它站點(diǎn)只能處于“聽(tīng)”狀態(tài)。如果有多于1個(gè)的站點(diǎn)在“說(shuō)”,數(shù)據(jù)將在通信總線(xiàn)上碰撞,結(jié)果是處于接收狀態(tài)的站點(diǎn)不能收到正確的數(shù)據(jù)。在RS-485總線(xiàn)通信網(wǎng)中,必須控制好每個(gè)站點(diǎn)的“聽(tīng)、說(shuō)”狀態(tài),即收發(fā)狀態(tài),以保證能及時(shí)、正確地傳輸數(shù)據(jù)。系統(tǒng)處于上電復(fù)位階段時(shí),所有的485芯片都處于輸出狀態(tài)。若此時(shí)只有一臺(tái)分機(jī)發(fā)送數(shù)據(jù),由于485的功率和耗散功率接近,485芯片經(jīng)常損壞。要解決這個(gè)問(wèn)題,可以采用降低485的功率損耗的方法,如在485的A、B線(xiàn)分別串接100Ω的電阻,把功耗控制在安全范圍之內(nèi)。這種方法也解決了通信電路失控的問(wèn)題。
CSMA采用附加的硬件裝置,每個(gè)站在發(fā)送數(shù)據(jù)前監(jiān)聽(tīng)其它的站是否發(fā)送數(shù)據(jù)。如正在發(fā)送,則此站就暫時(shí)不發(fā)送數(shù)據(jù),減少了發(fā)生沖突的可能性,提高了整個(gè)系統(tǒng)的吞吐量。監(jiān)聽(tīng)載波的策略方案中可分為非堅(jiān)持CSMA和P堅(jiān)持CSMA。非堅(jiān)持CSMA即當(dāng)監(jiān)聽(tīng)到信道忙,就不再堅(jiān)持下去,而是根據(jù)協(xié)議的算法延遲一隨機(jī)的時(shí)間后重新監(jiān)聽(tīng);如載波監(jiān)聽(tīng)發(fā)現(xiàn)信道空閑,則將準(zhǔn)備好的數(shù)據(jù)發(fā)送出去。P堅(jiān)持CSMA的特點(diǎn)是當(dāng)監(jiān)聽(tīng)到信道忙時(shí),仍堅(jiān)持聽(tīng)下去,一直堅(jiān)持到信道空閑為止,然后以概率p發(fā)送數(shù)據(jù),即延遲(1-p)T(T為端到端的單程延時(shí))后重新監(jiān)聽(tīng)信道;這樣可以防止兩臺(tái)(或多于兩臺(tái))控制器在監(jiān)聽(tīng)到信道空閑后同時(shí)發(fā)送數(shù)據(jù)。P堅(jiān)持CSMA可根據(jù)信道上通信量的多少來(lái)確定p的值,使信道的利用率進(jìn)一步提高。
在大型報(bào)警系統(tǒng)中,掛接的分機(jī)數(shù)量很大,數(shù)據(jù)幀沖突的可能性非常大。采用載波監(jiān)聽(tīng)多點(diǎn)接入技術(shù)的系統(tǒng),除了必須考慮載波監(jiān)測(cè)需要的硬件措施外,軟件上采用截?cái)喽M(jìn)制指數(shù)類(lèi)型的退避算法決定重發(fā)幀所需的延時(shí),在保持了系統(tǒng)穩(wěn)定工作的的基礎(chǔ)上,充分利用信道資源,提高了資源利用率。
采用截?cái)喽M(jìn)制指數(shù)類(lèi)型的退避算法決定重發(fā)幀所需的時(shí)延的計(jì)算步驟為:首先從離散的集合[0,1,....,2K-1]中隨機(jī)取一個(gè)數(shù),設(shè)它為R;K=Min[重發(fā)次數(shù),n],其中n為最大重發(fā)次數(shù)。重發(fā)所需的時(shí)延就是R倍的基本退避時(shí)間。當(dāng)重發(fā)次數(shù)達(dá)到n次時(shí),則丟棄該幀,并報(bào)警。
這種算法根據(jù)重發(fā)次數(shù)對(duì)退避時(shí)間加權(quán),所以減小了沖突發(fā)生的可能性,即使采用1堅(jiān)持(即p=1),仍能保持系統(tǒng)的穩(wěn)定。
根據(jù)單片機(jī)的局限性和實(shí)際系統(tǒng)的需要,本報(bào)警控制器采用了1堅(jiān)持,選擇n=5。實(shí)踐表明能夠有效保證通訊的準(zhǔn)確性,保證了系統(tǒng)的可靠工作和無(wú)誤差傳輸。
4 系統(tǒng)軟件實(shí)現(xiàn)方案
整個(gè)報(bào)警系統(tǒng)軟件分為報(bào)警控制器底層軟件和PC 機(jī)管理軟件。底層軟件采用模塊化程序設(shè)計(jì),利用C51編寫(xiě)。圖3為報(bào)警控制器主程序流程圖。圖4為通訊子程序流程圖。
?
?
?
參考文獻(xiàn)
1 李 華,孫曉民.MCS-51系列單片機(jī)實(shí)用接口技術(shù).北京:北京航空航天大學(xué)出版社,1993
2 X25043/45可編程看門(mén)狗監(jiān)控EEPROM 數(shù)據(jù)手冊(cè).武漢力源電子股份公司,1998
3 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò).北京:電子工業(yè)出版社,1999
4 徐 平.王光能.KF-1型倉(cāng)庫(kù)監(jiān)控管理系統(tǒng). 測(cè)控技術(shù),1997(6)
5 徐 平.HB-2住宅小區(qū)智能化報(bào)警監(jiān)視系統(tǒng).電氣&智能建筑,2001(1)