• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于DSP+FPGA的數(shù)字導(dǎo)彈飛控計(jì)算機(jī)設(shè)計(jì)

      2014-01-27 07:15:14李銀海王民鋼孫傳新
      電子設(shè)計(jì)工程 2014年8期
      關(guān)鍵詞:控計(jì)算機(jī)浮點(diǎn)數(shù)飛控

      李銀海,王民鋼,孫傳新

      (西北工業(yè)大學(xué) 航天學(xué)院,陜西 西安 710072)

      飛控計(jì)算機(jī)是現(xiàn)代導(dǎo)彈制導(dǎo)與控制系統(tǒng)的核心裝置,其性能的好壞直接關(guān)系到精確制導(dǎo)的精度和殺傷目標(biāo)的概率[1]。近年來(lái)舵機(jī)、導(dǎo)引頭、慣導(dǎo)等彈載設(shè)備日益向著數(shù)字化方向發(fā)展,因此設(shè)計(jì)一種能兼容多數(shù)字式設(shè)備的通用飛控計(jì)算機(jī)平臺(tái)尤為重要。傳統(tǒng)的單處理器核心飛控計(jì)算機(jī)難以在多通道異步數(shù)據(jù)收發(fā)的同時(shí)保證數(shù)據(jù)處理速度,難以滿足現(xiàn)代導(dǎo)彈的要求[1]。本文提出了一種基于DSP+FPGA結(jié)構(gòu),對(duì)外接口為422的通用數(shù)字飛控計(jì)算機(jī)平臺(tái)。此平臺(tái)能充分發(fā)揮DSP的運(yùn)算速度,實(shí)現(xiàn)飛控算法。采用基于FPGA的雙RAM緩沖機(jī)制,能很好地解決異步串行數(shù)據(jù)實(shí)時(shí)同步數(shù)據(jù)處理問(wèn)題,滿足飛控系統(tǒng)需求。

      1 設(shè)計(jì)思想和工作原理

      1.1 設(shè)計(jì)思想

      對(duì)于單DSP核心的飛控計(jì)算機(jī),要收發(fā)多路異步串行數(shù)據(jù)就會(huì)占用多路中斷,導(dǎo)致中斷響應(yīng)不及時(shí)造成數(shù)據(jù)丟失。同時(shí)多路中斷也會(huì)影響到數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性。飛控計(jì)算機(jī)對(duì)數(shù)據(jù)的完整性和實(shí)時(shí)性要求較高,傳統(tǒng)單DSP核心不能滿足彈上多數(shù)字式設(shè)備的要求。由于FPGA具有強(qiáng)大的并行處理能力,所以采用增加一片F(xiàn)PGA用于異步串行數(shù)據(jù)的收發(fā)的方法彌補(bǔ)單DSP核心的缺陷。DSP+FPGA的結(jié)構(gòu)能將DSP從繁瑣的外部接口管理中解放出來(lái),充分發(fā)揮DSP的運(yùn)算優(yōu)勢(shì),提高運(yùn)算效率的同時(shí)易于維護(hù)和擴(kuò)展[2]。

      1.2 飛控計(jì)算機(jī)工作原理

      飛控計(jì)算機(jī)的一般工作過(guò)程如下:飛控計(jì)算機(jī)上電之后進(jìn)行自檢,向載機(jī)發(fā)出“導(dǎo)彈存在”指令。飛控計(jì)算機(jī)接收載機(jī)的裝訂信息,完成初始對(duì)準(zhǔn),并且向載機(jī)發(fā)出“允許發(fā)射”指令。當(dāng)導(dǎo)引頭探測(cè)到目標(biāo)向飛控計(jì)算機(jī)發(fā)出導(dǎo)引數(shù)據(jù)時(shí),飛控計(jì)算機(jī)向載機(jī)發(fā)出“目標(biāo)截獲”指令。載機(jī)經(jīng)過(guò)判斷決策,向飛控計(jì)算機(jī)給出“發(fā)射”指令。發(fā)射之后,飛控計(jì)算機(jī)進(jìn)行飛行時(shí)間計(jì)時(shí),并開(kāi)始按照已有的控制率,結(jié)合慣導(dǎo)和導(dǎo)引頭輸入進(jìn)行飛控解算,得出四路舵機(jī)控制信號(hào)信號(hào),控制導(dǎo)彈運(yùn)動(dòng);并將接收到慣導(dǎo)數(shù)據(jù)、導(dǎo)引頭數(shù)據(jù)、舵控量等內(nèi)容組成遙測(cè)信息,發(fā)送給觀測(cè)人員。

      2 結(jié)構(gòu)和硬件設(shè)計(jì)

      根據(jù)飛控計(jì)算機(jī)工作原理,它具備以下功能:

      能夠收發(fā)裝訂、慣導(dǎo)、導(dǎo)引頭和遙測(cè)等數(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)簡(jiǎn)單的特點(diǎn),已經(jīng)被各種數(shù)字設(shè)備廣泛采用。本彈載機(jī)對(duì)外通信接口均采用422通信協(xié)議。根據(jù)飛控計(jì)算機(jī)的功能可以得出,此系統(tǒng)至少應(yīng)該包含裝訂、慣導(dǎo)、導(dǎo)引頭、遙測(cè)數(shù)據(jù)的收發(fā)和舵機(jī)控制5路數(shù)據(jù)通信。由于彈載機(jī)工作時(shí)收發(fā)“導(dǎo)彈存在”、“目標(biāo)截獲”、“允許發(fā)射”等開(kāi)關(guān)量,還需要開(kāi)關(guān)量的輸入輸出。故FPGA對(duì)外的接口共包括5路RS422和8位DIO通信接口。系統(tǒng)結(jié)構(gòu)簡(jiǎn)圖如圖1所示(圖中XINTF接口和雙端口RAM的說(shuō)明見(jiàn)本文第4部分)。

      圖1 系統(tǒng)結(jié)構(gòu)Fig.1 Structure diagram of the power control unit test system

      DSP選用TI公司的高性能浮點(diǎn)處理器TMS320F28335,150 MHz主頻,性能相比于2812有大幅提升,廣泛應(yīng)用于控制系統(tǒng)。FPGA選用ALTERA的Cyclone II系列,完全滿足應(yīng)用需求。DSP+FPGA組成的最小系統(tǒng)主要由電源、復(fù)位電路、晶振、燒寫(xiě)接口等部分組成。電源芯片選用TPS767D301PWP,可以為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模式燒寫(xiě)。

      對(duì)外的RS422接口采用MAX3491協(xié)議芯片實(shí)現(xiàn)。MAX3491將FPGA的TTL電平轉(zhuǎn)換成422差分電平,和彈上設(shè)備通信。由于FPGA引腳的驅(qū)動(dòng)能力弱,因此對(duì)外的8位DIO采用74LV244芯片,增強(qiáng)驅(qū)動(dòng)能力。

      3 軟件設(shè)計(jì)

      DSP通過(guò)XINTF接口與FPGA通信。DSP將地址傳遞給FPGA,F(xiàn)PGA經(jīng)過(guò)地址譯碼操作對(duì)應(yīng)外部設(shè)備數(shù)據(jù)。

      3.1 FPGA軟件設(shè)計(jì)

      FPGA主要功能是完成5路RS422串口數(shù)據(jù)的同時(shí)收發(fā)操作開(kāi)關(guān)量的輸入和輸出,并和DSP交換數(shù)據(jù)。FPGA可使用進(jìn)程語(yǔ)句實(shí)現(xiàn)并行運(yùn)行,對(duì)各外設(shè)的操作都是實(shí)時(shí)并行的,相互之間沒(méi)有影響。

      3.1.1 串口通信

      先將時(shí)鐘通過(guò)分頻得到8倍于波特率的串口時(shí)鐘。數(shù)據(jù)接收時(shí),根據(jù)串口通信的特點(diǎn),首先判斷低電平起始位。檢測(cè)到起始位之后,按照嚴(yán)格地每八個(gè)時(shí)鐘一位的關(guān)系采集一個(gè)字節(jié)8位的電平。由于噪聲的存在可能會(huì)導(dǎo)致采集到的瞬時(shí)電平有誤,此時(shí)采用表決機(jī)制,即在8個(gè)時(shí)鐘期間采樣3次,以其中2次相同的電平為準(zhǔn)。實(shí)驗(yàn)證明,表決機(jī)制能極大排除隨即噪聲干擾,降低串行通信的誤碼率[4]。接收到數(shù)據(jù)之后存儲(chǔ)在對(duì)應(yīng)的雙端口RAM中,等待DSP讀取。串口數(shù)據(jù)接受流程如圖2所示。

      圖2 串口數(shù)據(jù)接收流程圖Fig.2 Serial data reception flow

      數(shù)據(jù)發(fā)送時(shí)先從雙端口RAM中讀出需要發(fā)送的數(shù)據(jù),按照串口時(shí)鐘,先發(fā)送起始位(低電平),再依次通過(guò)移位寄存器將8位的數(shù)據(jù)轉(zhuǎn)換成串行的’0’/’1’發(fā)出。主要由下面語(yǔ)句實(shí)現(xiàn):

      其中txd是要發(fā)送的1位邏輯電平,txd_buf中存儲(chǔ)著將要發(fā)送的數(shù)據(jù)。發(fā)送流程如圖3所示。

      圖3 串口數(shù)據(jù)發(fā)送流程圖Fig.3 Serial data transmission flow

      將按照上述流程設(shè)計(jì)的程序在FPGA中進(jìn)行測(cè)試。將FPGA串口和PC機(jī)連接,采用115 200波特率連續(xù)工作3分鐘,收發(fā)均無(wú)錯(cuò)誤字節(jié)。

      3.1.2 雙RAM緩沖機(jī)制

      由于串口外設(shè)的波特率是115 200,屬于低速外設(shè),因此在串口數(shù)據(jù)和DSP之間采用雙端口RAM作為緩沖區(qū)[5]。由于此FPGA上自帶片上RAM,因此可以利用開(kāi)發(fā)環(huán)境自帶的IP核生成片上雙端口RAM,不用額外增加片外RAM器件(圖1)。雙端口RAM的實(shí)體定義和讀寫(xiě)時(shí)序:

      將每個(gè)RAM中的最后一個(gè)字節(jié)作為反映RAM存儲(chǔ)狀態(tài)的狀態(tài)字。RAM的狀態(tài)字代表的含義如下:

      圖4 雙端口RAM讀寫(xiě)時(shí)序圖Fig.4 Daul RAM timing diagram

      bit0:1-串口接收到新數(shù)據(jù)幀 0-無(wú)新數(shù)據(jù)幀;

      bit1:1-數(shù)據(jù)已經(jīng)被讀取 0-數(shù)據(jù)未被讀?。?/p>

      慣導(dǎo)和導(dǎo)引頭向彈載機(jī)每6 ms傳輸一幀數(shù)據(jù),將數(shù)據(jù)存儲(chǔ)到雙端口 RAM中, 同時(shí)將 bit0置 ‘1’,bit1清零,即RAM狀態(tài)為“新數(shù)據(jù)幀未被讀取”。由于慣導(dǎo)和導(dǎo)引頭的數(shù)據(jù)不同步,因此DSP每1ms就查詢一次RAM的狀態(tài)字。若接收到新的數(shù)據(jù)幀(bit0=1),則讀取RAM數(shù)據(jù),并將“數(shù)據(jù)被讀取”位置 1(bit1=1)。這樣,慣導(dǎo)和導(dǎo)引頭給DSP發(fā)送的數(shù)據(jù)延遲不超過(guò)1 ms,可以認(rèn)為慣導(dǎo)和導(dǎo)引頭的數(shù)據(jù)是實(shí)時(shí)同步的。

      圖5 雙RAM緩沖示意圖Fig.5 Two daul RAMS buffer schematic diagram

      在串口接收數(shù)據(jù)期間,如果串口和DSP在同一時(shí)間操作RAM,可能導(dǎo)致DSP讀取到幀錯(cuò)亂的數(shù)據(jù)。為了保證數(shù)據(jù)幀的完整,不使兩者同時(shí)讀取RAM,采用雙RAM緩沖機(jī)制,即為每個(gè)串口配置2個(gè)雙端口RAM的作為緩沖,如圖 5所示。串口數(shù)據(jù)接收程序通過(guò)查詢RAMa和RAMb的狀態(tài)字,若bit1=1,則將接收到的數(shù)據(jù)幀存儲(chǔ)到對(duì)應(yīng)的RAM中,完成之后將bit0置1,bit1清0,這個(gè)周期為6 ms。與此同時(shí),DSP每1 ms查詢一次 RAMa和RAMb,若 bit0為 1,則讀取對(duì)應(yīng)RAM中的數(shù)據(jù)幀,同時(shí)將bit0清0,bit1置1。串口數(shù)據(jù)發(fā)送過(guò)程與接收類似,數(shù)據(jù)傳輸方向相反。

      采用雙RAM緩沖機(jī)制,使得串口和DSP不在同一時(shí)間訪問(wèn)同一RAM區(qū),避免了錯(cuò)幀和丟幀,同時(shí)保證了數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性。

      3.2 DSP軟件設(shè)計(jì)

      DSP軟件設(shè)計(jì)采用模塊化設(shè)計(jì)方式,分為應(yīng)用層和底層軟件兩部分。應(yīng)用層軟件主要實(shí)現(xiàn)飛控流程和飛控算法;底層軟件主要實(shí)現(xiàn)數(shù)據(jù)格式的轉(zhuǎn)換,以便通過(guò)DSP總線和FPGA進(jìn)行數(shù)據(jù)交換。

      3.2.1 應(yīng)用層軟件設(shè)計(jì)

      外部的慣導(dǎo)和導(dǎo)引頭6 ms產(chǎn)生一次數(shù)據(jù),DSP開(kāi)啟1ms的定時(shí)器中斷,在中斷中每1 ms查詢一次雙端口RAM的狀態(tài)字,判斷是否有新數(shù)據(jù)產(chǎn)生,這樣采集的數(shù)據(jù)延遲不會(huì)超過(guò)1 ms。飛控解算的周期為6 ms,遙測(cè)數(shù)據(jù)發(fā)送的周期為12 ms,在定時(shí)器中斷程序中完成飛控解算和遙測(cè)數(shù)據(jù)發(fā)送。

      中斷服務(wù)程序每1 ms運(yùn)行一次,每次首先查詢導(dǎo)引頭和慣導(dǎo)有沒(méi)有更新數(shù)據(jù),再讀取新數(shù)據(jù)存儲(chǔ)在全局結(jié)構(gòu)體里。每6ms用全局結(jié)構(gòu)體里得到的新數(shù)據(jù)解算一次飛控指令,得到舵機(jī)的輸出角度,輸出舵控指令,控制舵機(jī)。流程如圖 6所示。

      圖6 DSP程序流程框圖Fig.6 Flow chart of flight control software

      3.2.2 底層軟件設(shè)計(jì)

      DSP底層軟件主要完成外部數(shù)據(jù)交換和數(shù)據(jù)格式的轉(zhuǎn)換。DSP通過(guò)XINTF產(chǎn)生讀寫(xiě)時(shí)序 (圖2圖3所示時(shí)序),F(xiàn)PGA也設(shè)計(jì)與之相匹配的時(shí)序完成兩者之間的數(shù)據(jù)交換。

      DSP應(yīng)用層軟件使用的是浮點(diǎn)數(shù),而DSP和FPGA之間只能傳遞二進(jìn)制數(shù),因此需要按照IEEE標(biāo)準(zhǔn)進(jìn)行浮點(diǎn)數(shù)和二進(jìn)制數(shù)之間的轉(zhuǎn)換。根據(jù)IEEE標(biāo)準(zhǔn)[6],可以用32位,即8個(gè)字節(jié)表示一個(gè)浮點(diǎn)數(shù)。如果將代表浮點(diǎn)數(shù)的4個(gè)字節(jié)組合成32位的整型數(shù)inte32,進(jìn)行強(qiáng)制類型轉(zhuǎn)換皆可以得到浮點(diǎn)數(shù),轉(zhuǎn)換函數(shù)如下:

      將浮點(diǎn)數(shù)轉(zhuǎn)換成整型數(shù)的方法與此類似。底層軟件[7]按照上述方法實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換,供應(yīng)用層調(diào)用。

      4 系統(tǒng)驗(yàn)證

      彈載機(jī)實(shí)物設(shè)計(jì)制作完成之后可以利用半實(shí)物仿真平臺(tái)進(jìn)行測(cè)試,該半實(shí)物仿真平臺(tái)由上位機(jī)、慣導(dǎo)、舵機(jī)和三軸轉(zhuǎn)臺(tái)組成。如圖上位機(jī)的作用是模擬導(dǎo)彈動(dòng)力學(xué)模型[8]和導(dǎo)引頭信息,并控制三軸轉(zhuǎn)臺(tái)運(yùn)動(dòng)模擬導(dǎo)彈姿態(tài)。導(dǎo)彈的運(yùn)動(dòng)信息由慣導(dǎo)測(cè)量之后發(fā)送給飛控計(jì)算機(jī),飛控計(jì)算機(jī)根據(jù)運(yùn)動(dòng)信息解算出舵機(jī)控制量控制舵機(jī)轉(zhuǎn)動(dòng),同時(shí)將遙測(cè)數(shù)據(jù)發(fā)送給上位機(jī)。上位機(jī)采集舵機(jī)反饋的實(shí)際角度,將其代入導(dǎo)彈動(dòng)力學(xué)模型,計(jì)算導(dǎo)彈姿態(tài),控制三軸轉(zhuǎn)臺(tái),這樣就形成了完整的半實(shí)物仿真回路。

      圖7 半實(shí)物仿真系統(tǒng)組成圖Fig.7 Structure diagram of semi-physical simulation system

      圖8 未接入飛控計(jì)算機(jī)仿真軌跡Fig.8 Simulation trajectory without flight control computer

      圖9 接入飛控計(jì)算機(jī)仿真軌跡Fig.9 Simulation trajectory with flight control computer

      仿真實(shí)驗(yàn)中,首先不接入飛控計(jì)算機(jī),由仿真計(jì)算機(jī)中的控制系統(tǒng)數(shù)學(xué)模型直接實(shí)現(xiàn)控制算法,所得導(dǎo)彈運(yùn)動(dòng)軌跡如圖 8所示;將飛控計(jì)算機(jī)接入仿真回路,由飛控計(jì)算機(jī)實(shí)現(xiàn)制導(dǎo)控制算法所得運(yùn)動(dòng)軌跡如圖9所示。

      由圖8和圖 9的對(duì)比可以看出,飛控計(jì)算機(jī)接入之后飛控系統(tǒng)工作正常,導(dǎo)彈飛行軌跡基本一致,飛控計(jì)算機(jī)控制效果理想。

      5 結(jié) 論

      文中提出了一種基于DSP+FPGA的飛控計(jì)算機(jī)設(shè)計(jì)方法,在半實(shí)物仿真系統(tǒng)中驗(yàn)證了其性能,滿足設(shè)計(jì)要求。解決了在多數(shù)字彈上設(shè)備存在情況下的數(shù)據(jù)幀實(shí)時(shí)同步問(wèn)題。由于FPGA可以通過(guò)編程實(shí)現(xiàn)各種時(shí)序,所以此飛控計(jì)算機(jī)可以擴(kuò)展為除了RS422外部接口外的其他多種數(shù)字設(shè)備接口,滿足模塊化、通用化的實(shí)際應(yīng)用需求。

      [1]羅廣紅.基于DSP/FPGA的捷聯(lián)導(dǎo)航計(jì)算機(jī)研究[D].哈爾濱:哈爾濱工程大學(xué),2012.

      [2]呂宇.DSP+FPGA實(shí)時(shí)信號(hào)處理系統(tǒng)中FPGA設(shè)計(jì)的關(guān)鍵問(wèn)題[J].微計(jì)算機(jī)信息,2005(5):80-81.LV Yu.Key problem in FPGA design applied to DSP&FPGA real time signal processing system[J].Microcomputer Information,2005(5):80-81.

      [3]TMS320x2823x.TMS320x2833x DSC XINTF Reference Guide[Z].TI,2007.

      [4]李軍輝基于DSP和FPGA的UART系統(tǒng)設(shè)計(jì)[J].蘇州科技學(xué)院學(xué)報(bào):自然科學(xué)版,2009,26(2):55-59.LI Jun-hui.Design of UART Based on DSP and FPGA[J].Journal of Suzhou University of Science and Technology:Natural Science Edition,2009,26(2):55-59.

      [5]秦鴻剛.基于FPGA的雙口RAM實(shí)現(xiàn)及應(yīng)用 [J].電子設(shè)計(jì)工程,2010(2):72-74.QING Hong-gang.Implementation and application of dualport RAM based on FPGA[J].Electronic Design Engineering,2010(2):72-74.

      [6]IEEE Standard for Floating-Point Arithmetic[Z].Microprocessor Standards Committee,2008(6):6-14.

      [7]施先旺,王鵬武.發(fā)動(dòng)機(jī)工況實(shí)時(shí)調(diào)節(jié)軟件設(shè)計(jì)[J].火箭推進(jìn) ,2012(5):70-76.SHI Xian-wang,WANG Peng-wu.Design of real-time regulation software for engine power[J].Journal of Rocket Propulsion,2012(5):70-76.

      [8]柳長(zhǎng)安,張蒙正.彈道變軌對(duì)沖壓動(dòng)力反艦導(dǎo)彈的影響[J].火箭推進(jìn),2012(2):20-26.LIU Chang-an,ZHANG Meng-zheng.Effects of variable trajectory on ramjet powered anti-ship missile[J].Journal of Rocket Propulsion,2012(2):20-26.

      猜你喜歡
      控計(jì)算機(jī)浮點(diǎn)數(shù)飛控
      四種Python均勻浮點(diǎn)數(shù)生成方法
      民用飛機(jī)飛控通電自檢測(cè)安全性研究
      某型飛控計(jì)算機(jī)與地面檢測(cè)設(shè)備無(wú)法連接故障分析
      無(wú)人機(jī)飛控軟件架構(gòu)設(shè)計(jì)初探
      02 飛控技術(shù)與機(jī)場(chǎng)安保引關(guān)注
      在C語(yǔ)言中雙精度浮點(diǎn)數(shù)線性化相等比較的研究
      飛控系統(tǒng)故障告警實(shí)時(shí)監(jiān)控軟件的設(shè)計(jì)與實(shí)現(xiàn)
      非精確浮點(diǎn)數(shù)乘法器設(shè)計(jì)
      無(wú)人機(jī)容錯(cuò)飛行控制計(jì)算機(jī)體系結(jié)構(gòu)研究
      飛控計(jì)算機(jī)環(huán)境試驗(yàn)/外場(chǎng)維護(hù)測(cè)試軟件的實(shí)現(xiàn)
      临汾市| 扎鲁特旗| 香港| 黔西县| 平凉市| 普兰县| 朝阳县| 丘北县| 江西省| 青浦区| 慈利县| 三门县| 乐昌市| 赣榆县| 吉首市| 乌兰县| 宁武县| 拜泉县| 根河市| 七台河市| 泉州市| 曲麻莱县| 临洮县| 六枝特区| 林州市| 南川市| 南投县| 安福县| 海兴县| 长海县| 东兴市| 垦利县| 巧家县| 富顺县| 东乡| 乐安县| 无极县| 玛多县| 毕节市| 沁源县| 玉龙|