一種基于CAN總線(xiàn)的集散型火災報警控制系統
MCP2510的初始化包括設定可編程引腳功能、總線(xiàn)波特率以及接收過(guò)濾器與屏蔽器,以下主要介紹總線(xiàn)波特率以及接收過(guò)濾器與屏蔽器的初始化。
3.1波特率初始化
MCP2510內含的波特率發(fā)生器由可編程預分頻器、固定2分頻器和位定時(shí)器級連而成,它使設計者可以方便地選擇所需要的任何波特率。在位定時(shí)器中,MCP2510將一個(gè)位周期依次分割為同步段、傳播段、相位緩沖段1和相位緩沖段2等4個(gè)時(shí)間段,每個(gè)時(shí)間段的長(cháng)度都是輸入信號周期TQ的整數倍,其中同步段固定為1TQ,其余3個(gè)時(shí)間段的長(cháng)度都是可編程的。所謂波特率初始化,就是設置可編程預分頻器和位定時(shí)器各可編程時(shí)間段的值,使其滿(mǎn)足波特率的需要。
根據CAN技術(shù)協(xié)議,波特率為1Mbps時(shí),通信距離為40m,波特率為5Kbps時(shí),通信距離最遠可以達到10Km??紤]到本文系統既可用作一個(gè)高層樓宇的火災報警控制網(wǎng)絡(luò ),又可用作一個(gè)單位內部多個(gè)倉庫、車(chē)間等的火災報警控制網(wǎng)絡(luò ),所以通信距離應該在數千米以上,而所要傳輸的數據量不大,故可以選擇較低的波特率。在實(shí)際應用中,筆者選擇波特率為8Kbps。
本文系統選擇12Mhz晶體振蕩器為MCP2510提供時(shí)鐘信號。根據位定時(shí)器中各個(gè)時(shí)間段的長(cháng)度必須滿(mǎn)足的約束條件,初始化傳播段寄存器PRSEG=3,相位緩沖段1寄存器PHSEG1=4,相位緩沖段2寄存器PHSEG2=4;然后初始化預分頻器BRP=49。從而可得總分頻系數為(49+1)×2×[1+(3+1)+(4+1)+(4+1)]=1500,最終獲得8Kbps的波特率。
3.2過(guò)濾器與屏蔽器初始化
MCP2510具有完善的總線(xiàn)爭用功能,可用于分布式系統,但是,在火災報警控制系統中,因為集中機擔負著(zhù)對區域機的監管任務(wù),所以本文系統采用了集中-分散控制方式,集中機不斷地巡回查詢(xún)區域機,在工作臺上隨時(shí)反映區域機工作的情況,為工作人員提供維護設備的依據。
MCP2510支持標準幀、擴展幀和遠程幀,數據段長(cháng)度為0-8個(gè)字節。器件對CAN總線(xiàn)上的數據接收是通過(guò)2個(gè)接收緩沖器、6個(gè)接收過(guò)濾器和2個(gè)接收屏蔽器的組合來(lái)實(shí)現的。CAN總線(xiàn)上的幀只有至少滿(mǎn)足一個(gè)接收過(guò)濾器的條件才可被接收。為了說(shuō)明過(guò)濾器與屏蔽器的初始化方法,這里首先介紹報文幀。本文系統只使用標準數據幀進(jìn)行數據傳輸。標準數據幀的長(cháng)度為44+8n位,其中11位ID段在本文系統中被分為兩部分,高7位用來(lái)表示區域機的邏輯地址碼,整個(gè)系統允許接入的區域機最多為50個(gè),低4位用來(lái)表示報文類(lèi)型碼。集中機發(fā)送的報文幀如表1所示,區域機發(fā)送的報文幀如表2所示。8n位數據段可有可無(wú),在表1中,只有選呼聯(lián)動(dòng)報文含有數據段,表示請求聯(lián)動(dòng)的設備號,在表2中,只有請求點(diǎn)名報文不含數據段,其余報文必須至少含有1個(gè)字節數據,用來(lái)表示區域機的邏輯地址碼,其余數據用來(lái)表示故障、報警的探測器號和設備號,或區域機配置。
表1:集中機發(fā)送的報文幀

表2:區域機發(fā)送的報文幀

表1中的xxxxxx表示集中機要訪(fǎng)問(wèn)的區域機的邏輯地址碼。表1的報文是發(fā)送給區域機的,表2的報文是發(fā)送給集中機的,報文能否被接收,要由MCP2510的過(guò)濾器來(lái)決定,因此,初始化時(shí),集中機按從上到下的順序將表2中的數據依次寫(xiě)入MCP2510的過(guò)濾器RXF1~RXF5,區域機在用本機的邏輯地址碼代替表1中的xxxxxx之后,也按從上到下的順序將表1中的數據依次寫(xiě)入MCP2510的過(guò)濾器RXF1~RXF5,未曾用到的過(guò)濾器RXF0被設置為全“1”,使其不接收總線(xiàn)上的任何有效報文。初始化時(shí),在區域機方面,將2個(gè)接收屏蔽器都設置為全“1”,在集中機方面,將接收屏蔽器RXM1設置為全“1”,而將RXM0設置為10110111010B,表示除集中機的過(guò)濾器RXF1的SID9、SID6、SID2和SID0等4位外,過(guò)濾器的其余所有位都參與信息過(guò)濾,這是因為上述4位與請求點(diǎn)名幀的ID碼在跳變位置上的隱性位相對應,而請求點(diǎn)名幀容許多個(gè)區域機同時(shí)發(fā)送,從而由傳輸延遲引起的碼間串擾,很可能使這些位的狀態(tài)不確定。
4通信過(guò)程簡(jiǎn)介
集散型火災報警控制系統的通信過(guò)程,也就是集中機對區域機循環(huán)進(jìn)行的點(diǎn)名和查詢(xún)過(guò)程。在點(diǎn)名階段,集中機發(fā)送廣播點(diǎn)名幀,區域機以請求點(diǎn)名幀響應,若接收到未被登錄的區域機發(fā)出的請求點(diǎn)名幀,集中機進(jìn)行選呼點(diǎn)名,區域機以配置幀響應;在查詢(xún)階段,集中機反復判斷有無(wú)自檢請求,若有自檢請求,則對區域機逐個(gè)選呼自檢,區域機以配置幀響應,自檢結束,繼續選呼查詢(xún),區域機以正常幀、或故障幀,或報警幀響應,在查詢(xún)中若接收到報警信號,再根據需要發(fā)送選呼聯(lián)動(dòng)幀,區域機以正常幀確認。
5結束語(yǔ)
實(shí)驗結果表明,因為MCP2510具有完善的現場(chǎng)總線(xiàn)管理機制和面向單片機的SPI接口,一方面簡(jiǎn)化了系統的軟、硬件設計,另一方面使節點(diǎn)控制器擺脫了對網(wǎng)絡(luò )通信的頻繁干預,從而大大提高了系統的整體性能,與采用RS232等其它串行通信技術(shù)的集散型系統相比較,本文提出的基于CAN總線(xiàn)的集散型火災報警控制系統具有較高的安全性、可靠性和實(shí)時(shí)性,可用于各種場(chǎng)合的火災報警控制。
評論