1 引言
火災報警系統是目前國內外火災探測報警領域最受關注的研究方向之一。綜合利用現代計算機技術(Computer)、現代控制技術(Control)、現代通信技術(Communication) 和現代圖形顯示技術(CRT)即4C 技術[1]的火災報警系統既能快速準確的探測出早期的真實的火災信號,又能通過聯動控制在一定范圍內,及時消除火災隱患,防患于未然,最大限度的降低了火災造成的危害,保護人們的生命財產安全。隨著社會經濟的發展,建筑物的規模日欲趨于大型化和一體化,火災報警系統監控的范圍也隨之增大,這就要求系統具有更高的可靠性、實時性和靈活性。CAN總線作為應用最廣泛的現場總線技術之一,它的數據通信在可靠性、實時性和靈活性等方面有著突出的優點,針對有著極高可靠性要求的火災報警系統,該總線系統是一種理想的報警信息傳輸模式。本文提出了一種基于CAN總線的復合式火災報警系統[2]。
2 CAN現場總線概述
CAN(Controller Area Network,控制器局域網)是1986年德國BOSCH公司為解決現代汽車中眾多的控制與測試之間的數據交換,而開發的一種串行數據協議,后來由于自身的特點而逐步發展到廣泛應用于各行各業。
CAN協議遵循ISO/OSI模型,采用了其中的物理層、數據鏈路層與應用層。CAN采用非破壞性總線仲裁技術,按優先級發送,可以大大節省總線沖突仲裁時間,在重負荷下表現出良好的性能。CAN采用短幀結構傳輸,每幀有效字節為8個,傳輸時間短,受干擾的概率低,且每幀信息都有CRC校驗和其它檢錯措施,保證數據出錯率極低。當節點出現嚴重錯誤時,具有自動關閉功能,以切斷該節點與總線的聯系,使總線上的其它節點及通信不受影響。可見,CAN使所有總線中最為可靠的。CAN直接通信最遠距離可達10 km(傳輸速率為5 Kbps),通信最高速率可達1Mbps(傳輸距離為40 m);總線上節點數目可達110個;通信介質可以是雙絞線、同軸電纜或光纖。CAN是一種多主總線,節點之間不分主從,可以方便地構成一個控制系統,系統將大部分的控制權力交給現場的智能節點,交互信息通過CAN總線傳送,由于CAN總線的上述特點及其成本低的優勢必然在火災自動報警控制系統占有重要地位[1,2,3]。
整個系統主要由中央監控計算機、服務器、CAN適配卡和智能節點四個部分組成。最多可掛接110個節點,也可利用中繼器對CAN總線進行擴展。采用CAN總線連接各個網絡節點,形成了一個分布式系統。網絡拓撲結構采用的是總線式結構,該結構電簡單、成本低、系統可靠性高。將帶片內CAN控制器的微處理器P87C591芯片與現場火災探測器相連,就構成了CAN智能節點。傳輸介質采用雙絞線。上位PC機通過PCCAN適配卡與CAN總線相連,進行信息的交換。各種火災探測器將實時探測到的物理量信號傳送給智能節點,如采集到現場有火災信號產生,則智能節點將火災信號打包成CAN數據包傳送到CAN總線上去,然后再由中央監控計算機對這些數據進行計算處理和統計評估。火災信號判斷的原則不是簡單的非準則,而需要同時考慮其它多種因素。根據預先設定的有關規則,將這些數據轉換為適當的報警動作指標,相應的發出預報警。如“產生少量煙,但溫度急劇上升――發出報警”,“產生少量煙,且溫升平緩――發出預報警”等。
4.3.1 硬件的抗干擾設計
3 火災報警系統的總體設計
系統在設計時,在保證系統的可靠工作和降低成本的同時也考慮了通用性、實時性和可擴展性等要求。系統結構框圖如圖1所示。
整個系統主要由中央監控計算機、服務器、CAN適配卡和智能節點四個部分組成。最多可掛接110個節點,也可利用中繼器對CAN總線進行擴展。采用CAN總線連接各個網絡節點,形成了一個分布式系統。網絡拓撲結構采用的是總線式結構,該結構電簡單、成本低、系統可靠性高。將帶片內CAN控制器的微處理器P87C591芯片與現場火災探測器相連,就構成了CAN智能節點。傳輸介質采用雙絞線。上位PC機通過PCCAN適配卡與CAN總線相連,進行信息的交換。各種火災探測器將實時探測到的物理量信號傳送給智能節點,如采集到現場有火災信號產生,則智能節點將火災信號打包成CAN數據包傳送到CAN總線上去,然后再由中央監控計算機對這些數據進行計算處理和統計評估。火災信號判斷的原則不是簡單的非準則,而需要同時考慮其它多種因素。根據預先設定的有關規則,將這些數據轉換為適當的報警動作指標,相應的發出預報警。如“產生少量煙,但溫度急劇上升――發出報警”,“產生少量煙,且溫升平緩――發出預報警”等。
4 火災報警系統的硬件設計
4.1 內嵌CAN控制器芯片P87C591
4.1 內嵌CAN控制器芯片P87C591
本設計所使用的Philips公司的P87C591芯片是一個8位高性能微控制器,具有片內CAN控制器。中央處理器CPU使用的操作數來自3個存儲空間:16KB內部程序存儲器,可擴展到64KB;512B內部數據存儲器;最大64KB外部數據存儲器。
P87C591包括獨立CAN控制器SJA1000具有的所有功能,并在此基礎上擴展了以下功能:①增強的CAN接收中斷,有接收緩沖區級的接收中斷;②擴展的驗收濾波器,8個濾波器用于標準幀格式,4個濾波器用于擴展幀格式[4]。
4.2 CAN收發器82C250
82C250用于CAN總線控制器和物理總線之間接口,它是由Philips公司設計生產,其通信介質與RS485相同,均為阻抗為120Ω雙絞線,信號傳輸方式和RS485一樣,也是采用差動發送和差動接收。通信速率為1Mbps時,其任意兩個節點之間的最大距離為40m;通信速率為5Kbps時,其任意兩個節點之間的距離可達10km。82C250有8個管腳,其封裝式有DIP8和S08兩種封裝形式,表1是它的管腳功能。
管腳 |
符號 |
功能描述 |
1 |
TXD |
發送數據輸入端,接控制器的串行數據輸出端 |
2 |
GND |
地 |
3 |
Vcc |
電源電壓,4.5V≤Vcc≥5.5V |
4 |
RXD |
接收數據輸出端,接控制器的串行數據接收端 |
5 |
Vref |
基準電壓輸出端 |
6 |
CANL |
低電平輸入/輸出端 |
7 |
CANH |
高電平輸入/輸出端 |
8 |
Rs |
斜率電阻輸入端 |
4.3 CAN智能節點硬件電路設計
在設計CAN總線系統智能節點時,采用內嵌CAN控制器的芯片P87C591和82C250芯片。圖2所示為CAN智能節點硬件電路示意圖,從圖中可以看出電路主要由三部分構成:P87C591、CAN總線收發器82C250和高速光電耦合器6N137。
4.3.1 硬件的抗干擾設計
在火災報警系統所應用的場合中,大多環境比較惡劣,存在大量的產生電磁、輻射和感應干擾設備,因此抗干擾設計顯得尤其重要。該系統中主要采取了如下幾種抗干擾措施:
(1)P87C591的接收端和發送端經過高速光電耦6N137與82C250的TXD和RXD相連,實現各節點之間電氣上的隔離。
(2)在CAN總線的兩端加兩個120Ω的電阻,可大大提高數據通信的抗干擾能力和可靠性。
(3)CANH和CANL與地之間并聯了兩個30pF的小電容,可以濾除總線上的高頻干擾并且具有一定的防電磁輻射的能力。
(4)采用屏蔽雙絞線進行網絡傳輸,可減小現場對節點的干擾。
4.3.2 中繼器電路設計
如果網絡中的節點太多,超過了總線驅動器的負載能力,或者各節點之間的距離大于總線規定的距離,則必需使用中繼器來隨時接收并判斷網絡中的數據流向,然后根據其數據的流向決定向中繼器的兩端中的某一端發送數據,這樣增加了網絡的節點數或延長各節點之間的距離。
在82C250組成的分布式系統中,各個節點可以同時向網絡發送數據。并且82C250在工作過程中,不需任何控制信號。在82C250構成的網絡中,只需要兩片82C250和兩個電阻就可以組成一個中繼器。
雖然82C250是為CAN總線配套的CAN總線驅動器,但它和RS485一樣,只是一種純硬件標準,它只規定 了串行通信鏈路的電氣特性,而軟件協議與它接口的通信控制器有關。由82C250和UART組成遠距離、多節點分布式測控系統和由RS485和UART組成的相比,其可靠性高、結構簡單、軟硬件開發難度小。
4.4 CAN智能節點的軟件設計
CAN智能節點軟件設計主要包括4個部分:CAN節點初始化、接收數據、發送數據和總線異常處理。圖3為主程序的流程圖。
(1)初始化子程序
P87C591片上自帶的CAN控制器在軟件上是向上兼容SJA1000的,所以對P87C591的初始化與獨立的CAN控制SJA1000初始化,主要包括工作方式的設置,接收濾波方式的設置,接收屏蔽寄存器AMR和接收代碼寄存器ACR的設置,波特率參數設置和中斷允許寄存器IER的設置等。
(2)接收子程序
接收子程序負責節點報文的接收以及其它情況處理,接收子程序比發送子程序要復雜一些,因為在處理接收報文的過程中,同時要對諸如脫離、錯誤報警、接收溢出等情況進行處理。
(3)發送子程序
發送子程序負責節點報文的發送,發送時用戶只需要將待發送的數據按特定格式組合成一幀報文送入P87C591片上的SJA1000發送緩存中,然后啟動P87C591發送即可。
(4)中斷服務子程序
中斷服務程序包括數據發送、數據接收、數據請求接收、錯誤處理子程序,首先將中斷現場保護,進入中斷服務之后,讀中斷寄存器IR的內容使中斷標志清空,并確定了中斷類型,然后根據不同的中斷類型進行任務散轉。出現了錯誤中斷,將進行錯誤處理;出現超載中斷,重新請求數據發送,等待下一次接收數據中斷;除此之外,根據RTR(Remote Transmission Request)的值確定是發送中斷還是接收中斷,RTR=1表示將要發送請求的數據幀,反之將要接收數據。中斷完成后恢復現場,退出中斷。
4 結論
(1)本設計采用CAN總線技術的火災報警系統,與傳統的RS-485通信方式相比,具有更高的可靠性、更強的實時性,系統實現機動靈活。
(2)采用帶片內CAN控制器的P87C591芯片,與常用的MCS-51系列單片機加CAN控制器方案相比,該系統具有應用設計簡單、體積小,以及方便嵌入應用和更高可靠性的優點。
(3)通過引入火災數據和專家系統、模糊邏輯理論、人工神經網絡等智能技術,綜合利用先進的計算機技術、現代控制技術、現代通信技術和現代圖形顯示技術,大大優化了火災報警系統的性能,降低了系統的誤報率和漏報率。
參考文獻
[1] 楊憲惠.現場總線技術及其應用[M].北京:清華大學出版社,1999
[2] 劉輝.基于CAN總線的智能火災報警系統的設計與實現[J].電氣時代,2001(5)
[3] 楊飛,鄭貴林.基于CAN總線的監控系統設計[J].微計算機信息,2005,21(7)
[4] 武小紅,成立,秦云.基于CAN總線的分布式安全報警系統[J].中國安全科學學報,2005,15(1)
[5] 張晶,鮑鴻.基于人工智能技術的火災探測信息融合系統[J].微型機與應用,2004(6)