李忠奎,姚永輝,溫 良,賈曉娣
(煤炭科學(xué)研究總院 北京 100013)
近些年,煤礦事故災(zāi)害頻發(fā),已經(jīng)引起了國家領(lǐng)導(dǎo)的高度重視,明確要求要大力加強(qiáng)安全監(jiān)管監(jiān)控,避免災(zāi)害發(fā)生,確保生命財產(chǎn)安全。在煤礦各類事故中,頂板事故次數(shù)和造成人員死亡人數(shù)分別占煤礦事故總數(shù)的50%和34%以上,總起數(shù)居所有事故類別第一位,死亡人數(shù)僅次于瓦斯[1]。因此,筆者設(shè)計(jì)了采用CAN多主通訊技術(shù)的煤礦頂板監(jiān)測系統(tǒng),對頂板支架壓力、錨桿(索)應(yīng)力和頂板離層等多參數(shù)實(shí)時監(jiān)測,并進(jìn)行災(zāi)害預(yù)測預(yù)警,使礦山企業(yè)能夠及時進(jìn)行險情處理,從而避免事故災(zāi)害的發(fā)生,對煤礦安全生產(chǎn)具有十分重要的意義。
CAN,全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。最初,CAN被設(shè)計(jì)作為汽車環(huán)境的微控制通信,在車載各電子控制裝置ECU之間交換信息,形成汽車電子控制網(wǎng)絡(luò)。1993年,CAN就已經(jīng)在汽車工業(yè)、航空工業(yè)、工業(yè)控制、安全防護(hù)等領(lǐng)域得到了廣泛的應(yīng)用[2-3]。
CAN總線有如下特點(diǎn):CAN具有完善的通信協(xié)議,可由CAN控制器芯片及其接口芯片來實(shí)現(xiàn),從而大大降低了系統(tǒng)的開發(fā)難度,縮短了開發(fā)周期;CAN協(xié)議分為目標(biāo)層、傳輸層、物理層(目標(biāo)層的功能:確定要發(fā)送的報文、確認(rèn)傳輸層接收到的報文、為應(yīng)用層提供接口;傳輸層的功能:幀組織、總線仲裁、檢錯、錯誤報告、錯誤處理;物理層的范圍包括實(shí)際位傳送過程中的電氣特性);CAN協(xié)議使用2種邏輯位表達(dá)方式,當(dāng)總線上的CAN控制器發(fā)送的都是弱位時,此時總線狀態(tài)是弱位(邏輯1),如果總線上有強(qiáng)位出現(xiàn),弱位總是讓位于強(qiáng)位,即總線狀態(tài)是強(qiáng)位(邏輯0);CAN通訊采用短幀結(jié)構(gòu),規(guī)定了數(shù)據(jù)塊的長度最多為8個字節(jié),傳輸時間短,受干擾概率低,保證了通信的實(shí)時性;每幀信息都有CRC?校驗(yàn)及其它檢錯措施,保證數(shù)據(jù)出錯率極低;可工作于多主方式,網(wǎng)絡(luò)中的各節(jié)點(diǎn)都可根據(jù)總線訪問優(yōu)先權(quán),采用無損結(jié)構(gòu)的逐位仲裁方式競爭向總線發(fā)送數(shù)據(jù);使用了數(shù)據(jù)塊編碼方式,使得網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個數(shù)在理論上不受限制,并可使不同的節(jié)點(diǎn)同時接收到相同的數(shù)據(jù);CAN節(jié)點(diǎn)在錯誤嚴(yán)重的情況下具有自動封閉輸出功能,以使總線上其他節(jié)點(diǎn)的操縱不受影響;CAN的通訊介質(zhì)選擇靈活,可為雙絞線、普通電纜或光纖。
CAN2.0B技術(shù)規(guī)范中定義了數(shù)據(jù)幀、遠(yuǎn)程幀、錯誤幀、過載幀和幀間間隔[4]。數(shù)據(jù)幀和遠(yuǎn)程幀可以使用標(biāo)準(zhǔn)幀和擴(kuò)展幀兩種格式,它們用一個幀空間與前面的幀分隔。在擴(kuò)展數(shù)據(jù)幀中,如圖1所示,仲裁字段的前11位為29位標(biāo)識符的最有效位 (基本ID)。緊隨這11位的是替換遠(yuǎn)程請求SRR位,定義為隱性狀態(tài)。SRR位之后是IDE位,該位隱性時表示這是擴(kuò)展的CAN幀。SRR位和IDE位之后是標(biāo)識符的其余18位(擴(kuò)展ID)以及一個遠(yuǎn)程發(fā)送請求位。為使標(biāo)準(zhǔn)幀和擴(kuò)展幀都能在共享網(wǎng)絡(luò)上發(fā)送,應(yīng)將29位的擴(kuò)展報文標(biāo)識符拆分成最高11位和最低18位兩部分。拆分后可確保IDE位在標(biāo)準(zhǔn)數(shù)據(jù)幀和擴(kuò)展幀中的位置保持不變。仲裁字段之后是6位控制字段??刂谱侄吻?位為保留位,必須定義為顯性位。其余4位為數(shù)據(jù)長度DLC,說明報文中包含的數(shù)據(jù)字節(jié)數(shù)。擴(kuò)展數(shù)據(jù)幀的其他部分(數(shù)據(jù)字段,CRC字段,確認(rèn)字段,幀結(jié)尾和間斷)與標(biāo)準(zhǔn)數(shù)據(jù)幀的結(jié)構(gòu)相同。通過對CAN協(xié)議和幀結(jié)構(gòu)分析,知道CAN以報文為單位進(jìn)行信息傳送,報文中包含標(biāo)識符ID,它也標(biāo)志了報文的優(yōu)先權(quán)。設(shè)計(jì)多主通訊系統(tǒng)時,按照系統(tǒng)中各種消息的重要性,合理安排其優(yōu)先級,即設(shè)置高優(yōu)先級的報文相應(yīng)位標(biāo)示符ID為顯性,低優(yōu)先級的報文相應(yīng)位標(biāo)示符為隱形。當(dāng)多個節(jié)點(diǎn)同時向總線發(fā)送消息時,因優(yōu)先級高的報文相應(yīng)位為顯性,則總線的相應(yīng)位的狀態(tài)為顯性,優(yōu)先級低的報文發(fā)送節(jié)點(diǎn)檢測到總線狀態(tài)與發(fā)送報文狀態(tài)不符,自動退出報文發(fā)送,而高優(yōu)先級的節(jié)點(diǎn)可不受影響地繼續(xù)傳輸數(shù)據(jù),優(yōu)先級低的報文節(jié)點(diǎn)在檢測到總線空閑時再重新發(fā)送報文。
通過合理安排消息優(yōu)先級,設(shè)置報文標(biāo)示符ID,使CAN總線實(shí)現(xiàn)多主通訊。由于標(biāo)識符ID并不指出報文的目的地址,而是描述數(shù)據(jù)的含義,網(wǎng)絡(luò)中所有節(jié)點(diǎn)都可由ID寄存器和屏蔽寄存器控制來自動決定是否接收該報文。因此,CAN總線可實(shí)現(xiàn)點(diǎn)對點(diǎn)、一點(diǎn)對多點(diǎn)及廣播方式傳輸數(shù)據(jù),無需調(diào)度。
CAN總線多主通訊網(wǎng)絡(luò)各節(jié)點(diǎn)之間的數(shù)據(jù)通信實(shí)時性強(qiáng),并且容易構(gòu)成冗余結(jié)構(gòu),提高了通訊系統(tǒng)的可靠性和靈活性。
圖1 CAN擴(kuò)展數(shù)據(jù)幀F(xiàn)ig.1 Extended data frame of CAN
煤礦頂板監(jiān)測系統(tǒng)主要由工控機(jī)、監(jiān)控軟件、通訊接口、通訊主站、監(jiān)控分站、頂板離層傳感器、錨桿(索)應(yīng)力傳感器和支架(柱)壓力傳感器等設(shè)備組成。系統(tǒng)采用多主通訊方式,傳感器和分站由電源箱供電,傳感器可以掛接到分站上也可以掛接到總線上,從而使系統(tǒng)布線更加靈活,節(jié)點(diǎn)更加智能。通訊系統(tǒng)結(jié)構(gòu)示意圖如圖2所示。
圖2 通訊系統(tǒng)結(jié)構(gòu)示意圖Fig.2 Schematic diagram of the communication system structure
系統(tǒng)中報文信息主要包括:傳感器發(fā)送給分站或上位機(jī)的地址、類型、數(shù)據(jù)和狀態(tài)信息,傳感器發(fā)送給分站的控制信息,分站發(fā)送給上位機(jī)地址、類型信息,分站發(fā)送給上位機(jī)的傳感器的地址、類型、數(shù)據(jù)和狀態(tài)信息,分站發(fā)送給傳感器的控制信息和閾值信息,上位機(jī)發(fā)送給分站的控制信息,上位機(jī)發(fā)送給傳感器的控制信息和閾值信息,上位機(jī)發(fā)送給分站的傳感器的控制信息和閾值信息等??梢?,系統(tǒng)報文信息類型比較多,優(yōu)先級設(shè)置的好壞,直接會影響系統(tǒng)信息傳輸?shù)姆€(wěn)定性和可靠性。因此,系統(tǒng)優(yōu)先級設(shè)置按照如下原則進(jìn)行:控制信息級別大于普通數(shù)據(jù)信息級別;下發(fā)信息級別大于上發(fā)信息級別;地址類型信息級別大于數(shù)據(jù)狀態(tài)信息級別。
在MCP2510控制器中有固定的驗(yàn)收濾波器和屏蔽寄存器,通過設(shè)置該寄存器的值,可以實(shí)現(xiàn)節(jié)點(diǎn)的報文自動過濾功能。屏蔽寄存器用來確定濾波器對標(biāo)識符中的哪位進(jìn)行校驗(yàn),過濾器用來與標(biāo)識符中的字段進(jìn)行比較。在設(shè)置了相應(yīng)的驗(yàn)收濾波器后,控制器接收報文時,自動把報文標(biāo)示符字段和過濾寄存器的值進(jìn)行比較,如果兩者匹配,報文才會載入接收緩沖器中,并觸發(fā)中斷,告知CPU收到新消息,如果不匹配,該報文自動丟掉,不會引發(fā)中斷。系統(tǒng)中設(shè)置各節(jié)點(diǎn)對地址和類型進(jìn)行自動過濾,把不屬于本節(jié)點(diǎn)的報文信息自動屏蔽,這樣大大提高了CPU的使用效率,提高了系統(tǒng)性能。
通過以上原則編制好報文信息的優(yōu)先級,并設(shè)置相應(yīng)類型節(jié)點(diǎn)驗(yàn)收濾波器,使節(jié)點(diǎn)自動屏蔽過濾不屬于本節(jié)點(diǎn)的報文信息,大大增強(qiáng)了節(jié)點(diǎn)的智能性,提高了網(wǎng)絡(luò)通信的性能。
CAN通訊節(jié)點(diǎn)電路圖如圖3所示,控制器采用MCP2510,收發(fā)驅(qū)動器采用CTM8251A[5-6]。MCP2510外接了8 MHz的晶體振蕩器,通過SI、SO、SCK、CS實(shí)現(xiàn)和單片機(jī)的SPI通信模式。通過一個外接的復(fù)位電路,當(dāng)復(fù)位引腳RESET的電平被拉低時,可以實(shí)現(xiàn)MCP2510的復(fù)位。RXCAN端和TXCAN端分別連接到CAN收發(fā)器的RXD和TXD端。
圖3 CAN通訊節(jié)點(diǎn)電路圖Fig.3 Circuit diagram of CAN communication node
SPI通訊以主從方式工作,這種模式通常有一個主設(shè)備和一個或多個從設(shè)備,需要至少4根線,它們是SI(數(shù)據(jù)輸入),SO(數(shù)據(jù)輸出),SCK(時鐘),CS(片選)。 SPI是串行通訊,由SCK提供時鐘脈沖,數(shù)據(jù)在時鐘上升沿或下降沿時改變,在緊接著的下降沿或上升沿被讀取,完成一位數(shù)據(jù)傳輸。這樣,在至少8次時鐘信號的改變(上沿和下沿為一次),就可以完成8位數(shù)據(jù)的傳輸。SPI與普通的串行通訊不同,普通的串行通訊一次連續(xù)傳送至少8位數(shù)據(jù),而SPI允許數(shù)據(jù)一位一位的傳送,甚至允許暫停。SPI的數(shù)據(jù)輸入和輸出線獨(dú)立,所以允許同時完成數(shù)據(jù)的輸入和輸出。
節(jié)點(diǎn)通訊程序采用C語言進(jìn)行編制,在MCP2510控制器初始化程序中設(shè)置屏蔽過濾寄存器對報文信息進(jìn)行過濾,在報文發(fā)送程序中設(shè)置報文優(yōu)先級。MCP2510控制器初始化和報文發(fā)送的程序如下。
煤礦監(jiān)測系統(tǒng),測點(diǎn)分布廣、分布不均勻,且多數(shù)都在井下潮濕、強(qiáng)電磁輻射環(huán)境中,環(huán)境條件復(fù)雜惡劣,而上位機(jī)一般設(shè)置在調(diào)度室,信號傳輸距離遠(yuǎn),所以如何保障通訊系統(tǒng)的可靠性是十分重要的課題。為了保障系統(tǒng)運(yùn)行穩(wěn)定可靠,把可靠性設(shè)計(jì)運(yùn)用到系統(tǒng)設(shè)計(jì)的每個環(huán)節(jié)中,重點(diǎn)從各個儀器設(shè)備的軟硬件設(shè)計(jì)、上位機(jī)通訊軟件設(shè)計(jì)、通訊協(xié)議的制定和系統(tǒng)網(wǎng)絡(luò)布置上下功夫,大大降低了系統(tǒng)的故障率,減少了系統(tǒng)維護(hù)的成本。
在軟件可靠性[7-8]設(shè)計(jì)上主要考慮如下問題:設(shè)計(jì)好報文信息優(yōu)先級,不要使優(yōu)先級高的信息始終占領(lǐng)總線,也不能使優(yōu)先級低的信息發(fā)送間隔時間太長;在信息響應(yīng)或者等待中采用超時機(jī)制,防止陷入死循環(huán);采用數(shù)據(jù)校驗(yàn),以保證數(shù)據(jù)的可靠性;硬件故障自診斷;檢測總線錯誤信息,并作相應(yīng)處理;設(shè)計(jì)合理的波特率等。
在硬件可靠性設(shè)計(jì)上主要考慮電磁兼容問題,以保障設(shè)備在強(qiáng)電磁干擾環(huán)境中仍能夠協(xié)調(diào)、有效地進(jìn)行工作。在設(shè)計(jì)上具體做如下處理:針對不同信號,選擇合理的導(dǎo)線寬度,盡量加粗接地線;正確選擇單點(diǎn)接地或多點(diǎn)接地;將數(shù)字電路與模擬電路分開;采取部分或全部屏蔽措施;采用正確的布線策略;還要考慮去耦電容配置、印制電路板的尺寸、器件的布置和散熱情況等。
系統(tǒng)運(yùn)行可靠,網(wǎng)絡(luò)布置設(shè)計(jì)是重中之重,因此在網(wǎng)絡(luò)設(shè)計(jì)上需要注意如下問題:最好采用總線型結(jié)構(gòu),其它結(jié)構(gòu)需要配以網(wǎng)絡(luò)分配器;可以采用冗余設(shè)計(jì);總線節(jié)點(diǎn)引出線不宜過長,以免信號反射;傳輸介質(zhì)采用屏蔽雙絞線,以抑制電磁干擾;網(wǎng)絡(luò)終端配置匹配電阻,吸收網(wǎng)絡(luò)上的反射波,消除反射波對信號的干擾;在信號線上設(shè)置上拉和下拉電阻,拉高信號的幅度,減少誤碼率;在信號線上并聯(lián)一對方向相反的瞬態(tài)二極管,以防雷擊和瞬態(tài)干擾等。
采用CAN多主通訊技術(shù)設(shè)計(jì)的煤礦頂板安全監(jiān)測系統(tǒng),各節(jié)點(diǎn)可任意時間發(fā)送數(shù)據(jù),可以任意向某一節(jié)點(diǎn)或多個節(jié)點(diǎn)發(fā)送數(shù)據(jù),不僅提高了系統(tǒng)實(shí)時性,而且使系統(tǒng)更加智能,系統(tǒng)布置更加靈活方便。系統(tǒng)設(shè)計(jì)上充分考慮可靠性問題,大大增強(qiáng)了監(jiān)測系統(tǒng)的穩(wěn)定性和通訊數(shù)據(jù)的可靠性,減少了系統(tǒng)維護(hù)工作量。應(yīng)用該系統(tǒng),使礦山企業(yè)能及時了解井下頂板安全狀況,及早發(fā)現(xiàn)和處理安全隱患,從而避免災(zāi)害事故的發(fā)生。
[1]馬念杰,賈明魁,鄧廣濤.煤礦巷道頂板災(zāi)害防治[C]//第32屆國際礦山安全研討會論文集.2007:313-318.
[2]鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1996.
[3]秦健.基于CAN總線驅(qū)動器和異步收發(fā)器的通信網(wǎng)絡(luò)[J].計(jì)算機(jī)測量與控制,2010,18(2):443-445.QIN Jian.Communication network based on CAN bus driver andasynchronousreceiver/transmitter[J].Computer Measurement&Control,2010,18(2):443-445.
[4]Microchip Technology Inc.Stand-Alone CAN Controller with SPI Interface[EB/OL].(2005-01-03).http://ww1.microchip.com/downloads/en/DeviceDoc/21801d.pdf.
[5]廣州志遠(yuǎn)電子有限公司.CTM8251A通用CAN隔離收發(fā)器[S].廣州:廣州志遠(yuǎn)電子有限公司,2009.
[6]劉明,朱其剛,李世光.基于CAN總線驅(qū)動器PCA82C250的多主結(jié)構(gòu)分布式工業(yè)測控系統(tǒng)的應(yīng)用研究[J].電氣自動化,2006,28(2):130-131.LIU Ming, ZHU Qi-gang, LI Shi-guang.The application research of multi-master distributed industrial measure and control system based on CAN bUS driver PCA82C250[J].Electrical Automation,2006,28(2):130-131.
[7]陳文.軟件可靠性模型中樣點(diǎn)可信度 [J].現(xiàn)代電子技術(shù),2009(20):103-106.CHEN Wen.Sample reliability ofsoftware reliability modeling[J].Modern Electronics Technique,2009(20):103-106.
[8]姜興杰,楊峰輝.軟件可靠性分析與設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011(7):135-137,141.JIANG Xing-jie,YANG Feng-hui.Analysis and design of the software reliability[J].Modern Electronics Technique,2011(7):135-137,141.