基于通道控制的雙余度DSP設計
引言
具有自動控制功能的電子設備已廣泛應用于我國多型機上,用于飛機上各機載設備的控制、調節(jié)等功能。如圖1所示,其控制系統(tǒng)主要由傳感器信號輸入、核心控制板及經過處理驅動后的控制信號輸出,最后輸出到機上的具體應用。本文將主要介紹如何利用通道復用技術設計實現(xiàn)具有雙余度DSP的控制板部件,重點描述如何實現(xiàn)系統(tǒng)的雙余度DSP設計、雙DSP間如何通訊以及DSP的故障判定法則等。
控制板硬件設計
控制板的硬件框圖如圖2所示,主要由外部信息采集單元、雙余度DSP模塊、應用處理及其輸出單元等組成。其中,雙余度單元的CPU選用16位定點DSP TMS320LF2407A,其運行最高速率可達40MHz、片內集成多種外設。
圖中,兩個DSP通過CAN總線及I/O口進行控制信息交換及數(shù)據(jù)通信。兩個DSP分別與收發(fā)器1、收發(fā)器2相連,這兩個通道與外部數(shù)據(jù)或控制總線是相連的,即共享一個外部接口,通道控制邏輯使同一時刻只能有一個通道打開,保證系統(tǒng)工作的穩(wěn)定性。其中DSP1是控制邏輯的主控制機,在正常工作的情況下由它控制著相應通道的通斷及當前主控CPU。每個DSP都有自己的EEPROM存儲器,用于存儲系統(tǒng)的各種即時信息,并通過CAN總線在雙機間進行傳輸??刂瓢骞ぷ鲿r采集傳感器及外部控制信息,通過CPU運算處理后由其對應的通道輸出控制信息到相應控制盒,控制相應設備的動作。
雙余度DSP模塊硬件設計
雙余度DSP模塊是本設計的重點,其硬件原理如圖2的雙余度DSP模塊。它由雙DSP核及通道控制邏輯兩部分組成。其中DSP1為主CPU,DSP2為輔CPU。當系統(tǒng)上電啟動后主CPU通過I/O口通知輔CPU進行自檢并采集其自檢信息,同時當主CPU的EEPROM內容發(fā)生改變時,主CPU通過CAN總線發(fā)送相應的數(shù)據(jù)給輔CPU以更新輔CPU的EEPROM內容,如圖3所示。圖中CAN收發(fā)器為兩個對連的CAN總線收發(fā)器,負責實現(xiàn)雙機間系統(tǒng)即時信息的傳送,并存儲于各自對應的EEPROM中,供維護和查詢。
通道控制邏輯決定著整個系統(tǒng)的當前工作CPU,即當其中一個CPU被認為有故障時,通道控制邏輯將主動或是被動地切換到系統(tǒng)認為沒有故障的CPU,或決定由其中的一個CPU強制工作。通道控制邏輯的硬件原理如圖4所示。所謂的主動切換是指當主DSP通個自檢發(fā)現(xiàn)自身有故障(包括其對應的通道故障),而其程序能正常工作的情況下,由其程序產生的通過控制I/O口的邏輯電平而產生的通道切換。被動切換是指非DSP自檢的因素產生,而是由于通道控制邏輯本身硬件故障引起的通道意外切換。通道控制邏輯硬件由門電路組成,能有效地防止雙機的搶權問題。同時控制邏輯返回給兩個DSP一個“CTL_BACK”狀態(tài)回讀信號,用于判斷當前的通道情況。
主DSP通過控制輸入端口的邏輯狀態(tài)來使能相應的通道,只有當兩個控制端同時有效時選通主通道,此時主DSP工作。其他任何狀態(tài)都將打開輔通道??梢杂行П苊庥捎谥骺谼SP I/O口失效而產生不能切換的后果。同時主DSP不斷檢測“CTL_BACK”狀態(tài)回讀信號的狀態(tài),否則將產生被動切換,說明通道控制邏輯硬件故障。輔DSP上電后不斷檢測“CTL_BACK”狀態(tài)回讀信號,若檢測到為有效,則說明通道已經切換到了輔通道,輔DSP開始工作。
應用處理及其輸出單元
針對于不同的應用其處理及輸出單元具有各自的特殊性,本應用要求輸出多路電壓控制信號,主要由帶SPI接口的16路模數(shù)轉換芯片及驅動電路組成,并通過DSP的I/O口控制D/A的復位、清零等操作。
系統(tǒng)軟件
系統(tǒng)軟件設計主要基于CCS2.2 Code Composer Studio集成開發(fā)環(huán)境,主程序采用匯編語言編寫,軟件調試及仿真完成。控制板DSP軟件流程框圖如圖5所示,系統(tǒng)軟件主要實現(xiàn)雙機間的通訊及故障判別并切換,并完成控制任務處理。包括主DSP軟件及輔DSP軟件兩部分,其中任務控制處理功能部分是相同的,重點在于雙機間的交互問題。
在雙機交互的切換問題中,起主要作用的是通道的切換,當前打開的通道具有最高優(yōu)先權,不管產生DSP切換的原因是什么,其最終的結果都將是當前只有一個通道是打開的,通道的切換可能是由主DSP程序主動控制而切換,或是控制邏輯本身的硬件原因,但是只有這個對應的打開通道的DSP能真正控制外部的輸出,這即所謂的通道分用。切換依據(jù)如圖5所示。
系統(tǒng)應用控制軟件主要實現(xiàn)系統(tǒng)的具體的應用功能,主要由以下功能子程序組成:系統(tǒng)自檢子程序、雙機交互及故障判斷切換子程序、控制應用功能子程序等。其中主DSP、輔DSP雙機交互軟件流程如圖6a、圖6b所示。
結語
雙余度DSP系統(tǒng)在對控制器要求較高的場合具有很好的實用意義,其基于通道復用的硬件設計結構簡單且易于實現(xiàn),有效地解決了雙機共同工作的權限問題。本設計中所提出的雙余度DSP設計可以很方便地移植到其他的雙余度系統(tǒng)中。
評論