基于通道控制的雙余度DSP設(shè)計(jì)與實(shí)現(xiàn)
雙余度DSP模塊硬件設(shè)計(jì)
本文引用地址:http://butianyuan.cn/article/108099.htm雙余度DSP模塊是本設(shè)計(jì)的重點(diǎn),其硬件原理如圖2的雙余度DSP模塊。它由雙DSP核及通道控制邏輯兩部分組成。其中DSP1為主CPU,DSP2為輔CPU。當(dāng)系統(tǒng)上電啟動(dòng)后主CPU通過I/O口通知輔CPU進(jìn)行自檢并采集其自檢信息,同時(shí)當(dāng)主CPU的EEPROM內(nèi)容發(fā)生改變時(shí),主CPU通過CAN總線發(fā)送相應(yīng)的數(shù)據(jù)給輔CPU以更新輔CPU的EEPROM內(nèi)容,如圖3所示。圖中CAN收發(fā)器為兩個(gè)對(duì)連的CAN總線收發(fā)器,負(fù)責(zé)實(shí)現(xiàn)雙機(jī)間系統(tǒng)即時(shí)信息的傳送,并存儲(chǔ)于各自對(duì)應(yīng)的EEPROM中,供維護(hù)和查詢。
通道控制邏輯決定著整個(gè)系統(tǒng)的當(dāng)前工作CPU,即當(dāng)其中一個(gè)CPU被認(rèn)為有故障時(shí),通道控制邏輯將主動(dòng)或是被動(dòng)地切換到系統(tǒng)認(rèn)為沒有故障的CPU,或決定由其中的一個(gè)CPU強(qiáng)制工作。通道控制邏輯的硬件原理如圖4所示。所謂的主動(dòng)切換是指當(dāng)主DSP通個(gè)自檢發(fā)現(xiàn)自身有故障(包括其對(duì)應(yīng)的通道故障),而其程序能正常工作的情況下,由其程序產(chǎn)生的通過控制I/O口的邏輯電平而產(chǎn)生的通道切換。被動(dòng)切換是指非DSP自檢的因素產(chǎn)生,而是由于通道控制邏輯本身硬件故障引起的通道意外切換。通道控制邏輯硬件由門電路組成,能有效地防止雙機(jī)的搶權(quán)問題。同時(shí)控制邏輯返回給兩個(gè)DSP一個(gè)“CTL_BACK”狀態(tài)回讀信號(hào),用于判斷當(dāng)前的通道情況。
主DSP通過控制輸入端口的邏輯狀態(tài)來使能相應(yīng)的通道,只有當(dāng)兩個(gè)控制端同時(shí)有效時(shí)選通主通道,此時(shí)主DSP工作。其他任何狀態(tài)都將打開輔通道??梢杂行П苊庥捎谥骺谼SP I/O口失效而產(chǎn)生不能切換的后果。同時(shí)主DSP不斷檢測(cè)“CTL_BACK”狀態(tài)回讀信號(hào)的狀態(tài),否則將產(chǎn)生被動(dòng)切換,說明通道控制邏輯硬件故障。輔DSP上電后不斷檢測(cè)“CTL_BACK”狀態(tài)回讀信號(hào),若檢測(cè)到為有效,則說明通道已經(jīng)切換到了輔通道,輔DSP開始工作。
應(yīng)用處理及其輸出單元
針對(duì)于不同的應(yīng)用其處理及輸出單元具有各自的特殊性,本應(yīng)用要求輸出多路電壓控制信號(hào),主要由帶SPI接口的16路模數(shù)轉(zhuǎn)換芯片及驅(qū)動(dòng)電路組成,并通過DSP的I/O口控制D/A的復(fù)位、清零等操作。
系統(tǒng)軟件
系統(tǒng)軟件設(shè)計(jì)主要基于CCS2.2 Code Composer Studio集成開發(fā)環(huán)境,主程序采用匯編語言編寫,軟件調(diào)試及仿真完成??刂瓢錎SP軟件流程框圖如圖5所示,系統(tǒng)軟件主要實(shí)現(xiàn)雙機(jī)間的通訊及故障判別并切換,并完成控制任務(wù)處理。包括主DSP軟件及輔DSP軟件兩部分,其中任務(wù)控制處理功能部分是相同的,重點(diǎn)在于雙機(jī)間的交互問題。
在雙機(jī)交互的切換問題中,起主要作用的是通道的切換,當(dāng)前打開的通道具有最高優(yōu)先權(quán),不管產(chǎn)生DSP切換的原因是什么,其最終的結(jié)果都將是當(dāng)前只有一個(gè)通道是打開的,通道的切換可能是由主DSP程序主動(dòng)控制而切換,或是控制邏輯本身的硬件原因,但是只有這個(gè)對(duì)應(yīng)的打開通道的DSP能真正控制外部的輸出,這即所謂的通道分用。切換依據(jù)如圖5所示。
評(píng)論