劉 軒, 劉士興
(合肥工業(yè)大學電子科學與應用物理學院,安徽合肥 230009)
隨著城市化程度的提高和生活環(huán)境的不斷密集和復雜,火災對人類構(gòu)成的危害愈加嚴重。為了更好地保護人民的生命財產(chǎn)安全,人們需要更大規(guī)模的、更高可靠性和實時性的火災報警系統(tǒng)。一般來說火災報警系統(tǒng)分為火災探測器和火災報警控制器2個部分?;馂奶綔y器安裝在需要監(jiān)控的現(xiàn)場,而報警控制器安裝在控制室或值班室等人們可以監(jiān)控的場所,探測器和控制器構(gòu)成了一個遠距離信號采集、監(jiān)控網(wǎng)絡。早期的系統(tǒng)多采用集中控制方式,探測器只是一個純粹的傳感器,它隨時將采集到的信號傳遞給控制器,由控制器對這些信號進行處理、判斷得出結(jié)果。雖然集中式控制方式具有成本低、信號處理算法簡單等優(yōu)點,但是當系統(tǒng)規(guī)模過大時,會產(chǎn)生控制器負擔過大、響應速度慢、系統(tǒng)可靠性降低等不利因素。為了克服這些缺點,逐漸采用分布式控制方式代替集中式控制方式[1]。與集中控制不同,分布式控制采用多個控制器,數(shù)據(jù)和算法分布在各控制器中,采用適當?shù)耐ㄐ欧绞竭B接在一起。和集中式控制相比,分布式控制具有軟硬件配置靈活、實現(xiàn)分布式算法、節(jié)點數(shù)多等優(yōu)點。從目前的發(fā)展方向來看,分布式屬于智能化、全分散、全數(shù)字和全開放的新型火災監(jiān)控系統(tǒng),代表了火災探測系統(tǒng)的發(fā)展方向,將會得到越來越廣泛的應用。
本文把分布式控制的思想應用到火災報警控制系統(tǒng)的設計中,采用一臺PC機作為整個系統(tǒng)的上位機,通過CAN總線與各個區(qū)域的火災報警節(jié)點通訊,組成了分布式智能火災監(jiān)控系統(tǒng)。該系統(tǒng)可以實時檢測各個節(jié)點的火災信息,利用PC機的強大運算功能處理火災信息,實現(xiàn)實時報警和控制功能。
CAN全名為控制器局域網(wǎng),是有效地支持分布式控制和實時控制的串行通信總線。CAN總線由于采用了許多新技術(shù)及獨特的設計,與一般通信總線相比,它的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性。目前CAN總線已經(jīng)形成國際標準并被公認為最有前途的現(xiàn)場總線之一。本文選用CAN總線來實現(xiàn)火災報警系統(tǒng)的分布式控制,CAN總線具有以下特點[2]:
(1)CAN協(xié)議的最大特點是廢除了傳統(tǒng)的站地址編碼,而采用對通信數(shù)據(jù)進行編碼,CAN節(jié)點只需通過對報文的標示符濾波即可實現(xiàn)點對點、一點對多點及全局廣播等幾種方式傳送接收數(shù)據(jù),利用該特點很容易實現(xiàn)分布式控制系統(tǒng)。
(2)選用 Philips芯片SJA1000和PCA82C250作為CAN控制器和收發(fā)器,可在同一網(wǎng)絡中允許掛接110個節(jié)點。
(3)根據(jù)報文標識符區(qū)分節(jié)點優(yōu)先級,標識符越小則優(yōu)先級越高,對那些需要優(yōu)先響應的設備設置高優(yōu)先級,可以滿足不同的實時要求。CAN采用非破壞總線仲裁技術(shù),當多個節(jié)點向總線發(fā)送的信息出現(xiàn)沖突時,優(yōu)先級較低的節(jié)點會主動退出發(fā)送,而最高級的節(jié)點可不受影響,節(jié)省了總線沖突仲裁時間。
(4)CAN為多主方式工作,網(wǎng)絡上任一節(jié)點均可在任意時刻主動地向網(wǎng)絡上其它節(jié)點發(fā)送信息,而不分主從。
(5)報文采用短幀結(jié)構(gòu),減少了傳輸時間和受干擾概率,保證了數(shù)據(jù)的有效性。每幀信息都有CRC校驗,保證了數(shù)據(jù)極低的出錯率。
(6)傳輸介質(zhì)選用雙絞線,最大通信速率可達1 Mb/s(傳輸距離40 m以內(nèi)),其最大傳輸距離可達10 km(對應通信速率為5 kb/s以下)。
(7)CAN總線具有較高的性價比。它結(jié)構(gòu)簡單,每個節(jié)點的硬件配置較低,而且開發(fā)技術(shù)容易掌握。
從以上CAN總線特點,可以看出CAN總線有效地實現(xiàn)了分布式控制,在總線的實時性和有效性,以及傳輸?shù)木嚯x和速率上,CAN都能滿足火災報警的控制要求。
總線式智能火災報警系統(tǒng)如圖1所示,在此系統(tǒng)中火災報警系統(tǒng)主要由智能節(jié)點、CAN智能適配卡、PC上位機組成[3]。
圖1 智能火災報警系統(tǒng)
系統(tǒng)各個功能作用如下:
(1)智能節(jié)點。智能節(jié)點由單片機、煙霧和溫度傳感器、CAN控制器、CAN收發(fā)器以及聯(lián)動裝置等組成,主要負責煙霧和溫度數(shù)據(jù)的采集、CAN總線接口的數(shù)據(jù)傳輸、接收上位機的控制請求以及驅(qū)動聯(lián)動裝置。
(2)CAN智能適配卡。由單片機、CAN控制器、CAN收發(fā)器及 RS-232串口等組成,完成CAN協(xié)議和串口協(xié)議之間的轉(zhuǎn)換,把從CAN總線傳輸?shù)竭m配卡的火災信息通過RS-232串口傳遞到上位機,同時接收上位機發(fā)來的控制命令,傳遞到CAN總線上。
(3)上位機是一臺PC機,接收來自智能適配卡的煙霧和溫度數(shù)據(jù),經(jīng)過分析處理給出界面化報警信息,同時對火災數(shù)據(jù)進行記錄,并且發(fā)送控制命令,實現(xiàn)滅火功能。
在火災發(fā)生初期的陰燃階段時,會產(chǎn)生大量的煙霧顆粒和有害氣體,煙霧顆粒一般在幾十納米到幾十微米之間,這些微粒會對照射光束產(chǎn)生散射,使光的傳播方向發(fā)生改變而向四周散射。
光電感煙探測器的散射原理如下:光源的光軸和光電接收器成特定的角度,在沒有煙霧顆粒的情況下,光電接收器不能接收到光源發(fā)出的光,當有顆粒時光源發(fā)出的光線被煙霧顆粒散射,接受器件會接收到散射光,隨著煙霧濃度的增加,光電接收器接收到的光通量越大。通過探測光電接收器輸出端信號的強弱,即可探測煙霧濃度。
根據(jù)煙霧探測原理,選用紅外線發(fā)光二極管作為光源,光電接收器采用光敏二極管。元件安裝在一個光學迷宮中,以120°角組成散射光型光電感煙電路,紅外發(fā)射管在脈沖信號的控制下產(chǎn)生紅外光。正常情況時,紅外發(fā)射管發(fā)出的光線被光學迷宮吸收,紅外接收管無法收到紅外光,產(chǎn)生的電流極小;煙霧進入后,煙霧粒子向前散射紅外光,接收管就會產(chǎn)生較大的光電流。
光電流通過接收電路轉(zhuǎn)變?yōu)槲⑷醯碾娦盘?該信號經(jīng)過前級放大調(diào)整后,由后級放大電路輸出至單片機的A/D引腳進行轉(zhuǎn)換,作為煙霧濃度的數(shù)據(jù)。電路原理框圖如圖2所示。
圖2 煙霧信號探測模塊
由于在明火時煙霧較少,且有些材料燃燒時產(chǎn)生黑煙,而煙霧探測模塊對黑煙不太敏感。為了提高報警的可靠性,在煙霧探測的基礎(chǔ)上增加了溫度探測模塊,選用了美國Dallas半導體公司的數(shù)字化溫度傳感器DS18B20。該芯片是世界上第一片支持單線總線接口的溫度傳感器,僅需1個I/O口即可實現(xiàn)溫度的探測,節(jié)省單片機的I/O口。另外,由于該芯片采用數(shù)字輸出,省去了傳感器信號放大、模數(shù)轉(zhuǎn)換等過程,其測量范圍在-55~125℃,精度為0.5℃,溫度分辨率從9位到12位[4]。
在火災測量系統(tǒng)中,一般監(jiān)控現(xiàn)場的環(huán)境會非常惡劣,各種干擾信號較強,而DS18B20是具有較強抗干擾能力的新型數(shù)字溫度傳感器,非常適合火災報警中采用。
智能節(jié)點的CAN接口硬件選用PHLIPS公司的SJA1000和82C250來實現(xiàn),SJA1000是CAN控制器,82C250為CAN收發(fā)器,圖3所示反映了SJA1000、82C250、單片機之間的連接原理。
圖3中SJA1000類似于單片機的外部RAM的連接方法,由于SJA1000的數(shù)據(jù)線和地址線是共用的,需把AD0-AD7腳與單片機的地址/數(shù)據(jù)端P0口相連;為了區(qū)分某一時刻,AD線上傳輸?shù)氖堑刂愤€是數(shù)據(jù),需把SJA1000的ALE與單片機的地址鎖存引腳相連;SJA1000的片選信號CS可與單片機任意管腳相連,這里連接P2?0腳;RD、WR、INT應分別與單片機對應的引腳相連。
在82C250的CANH、CANL端與地之間并聯(lián)了2個30 pF的小電容,用來濾除總線上的高頻干擾,防止電磁輻射;CANH、CANL端與CAN總線之間還各串聯(lián)了1個5 Ω的電阻,以限制電流,保護82C250免受過流沖擊;另外在CAN總線接入端與地之間分別反接了1個保護二極管,當CAN總線有較高負壓時,通過二極管可以起到一定的過壓保護作用。
圖3 智能節(jié)點CAN總線接口
這部分電路主要完成的功能是從CAN總線上收集火災數(shù)據(jù)信息,通過協(xié)議轉(zhuǎn)換將收到的數(shù)據(jù)傳輸?shù)缴衔籔C機中。和智能節(jié)點相比,CAN智能適配卡增加了RS232串口單元而去掉了不需要的傳感器部分[5]。主要電路框圖如圖4所示。
圖4 CAN智能適配卡結(jié)構(gòu)圖
軟件設計是指在單片機的控制下,煙霧和溫度模塊將采集到的數(shù)據(jù)發(fā)送到總線上,智能適配卡采集CAN總線上的數(shù)據(jù)并把數(shù)據(jù)傳輸?shù)缴衔粰C中,由上位機對數(shù)據(jù)進行處理,判斷火災是否發(fā)生;另一方面,上位機通過CAN適配卡給各個節(jié)點傳輸控制命令。
該總線系統(tǒng)設計采用CAN2.0B協(xié)議,幀格式選用擴展幀,此模式中有29位標識碼和8位數(shù)據(jù)字節(jié)。通過設置驗收濾波器及合理組織幀標識符可以實現(xiàn)點對點、一點對多點和廣播通信,此外還可以根據(jù)現(xiàn)場需要實現(xiàn)不同節(jié)點的優(yōu)先級設置[6]。
系統(tǒng)上電后,單片機需要先對自身和SJA1000進行初始化,以確定工作方式、波特率、輸出特性等,之后單片機采用查詢方式獲知煙霧和溫度傳感器傳來的信息,并把該值通過SJA1000傳送到CAN總線上;對于接收CAN總線上傳來的信息則采用中斷的方式,系統(tǒng)每接收到一幀信息,便產(chǎn)生一次外部中斷,單片機響應該中斷,在中斷服務程序中讀取該幀信息。
在智能節(jié)點軟件中最主要的過程是SJA1000的初始化、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)[7,8]。其流程圖如圖5所示。
圖5 CAN初始化、接收、發(fā)送函數(shù)流程圖
CAN適配卡負責與CAN總線交換數(shù)據(jù)并實現(xiàn)CAN協(xié)議和RS232之間的協(xié)議轉(zhuǎn)換。此軟件模塊可以分為CAN總線通信和RS232串口通信2部分。在CAN總線通信中,單片機對接收的有效CAN報文進行解析,提取出標識碼信息和字節(jié)內(nèi)容,通過增加數(shù)據(jù)頭、數(shù)據(jù)尾,校驗和轉(zhuǎn)換為RS232通信格式,完成數(shù)據(jù)傳輸。
在RS232總線通信中,單片機對接收的串口數(shù)據(jù)進行處理后提取出數(shù)據(jù)字節(jié),通過增加幀結(jié)構(gòu)信息、幀類型、字節(jié)長度和標識符等生成CAN報文格式,然后由CAN控制器的發(fā)送緩沖區(qū)發(fā)送出去。流程圖如圖6所示。
圖6 CAN總線協(xié)議和 RS232協(xié)議轉(zhuǎn)換示意圖
上位機軟件采用Labview圖形化編程軟件,完成數(shù)據(jù)接收、火災數(shù)據(jù)處理、實時顯示及數(shù)據(jù)存儲等功能。本文采用Labview 8.6設計上位機后臺軟件,該軟件通過串口與智能適配卡進行通訊,從中獲取各個探測器節(jié)點的煙霧、溫度信息和標識碼信息。上位機將采集到的煙霧和溫度信息進行融合處理來判斷火災的發(fā)生,當有火災發(fā)生時,上位機將發(fā)出報警控制命令;同時根據(jù)各個節(jié)點的標識碼信息繪制出通信路徑,以方便試驗觀察。
Labview是多線程語言,各個線程以并行方式運行,設計主要由下面3個線程組成:線程1實現(xiàn)串口的數(shù)據(jù)采集和數(shù)據(jù)分析功能,先對串口初始化,設置串口的波特率、數(shù)據(jù)位、停止位,然后根據(jù)定義的數(shù)據(jù)格式讀取數(shù)據(jù),拆分出節(jié)點地址、煙霧和溫度信息,同時實時地保存每個節(jié)點的數(shù)據(jù);線程2根據(jù)各個節(jié)點的標識碼信息模擬火災現(xiàn)場節(jié)點的分布狀況和各節(jié)點的數(shù)據(jù)傳輸路徑;線程3實現(xiàn)火災算法以及報警功能。
把采集到的煙霧和溫度數(shù)據(jù)轉(zhuǎn)化為實際的溫度和煙霧濃度值,并提取相關(guān)數(shù)字量用來判斷是否有火災發(fā)生。
火災判斷根據(jù)以下4個量:煙霧值S、溫度值T、煙霧上升量Δ S和溫度上升量ΔT。當煙霧或者溫度值達到閾值時,進行火災預警,接著關(guān)注Δ S或ΔT是否達到閾值,如果是則判斷火災發(fā)生,上位機發(fā)出報警,否則返回預警狀態(tài)?;馂呐袛嗔鞒倘鐖D7所示。
圖7 火災判斷流程圖
CAN總線所具有的CRC校驗,使得 CAN總線在傳輸數(shù)據(jù)時有很低的出錯率,盡管如此,仍然不能保證數(shù)據(jù)的正確性和可靠性。如何提高報警系統(tǒng)的抗干擾能力,也是監(jiān)控系統(tǒng)所必須考慮的環(huán)節(jié)。為了使得火災報警系統(tǒng)采集到的數(shù)據(jù)更加正確和可靠,采取軟硬件相結(jié)合的方式來防止環(huán)境對系統(tǒng)的干擾:
(1)硬件措施。CAN總線采用雙絞線來抑制電磁干擾;PCB設計時把數(shù)字地和模擬地分開,最后在一點上相連;電源和芯片上均配置濾波電容以消除高頻噪聲的干擾;在CAN總線和數(shù)據(jù)采集通道之間設置光耦合器件以隔離干擾。
(2)軟件措施。報警數(shù)據(jù)采用數(shù)字濾波技術(shù)來降低噪聲信號對數(shù)據(jù)的干擾,即采用連續(xù)采集多次A/D信號(煙霧信號),去除最大和最小值,求其算術(shù)平均值的方法。
為了驗證該系統(tǒng)對火災監(jiān)測和通信的可靠性,對CAN總線節(jié)點以及上位機進行了測試。測試采用CAN2.0B協(xié)議,CAN總線設置的傳輸速率為10 kb/s,包括節(jié)點地址、溫度數(shù)據(jù)和煙霧濃度的數(shù)據(jù),通過CAN總線傳輸至計算機串口,計算機讀取數(shù)據(jù)后在后臺界面中顯示火災信息,由實驗測得數(shù)據(jù)繪制曲線如圖8所示。實驗表明該系統(tǒng)能夠快速有效地響應煙霧火災信號,在火災發(fā)生的初期探測出火災信息并報警。在實驗的過程中系統(tǒng)比較穩(wěn)定,無數(shù)據(jù)傳輸錯誤和丟失情況,具有較好的可靠性。
實驗表明,采用了單片機技術(shù)、CAN總線技術(shù)、煙溫復合探測技術(shù)的火災探測系統(tǒng)將有效地實現(xiàn)分布式火災控制系統(tǒng),并且在火災發(fā)生的初期就能探測出火災信息,預測火災的發(fā)生。整個系統(tǒng)結(jié)構(gòu)簡單,火災算法容易實現(xiàn),安全標準符合要求,在實時性、準確性、安全性等方面較集中式火災探測器有了較大的提高,代表了目前火災探測的發(fā)展方向。
圖8 煙霧和溫度探測結(jié)果
[1] 白卓文.火災監(jiān)控系統(tǒng)在智能建筑中的應用現(xiàn)狀和發(fā)展趨勢[J].安防科技,2003,(2):24-26.
[2] 饒運濤,鄒繼軍,鄭勇蕓.現(xiàn)場總線 CAN原理與應用技術(shù)[M].北京:北京航空航天大學出版社,2007:14-93.
[3] 李權(quán)威,秦 俊.基于CAN總線的分布式智能火災監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].消防設備研究,2006,25(1):70-72.
[4] Dallas.DS18B20 P rogrammable Resolution One-wire Digital T hermometer[Z].Dallas,2000.
[5] 暨綿浩,曾岳南,林小明,等.利用RS232和CAN總線協(xié)議轉(zhuǎn)換組建 CAN 控制網(wǎng)絡[J].工業(yè)控制計算機,2008,18(3):20-21.
[6] Bosch.CAN Specification Version2.0[Z].Bosch,1991.
[7] 杜尚豐,曹曉鐘,徐 津.CAN總線測控技術(shù)及其應用[M].北京:電子工業(yè)出版社,2007:109-137.
[8] Philips Semiconductors.SJA1000 Stand-alone CA N Controller Data Sheet[Z].Philips Semiconductors,2000.