基于CAN總線的高壓開(kāi)關(guān)柜狀態(tài)監(jiān)測(cè)單元通訊模塊的設(shè)計(jì)
時(shí)間:2006-04-27 11:44:00來(lái)源:0
導(dǎo)語(yǔ):?高壓開(kāi)關(guān)柜作為電力系統(tǒng)的關(guān)鍵設(shè)備,對(duì)它的運(yùn)行狀態(tài)進(jìn)行在線監(jiān)測(cè)具有重大的意義。
摘要:高壓開(kāi)關(guān)柜作為電力系統(tǒng)的關(guān)鍵設(shè)備,對(duì)它的運(yùn)行狀態(tài)進(jìn)行在線監(jiān)測(cè)具有重大的意義。為了避免監(jiān)測(cè)單元成為信息的孤島,有必要使監(jiān)測(cè)單元具有通訊能力。 筆者在分析CAN協(xié)議的基礎(chǔ)上,開(kāi)發(fā)了基于CAN總線的高壓開(kāi)關(guān)柜狀態(tài)在線監(jiān)測(cè)單元的通訊模塊,并給出了軟硬件設(shè)計(jì)詳細(xì)的流程。
1. 引言
高壓開(kāi)關(guān)柜是電力系統(tǒng)的關(guān)鍵主設(shè)備之一,其運(yùn)行狀態(tài)對(duì)電力系統(tǒng)的可靠性具有重大影響。 統(tǒng)計(jì)表明,20世紀(jì)90年代中國(guó)電力系統(tǒng)開(kāi)關(guān)事故類(lèi)型分布如下:機(jī)械故障(拒分、拒合、誤動(dòng))33.3%,絕緣故障37.3%,溫升故障(載流)8.9%,其它20.5%[1]。 因此,有必要對(duì)高壓開(kāi)關(guān)柜的機(jī)械、溫升及絕緣狀態(tài)實(shí)施在線監(jiān)測(cè),及時(shí)發(fā)現(xiàn)事故隱患,防止事故發(fā)生。
現(xiàn)有高壓開(kāi)關(guān)柜監(jiān)測(cè)單元的核心一般采用單片機(jī)(MCU),其處理能力有限、存貯空間很小,只能對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單的處理和存放少量的歷史數(shù)據(jù)[2]。為了存放大量的歷史數(shù)據(jù)以便對(duì)已有的數(shù)據(jù)進(jìn)行復(fù)雜的處理(如壽命評(píng)估、故障診斷等),也為了對(duì)電力系統(tǒng)運(yùn)行狀態(tài)進(jìn)行遠(yuǎn)程檢測(cè)和診斷,有必要使監(jiān)測(cè)單元具有通訊能力,把需要的數(shù)據(jù)上傳給PC機(jī)。 同時(shí)為了對(duì)分散的監(jiān)測(cè)單元進(jìn)行維護(hù)(如單元是否正常工作,閾值下載等),監(jiān)測(cè)單元也有必要具有通訊能力以使PC機(jī)能夠?qū)崟r(shí)監(jiān)控監(jiān)測(cè)單元的工作情況以及對(duì)它們進(jìn)行閾值的下載。
CAN作為一種有效支持分布式通信的現(xiàn)場(chǎng)總線,能夠完成現(xiàn)場(chǎng)監(jiān)測(cè)單元與管理設(shè)備之間的數(shù)字通信,溝通現(xiàn)場(chǎng)監(jiān)測(cè)單元和更高管理層網(wǎng)絡(luò)之間的聯(lián)系,真正做到“分散處理,集中管理”。
2. 監(jiān)測(cè)單元框架和通訊模塊功能
所研制現(xiàn)場(chǎng)監(jiān)測(cè)單元,其微控制器選用16位高速單片機(jī)80C196KC,利用其豐富的外設(shè)接口,方便地進(jìn)行現(xiàn)場(chǎng)的數(shù)據(jù)采集、處理和顯示。監(jiān)測(cè)單元的功能是進(jìn)行在線的數(shù)據(jù)采集和數(shù)據(jù)處理,并提供現(xiàn)場(chǎng)的顯示和與上位機(jī)通信的接口。
監(jiān)測(cè)單元監(jiān)測(cè)的主要內(nèi)容有:①母線溫升:測(cè)量斷路器三相進(jìn)線和三相出線的電連接處溫升;②泄漏電流:測(cè)量三相環(huán)氧套管的泄漏電流;③機(jī)械數(shù)據(jù):通過(guò)對(duì)斷路器分、合閘線圈電流和動(dòng)觸頭行程的測(cè)量并進(jìn)行數(shù)據(jù)處理,得到動(dòng)觸頭行程、分合閘時(shí)間、分合閘速度、平均分合閘時(shí)間和平均分合閘電流。通訊模塊的主要功能就是當(dāng)測(cè)量的這些數(shù)據(jù)異常時(shí),主動(dòng)上傳異常的數(shù)據(jù),當(dāng)測(cè)量的數(shù)據(jù)正常時(shí)就等待PC機(jī)有請(qǐng)求時(shí)上傳這些數(shù)據(jù)。同時(shí)監(jiān)測(cè)單元還通過(guò)通訊模塊接收PC機(jī)的參數(shù)下載(如閾值等),并對(duì)PC機(jī)的下載進(jìn)行響應(yīng)!回答下載成功與否信息。
3. CAN總線
3.1 CAN總線簡(jiǎn)介
CAN總線屬于現(xiàn)場(chǎng)總線的范疇,它是一種具有很高保密性、有效支持分布式控制和實(shí)時(shí)控制的串行通信網(wǎng)絡(luò)。符合ISO/OSI模型規(guī)范。 通信介質(zhì)可以是雙絞線、同軸電纜或光纖。 通信速率為5kb/s時(shí),通信距離最長(zhǎng)可為10km;通信速率為1Mb/s時(shí),通信最長(zhǎng)距離可達(dá)40m。 CAN總線上節(jié)點(diǎn)數(shù)最多可以有110個(gè),所以比較適用于小型的測(cè)控網(wǎng)絡(luò)。
CAN總線具有以下特征:多主站依據(jù)優(yōu)先權(quán)進(jìn)行總線訪問(wèn);無(wú)破壞性的基于優(yōu)先權(quán)的仲裁;借助接收濾波的多地址幀傳送;遠(yuǎn)程數(shù)據(jù)請(qǐng)求;配置靈活性;全系統(tǒng)數(shù)據(jù)相容性;錯(cuò)誤檢測(cè)和出錯(cuò)信令;發(fā)送期間若丟失仲裁或由于出錯(cuò)而遭破壞的幀可自動(dòng)重新發(fā)送;暫時(shí)錯(cuò)誤和永久性故障節(jié)點(diǎn)的判別以及故障節(jié)點(diǎn)的自動(dòng)脫離。
CAN總線的規(guī)范主要有2.0A和2.0B。這兩者的區(qū)別主要在于標(biāo)識(shí)符位數(shù)的不同。CAN2.0A的標(biāo)識(shí)符有11位,而CAN2.0B的標(biāo)識(shí)符有29位,因此CAN2.0B對(duì)標(biāo)識(shí)符定義具有更大的靈活性。
3.2 監(jiān)測(cè)單元通訊模塊對(duì)CAN2.0B標(biāo)識(shí)符的定義
CAN總線摒棄了地址的概念: 而是用標(biāo)識(shí)符來(lái)標(biāo)識(shí)數(shù)據(jù),使用位仲裁技術(shù)根據(jù)標(biāo)識(shí)符的優(yōu)先級(jí)(標(biāo)識(shí)符的值越小,優(yōu)先級(jí)就越高)對(duì)總線進(jìn)行訪問(wèn),這樣在系統(tǒng)中增刪節(jié)點(diǎn)就不會(huì)涉及到軟件的修改。但在實(shí)際應(yīng)用中為了實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)及點(diǎn)對(duì)多點(diǎn)的數(shù)據(jù)傳送以及較長(zhǎng)報(bào)文的傳送,有必要在標(biāo)識(shí)符中定義數(shù)據(jù)的源地址、目的地址以及幀序數(shù)[3]。
對(duì)CAN2.0B 29位標(biāo)識(shí)符的定義為:bit28~bit21為目的地址;bit20~bit13為源地址;bit12~bit5為幀序數(shù)。源地址和目的地址表示CAN幀從哪里來(lái),到哪里去。bit4位稱為更多CAN幀位,它是和幀序數(shù)配合使用來(lái)傳送較長(zhǎng)的數(shù)據(jù)的(CAN每一幀最多傳8個(gè)有效字節(jié))。bit4為零表示當(dāng)前的CAN幀是一個(gè)被分組打包的應(yīng)用層報(bào)文的最后一段;為1則表示應(yīng)用層報(bào)文的分段未傳完;當(dāng)標(biāo)志位為0,幀序數(shù)也為1時(shí),表示報(bào)文沒(méi)有被分段。bit3~bit0用來(lái)區(qū)分同一源地址的不同數(shù)據(jù),這是一個(gè)4位的計(jì)數(shù)器,取值范圍是0~15。當(dāng)發(fā)送一個(gè)新的數(shù)據(jù)時(shí),計(jì)數(shù)器加1,溢出時(shí)重新開(kāi)始計(jì)數(shù)。沒(méi)有用到遠(yuǎn)程幀,遠(yuǎn)程幀的作用通過(guò)數(shù)據(jù)幀之間的應(yīng)答來(lái)實(shí)現(xiàn)。
3.3 CAN應(yīng)用層協(xié)議
CAN總線協(xié)議對(duì)應(yīng)于ISO/OSI模型的物理層和鏈路層,沒(méi)有包括其他的層次。CAN的高層協(xié)議是在CAN現(xiàn)有的協(xié)議(物理層和鏈路層)上實(shí)現(xiàn)的。CAN作為一種小型的測(cè)控網(wǎng)絡(luò), 不涉及到路由選擇,同時(shí)為了減少層間轉(zhuǎn)換的復(fù)雜性,一般高層的協(xié)議只采用應(yīng)用層。這樣在應(yīng)用時(shí),CAN實(shí)際就有了三層協(xié)議。應(yīng)用層的報(bào)文對(duì)于鏈路層來(lái)講認(rèn)為是數(shù)據(jù),而真正需要傳送的數(shù)據(jù)是封裝在應(yīng)用層報(bào)文中的。采用的應(yīng)用層協(xié)議一般有標(biāo)準(zhǔn)(例如DeviceNet,SDS等)和自定義(根據(jù)實(shí)際系統(tǒng)而定)的兩種。 筆者根據(jù)實(shí)際情況自定義了應(yīng)用層協(xié)議, 應(yīng)用層報(bào)文的詳細(xì)定義這里不再詳述。
4. 通訊模塊的硬件實(shí)現(xiàn)
監(jiān)測(cè)單元部分通訊模塊實(shí)現(xiàn)CAN協(xié)議的控制器選用SJA1000,它是PCA82C200的替代產(chǎn)品,同時(shí)支持CAN2.0A和CAN2.0B協(xié)議,位速率可達(dá)1Mb/s。具有擴(kuò)展的接收緩沖器、完善的錯(cuò)誤檢測(cè)機(jī)制、擴(kuò)展的驗(yàn)收濾波器以及錯(cuò)誤累計(jì)到一定時(shí)就脫離總線等特征。
硬件的設(shè)計(jì)并不復(fù)雜??梢詫JA1000和PCA82C250的應(yīng)用文檔上的典型電路移植到80C196KC微控制器上(80C196KC采用8位數(shù)據(jù)總線模式),但在設(shè)計(jì)時(shí)還應(yīng)該注意以下幾點(diǎn):①SJA1000與外部ROM,RAM統(tǒng)一編址,微控制器對(duì)它的存取操作就像對(duì)RAM操作一樣(區(qū)別在于有的SJA1000寄存器有的不可讀,有的不可寫(xiě))。②總線的連接電纜一般使用雙絞線,對(duì)抗干擾要求較高可以使用屏蔽雙絞線,或者光纖。電纜線徑與傳輸距離、節(jié)點(diǎn)數(shù)目有關(guān),傳輸距離變長(zhǎng)或節(jié)點(diǎn)數(shù)目增加,電纜線徑也要相應(yīng)增加,同時(shí)終端匹配電阻(一
般為120Ω)。也要增大。③SJA1000控制器RX1引腳要接0.5V,以便形成正確的電平邏輯。 PCA82C250的Vref引腳可提供0.5V的電壓輸出,因此在不加光隔的測(cè)試系統(tǒng)中,可直接將RX1引腳接Vref引腳,以簡(jiǎn)化電路設(shè)計(jì)。④SJA1000有中斷產(chǎn)生時(shí),引腳INT產(chǎn)生的是一個(gè)高電平到低電平的跳變,文檔中給出的是和80C51(它的外中斷0可以是下降沿或低電平有效)接口的,因此兩個(gè)引腳可以直接相接。而80C196KC的EXTINT1引腳是上升沿有效,故在兩個(gè)引腳之間要加一個(gè)反相器。
5 通訊模塊的軟件實(shí)現(xiàn)
軟件是通訊模塊設(shè)計(jì)的核心,與一般使用高級(jí)語(yǔ)言編寫(xiě)的軟件不同的是嵌入式系統(tǒng)的軟件要和硬件直接打交道,是對(duì)硬件直接操作,因此對(duì)硬件要熟練掌握才能編寫(xiě)出實(shí)用的代碼。
SJA1000控制器寄存器數(shù)量眾多,幸運(yùn)的是許多文章對(duì)它們的用法都作了介紹,有的還給出了其具體的代碼,筆者只簡(jiǎn)單介紹一下驗(yàn)收濾波寄存器。使用驗(yàn)收濾波器,可以使監(jiān)測(cè)單元只接收需要的幀,屏蔽不需要的。這里的應(yīng)用是將驗(yàn)收濾波器配置成雙濾波方式,即控制器只接收目的地址與監(jiān)測(cè)單元地址相符的或者與監(jiān)測(cè)單元廣播地址相符的幀,從而節(jié)約監(jiān)測(cè)單元的資源。
下面即以監(jiān)測(cè)單元的發(fā)送為例,簡(jiǎn)述通訊模塊軟件的設(shè)計(jì)思路。當(dāng)監(jiān)測(cè)單元有數(shù)據(jù)發(fā)送時(shí)(如絕緣數(shù)據(jù)),可通過(guò)下列步驟完成發(fā)送的全過(guò)程:①將數(shù)據(jù)按應(yīng)用層報(bào)文的格式進(jìn)行封裝。 ②應(yīng)用層報(bào)文相對(duì)鏈路層來(lái)講是鏈路層的數(shù)據(jù),在鏈路層把應(yīng)用層的報(bào)文按照SJA1000的CAN幀的格式進(jìn)行拆分。CAN每次只能傳送8個(gè)有效字節(jié),在拆分時(shí)按照上文的標(biāo)識(shí)符定義,將報(bào)文拆成有序的CAN幀,這樣接受的一方就能按照標(biāo)識(shí)符將一系列屬于同一應(yīng)用層報(bào)文的幀進(jìn)行拆封。③把已拆分好的CAN幀按照標(biāo)識(shí)符定義的幀序數(shù)發(fā)送出去。發(fā)送一幀之前需要檢查SJA1000控制器狀態(tài)寄存器(SR)的狀態(tài),這包括檢查控制器發(fā)送狀態(tài),接收狀態(tài)以及發(fā)送緩沖器鎖定狀態(tài),當(dāng)控制器處于空閑狀態(tài)(不在發(fā)送狀態(tài)、不在接收狀態(tài)并且發(fā)送緩沖器被釋放),就將需發(fā)送的幀寫(xiě)入發(fā)送緩沖區(qū)并啟動(dòng)發(fā)送。發(fā)送下一幀重復(fù)執(zhí)行以上過(guò)程即可。
接受過(guò)程執(zhí)行與發(fā)送過(guò)程相反的操作,可以簡(jiǎn)述為:接受CAN幀;拆封CAN幀為應(yīng)用層報(bào)文;解析報(bào)文得到數(shù)據(jù)。
6. CAN控制器異常情況的處理
SJA1000控制器在長(zhǎng)期工作中,由于內(nèi)在及外在的因素不可避免的會(huì)產(chǎn)生錯(cuò)誤,從而使控制器不能正常工作。為了控制器能夠長(zhǎng)期正常工作,使控制器從錯(cuò)誤中恢復(fù)過(guò)來(lái)??刂破魈峁┝讼鄳?yīng)的寄存器來(lái)進(jìn)行錯(cuò)誤的分析和診斷,這包括接收(發(fā)送)錯(cuò)誤計(jì)數(shù)器、錯(cuò)誤報(bào)警限制寄存器、錯(cuò)誤代碼捕捉寄存器、仲裁丟失捕捉寄存器以及狀態(tài)寄存器的幾位。同時(shí)中斷寄存器的幾位用來(lái)報(bào)告產(chǎn)生的錯(cuò)誤,由程序?qū)﹀e(cuò)誤進(jìn)行處理。這些寄存器具體的定義可參閱相關(guān)文獻(xiàn)。
在實(shí)際應(yīng)用時(shí)主要有兩種從錯(cuò)誤狀態(tài)恢復(fù)到正常工作狀態(tài)的方法。
?。?)有錯(cuò)誤發(fā)生時(shí),在中斷服務(wù)程序里根據(jù)中斷寄存器(中斷方式,中斷使能寄存器除喚醒和接收中斷外均打開(kāi))的各位的狀態(tài),再結(jié)合相應(yīng)的寄存器即可以進(jìn)行分析和診斷了。 例如出現(xiàn)應(yīng)答通道故障時(shí)則會(huì)產(chǎn)生總線錯(cuò)誤中斷,檢查錯(cuò)誤代碼捕捉寄存器,就可知道是產(chǎn)生了應(yīng)答通道故障。該方法的優(yōu)點(diǎn)是知道錯(cuò)誤具體是什么而采取對(duì)應(yīng)的措施,缺點(diǎn)是編程比較麻煩,對(duì)協(xié)議和控制器都要十分熟悉。
(2)控制器一有錯(cuò)誤發(fā)生就重新初始化(中斷方式,中斷使能寄存器除喚醒和接收中斷外均打開(kāi)),讓控制器重新正常運(yùn)行,該方法優(yōu)點(diǎn)是簡(jiǎn)單易行,缺點(diǎn)是沒(méi)有考慮到錯(cuò)誤發(fā)生的原因,不能作進(jìn)一步的分析和診斷。
為了簡(jiǎn)化設(shè)計(jì),筆者采取的是后一種方案。
7. 結(jié)語(yǔ)
(1)CAN作為一種有效支持分布式通信的現(xiàn)場(chǎng)總線,具有高的可靠性和實(shí)時(shí)性,同時(shí)又有簡(jiǎn)單、易用以及性價(jià)比高的優(yōu)點(diǎn),因此選擇CAN作為監(jiān)測(cè)單元通訊模塊的解決方案。
(2)在研究分析CAN協(xié)議的基礎(chǔ)上,根據(jù)實(shí)際情況對(duì)CAN的標(biāo)識(shí)符作了定義,且制定了應(yīng)用層的協(xié)議,并給出了軟硬件的設(shè)計(jì)思路以及異常情況的處理方法。
(3)在實(shí)驗(yàn)室的調(diào)試運(yùn)行表明,采用CAN總線作為高壓開(kāi)關(guān)柜監(jiān)測(cè)單元通訊模塊的解決方案取得了良好的效果。
標(biāo)簽:
中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。