冗余CAN總線遠程數(shù)據(jù)采集系統(tǒng)設計與研究
由于系統(tǒng)采用了冗余CAN總線通訊技術(shù),因此冗余CAN總線接口設計是本系統(tǒng)的關(guān)鍵技術(shù)。
在各個數(shù)據(jù)采集器和信息處理單元之間設計兩條CAN總線,在每個數(shù)據(jù)采集器中有2路獨立的CAN通道,正常工作時只有一路CAN通道和一路CAN總線運行。遠程數(shù)據(jù)采集器的冗余CAN總線結(jié)構(gòu)如圖2所示。系統(tǒng)中冗余CAN總線的基本設計思路如下:其中CAN控制器可以是獨立的CAN控制器或者內(nèi)嵌于MCU內(nèi)部的CAN控制器。當出現(xiàn)總線通訊故障時,根據(jù)錯誤類型選擇切換到另一路CAN通道或是另一路CAN總線。在任意時刻,只有一路CAN通道處于工作狀態(tài)。
3.3 雙冗余CAN總線管理
為了提高系統(tǒng)的可靠性,系統(tǒng)中兩套總線采用熱備份方式運行。按照CAN總線出現(xiàn)的錯誤類型,系統(tǒng)通訊故障可分為通道通訊故障和總線通訊故障,處理器利用CAN總線控制器的故障界定狀態(tài)機制判斷通訊故障,并向處理器發(fā)送故障狀態(tài)。
在總線正常通訊過程中,處理器對CAN總線控制器的接收和發(fā)送錯誤計數(shù)器進行實時跟蹤監(jiān)控,一旦發(fā)送和接收出現(xiàn)故障,其錯誤類型及出錯的各結(jié)點被賦予不同的計數(shù)值,這些計數(shù)值將根據(jù)是發(fā)送錯誤還是接收錯誤進行累加??偩€通訊正?;蛴行Ы邮占鞍l(fā)送數(shù)據(jù)時,這些計數(shù)器將逐次遞減至最小值0。
當發(fā)送錯誤計數(shù)器的值超過最大上限255時“總線關(guān)閉”。CAN控制器進入離線狀態(tài),CAN總線控制器產(chǎn)生一個總線錯誤和離線中斷,處理器在收到中斷信號的同時檢測狀態(tài)位得知系統(tǒng)出現(xiàn)通道通訊故障,通過“通道切換邏輯機制”切換CAN通訊通道,同時清除中斷信號。當切換完成后,如果再次進入錯誤中斷,則說明是總線故障,此時處理器再切換回以前的CAN通訊通道,并通過“總線切換邏輯機制”切換CAN通訊總線,同時清除中斷信號。采用這種設計方法,當兩路CAN通道或兩路CAN總線同時出現(xiàn)故障時,通訊節(jié)點“總線關(guān)閉”并退出總線通訊,此時不會影響其他節(jié)點的正常通訊。
4 軟件設計
根據(jù)系統(tǒng)功能定義,軟件設計分為兩部分,一是信息處理單元內(nèi)部的軟件,二是遠程數(shù)據(jù)采集器內(nèi)部的軟件。為了提高系統(tǒng)的可靠性和實時性,信息處理單元配置了Vxworks實時操作系統(tǒng) l,vxworks支持實時多任務系統(tǒng),具有高實時性、高傳輸速率、高可靠性的特點,完全適合系統(tǒng)上各單元間的大數(shù)據(jù)量實時傳輸。
4.1 信息處理單元系統(tǒng)軟件設計
信息處理單元的軟件層次組成見圖4。整個軟件分為兩個層次:系統(tǒng)任務層和系統(tǒng)服務層。系統(tǒng)任務層是信息處理單元的核心,其中包括數(shù)據(jù)采集任務、通訊狀態(tài)監(jiān)控任務、系統(tǒng)狀態(tài)監(jiān)控任務、系統(tǒng)維護任務及系統(tǒng)故障處理、緊急狀況處理任務等。
系統(tǒng)服務層為VxWorks操作系統(tǒng)和一些系統(tǒng)接口、服務組成、服務層封裝了VxWorks操作系統(tǒng)、CAN總線設備通訊驅(qū)動程序、CAN總線冗余管理模塊、數(shù)據(jù)分區(qū)管理模塊和系統(tǒng)軟件接口及系統(tǒng)服務,同時為系統(tǒng)任務訪問硬件設備提供平臺。
圖4 信息處理單兀的軟件層次組成示意圖
4.2 遠程數(shù)據(jù)采集器軟件設計
遠程數(shù)據(jù)采集器軟件包含CAN總線接口管理、外部傳感器信號采集和轉(zhuǎn)換、中斷服務程序、響應信息處理單元系統(tǒng)指令和采集器自診斷功能。
遠程數(shù)據(jù)采集器是整個采集系統(tǒng)中要求可靠性較高的單元.除了硬件上增加了看門狗功能、高性能采集電路和雙CAN總線接口外,軟件設計也必須考慮其可靠性和穩(wěn)定性要求。因此軟件設計上需要重點考慮以下幾個方面:
(1)軟件校準ADC。為了提高ADC采集精度和數(shù)據(jù)可靠度,需要通過軟硬件相結(jié)合的方式對ADC進行校準。校準包括零點漂移及增益誤差的自校準和采集誤差修正,在設計中采用分段線性插值的方法對測量數(shù)據(jù)通過軟件進行非線性校正_6],并將補償和校準參數(shù)存儲在片內(nèi)FLASH中;(2)看門狗超時監(jiān)控處理。為了提高系統(tǒng)運行的穩(wěn)定性,軟件在50ms周期內(nèi)喂一次看門狗,若看門狗超時則采集器復位;(3)軟件數(shù)字濾波處理。為了防止外部干擾信號引起采集到的數(shù)據(jù)產(chǎn)生突變,導致錯誤報警,現(xiàn)場數(shù)據(jù)采集節(jié)點發(fā)送數(shù)據(jù)之前對數(shù)據(jù)進行數(shù)字濾波。
數(shù)字濾波分兩部分完成,一是外部信號在10ms內(nèi)發(fā)生急脯突變的概率較小,采集器在10ms的單位時間內(nèi)監(jiān)測和統(tǒng)計信號的變化率,根據(jù)事先設定的門限值在數(shù)據(jù)轉(zhuǎn)換前端剔除虛警數(shù)據(jù)。二是采集器在lOOms內(nèi)對相應的采樣信號進行l(wèi)O次采集取其平均值 ,這種算術(shù)平均值濾波方法比中值濾波可靠性更高,又比防脈沖干擾平均值濾波簡便,可以有效降低對瞬間高頻干擾信號的虛警率。
5 結(jié)束語
基于冗余CAN總線設計的數(shù)據(jù)采集系統(tǒng)在實際應用中得到了驗證,整個系統(tǒng)在惡劣的工作環(huán)境下性能穩(wěn)定,通訊能力令人滿意。采集器在正常運行時陜速地對遠程請求做出響應,工作方式多樣,參數(shù)修改靈活方便,能遠程維護管理,可應用于構(gòu)建網(wǎng)絡化管理系統(tǒng)的環(huán)境。
利用冗余CAN總線通訊技術(shù),有效解決了單線傳輸故障,提高了可系統(tǒng)的可靠性和穩(wěn)定性。測試證明,在總線或通道處注入故障時,冗余CAN總線能順利進行切換,并保障通訊正常;在對兩條總線或兩路CAN通道同時注入故障時,數(shù)據(jù)采集器自動脫離總線,系統(tǒng)其他單元間的通訊不受影響。實驗結(jié)果表明,上述設計思想完全可行,能夠滿足大型現(xiàn)場采集和控制需求。
采用嵌入式模式開發(fā)設計,具有精度高、運行穩(wěn)定、實時性好、抗干擾能力強和性價比高的特點,可以在各種遠程監(jiān)測領(lǐng)域廣泛應用。
評論