冗余CAN總線遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引 言
隨著計(jì)算機(jī)應(yīng)用技術(shù)在工業(yè)控制領(lǐng)域的推廣及其自身的革新,以工業(yè)現(xiàn)場總線為應(yīng)用背景的網(wǎng)絡(luò)控制系統(tǒng)在業(yè)界被廣泛使用和推廣。CAN總線作為工業(yè)現(xiàn)場串行總線的一種,因其具有較高的位速率和極高的抗電磁干擾能力,能偵測和處理產(chǎn)生的任何總線錯(cuò)誤,并且具有高可靠性、實(shí)時(shí)性和靈活性,在監(jiān)測和控制系統(tǒng)中倍受青睞。然而傳統(tǒng)的工業(yè)現(xiàn)場遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)主要通過單總線傳輸,往往因?yàn)榭偩€通訊故障而影響系統(tǒng)工作效率,不利于遠(yuǎn)程監(jiān)測和控制,在某些控制領(lǐng)域里甚至存在很大危險(xiǎn),造成難以維護(hù),系統(tǒng)監(jiān)測數(shù)據(jù)不連續(xù)、難以管理和監(jiān)測效率低下等缺點(diǎn)。
通過將冗余CAN總線技術(shù)應(yīng)用到現(xiàn)場遠(yuǎn)程數(shù)據(jù)采集傳輸系統(tǒng)中,采用嵌入式控制方式很好地解決了上述問題。
2 遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)的組成
考慮到工業(yè)現(xiàn)場的環(huán)境比較復(fù)雜,為提高系統(tǒng)工作的可靠性和抗干擾能力,本系統(tǒng)設(shè)計(jì)采用嵌入式智能系統(tǒng)作為數(shù)據(jù)采集器,以PC104系統(tǒng)作為嵌人式信息處理單元,通過冗余CAN總線接口開放式互聯(lián)的結(jié)構(gòu)組成采集系統(tǒng)。系統(tǒng)的組成框圖如圖l所示。系統(tǒng)由信息處理單元、遠(yuǎn)程嵌人式采集器、狀態(tài)顯示、外圍控制和維護(hù)接口等輔助接口單元組成,嵌人式信息處理單元和遠(yuǎn)程數(shù)據(jù)采集器配置雙CAN總線接口。
嵌入式信息處理單元是該系統(tǒng)的主控單元,是系統(tǒng)信息處理的核心。它主要負(fù)責(zé)信息的采集和管理,并將采集信息處理后定期送往數(shù)據(jù)存儲單元和數(shù)據(jù)顯示單元,同時(shí)解析來自維護(hù)接口的用戶指令,根據(jù)指令要求執(zhí)行相應(yīng)的采集器維護(hù)命令和主控單元本身的日常維護(hù)。遠(yuǎn)程數(shù)據(jù)采集器周期接收信息處理的采集指令,周期性地將采集數(shù)據(jù)發(fā)給信息處理。系統(tǒng)通過高速網(wǎng)絡(luò)接口實(shí)現(xiàn)了與其他網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交換,可實(shí)現(xiàn)監(jiān)控?cái)?shù)據(jù)的共享和信息綜合。維護(hù)接口可提供無線指令響應(yīng)服務(wù)和現(xiàn)場指令響應(yīng)服務(wù),以滿足本地和遠(yuǎn)程的系統(tǒng)維護(hù)。
圖1 系統(tǒng)組成示意圖
3 遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)的實(shí)現(xiàn)
本系統(tǒng)的硬件設(shè)計(jì)重點(diǎn)在于信息處理單元和遠(yuǎn)程數(shù)據(jù)采集器的設(shè)計(jì)。
3.1 信息處理單元設(shè)計(jì)
遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)實(shí)現(xiàn)的關(guān)鍵是對現(xiàn)場傳感器數(shù)據(jù)的實(shí)時(shí)采集、本地和遠(yuǎn)程命令的接收與采集信息的轉(zhuǎn)換和處理。信息處理單元對數(shù)據(jù)采集器進(jìn)行正常的運(yùn)行監(jiān)視、操作、測量記錄和統(tǒng)計(jì)分析、故障運(yùn)行的監(jiān)視、報(bào)警和事件順序記錄與運(yùn)行操作,緊急控制、維修狀態(tài)信息處理等功能。
信息處理單元采用x86架構(gòu)的PC104計(jì)算機(jī)系統(tǒng)和CAN總線接口卡組成。盛博SCM一7020B是一款“all~in—one”PC/104 CPU模塊¨ ,它在板上集成了10/100Base—T以太網(wǎng)接口及高性能圖形處理。采用X86兼容的64位第六代處理器,最高運(yùn)行速度可達(dá)300MHz,外圍接口豐富,同時(shí)配置64MB SRAM和1GB CF卡存儲器,并通過以太網(wǎng)接口進(jìn)行軟件調(diào)試和后期維護(hù)。為了實(shí)現(xiàn)雙CAN總線通訊接口,選用盛博SEM/CSD一4 CAN通訊模塊,該模塊集成了2路獨(dú)立的CAN控制器SJA1000,同時(shí)還集成4路RS一422串行接口及可配置的8位并行接口,可以直接驅(qū)動外部的數(shù)字接口,滿足系統(tǒng)維護(hù)和遠(yuǎn)程數(shù)據(jù)采集器工作模式設(shè)置的需求,對后續(xù)系統(tǒng)升級都留有較大空間。
3.2 遠(yuǎn)程數(shù)據(jù)采集器設(shè)計(jì)
遠(yuǎn)程數(shù)據(jù)采集器設(shè)計(jì)為以C805 1 F040 3 為處理器的智能采集通訊節(jié)點(diǎn),C8051F040內(nèi)部集成了數(shù)據(jù)采集系統(tǒng)所需要的幾乎所有模擬和數(shù)字外設(shè),包括ADC、DAC、電壓比較器、定時(shí)器、以及CAN2.0B控制器等,這種高度集成為設(shè)計(jì)小體積、低功耗、高可靠和高性能的采集系統(tǒng)統(tǒng)提供了方便。系統(tǒng)中遠(yuǎn)程數(shù)據(jù)采集器的硬件結(jié)構(gòu)示意圖見圖2。遠(yuǎn)程數(shù)據(jù)采集器從功能上可分為冗余CAN總線接口、數(shù)據(jù)采集電路和看門狗超時(shí)電路,其中看門狗超時(shí)周期為1.6s。為實(shí)現(xiàn)冗余CAN總線接口,通過增加一片獨(dú)立的CAN控制器SJA1000來實(shí)現(xiàn)。
圖2 遠(yuǎn)程數(shù)據(jù)采集器硬件結(jié)構(gòu)示意圖
3.2.1 采集電路設(shè)計(jì)
采集電路結(jié)構(gòu)如圖3所示,外部模擬信號進(jìn)入采集器后,先經(jīng)低通濾波,對各種干擾信號進(jìn)行一定的抑制后,送入放大器,再進(jìn)入帶有l(wèi)2位ADC的C8051F040進(jìn)行數(shù)據(jù)采樣和增益轉(zhuǎn)換。
圖3 遠(yuǎn)程數(shù)據(jù)采集器不意圖
在實(shí)際的工程應(yīng)用中,由于被采集信號遠(yuǎn)離采集器,以致兩者的地電位存在一定的電勢差,不可避免地存在干擾和傳輸網(wǎng)絡(luò)阻抗不對稱引人的誤差。因此。測量電路必須選擇有較高的輸入阻抗和共模抑制比的集成運(yùn)放,同時(shí)可采用差動輸入方式和無限增益電壓負(fù)反饋放大。
3.2.2 冗余CAN總線接口設(shè)計(jì)
由于系統(tǒng)采用了冗余CAN總線通訊技術(shù),因此冗余CAN總線接口設(shè)計(jì)是本系統(tǒng)的關(guān)鍵技術(shù)。
在各個(gè)數(shù)據(jù)采集器和信息處理單元之間設(shè)計(jì)兩條CAN總線,在每個(gè)數(shù)據(jù)采集器中有2路獨(dú)立的CAN通道,正常工作時(shí)只有一路CAN通道和一路CAN總線運(yùn)行。遠(yuǎn)程數(shù)據(jù)采集器的冗余CAN總線結(jié)構(gòu)如圖2所示。系統(tǒng)中冗余CAN總線的基本設(shè)計(jì)思路如下:其中CAN控制器可以是獨(dú)立的CAN控制器或者內(nèi)嵌于MCU內(nèi)部的CAN控制器。當(dāng)出現(xiàn)總線通訊故障時(shí),根據(jù)錯(cuò)誤類型選擇切換到另一路CAN通道或是另一路CAN總線。在任意時(shí)刻,只有一路CAN通道處于工作狀態(tài)。
3.3 雙冗余CAN總線管理
為了提高系統(tǒng)的可靠性,系統(tǒng)中兩套總線采用熱備份方式運(yùn)行。按照CAN總線出現(xiàn)的錯(cuò)誤類型,系統(tǒng)通訊故障可分為通道通訊故障和總線通訊故障,處理器利用CAN總線控制器的故障界定狀態(tài)機(jī)制判斷通訊故障,并向處理器發(fā)送故障狀態(tài)。
在總線正常通訊過程中,處理器對CAN總線控制器的接收和發(fā)送錯(cuò)誤計(jì)數(shù)器進(jìn)行實(shí)時(shí)跟蹤監(jiān)控,一旦發(fā)送和接收出現(xiàn)故障,其錯(cuò)誤類型及出錯(cuò)的各結(jié)點(diǎn)被賦予不同的計(jì)數(shù)值,這些計(jì)數(shù)值將根據(jù)是發(fā)送錯(cuò)誤還是接收錯(cuò)誤進(jìn)行累加??偩€通訊正常或有效接收及發(fā)送數(shù)據(jù)時(shí),這些計(jì)數(shù)器將逐次遞減至最小值0。
當(dāng)發(fā)送錯(cuò)誤計(jì)數(shù)器的值超過最大上限255時(shí)“總線關(guān)閉”。CAN控制器進(jìn)入離線狀態(tài),CAN總線控制器產(chǎn)生一個(gè)總線錯(cuò)誤和離線中斷,處理器在收到中斷信號的同時(shí)檢測狀態(tài)位得知系統(tǒng)出現(xiàn)通道通訊故障,通過“通道切換邏輯機(jī)制”切換CAN通訊通道,同時(shí)清除中斷信號。當(dāng)切換完成后,如果再次進(jìn)入錯(cuò)誤中斷,則說明是總線故障,此時(shí)處理器再切換回以前的CAN通訊通道,并通過“總線切換邏輯機(jī)制”切換CAN通訊總線,同時(shí)清除中斷信號。采用這種設(shè)計(jì)方法,當(dāng)兩路CAN通道或兩路CAN總線同時(shí)出現(xiàn)故障時(shí),通訊節(jié)點(diǎn)“總線關(guān)閉”并退出總線通訊,此時(shí)不會影響其他節(jié)點(diǎn)的正常通訊。
4 軟件設(shè)計(jì)
根據(jù)系統(tǒng)功能定義,軟件設(shè)計(jì)分為兩部分,一是信息處理單元內(nèi)部的軟件,二是遠(yuǎn)程數(shù)據(jù)采集器內(nèi)部的軟件。為了提高系統(tǒng)的可靠性和實(shí)時(shí)性,信息處理單元配置了Vxworks實(shí)時(shí)操作系統(tǒng) l,vxworks支持實(shí)時(shí)多任務(wù)系統(tǒng),具有高實(shí)時(shí)性、高傳輸速率、高可靠性的特點(diǎn),完全適合系統(tǒng)上各單元間的大數(shù)據(jù)量實(shí)時(shí)傳輸。
4.1 信息處理單元系統(tǒng)軟件設(shè)計(jì)
信息處理單元的軟件層次組成見圖4。整個(gè)軟件分為兩個(gè)層次:系統(tǒng)任務(wù)層和系統(tǒng)服務(wù)層。系統(tǒng)任務(wù)層是信息處理單元的核心,其中包括數(shù)據(jù)采集任務(wù)、通訊狀態(tài)監(jiān)控任務(wù)、系統(tǒng)狀態(tài)監(jiān)控任務(wù)、系統(tǒng)維護(hù)任務(wù)及系統(tǒng)故障處理、緊急狀況處理任務(wù)等。
系統(tǒng)服務(wù)層為VxWorks操作系統(tǒng)和一些系統(tǒng)接口、服務(wù)組成、服務(wù)層封裝了VxWorks操作系統(tǒng)、CAN總線設(shè)備通訊驅(qū)動程序、CAN總線冗余管理模塊、數(shù)據(jù)分區(qū)管理模塊和系統(tǒng)軟件接口及系統(tǒng)服務(wù),同時(shí)為系統(tǒng)任務(wù)訪問硬件設(shè)備提供平臺。
圖4 信息處理單兀的軟件層次組成示意圖
4.2 遠(yuǎn)程數(shù)據(jù)采集器軟件設(shè)計(jì)
遠(yuǎn)程數(shù)據(jù)采集器軟件包含CAN總線接口管理、外部傳感器信號采集和轉(zhuǎn)換、中斷服務(wù)程序、響應(yīng)信息處理單元系統(tǒng)指令和采集器自診斷功能。
遠(yuǎn)程數(shù)據(jù)采集器是整個(gè)采集系統(tǒng)中要求可靠性較高的單元.除了硬件上增加了看門狗功能、高性能采集電路和雙CAN總線接口外,軟件設(shè)計(jì)也必須考慮其可靠性和穩(wěn)定性要求。因此軟件設(shè)計(jì)上需要重點(diǎn)考慮以下幾個(gè)方面:
(1)軟件校準(zhǔn)ADC。為了提高ADC采集精度和數(shù)據(jù)可靠度,需要通過軟硬件相結(jié)合的方式對ADC進(jìn)行校準(zhǔn)。校準(zhǔn)包括零點(diǎn)漂移及增益誤差的自校準(zhǔn)和采集誤差修正,在設(shè)計(jì)中采用分段線性插值的方法對測量數(shù)據(jù)通過軟件進(jìn)行非線性校正_6],并將補(bǔ)償和校準(zhǔn)參數(shù)存儲在片內(nèi)FLASH中;(2)看門狗超時(shí)監(jiān)控處理。為了提高系統(tǒng)運(yùn)行的穩(wěn)定性,軟件在50ms周期內(nèi)喂一次看門狗,若看門狗超時(shí)則采集器復(fù)位;(3)軟件數(shù)字濾波處理。為了防止外部干擾信號引起采集到的數(shù)據(jù)產(chǎn)生突變,導(dǎo)致錯(cuò)誤報(bào)警,現(xiàn)場數(shù)據(jù)采集節(jié)點(diǎn)發(fā)送數(shù)據(jù)之前對數(shù)據(jù)進(jìn)行數(shù)字濾波。
數(shù)字濾波分兩部分完成,一是外部信號在10ms內(nèi)發(fā)生急脯突變的概率較小,采集器在10ms的單位時(shí)間內(nèi)監(jiān)測和統(tǒng)計(jì)信號的變化率,根據(jù)事先設(shè)定的門限值在數(shù)據(jù)轉(zhuǎn)換前端剔除虛警數(shù)據(jù)。二是采集器在lOOms內(nèi)對相應(yīng)的采樣信號進(jìn)行l(wèi)O次采集取其平均值 ,這種算術(shù)平均值濾波方法比中值濾波可靠性更高,又比防脈沖干擾平均值濾波簡便,可以有效降低對瞬間高頻干擾信號的虛警率。
5 結(jié)束語
基于冗余CAN總線設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)在實(shí)際應(yīng)用中得到了驗(yàn)證,整個(gè)系統(tǒng)在惡劣的工作環(huán)境下性能穩(wěn)定,通訊能力令人滿意。采集器在正常運(yùn)行時(shí)陜速地對遠(yuǎn)程請求做出響應(yīng),工作方式多樣,參數(shù)修改靈活方便,能遠(yuǎn)程維護(hù)管理,可應(yīng)用于構(gòu)建網(wǎng)絡(luò)化管理系統(tǒng)的環(huán)境。
利用冗余CAN總線通訊技術(shù),有效解決了單線傳輸故障,提高了可系統(tǒng)的可靠性和穩(wěn)定性。測試證明,在總線或通道處注入故障時(shí),冗余CAN總線能順利進(jìn)行切換,并保障通訊正常;在對兩條總線或兩路CAN通道同時(shí)注入故障時(shí),數(shù)據(jù)采集器自動脫離總線,系統(tǒng)其他單元間的通訊不受影響。實(shí)驗(yàn)結(jié)果表明,上述設(shè)計(jì)思想完全可行,能夠滿足大型現(xiàn)場采集和控制需求。
采用嵌入式模式開發(fā)設(shè)計(jì),具有精度高、運(yùn)行穩(wěn)定、實(shí)時(shí)性好、抗干擾能力強(qiáng)和性價(jià)比高的特點(diǎn),可以在各種遠(yuǎn)程監(jiān)測領(lǐng)域廣泛應(yīng)用。