一種基于FPGA+DSP的通用飛控計(jì)算機(jī)平臺設(shè)計(jì)
摘要:針對在舵機(jī)、導(dǎo)引頭、慣導(dǎo)等彈上設(shè)備日益數(shù)字化的趨勢下飛控系統(tǒng)的需求,提出了一種基于DSP+FPGA結(jié)構(gòu)的通用飛控計(jì)算機(jī)平臺。DSP+FPGA結(jié)構(gòu)能發(fā)揮兩種處理芯片各自的優(yōu)勢,而且具有良好的通用性和擴(kuò)展性。針對多個外部設(shè)備數(shù)據(jù)同步問題,采用2個雙端口RAM交替工作的方法,保證各彈上設(shè)備數(shù)據(jù)幀的同步和完整連續(xù)。通過半實(shí)物仿真系統(tǒng)的驗(yàn)證,飛控計(jì)算機(jī)性能良好,性能滿足設(shè)計(jì)要求。
本文引用地址:http://m.butianyuan.cn/article/249384.htm關(guān)鍵詞:DSP+FPGA;數(shù)字式飛控計(jì)算機(jī);雙端口RAM;數(shù)據(jù)同步
飛控計(jì)算機(jī)是現(xiàn)代導(dǎo)彈制導(dǎo)與控制系統(tǒng)的核心裝置,其性能的好壞直接關(guān)系到精確制導(dǎo)的精度和殺傷目標(biāo)的概率。近年來舵機(jī)、導(dǎo)引頭、慣導(dǎo)等彈載設(shè)備日益向著數(shù)字化方向發(fā)展,因此設(shè)計(jì)一種能兼容多數(shù)字式設(shè)備的通用飛控計(jì)算機(jī)平臺尤為重要。傳統(tǒng)的單處理器核心飛控計(jì)算機(jī)難以在多通道異步數(shù)據(jù)收發(fā)的同時保證數(shù)據(jù)處理速度,難以滿足現(xiàn)代導(dǎo)彈的要求。本文提出了一種基于DSP+FPGA結(jié)構(gòu),對外接口為422的通用數(shù)字飛控計(jì)算機(jī)平臺。此平臺能充分發(fā)揮DSP的運(yùn)算速度,實(shí)現(xiàn)飛控算法。采用基于FPGA的雙RAM緩沖機(jī)制,能很好地解決異步串行數(shù)據(jù)實(shí)時同步數(shù)據(jù)處理問題,滿足飛控系統(tǒng)需求。
1 設(shè)計(jì)思想和工作原理
1.1 設(shè)計(jì)思想
對于單DSP核心的飛控計(jì)算機(jī),要收發(fā)多路異步串行數(shù)據(jù)就會占用多路中斷,導(dǎo)致中斷響應(yīng)不及時造成數(shù)據(jù)丟失。同時多路中斷也會影響到數(shù)據(jù)傳輸?shù)膶?shí)時性。飛控計(jì)算機(jī)對數(shù)據(jù)的完整性和實(shí)時性要求較高,傳統(tǒng)單DSP核心不能滿足彈上多數(shù)字式設(shè)備的要求。由于FPGA具有強(qiáng)大的并行處理能力,所以采用增加一片F(xiàn)PGA用于異步串行數(shù)據(jù)的收發(fā)的方法彌補(bǔ)單DSP核心的缺陷。DSP+FPGA的結(jié)構(gòu)能將DSP從繁瑣的外部接口管理中解放出來,充分發(fā)揮DSP的運(yùn)算優(yōu)勢,提高運(yùn)算效率的同時易于維護(hù)和擴(kuò)展。
1.2 飛控計(jì)算機(jī)工作原理
飛控計(jì)算機(jī)的一般工作過程如下:飛控計(jì)算機(jī)上電之后進(jìn)行自檢,向載機(jī)發(fā)出“導(dǎo)彈存在”指令。飛控計(jì)算機(jī)接收載機(jī)的裝訂信息,完成初始對準(zhǔn),并且向載機(jī)發(fā)出“允許發(fā)射”指令。當(dāng)導(dǎo)引頭探測到目標(biāo)向飛控計(jì)算機(jī)發(fā)出導(dǎo)引數(shù)據(jù)時,飛控計(jì)算機(jī)向載機(jī)發(fā)出“目標(biāo)截獲”指令。載機(jī)經(jīng)過判斷決策,向飛控計(jì)算機(jī)給出“發(fā)射”指令。發(fā)射之后,飛控計(jì)算機(jī)進(jìn)行飛行時間計(jì)時,并開始按照已有的控制率,結(jié)合慣導(dǎo)和導(dǎo)引頭輸入進(jìn)行飛控解算,得出四路舵機(jī)控制信號信號,控制導(dǎo)彈運(yùn)動;并將接收到慣導(dǎo)數(shù)據(jù)、導(dǎo)引頭數(shù)據(jù)、舵控量等內(nèi)容組成遙測信息,發(fā)送給觀測人員。
2 結(jié)構(gòu)和硬件設(shè)計(jì)
根據(jù)飛控計(jì)算機(jī)工作原理,它具備以下功能:
能夠收發(fā)裝訂、慣導(dǎo)、導(dǎo)引頭和遙測等數(shù)據(jù);
能夠?qū)崿F(xiàn)導(dǎo)引率,完成導(dǎo)航數(shù)據(jù)解算功能;
能夠控制執(zhí)行機(jī)構(gòu)——舵機(jī)。
RS422通信協(xié)議具有抗干擾能力強(qiáng),傳輸距離遠(yuǎn),實(shí)現(xiàn)簡單的特點(diǎn),已經(jīng)被各種數(shù)字設(shè)備廣泛采用。本彈載機(jī)對外通信接口均采用422通信協(xié)議。根據(jù)飛控計(jì)算機(jī)的功能可以得出,此系統(tǒng)至少應(yīng)該包含裝訂、慣導(dǎo)、導(dǎo)引頭、遙測數(shù)據(jù)的收發(fā)和舵機(jī)控制5路數(shù)據(jù)通信。由于彈載機(jī)工作時收發(fā)“導(dǎo)彈存在”、“目標(biāo)截獲”、“允許發(fā)射”等開關(guān)量,還需要開關(guān)量的輸入輸出。故FPGA對外的接口共包括5路RS422和8位DIO通信接口。系統(tǒng)結(jié)構(gòu)簡圖如圖1所示(圖中XINTF接口和雙端口RAM的說明見本文第4部分)。
DSP選用TI公司的高性能浮點(diǎn)處理器,150 MHz主頻,性能相比于2812有大幅提升,廣泛應(yīng)用于控制系統(tǒng)。FPGA選用ALTERA的Cyclone II系列,完全滿足應(yīng)用需求。DSP+FPGA組成的最小系統(tǒng)主要由電源、復(fù)位電路、晶振、燒寫接口等部分組成。電源芯片選用TPS7 67D301PWP,可以為DSP提供3.3 V的工作電壓和1.9 V的內(nèi)核電壓;FPGA的內(nèi)核電壓由ASM1117-1.2穩(wěn)壓得到。DSP復(fù)位芯片采用MAX809S,晶振采用30 MHz的有源晶振;FPGA用50 MHz的有源晶振。配置芯片選用EPCS1,容量為1M bits,用AS模式燒寫。
對外的RS422接口采用MAX3491協(xié)議芯片實(shí)現(xiàn)。MAX3491將FPGA的TTL電平轉(zhuǎn)換成422差分電平,和彈上設(shè)備通信。由于FPGA引腳的驅(qū)動能力弱,因此對外的8位DIO采用74LN244芯片,增強(qiáng)驅(qū)動能力。
3 軟件設(shè)計(jì)
DSP通過XINTF接口與FPGA通信。DSP將地址傳遞給FPGA,F(xiàn)PGA經(jīng)過地址譯碼操作對應(yīng)外部設(shè)備數(shù)據(jù)。
3.1 FPGA軟件設(shè)計(jì)
FPGA主要功能是完成5路RS422串口數(shù)據(jù)的同時收發(fā)操作開關(guān)量的輸入和輸出,并和DSP交換數(shù)據(jù)。FPGA可使用進(jìn)程語句實(shí)現(xiàn)并行運(yùn)行,對各外設(shè)的操作都是實(shí)時并行的,相互之間沒有影響。
3.1.1 串口通信
先將時鐘通過分頻得到8倍于波特率的串口時鐘。數(shù)據(jù)接收時,根據(jù)串口通信的特點(diǎn),首先判斷低電平起始位。檢測到起始位之后,按照嚴(yán)格地每八個時鐘一位的關(guān)系采集一個字節(jié)8位的電平。由于噪聲的存在可能會導(dǎo)致采集到的瞬時電平有誤,此時采用表決機(jī)制,即在8個時鐘期間采樣3次,以其中2次相同的電平為準(zhǔn)。實(shí)驗(yàn)證明,表決機(jī)制能極大排除隨即噪聲干擾,降低串行通信的誤碼率。接收到數(shù)據(jù)之后存儲在對應(yīng)的雙端口RAM中,等待DSP讀取。串口數(shù)據(jù)接受流程如圖2所示。
數(shù)據(jù)發(fā)送時先從雙端口RAM中讀出需要發(fā)送的數(shù)據(jù),按照串口時鐘,先發(fā)送起始位(低電平),再依次通過移位寄存器將8位的數(shù)據(jù)轉(zhuǎn)換成串行的‘0’/‘1’發(fā)出。主要由下面語句實(shí)現(xiàn):
txd<=txd_buf(0);
txd_buf(6 downto 0)<=txd_buf(7 downto 1);
其中txd是要發(fā)送的1位邏輯電平,txd_buf中存儲著將要發(fā)送的數(shù)據(jù)。發(fā)送流程如圖3所示。
fpga相關(guān)文章:fpga是什么
晶振相關(guān)文章:晶振原理
評論