CAN總線冗余的船舶監(jiān)控系統(tǒng)設(shè)計(jì)方案
?針對(duì)我國(guó)造船業(yè)的發(fā)展現(xiàn)狀和現(xiàn)有系統(tǒng)中存在的一些問題,提出一種基于冗余CAN總線設(shè)計(jì)的船舶監(jiān)控系統(tǒng)。通過對(duì)CAN收發(fā)器的冗余,實(shí)現(xiàn)CAN總線物理層上的冗余,并在CAN總線上增加保護(hù)電路,最大可能地保證通信的可靠性。針對(duì)模擬通道的抗干擾設(shè)計(jì)方法,提出隔離式模擬量測(cè)量模塊的設(shè)計(jì)方法。
關(guān)鍵詞? 模擬量隔離? CAN總線冗余設(shè)計(jì)? 船舶監(jiān)控系統(tǒng)? MC9S080Z16? TJA1050T
引言
近年來,我國(guó)的造船業(yè)取得了飛躍性的發(fā)展。據(jù)船舶工業(yè)統(tǒng)計(jì)快報(bào)報(bào)道,2007年,中國(guó)造船完工量1893萬載重噸,比上年增長(zhǎng)30%;新承接船舶訂單9845萬載重噸,比上年增長(zhǎng)132%。隨著自動(dòng)化水平的提高,大大小小的船舶都安裝了監(jiān)控系統(tǒng)。目前船舶自動(dòng)監(jiān)測(cè)系統(tǒng)主要有主從分布式控制、集散式控制等,但這些控制方式都存在系統(tǒng)結(jié)構(gòu)復(fù)雜、控制集中等缺點(diǎn)。本監(jiān)控系統(tǒng)采用了冗余CAN總線設(shè)計(jì)船艙自動(dòng)監(jiān)測(cè)系統(tǒng),將傳統(tǒng)分布式監(jiān)控系統(tǒng)中的控制功能下放到現(xiàn)場(chǎng)監(jiān)控單元中,由分布于現(xiàn)場(chǎng)的各監(jiān)控單元完成數(shù)據(jù)采集、處理、控制運(yùn)算、輸出等工作。與上位機(jī)的信息交互通過現(xiàn)場(chǎng)總線進(jìn)行。在計(jì)算機(jī)中以文字、列表、曲線等形式顯示現(xiàn)場(chǎng)的數(shù)據(jù)、變化趨勢(shì)、故障情況和報(bào)警狀態(tài),為管理人員的操作提供可靠、準(zhǔn)確的實(shí)時(shí)信息,從而實(shí)現(xiàn)實(shí)時(shí)監(jiān)控?;谶@種方式的監(jiān)控系統(tǒng)是船舶自動(dòng)監(jiān)控系統(tǒng)的重要發(fā)展方向。
1? 系統(tǒng)工作原理及功能
系統(tǒng)整體結(jié)構(gòu)框圖如圖1所示,模擬量輸入板卡和數(shù)字量輸入板卡通過接插件連接到主控制器板上,由主控制器完成對(duì)數(shù)據(jù)的采集與轉(zhuǎn)換。主控制器將數(shù)據(jù)打包,發(fā)送到其他CAN節(jié)點(diǎn),同時(shí)接收并解析其他節(jié)點(diǎn)發(fā)送來的數(shù)據(jù),完成對(duì)現(xiàn)場(chǎng)模塊的控制。模擬量輸入板卡主要是對(duì)外部模擬信號(hào)進(jìn)行濾波、隔離、調(diào)理,濾波后變成一個(gè)適合于單片機(jī)進(jìn)行采樣的模擬電壓。其采集的模擬信號(hào)主要有兩種類型: 0~10 V的模擬電壓信號(hào)和4~20 mA的電流信號(hào)。這是工業(yè)現(xiàn)場(chǎng)中最常用的模擬信號(hào)。數(shù)字量輸入板卡主要采集外部開關(guān)量信號(hào),完成開關(guān)量的隔離、濾波,然后送到主控制器完成對(duì)數(shù)字量的采集。其中模擬量的隔離輸入和冗余的CAN總線,是本設(shè)計(jì)比現(xiàn)有的一些基于現(xiàn)場(chǎng)總線的監(jiān)控產(chǎn)品的先進(jìn)之處。
2.1? 主控制器選擇
為了減少外部器件,提高系統(tǒng)的穩(wěn)定性,主控制器選用帶有片內(nèi)A/D和CAN控制器的MC9S08DZ16。該單片機(jī)是Freescale公司2007年推出的一款高性能8位單片機(jī);基于HCS08內(nèi)核,最高運(yùn)行時(shí)鐘頻率為40 MHz,最多支持32個(gè)優(yōu)先級(jí);內(nèi)部集成有16? KB Flash存儲(chǔ)器,1 KB SRAM、512 B在線可編程EEPROM、1個(gè)12位的A/D轉(zhuǎn)換器,多種節(jié)電模式以及2種超低功耗停止模式,同時(shí)內(nèi)部集成CAN2.0 A/B控制器以及多種標(biāo)準(zhǔn)串行接口。
2.2? CAN總線的電氣保護(hù)
船舶機(jī)艙中工況條件十分惡劣,各種電磁干擾對(duì)物理鏈路及數(shù)據(jù)鏈路的正常工作都有嚴(yán)重的影響。這些對(duì)控制系統(tǒng)是極大的威脅,非常容易導(dǎo)致系統(tǒng)癱瘓。為了最大程度地保證網(wǎng)絡(luò)系統(tǒng)正常工作,采取了以下兩種措施:第一種措施是電氣隔離。通信電纜是網(wǎng)絡(luò)系統(tǒng)中受干擾最大的部分,而且各種干擾也極容易順通信電纜進(jìn)入系統(tǒng),從而引起系統(tǒng)的工作不正常。為了切斷這條干擾途徑,保護(hù)CAN控制器,在CAN控制器與收發(fā)器之間增加了6N137,以進(jìn)行光電隔離。
第二種措施是在總線上增加保護(hù)器件。當(dāng)發(fā)生雷擊或其他強(qiáng)烈干擾時(shí),巨大的能量如果來不及泄放,就會(huì)損壞收發(fā)器。為了防止干擾對(duì)收發(fā)器的損壞,增加了防雷管和TVS作總線保護(hù)。當(dāng)受到雷擊時(shí),并接在總線上的防雷管能將能量泄放掉。但是一般情況下,防雷管的反應(yīng)速度慢,鉗位電壓高(約為800 V),因此本設(shè)計(jì)中,在防雷管后增加了TVS和PTC電阻。TVS能夠?qū)⒖偩€的壓差鉗制在6.8 V以下,這樣當(dāng)受到干擾時(shí),TVS能較快地起到保護(hù)作用;而PTC電阻能保護(hù)收發(fā)器免受過流的沖擊。在CAN H和CAN L與地之間各自接一個(gè)30 pF的小電容,可以起到濾除總線上的高頻干擾和防電磁輻射的作用。CAN收發(fā)器電氣保護(hù)原理如圖2所示。
2.3? 冗余CAN總線設(shè)計(jì)
雖然在設(shè)計(jì)時(shí)對(duì)CAN收發(fā)器采取了一些保護(hù)措施,但是在船舶機(jī)艙的電纜受拉、壓、砸、擠等而造成故障的情況卻很多,這就不是電氣保護(hù)所能解決的了。因此,為了降低此類風(fēng)險(xiǎn)以及各種原因引起的收發(fā)器的電氣損壞,最有效的方法就是實(shí)現(xiàn)CAN通信網(wǎng)絡(luò)的冗余。
在總線冗余處理上,可使用兩套總線,每一套都包含有完整的總線電纜、總線驅(qū)動(dòng)器和總線控制器,或?qū)⒖偩€控制器與CPU集成于一體的MCU。實(shí)現(xiàn)冗余有兩種方法: 一種是后備方式,即一套運(yùn)行,另一套“休眠”備用,當(dāng)運(yùn)行總線發(fā)生故障時(shí),啟用備用總線;另一種是同時(shí)運(yùn)行方式,如果其中一套發(fā)生故障,另一套仍能維持系統(tǒng)的正常運(yùn)行。這兩種方法的優(yōu)點(diǎn)是同時(shí)實(shí)現(xiàn)了物理介質(zhì)、物理層及數(shù)據(jù)鏈路層甚至應(yīng)用層的全面冗余,因此,可以稱之為“全面冗余方法”。但全面冗余方法存在著某些不足之處,例如由于節(jié)點(diǎn)對(duì)系統(tǒng)的構(gòu)成不敏感,因此,后備方式發(fā)現(xiàn)總線開路故障的能力和實(shí)時(shí)性較差,而同時(shí)運(yùn)行方式下兩路同時(shí)工作功耗大,且數(shù)據(jù)鏈路的冗余較為復(fù)雜。本設(shè)計(jì)使用一種介于兩種方法之間的物理冗余技術(shù)。物理鏈路的冗余使用2條總線電纜和2個(gè)總線驅(qū)動(dòng)器,且在總線控制器與2個(gè)總線驅(qū)動(dòng)器之間增加了一個(gè)判斷電路,如圖3所示。
將兩個(gè)總線驅(qū)動(dòng)器的發(fā)送端連在一起,當(dāng)節(jié)點(diǎn)發(fā)送時(shí),CAN總線控制器向兩條通信線路同時(shí)發(fā)送相同的報(bào)文;而接收時(shí),判斷電路自動(dòng)選擇兩條總線中的一個(gè)并將其報(bào)文送入總線控制器。判斷電路以時(shí)間優(yōu)先為選擇原則,即哪一路報(bào)文搶先到來,哪一路報(bào)文就被選中。如果某一總線發(fā)生故障,則關(guān)閉它與總線控制器的信號(hào)通道,同時(shí)向CPU發(fā)出總線故障中斷,而正??偩€的信號(hào)通道不受影響。
在判斷電路中,設(shè)置了兩個(gè)可重復(fù)觸發(fā)的單穩(wěn)態(tài)觸發(fā)器,它們分別與兩條總線對(duì)應(yīng),檢測(cè)報(bào)文及其到來的情況。當(dāng)報(bào)文到來時(shí),總線驅(qū)動(dòng)器首先出現(xiàn)一個(gè)低電平報(bào)文的幀起始位,其下降沿觸發(fā)單穩(wěn),使其輸出產(chǎn)生一個(gè)高電平寬脈沖。通過調(diào)整電容的充放電時(shí)間,該脈沖經(jīng)報(bào)文中對(duì)應(yīng)的多次下降沿觸發(fā)而一直持續(xù)到報(bào)文結(jié)束。
在總線正常的情況下,當(dāng)出現(xiàn)報(bào)文時(shí),兩個(gè)單穩(wěn)態(tài)觸發(fā)器均產(chǎn)生高電平寬脈沖,該高電平脈沖送入RS觸發(fā)器進(jìn)行時(shí)間優(yōu)先比較。對(duì)于優(yōu)先者,觸發(fā)器給對(duì)應(yīng)的或非門低電平,開通相應(yīng)總線的信號(hào)通道;對(duì)于滯后者,觸發(fā)器用高電平關(guān)閉對(duì)應(yīng)的或非門。
當(dāng)總線無報(bào)文時(shí),兩個(gè)信號(hào)通道均暫時(shí)關(guān)閉。一旦某一總線發(fā)生故障,對(duì)應(yīng)的驅(qū)動(dòng)器上的接收端保持在某一電平狀態(tài),相應(yīng)的單穩(wěn)態(tài)觸發(fā)器不被觸發(fā),其輸出始終保持在低電平上。因此,RS觸發(fā)器用高電平封鎖住或非門,使這個(gè)信號(hào)通道被關(guān)閉。異或門用來向CPU提供總線故障中斷信號(hào)。接到中斷后,通過I/O口分別查詢兩個(gè)單穩(wěn)態(tài)觸發(fā)器的輸出即可對(duì)故障定位。隨后,可以發(fā)送一個(gè)故障警報(bào)信號(hào),通過正??偩€通知給系統(tǒng)監(jiān)視設(shè)備,以便及時(shí)處理。在異或門上設(shè)延時(shí)環(huán)節(jié)的目的是: 避免兩個(gè)報(bào)文不嚴(yán)格同步或兩個(gè)單穩(wěn)態(tài)觸發(fā)電路輸出脈寬不嚴(yán)格一致而引起誤中斷。需要注意的是,單穩(wěn)態(tài)觸發(fā)電路的單次觸發(fā)所產(chǎn)生的脈寬應(yīng)不小于報(bào)文中連續(xù)12個(gè)位的持續(xù)時(shí)間(主動(dòng)錯(cuò)誤標(biāo)志的最大可能時(shí)間。正常情況下,報(bào)文中連續(xù)出現(xiàn)相同邏輯位數(shù)不超過5位)。
2.4? 4~20 mA電流模擬量的采集
作為模擬儀表的信號(hào)標(biāo)準(zhǔn),4~20 mA的電流信號(hào)在常用傳感器中占有非常重要的地位。
由于單片機(jī)無法直接對(duì)電流信號(hào)進(jìn)行采樣,所以需要先將電流信號(hào)轉(zhuǎn)換為電壓信號(hào)。在本設(shè)計(jì)中,充分考慮了對(duì)這種標(biāo)準(zhǔn)信號(hào)的采集轉(zhuǎn)換。選用美國(guó)Burr?Brown公司生產(chǎn)的精密電流環(huán)接收器芯片RCV420,將4~20 mA電流信號(hào)轉(zhuǎn)換為0~5 V電壓信號(hào),如圖4所示。
RCV420包含1個(gè)高級(jí)運(yùn)算放大器、1個(gè)片內(nèi)精密電阻網(wǎng)絡(luò)和1個(gè)精密10 V電壓基準(zhǔn),其總轉(zhuǎn)換精度為0.1%,共模抑制比CMR達(dá)86 dB,共模輸入電壓范圍達(dá)±40 V。RCV420在滿量程時(shí),電壓僅下降1.5 V,在環(huán)路中串有其他儀表負(fù)載,這對(duì)變送器電壓有嚴(yán)格限制的應(yīng)用場(chǎng)合非常有用。10 V電壓基準(zhǔn)提供了一個(gè)典型溫漂為5×10-6/℃的精密10 V輸出。
為保證RCV420的輸出在單片機(jī)的0 V~VCC之間,需要適當(dāng)減小運(yùn)放增益。方法是在檢測(cè)電阻Rs上并聯(lián)匹配電阻Rx,如圖5所示。
調(diào)整后的增益值為:
通過調(diào)整并聯(lián)電阻Rx的大小,可以調(diào)整RCV420的輸出范圍。為了保證高共模抑制,并聯(lián)電阻Rx的匹配很重要。Rx的溫度參數(shù)的任何不一致,都將引起增益誤差和CMR的漂移。
經(jīng)過計(jì)算分析,輸入為4~20 mA信號(hào)時(shí),令Rx為1.8 kΩ可使輸出為0~4.8 V,保證在單片機(jī)的ADC輸入范圍之內(nèi)。
在使用RCV420時(shí),有一點(diǎn)需要特別注意:圖5中的2個(gè)1 μF的電容C1、C2必須是鉭電容。最初實(shí)驗(yàn)時(shí),C1、C2用的是1 μF的鋁電解電容,結(jié)果RCV420工作不正常,輸出沒有規(guī)律。檢查電路板發(fā)現(xiàn)電源電壓正常,輸入的電流信號(hào)穩(wěn)定,其他器件和連線也沒有問題。查閱文獻(xiàn)后發(fā)現(xiàn)此處必須使用鉭電容。更換鉭電容后,RCV420工作正常,輸出準(zhǔn)確、穩(wěn)定。當(dāng)有多路4~20 mA電流信號(hào)輸入時(shí),先使用MAX308進(jìn)行通路選擇,再進(jìn)行I/V轉(zhuǎn)換。
2.5? 模擬量的隔離
為了防止船舶機(jī)艙現(xiàn)場(chǎng)的干擾通過模擬量輸入通道進(jìn)入單片機(jī)系統(tǒng),有必要對(duì)模擬電壓信號(hào)進(jìn)行隔離。實(shí)現(xiàn)直接線性隔離最簡(jiǎn)單的方法就是采用隔離放大器,而隔離放大器必須滿足A/D變換精度和線性要求,如對(duì)12位A/D進(jìn)行隔離,其隔離放大器要達(dá)到13位,甚至14位的精度。如此高精度的隔離放大器,價(jià)格十分昂貴。本設(shè)計(jì)中用線性光電耦合器實(shí)現(xiàn)了模擬量的隔離,經(jīng)測(cè)試隔離效果良好。電氣原理圖如圖6所示,其中HCNR200光電耦合器由3個(gè)光電元件組成。其1、2引腳間是一個(gè)A1GaAs發(fā)光二極管,3、4引腳,5、6引腳間是兩個(gè)相鄰匹配的光敏二極管。光敏二極管的PN結(jié)在反向偏置狀態(tài)下運(yùn)行,它的反向電流與光照強(qiáng)度成正比,這種封裝結(jié)構(gòu)決定了每一個(gè)光敏二極管都能從LED得到近似相等的光強(qiáng),從而消除了LED的非線性和偏差特性所帶來的誤差。
在左側(cè)運(yùn)算放大器達(dá)到平衡狀態(tài)后,有Ipd1=VIn/R1(Ipd1為光耦器件3腳到4腳的)輸出電流,下式中Ipd2為6腳到5腳的輸出電流,其大小與光耦器件內(nèi)部的發(fā)光強(qiáng)度成正比)。Ipd1僅僅決定于輸入電壓以及R1的值,與LED的輸出光強(qiáng)特性無關(guān),因此在輸入電壓與光電二極管的電流之間就建立起很好的線性關(guān)系。另外,雖然LED的輸出光強(qiáng)隨著溫度的變化而略受影響,但運(yùn)放將通過調(diào)整發(fā)光管電流來進(jìn)行補(bǔ)償。由于HCNR200特殊的封裝結(jié)構(gòu),2只光電二極管將得到近似的光強(qiáng),有 K=Ipd2/Ipd1。根據(jù)運(yùn)算放大器的“虛斷”和“虛短”特性,有
可見,被測(cè)電壓和輸出電壓之間存在正比的關(guān)系,只要適當(dāng)選取電阻R1、R3、R4、R5的阻值,就可以得到一定比例的隔離輸出電壓。按照?qǐng)D6中的參數(shù),通過調(diào)整R5的值,可使實(shí)際增益K=UAOUT/UAIN≈1。UAIN從0逐漸增大到5 V,測(cè)量輸出端的電壓UAOUT如表1所列。
從上表數(shù)據(jù)中可以看到,經(jīng)過模擬電壓隔離的電壓差在5 mV下,效果較好。
3? 軟件設(shè)計(jì)
主控制器流程和數(shù)據(jù)處理流程如圖7所示。主控制器首先完成初始化工作,然后就進(jìn)行數(shù)據(jù)采集。同時(shí),當(dāng)接收到數(shù)據(jù)時(shí),對(duì)數(shù)據(jù)進(jìn)行解析,然后根據(jù)數(shù)據(jù)實(shí)現(xiàn)相應(yīng)的控制功能。為了保證數(shù)據(jù)的可靠性,需要進(jìn)行多次A/D采樣,然后根據(jù)平均值濾波算法,完成數(shù)據(jù)的采集。CAN本身具有CRC校驗(yàn)功能,為了保證數(shù)據(jù)的可靠性,在發(fā)送的數(shù)據(jù)中增加了一個(gè)校驗(yàn)字節(jié),即將要發(fā)送的數(shù)據(jù)進(jìn)行異或運(yùn)算,得到的值自動(dòng)存于最后一個(gè)字節(jié)進(jìn)行發(fā)送。
結(jié)語
CAN總線冗余設(shè)計(jì)的船舶監(jiān)控系統(tǒng)是現(xiàn)場(chǎng)總線技術(shù)發(fā)展的一個(gè)縮影,代表未來船舶控制技術(shù)的發(fā)展方向。本設(shè)計(jì)中,利用線性光偶實(shí)現(xiàn)了模擬量的光電隔離,大大提高了產(chǎn)品的可靠性。另外,利用判斷電路成功地解決了CAN總線冗余的問題,具有結(jié)構(gòu)簡(jiǎn)單、成本低等優(yōu)點(diǎn),具有廣闊的市場(chǎng)前景。
評(píng)論
查看更多