摘 要: 提出了一種基于分布式網(wǎng)絡(luò)的火災(zāi)環(huán)境數(shù)據(jù)采集系統(tǒng)的設(shè)計方案,介紹了數(shù)據(jù)采集系統(tǒng)的功能、硬件結(jié)構(gòu)及軟件設(shè)計方案。給出了系統(tǒng)的電路設(shè)計、關(guān)鍵模塊邏輯圖以及軟件流程圖。
關(guān)鍵詞: 分布式網(wǎng)絡(luò);火災(zāi)環(huán)境;數(shù)據(jù)采集;硬件結(jié)構(gòu)
在火災(zāi)監(jiān)控檢測中,數(shù)據(jù)采集與數(shù)據(jù)傳輸是整個監(jiān)測系統(tǒng)的重要環(huán)節(jié)。為避免造成重大經(jīng)濟(jì)損失,應(yīng)該對火災(zāi)環(huán)境進(jìn)行實時監(jiān)測和智能化評估,通過CAN總線及以太網(wǎng)相結(jié)合的方式,進(jìn)行火災(zāi)探測器探測數(shù)據(jù)的實時傳輸與分析,及早發(fā)現(xiàn)火災(zāi)情況,以便將損失降到最低。
本文在CAN總線及以太網(wǎng)數(shù)據(jù)傳輸?shù)幕A(chǔ)上,采用紫外、紅外及煙霧測量傳感器,設(shè)計了火災(zāi)環(huán)境的數(shù)據(jù)采集及監(jiān)控系統(tǒng)。本系統(tǒng)包括數(shù)據(jù)采集模塊、控制模塊和數(shù)據(jù)通信模塊,傳感器采集數(shù)據(jù)通過CAN總線傳輸?shù)街骺刂瓢?,主控制板把接收到的?shù)據(jù)通過以太網(wǎng)發(fā)送到現(xiàn)場控制設(shè)備及遠(yuǎn)程終端設(shè)備,可以實現(xiàn)現(xiàn)場或遠(yuǎn)程監(jiān)控火災(zāi)環(huán)境。
1 系統(tǒng)結(jié)構(gòu)簡介
CAN(Controller Area Network)是ISO國際標(biāo)準(zhǔn)化的串行通信協(xié)議,屬于現(xiàn)場總線的范疇,它是一種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò)。CAN總線構(gòu)成的網(wǎng)絡(luò)各節(jié)點之間的數(shù)據(jù)通信實時性強(qiáng),并且容易構(gòu)成冗余結(jié)構(gòu),提高系統(tǒng)的可靠性和系統(tǒng)的靈活性[1]。
本系統(tǒng)包括現(xiàn)場數(shù)據(jù)采集控制系統(tǒng)、網(wǎng)絡(luò)傳輸系統(tǒng)以及遠(yuǎn)端控制系統(tǒng)。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
現(xiàn)場數(shù)據(jù)采集控制系統(tǒng)主要包括數(shù)據(jù)采集和控制兩部分。數(shù)據(jù)采集主要用于采集火災(zāi)環(huán)境的紅外線、紫外線及煙霧濃度等參數(shù);控制部分主要實現(xiàn)數(shù)據(jù)傳輸以及控制功能。
本系統(tǒng)包含現(xiàn)場設(shè)備和遠(yuǎn)程設(shè)備兩部分。現(xiàn)場設(shè)備數(shù)據(jù)傳輸主要依靠CAN總線完成,接收CAN總線上的數(shù)據(jù),進(jìn)行現(xiàn)場處理及控制;遠(yuǎn)程設(shè)備數(shù)據(jù)傳輸主要由以太網(wǎng)傳輸為主,通過Internet網(wǎng)絡(luò)登錄相應(yīng)的客戶端插座軟件,實現(xiàn)對CAN節(jié)點傳送來的數(shù)據(jù)做相應(yīng)處理,以實現(xiàn)對現(xiàn)場設(shè)備的控制。
2 電路設(shè)計
整個系統(tǒng)的電路部分設(shè)計主要分為傳感器、由微控制器組成的現(xiàn)場數(shù)據(jù)采集控制部分及遠(yuǎn)程數(shù)據(jù)傳輸部分。其中現(xiàn)場數(shù)據(jù)采集控制部分及數(shù)據(jù)傳輸部分是關(guān)鍵,下面將重點介紹。
2.1 數(shù)據(jù)采集
由于CAN總線的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性等特點,本系統(tǒng)設(shè)計了4個節(jié)點,分別是煙霧測量節(jié)點、溫度測量節(jié)點、紫外測量節(jié)點及紅外測量節(jié)點。為使各個節(jié)點的不同類型、不同格式的數(shù)據(jù)在CAN總線協(xié)議下通信,每個節(jié)點都有相應(yīng)的CAN總線接口電路。數(shù)據(jù)采集部分電路如圖2所示。
數(shù)據(jù)采集部分電路采用美國微芯公司的dsPCI30F6013微控制器為主控芯片,整個硬件電路部分由5部分組成:
(1)多路模擬輸入電路:本系統(tǒng)采用CD4051作為數(shù)據(jù)采集通道切換,CD4051是單8通道數(shù)字控制模擬電子開關(guān),8路輸入輸出信號既可以是模擬信號,也可以是數(shù)字信號,有3個二進(jìn)制控制輸入端A、B、C,具有低導(dǎo)通阻抗和很低的截止漏電流。由于本系統(tǒng)采用的模數(shù)轉(zhuǎn)換芯片是單通道的,故采用模擬開關(guān)芯片CD4051可以解決多路采集的問題,并且有效降低了成本。主控芯片的PA.0~PA.2引腳與CD4051的A~B引腳相連,并通過控制CD4051的控制端口,可以使OUT輸出端口輸出相應(yīng)的信號供A/D采集。
(2)模數(shù)轉(zhuǎn)換電路:使用TI公司的ADS1110芯片,它是精密的連續(xù)自校準(zhǔn)模/數(shù)(A/D)轉(zhuǎn)換器,帶有差分輸入和高達(dá)16 bit的分辨率,并且使用可兼容的I2C串行接口,在2.7 V~5.5 V的單電源下工作。本系統(tǒng)中,ADS1110有一個完全差分輸入端,通過該端可容易地測量出單端信號。ADS1110通過將其輸入引腳(通常是VIN-)接地,并加輸入信號到VIN+來進(jìn)行單端配置。單端信號的范圍是0~2.048 V,ADS1110在其輸入范圍內(nèi)不會錯過任何線性。主控制器的SCL、SDA引腳與ADS1110相連,采用I2C協(xié)議相互通信,通過發(fā)送不同的命令,來控制ADS1110的工作方式、數(shù)據(jù)速率和可編程增益放大器(PGA)的設(shè)置。
(3)RS-232串口通信電路:該電路主要完成主控節(jié)點和現(xiàn)場控制PC的通信,主控制器通過串口通信引腳TXD、RXD與MAX232芯片的相應(yīng)管腳相連。主控制器將從現(xiàn)場采集到的數(shù)據(jù)轉(zhuǎn)換成RS-232協(xié)議格式,通過MAX232芯片發(fā)送到現(xiàn)場PC上以供分析測量,現(xiàn)場PC也可以發(fā)送相應(yīng)命令到主控制器,從而實現(xiàn)現(xiàn)場控制測量。
(4)CAN總線接口電路:由于主控制器帶有片上CAN控制器,故接口芯片采用美國微芯公司的MCP2551。本系統(tǒng)中,主控制器的C_RX、C_TX引腳與MCP2551相應(yīng)管腳相連,把CAN控制器生成的數(shù)字信號由MCP2551轉(zhuǎn)化成為適合CAN總線傳輸(差分輸出)的信號。MCP2551采用差分總線,具有很強(qiáng)的抗噪特性,支持1 Mb/s的運行速率,可連接節(jié)點高達(dá)112個。
(5)以太網(wǎng)通信接口電路:本系統(tǒng)的以太網(wǎng)接口采用W5300網(wǎng)絡(luò)接口芯片,具有固件的TCP/IP協(xié)議,高速網(wǎng)絡(luò)數(shù)據(jù)傳輸速度可達(dá)到50 Mb/ps。主控制器的數(shù)據(jù)引腳、地址引腳、讀寫引腳以及中斷引腳與W5300芯片相應(yīng)管腳相連,通過8位數(shù)據(jù)寬度與W5300通信,實時傳送各傳感器數(shù)據(jù)到遠(yuǎn)端控制平臺,實現(xiàn)遠(yuǎn)程火災(zāi)環(huán)境數(shù)據(jù)采集。
2.2 數(shù)據(jù)傳輸
數(shù)據(jù)處理主要分為現(xiàn)場預(yù)處理和遠(yuǎn)端處理兩部分:
現(xiàn)場處理由主控制器軟件濾波簡單處理和現(xiàn)場PC做實時分析及存盤等。傳感器采集數(shù)據(jù),主控制器通過各CAN節(jié)點接收到的傳感器數(shù)據(jù),經(jīng)過軟件濾波及分析,做出相應(yīng)的動作?,F(xiàn)場PC通過RS232串口接收到主控制器采集的數(shù)據(jù),結(jié)合上位機(jī)軟件,實時畫出相應(yīng)曲線圖,供工作人員做現(xiàn)場分析與處理,并有存盤、打印等功能。上位機(jī)軟件采用虛擬儀器LabVIEW軟件編程,界面友好,可以較好地實現(xiàn)數(shù)據(jù)分析與采集工作?,F(xiàn)場主控制器與網(wǎng)絡(luò)相連接,數(shù)據(jù)經(jīng)過打包實時發(fā)送到專用服務(wù)器上,以供遠(yuǎn)端PC使用。
遠(yuǎn)端處理部分主要由遠(yuǎn)端控制PC和服務(wù)器構(gòu)成,服務(wù)器采用穩(wěn)定可靠的專用服務(wù)器,遠(yuǎn)端控制PC實時從服務(wù)器讀取數(shù)據(jù)。遠(yuǎn)端控制PC主要結(jié)合上位機(jī)軟件讀取服務(wù)器數(shù)據(jù),上位機(jī)軟件采用基于socket編程的VC++軟件,實現(xiàn)對采集數(shù)據(jù)的分析、存盤及打印等。
2.3 數(shù)據(jù)分析與處理
數(shù)據(jù)分析與處理部分主要實現(xiàn)數(shù)據(jù)分析、處理及控制器做出相應(yīng)動作等功能。由客戶端PC機(jī)和上位機(jī)軟件通過網(wǎng)絡(luò)接收數(shù)據(jù),進(jìn)行數(shù)據(jù)分析與處理。
3 軟件設(shè)計
系統(tǒng)的軟件設(shè)計主要分為數(shù)據(jù)采集與傳輸設(shè)計處理與控制兩個部分。
3.1 數(shù)據(jù)采集與傳輸
數(shù)據(jù)采集與傳輸部分的程序流程如圖3所示。
首先主控芯片初始化,然后對整個系統(tǒng)初始化,以確保各個傳感器及各通信鏈路正常工作。主控制器對CAN總線的各個節(jié)點初始化,主要是對各個節(jié)點的傳感器做初始化測試,檢測傳感器是否正常工作。CAN節(jié)點的初始化也包括主控制器對內(nèi)部CAN控制器的初始化,主控制器進(jìn)入配置模式對CAN控制器的發(fā)送和接收郵箱進(jìn)行配置,設(shè)置通信數(shù)據(jù)長度、設(shè)置接收發(fā)送濾波器標(biāo)識符以及波特率設(shè)置,以保證CAN總線正常通信。
本系統(tǒng)采用W5300作為以太網(wǎng)傳輸芯片,對W5300的初始化主要包括對網(wǎng)關(guān)、子網(wǎng)掩碼、IP地址、MAC地址的設(shè)置。配置完成后,系統(tǒng)工作時檢測或傳輸?shù)男盘柡蛿?shù)據(jù)可以通過主控制器的外設(shè)接口直接輸入,并根據(jù)實際需要,由主控制對數(shù)據(jù)進(jìn)行預(yù)處理,然后傳輸至W5300芯片,完成網(wǎng)絡(luò)協(xié)議的處理,再通過自帶變壓器的RJ45網(wǎng)口傳輸至PC機(jī)。同理,由PC機(jī)發(fā)出的控制指令或傳出的數(shù)據(jù),也可反方向地傳輸至主控制器的信號和數(shù)據(jù)輸出端,實現(xiàn)主控制器的網(wǎng)絡(luò)化數(shù)據(jù)采集與傳輸,并可根據(jù)實際情況做出相應(yīng)的控制。
3.2 數(shù)據(jù)處理與控制
數(shù)據(jù)處理主要分為上位機(jī)和下位機(jī)兩個部分:
上位機(jī)主要由現(xiàn)場PC和遠(yuǎn)端PC的客戶端軟件構(gòu)成,包括數(shù)據(jù)采集、實時控制、現(xiàn)場情況實時通報、數(shù)據(jù)存盤及數(shù)據(jù)打印等功能??蛻舳塑浖饕捎肰C++和數(shù)據(jù)庫結(jié)合的編程方法,對各種數(shù)據(jù)源進(jìn)行操作和訪問。
下位機(jī)主要包括主控制器采集整個系統(tǒng)的傳感器數(shù)據(jù),并根據(jù)協(xié)議傳輸?shù)竭h(yuǎn)端和現(xiàn)場PC上,在數(shù)據(jù)傳輸之前作一定的分析與處理,根據(jù)實際情況做出相應(yīng)的動作,確保整個系統(tǒng)穩(wěn)定、實時地運行。
本文介紹了基于分布式網(wǎng)絡(luò)的火災(zāi)環(huán)境數(shù)據(jù)采集系統(tǒng),該系統(tǒng)利用了CAN總線技術(shù)及以太網(wǎng)數(shù)據(jù)傳輸?shù)姆椒ǎ哂谐杀镜?、功能?qiáng)、可靠性高等特點。系統(tǒng)實現(xiàn)了火災(zāi)環(huán)境的現(xiàn)場及遠(yuǎn)程監(jiān)控,大大提高了火災(zāi)環(huán)境測量的實時性、準(zhǔn)確性及便捷性。
參考文獻(xiàn)
[1] 王毅峰,李令奇.基于CAN總線的分布式數(shù)據(jù)采集與控制系統(tǒng)[J].工業(yè)控制計算機(jī),2000(5):34-35.
[2] 鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計[M].北京:北京航空航天大學(xué)出版社,1996.
[3] 杜尚豐.CAN總線測控技術(shù)及其應(yīng)用[M].北京:電子工業(yè)出版社,2007.
[4] 郝世宇.基于CAN總線煤礦井下分站通信的設(shè)計[J]. 科技情報開發(fā)與經(jīng)濟(jì),2007,17(21):196-197.
[5] Microchip. dsPIC30F6015 data sheet [Z]. 2007.