陳飛,侯遠龍,高強
(南京理工大學 機械工程學院,江蘇 南京 210094)
現代武器裝備研制的重要技術之一就是保證武器系統具有較高的穩定性和可靠性,而采用冗余技術能有效地提高系統的穩定性。冗余技術就是通過配置多余的同等功能的部件,并通過一定的冗余控制邏輯使它們之間能夠協調地同步運行,從而使系統應用功能的實現得到多重保證[1]。本文基于某型號遠程火炮控制系統中交流伺服系統部分的研制,采用雙CPU 方案實現冗余控制,通過增加冗余資源來換取系統可靠性,當主控制處理器出現故障時,備用控制處理器能夠實時自動地接管整個控制系統,從而保證系統不受停機損失。
該交流伺服系統主要由控制計算機、交流伺服電機、測速裝置、伺服放大器、模擬負載等設備組成。控制計算機根據火控系統給出的目標位置,計算出所需的控制電壓數字信號,通過D/A 轉換模塊將數字信號轉換成模擬信號后,輸入到伺服放大器中進行信號調理,然后輸入給交流調速系統,利用速度閉環環節調節電機的轉速,通過減速器轉化為合適的轉矩帶動模擬負載的運動。模擬負載的實際位置由旋轉變壓器測得,然后經RDC 模塊將模擬信號轉換成數字信號,傳送回控制計算機中,構成完整的位置閉環控制系統,如圖1 所示。

圖1 交流伺服系統原理框圖
雙CPU 冗余技術就是在系統中增加備用CPU 模塊,一旦工作CPU 模塊發生故障,控制系統可以快速切換到備用CPU 模塊,從而保障系統的正常工作。根據冗余部件的備份狀態可以分為冷備份冗余技術和熱備份冗余控制技術。冷備份冗余技術就是在系統設計時,多配置CPU模塊作為備份,一旦正在運行的CPU 模塊發生故障時,能及時更換,減少系統修復時間[2]。這種冗余方案中備用的CPU 模塊并沒有安裝在控制設備上,其弊端就是出現故障時候,需要系統停止工作,人工進行切換。本文采用熱備份冗余技術,如圖2 所示,熱備份冗余就是兩個CPU模塊同時在線工作,一個主CPU 模塊,一個從CPU 模塊。主CPU 模塊按照系統要求正常工作,從CPU 模塊處于熱備份狀態,實時監控主CPU 模塊狀態,一旦檢測到主CPU模塊出現故障時,從CPU 模塊便可自動接管主CPU 模塊工作,系統不受停機影響。

圖2 雙CPU 熱備份冗余技術原理圖
主、從CPU均選用TI公司的浮點型 DSP,TMS320F28335,來可以實現系統的位置伺服控制,與上位機進行通信,接受上位機發出的指令和數據,同時將RDC模塊的實時位置信號,經過控制算法的計算得到合適的控制電壓,然后經過D/A 轉換,將數字信號轉化為模擬信號輸出。
雙CPU 冗余控制系統的硬件構成如圖3 所示,DSP1、DSP2 接受到同一個實時位置信號,采用相同的控制算法,D/A 轉換采用Maxim 公司的高精度D/A 芯片Max5134,輸出的模擬電壓,一方面通過多路模擬開關Max14763 切換主輸出或是備用輸出到負載,另一方面均通過Maxim公司的高精度A/D 芯片Max11049,將D/A 芯片輸出的模擬電壓轉化為相對應的數字量,傳回各自的DSP,DSP1、DSP2 之間,通過Cypress 公司的雙口RAM 芯片Cy7c028實現實時通訊。DSP2 通過雙口RAM 芯片實時監控DSP1的輸出,當DSP1 正常工作時,多路模擬開關選通主輸出連接到負載,當DSP2 判定DPS1 出現故障時,控制多路模擬開關選通備用輸出連接到負載,從而實時接管DSP1 的工作,實現系統的連續工作。為了保證DSP1、DSP2 前段采樣的完全同步,必須兩個DSP 系統有相同的時鐘源,故兩個DSP 系統由同一個時鐘源驅動,接受同一個輸入信號,且兩個DSP 系統采用相同的控制算法,運行相同的程序。

圖3 雙CPU 冗余控制系統硬件構成圖
在雙CPU 冗余控制系統中,兩個CPU 擁有系統的全部輸入,對于任何一個輸入信號而言,系統都會獲得兩組采集值。在正常情況下,兩組采集值應該保持一致,當出現故障時,兩組采集值會產生較大偏差[3]。因此,本文將解析冗余故障的檢測方法引入到雙CPU 故障檢測中,提出了解析冗余的雙CPU 故障檢測算法,其實現原理如圖4所示。

圖4 基于解析冗余的雙CPU 故障檢測算法原理圖
在解析冗余的雙CPU 故障檢測算法中,兩個CPU 在當前時刻對同一個輸入信號量進行采集,可以不建立數學模型獲取參數估計值,并得到采集結果xn,yn,且xn為yn的觀察特征值,yn同樣xn的觀察特征值,其故障檢測步驟如下:
1)計算xn和yn的殘差val(xnyn),如果val(xnyn)<θ,則判定兩個CPU 采集的數據一致,系統無故障,可取xn作為采集值,其中θ 為相似度門限值,該值根據實際系統需求而定,如果val(xnyn)<θ 不滿足,則判定系統出現故障,然后進行故障定位。
2)獲取兩CPU 前m 次采集結果,…….,…….,并計算CPU1 的歷史殘差:
val(xn,yn-1),val(xn-1,yn-2)……val(xn-1-m,xn-m)和CPU2 歷史殘差:
val(yn,yn-1),val(yn-1,yn-2)……val(yn-1-m,yn-m)
3)判斷val(xn,xn|1)和CPU1 的歷史殘差平均值是否一致,判斷val(yn,yn|1)和CPU2 的歷史殘差平均值是否一致。若:

則判定CPU1 故障,并選擇yn作為當前時刻采集值,其中|為歷史殘差門限值,若:

則判定CPU2 故障,并選擇xn作為當前時刻采集值。
當系統正常工作或DSP1 正常而DSP2 出現故障時,多路模擬開關應一直選通主輸出,即DSP1 的輸出到負載,如圖5 所示。

圖5 系統正常工作時選通主輸出到負載
對冗余系統性能和功能進行驗證的一條重要途徑就是進行故障仿真模擬,本文采用人為手段設置硬件故障,出于對硬件成本和硬件復雜性的考慮,通過短時間中斷DSP1 的數據采集模塊的工作,檢驗系統能否實時切換備用輸出,即DSP2 的輸出到負載。仿真結果如圖6 所示,成功通過控制多路模擬開關選通備用輸出到負載,保證了系統的連續工作。

圖6 DSP1 出現故障時選通備用輸出到負載
本文設計了一套基于雙DSP 的冗余控制系統,并進行了仿真模擬實驗,實驗結果表明,該系統通過較小的硬件配置成本,增加了整個交流伺服系統的穩定性和可靠性,系統出現故障時,不需要停機進行人工手動切換,從而保證了系統工作的連續性。
[1]聞新,周露.控制系統的故障診斷和容錯控制[M].北京:機械工業出版社,1998:214.
[2]衡軍山.基于雙CPU 的冗余研究與實現[J].機床與液壓,2008,36(7):8-10.
[3]陳子平.淺談控制系統冗余控制的實現[J].自動化儀表,2005,26(9):2-4.