





摘要:本文介紹了一種火災報警控制盤設計方法。本控制盤采用STC12C5A60S2單片機為主控芯片,可根據火災報警控制系統要監控的設備節點的數量方便進行配置和擴展。本文網絡版地址:http://www.eepw.com.cn/article/273267.htm
關鍵字:STC12C5A60S2;火災報警;控制盤DOI:10.3969/j.issn.1005-5517.2015.4.008
引言
火災報警系統能夠在火災初期,將燃燒產生的煙霧、熱量和光輻射等物理量,通過感溫、感煙和感光等火災探測器變成電信號,傳輸到火災報警控制器,并同時顯示出火災發生的部位,記錄火災發生的時間。一般火災自動報警系統包含消防報警主機、感煙探測器、感溫探測器、紅外探測器、火焰探測器、手報按鈕、消火栓按鈕、輸入模塊、輸出模塊、聲光報警器等設備。
現有的火災報警控制系統,通常將火災報警控制盤馬中心的火災報警控制器消防主機做在同一個機柜上,即系統中要控制的節點設備是固定的,這樣不利于繼續增加系統控制設備節點。為了解決該問題,根據火災自動報警控制系統要控制的設備的數量,設計一套火災報警控制盤系統。
1.火災報警控制盤系統設計
火災報警控制盤系統主要由火災報警主控制盤和從控制盤。主控制盤與從控制盤通過CAN總線相互連接。主控制盤與火災報警控制器消防主機通過RS232總線相互連接,將報警控制鍵盤系統采集到的按鍵信息發送給消防主機消防主機再根據按鍵信息控制對應的設備的開和關。主控制盤作為從控制盤與消防主機的中介,負責協助從控制盤與消防主機通信。火災報警控制盤的系統的組成如圖l所示。
火災報警控制盤系統中傳輸的信息主要有按鍵信息和LED燈顯示的信息。設置一個按鍵對應兩個LED燈,兩個LED的亮滅狀態分別表示請求指示燈和受控設備的開關狀態指示燈。按鍵與LED燈的顯示方案為:當按鍵按下時,點亮請求指示燈,等待應答,若收到應答,則設置改變受控設備的開關狀態指示燈,若沒收到應答,則按鍵對應的請求指示燈和受控設備開關狀態指示燈不動作。
2.火災報警控制盤硬件電路設計
火災報警主控制盤和從控制盤的軟件不一樣,在硬件方面上有很多相似的地方。主控制盤有串口通信功能,而從控制盤沒有,在電路設計方面,設計從控制盤與主控制盤的硬件電路一樣,只是從控制盤上的串口通信部分電路不用焊接上去。主和控制盤硬件組成主要有單片機最小系統電路、按鍵模塊電路、LED顯示模塊電路、CAN通信模塊電路、串口通信模塊電路(從控制盤上這部分電路不焊接),如圖2所示。
2.1單片機最小系統
主和從控制盤MCU采用STC12C5A60S20 STC12C5A60S2是高速/低功耗/超強抗干擾的新一代8051單片機,指令代碼完全 兼容傳統8051,但速度快8-12倍。 STC12C5A60S2的最小系統由時鐘電路、復位電路和PO的上拉電路組成。
2.2 按鍵模塊電路
主和從控制盤上的按鍵硬件設計采用ZLG7290這款芯片實現。ZLG7290采用I2C總線接口,與微控制器的連接僅需兩根信號線,即只需要用到2個IO口,而且硬件電路比較簡單,同時可以驅動8位共陰數碼管或64只獨立LED、64只獨立按鍵,并可提供自動消除抖動、連擊鍵計數等功能。按鍵電路中只使用了6行8列的按鍵、即48個按鍵。如圖4所示。
2.3 LED燈顯示電路
LED燈的數量根據按鍵的數量進行確認,因為有48個按鍵,這里讓2個LED燈對應一個按鍵,這兩個LED燈的作用分別為做設備請求狀態顯示和設備開關狀態顯示,所以需要有96個LED。LED燈的顯示使用動態掃描方式,采用2片移位寄存器74HC595串聯輸出12位并行信號作為8*12LED點陣段輸出,采用4-16譯碼器74HC154提供16個互斥的低有效輸出作為LED點陣的位輸出。如圖5所示。
2.4 CAN通信模塊電路
主和從控制盤上CAN總線接口,硬件設計中CAN協議控制器使用MCP2515, CAN總線驅動器使用TJA1050。Microchip的MCP2515是一款獨立控制器局域網絡協議控制器,完全支持CAN V2.OB技術規范,它與MCU之間通過SPI方式進行數據交互,大大減少了。TJA1050是控制器區域網絡(CAN)協議控制器和物理總線之間的接口。TJA1050可以為總線提供差動發送性能,為CAN控制器提供差動接收性能。硬件電路如圖6所示。
2.5 串口電路
主控制盤與消防主機間通過RS232總線接口進行通信,硬件采用MAX232這款芯片實現。在設計電路時,因為STC12C5A60S2能支持兩個RS232接口,所以電路上也畫了兩個RS232串口接口。如圖7所示。
2.6 電路的頂層原理圖
主或從控制盤的電路原理圖設計采用自下而上的層次原理圖設計,這樣可以清晰的看出MCU的I/O口使用情況。電路的頂層原理圖如圖8所示。
3.火災報警控制盤的軟件設計
火災報警控制盤的軟件設計分為主控制盤的軟件設計和從控制盤的軟件設計。主控制盤和從控制盤軟件上區別在于CAN收發數據的處理程序上。主控制盤作為一個中介,若從控制盤檢測有按鍵按下,則從控制通過CAN總線發送給主控制盤并由主控制盤通過串口把信息上傳給消防主機:若消防主機通過串口發送信息給主控制盤、主控制盤判斷是否是傳送給它的,若不是則轉發給對應的從控制盤,否則,對收到的數據進行解析。主、從控制盤的程序流程圖如圖9所示。
3.1 按鍵模塊軟件設計
如圖4、圖8所示,ZLG7290的第14引腳連接到STC12C5A60S2的P33即外部中斷l,當有按鍵按下時,ZLG7290的第14引腳會產生一個下降沿從而觸發了STC12C5A60S2的外部中斷l,這個時候STC12C5A60S2通過IIC總線讀從機地址(ZLG7290的從機地址為Ox70)的Ox01地址信息得到按鍵值。
3.2 LED燈顯示模塊軟件設計
如圖5、 圖8所示,STC12C5A60S2的POO、P01、P02控制兩片級聯的74HC595可以輸出16位任意數據;STC12C5A60S2的P14、P15、P16、P17控制HC154可以輸出16個互斥的低有效16位輸出。LED顯示采用動態掃描,先控制HC154輸出一個互斥的低有效16位輸出選中要顯示LED點陣的列,然后控制兩片級聯的74HC154輸出LED點陣對應的列要顯示的內容,這樣就顯示好一列,然后進行lOms的延時再顯示下一列。
3.3 CAN通信模塊軟件設計
如圖6、圖8所示,MCP2515與STC12C5A60S2通過SPI總線連接,MCP2515第12引腳INT接到STC12C5A60S2的外部中斷l。當MCP2515收至UCAN總線上發送給它的數據時,會觸發STC12C5A60S2的外部中斷l,此時STC12C5A60S2通過SPI總線讀MCP2515的RXBODLC得到CAN數據包的字節長度LEN,讀取RXBODO處的LEN字節得到CAN數據包的內容;若MCP2515要發送CAN數據包、則STC12C5A60S2通過SPI總線寫MCP2515的TXBODLC寄存器來設置CAN數據包的長度LEN,寫MCP2515的TXBODO—TXBODx(x=LEN-l)設置CAN數據包的內容。
因為控制盤系統涉及到多機通信,所以需要設置CAN通信使用的協議。CAN總線使用的數據幀由7個不同的位場組成,其中數據場代表CAN總線數據包內容,其長度最大為8字節,所以要通過CAN總線發送數據內容字節長度大于8字節需要分段進行發送。協議上使用的數據包格式為如表1。
本設計中,CAN總線通信的主要內容是按鍵信息和LED燈的信息,其中按鍵信息格式用一個字節表示,字節的低7位表示按鍵的實際值,最高為1表示按鍵請求受控設備打開,為O表示請求設備關閉:LED燈顯示信息用12個字節表示,對應96個LED燈的顯示狀態。
在協議中,為了表示CAN數據包是表示哪種信息,設置數據包格式中第一個分段或當只有一個分段時,數據包格式中的數據DATA[O] =Ox01表示按鍵信息,DATA[O] =Ox02表示LED燈顯示信息;DATA[1]表示要表示的信息對應的字節長度LEN,之后的LEN字節表示信息的內容。
因為按鍵信息只需要用到一個字節就可以表示,所以設置CAN通信協議數據包格式中SEGFLG為Oxfe表示只有一個分段,數據DATA[O]設置為Ox01表示數據包代表按鍵信息,數據DATA[1]表示按鍵信息的長度LEN(LEN=1),DATA[2]表示按鍵的消息,DATA[3]為發送方地址SRC、分段說明、數據DATA[O]、DATA[1]、DATA[2]的校驗和。
若發送的是LED燈顯示信息,則需要分段進行發送。設置CAN通信協議數據包格式中SEGFLG分別為l、2、Oxff表示分段l、2和最后一個分段。分段1的數據DATA[o]設置為Ox02表示數據包代表LED顯示信息,DATA[l]=OxOe表示LED燈顯示的信息長度為12字節,DATA[2]—DATA[5]表示LED顯示信息的前4個字節,字段2的DATA[O]—DATA[5]表示LED顯示信息的第5到第10字節,字段Oxff表示DATA[O]、DATA[1]表示LED顯示信息的后兩個字節,DATA[2]為校驗和。
3.4 串口通信軟件設計
STC12C5A60S2串口發送數據一次可以發送多個字節,不需要分段發送。本設計中主控制盤與消防主機之間的通信采用串口通信。若使用現有的消防主機,則主控制盤串口通信程序需要根據消防主機使用的串口通信協議進行編程。
本設計中,重點主要是火災報警控制盤系統的設計,對消防主機設計不進行深入,假設消防主機使用的串口通信協議如下:通信協議采用校驗和對發送過來的幀進行判斷是否是正確。為保證通信協議的透明性,即保證用戶的數據可以是任何內容,發送方和接收方永遠不會對用戶發送的數據內容做任何限制,該通信協議規定轉義字符為Oxdb,若傳送的數據是幀尾(OxFF),則將傳送Oxdb,Oxde,若傳送的數據是轉義字符,則傳送Oxdb, Oxdd這兩個字符。
通信協議中的幀格式如表2所示,串口通信協議中按鍵信息與LED燈顯示信息的表示與CAN通信協議一樣。
4.總結
主和從控制盤上面硬件電路是一樣的,只是從控制盤上面不需要串口接口電路,即需要把從控制盤上面的串口接口電路焊接即可。主控制盤的實物如圖5—1所示。用PC機的串口調試助手模擬消防主機,將PC串口與主控制盤的串口連接,將主控制盤與從控制盤的CAN接口相連接,能夠實現PC機串口調試助手與主控制盤通信,且可以借助主控制盤進行與從控制盤通信。
本設計采用STC12C5A60S2單片機作為微控制器,設計火災報警主控制盤和從控制盤,組成一套完整簡便且成本較低的火災報警控制盤系統。該系統能夠根據火災報警控制系統要監控的設備節點的數量進行擴展,和消防主機配合使用可以組成一套完整的消防火災報警系統。