新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA在彈上信息處理機(jī)中的應(yīng)用

基于FPGA在彈上信息處理機(jī)中的應(yīng)用

作者: 時(shí)間:2012-08-29 來(lái)源:網(wǎng)絡(luò) 收藏

系統(tǒng)實(shí)現(xiàn)

機(jī)的系統(tǒng)工作流程見(jiàn)圖3,具體包括:

(1)上電復(fù)位及初始化

上電后,和ARM同時(shí)復(fù)位,進(jìn)行初始化過(guò)程,其中初始化中, 內(nèi)部寄存器和邏輯狀態(tài)的初始值、內(nèi)部緩沖區(qū)數(shù)據(jù)清零依靠復(fù)位信號(hào)來(lái)完成,其中的“FPGA參數(shù)設(shè)定”由監(jiān)控程序負(fù)責(zé)執(zhí)行或由FPGA使用缺省參數(shù)完成。

如果上電或復(fù)位時(shí)出現(xiàn)問(wèn)題,F(xiàn)PGA使用缺省參數(shù)自動(dòng)初始化所有參數(shù)并自動(dòng)進(jìn)行后續(xù)工作。

(2)20ms緩沖區(qū)切換信號(hào)同步

完成初始化后,F(xiàn)PGA內(nèi)部的“20ms緩沖區(qū)切換信號(hào)”生成邏輯,自動(dòng)執(zhí)行和“1.28M同步輸入串口”的同步過(guò)程,同步過(guò)程中不向外發(fā)送任何數(shù)據(jù),一旦同步后,會(huì)給出同步鎖定信號(hào)Sync Locked=“1”,所有通道的數(shù)據(jù)采集工作均開(kāi)始,進(jìn)入遙測(cè)信息接收過(guò)程。

(3)遙測(cè)信息接收

通道的數(shù)據(jù)采集都以FPGA內(nèi)部產(chǎn)生的“20ms緩沖區(qū)切換信號(hào)SwitchBuf”為20ms周期標(biāo)志進(jìn)行緩沖區(qū)的切換(雙端口),分別為A,B兩個(gè)緩沖區(qū)。

1.28M通道在20ms內(nèi)應(yīng)完成32x100=3200 Bytes的數(shù)據(jù)接收。并根據(jù)字計(jì)數(shù)器反轉(zhuǎn)當(dāng)前的SwitchBuf信號(hào)。

4M 1553B通道應(yīng)由ARM完成4M 1553B總線(xiàn)遙測(cè)數(shù)據(jù)的接收、過(guò)濾、打包,形成20ms內(nèi)約1500 Bytes的遙測(cè)數(shù)據(jù)包填入分配給它的包緩沖區(qū),由FPGA自動(dòng)生成對(duì)應(yīng)的包長(zhǎng)度信息放入一個(gè)包長(zhǎng)度FIFO中。此后,ARM重新開(kāi)始下一20ms數(shù)據(jù)接收工作,,如此反復(fù)循環(huán)下去。組幀狀態(tài)機(jī)(MFSTM)在組幀過(guò)程中,一旦發(fā)現(xiàn)包長(zhǎng)度FIFO不空,就從包緩沖區(qū)FIFO中讀取對(duì)應(yīng)長(zhǎng)度的數(shù)據(jù)包,按照規(guī)定格式和位置填入數(shù)據(jù)融合表。


圖3 機(jī)工作流程

38.4K異步串行輸入通道由FPGA的UART IP核完成串行輸入數(shù)據(jù)的接收,IP核根據(jù)字間隔是否超過(guò)2個(gè)字的接收時(shí)間來(lái)判斷是否完成一幀的接收,原理和1553總線(xiàn)數(shù)據(jù)的接收相同。

115.2K異步串行輸入通道由FPGA的UART IP核完成串行輸入數(shù)據(jù)的接收.緩沖區(qū)由一個(gè)FIFO組成。組幀狀態(tài)機(jī)會(huì)隨時(shí)查詢(xún)?cè)揊IFO空滿(mǎn)狀態(tài),若不空,則就開(kāi)始連續(xù)的讀取過(guò)程,每間隔200μs從FIFO中讀取一個(gè)數(shù)據(jù)并按照規(guī)定格式和位置填入數(shù)據(jù)融合表,直到該FIFO的數(shù)據(jù)取完為止,若為空,則新幀對(duì)應(yīng)通道的位置數(shù)據(jù)填零。

(4)組幀

組幀工作即遙測(cè)數(shù)據(jù)的數(shù)據(jù)融合,將各路遙測(cè)信息按照給定的數(shù)據(jù)融合格式組織成一個(gè)完整的100幀(1幀200us,100幀20ms)格式進(jìn)行發(fā)送,該功能由設(shè)計(jì)在FPGA內(nèi)部“組幀狀態(tài)機(jī)(MFSTM)IP”完成。

(5)數(shù)據(jù)融合表

上電復(fù)位后,組幀狀態(tài)機(jī)MFSTM等待同步鎖定信號(hào)Sync Locked=“1”后開(kāi)始工作,并根據(jù)20ms緩沖區(qū)切換信號(hào)SwitchBuf進(jìn)行周期性的切換。按照數(shù)據(jù)融合表設(shè)計(jì)好的順序依次訪(fǎng)問(wèn)1.28M同步輸入串口緩沖區(qū)、4M 1553B總線(xiàn)數(shù)據(jù)緩沖區(qū)、115.2K異步輸入串口緩沖區(qū)、38.4K異步輸入串口緩沖區(qū)等等,并讀取指定數(shù)量的數(shù)據(jù)依次填入本次20ms的數(shù)據(jù)融合表中,重復(fù)100次,從而完成表中1~100行數(shù)據(jù)的填寫(xiě)。數(shù)據(jù)融合表的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)成FIFO, 使用FIFO可以平衡快速的組幀狀態(tài)機(jī)和慢速的發(fā)送狀態(tài)機(jī)之間的速度差異,使發(fā)送的數(shù)據(jù)流保持在2.56Mbps的波特率之下,持續(xù)發(fā)送。

(6)發(fā)送

數(shù)據(jù)融合表的發(fā)送則由“發(fā)送狀態(tài)機(jī)(SendSTM) IP”完成。它以數(shù)據(jù)融合表FIFO、2.56M發(fā)送時(shí)鐘為輸入,一旦啟動(dòng)就不再停止。發(fā)送狀態(tài)機(jī)首先查詢(xún)數(shù)據(jù)融合表FIFO, 若FIFO為空,則等待;若FIFO不空,則以2.56M/8的固定時(shí)鐘頻率持續(xù)讀取數(shù)據(jù)融合表FIFO的數(shù)據(jù),再送入“15段加擾器”進(jìn)行加擾,加擾后的數(shù)據(jù)和時(shí)鐘經(jīng)RS-422驅(qū)動(dòng)電路轉(zhuǎn)化為RS-422差分形式發(fā)送給加密器,即2.56M輸出。

(7)1.28M同步輸入串口故障檢測(cè)

FPGA中的故障檢測(cè)單元(FDU)負(fù)責(zé)檢測(cè)1.28M同步輸入串口的輸入信號(hào)是否正常。當(dāng)故障檢測(cè)單元FDU發(fā)現(xiàn)1.28M同步輸入串口產(chǎn)生的SwitchBuf信號(hào)的周期和晶振產(chǎn)生的20ms時(shí)鐘周期誤差超過(guò)△T(如±2ms),則認(rèn)為1.28M同步輸入串口故障,立即將SwitchBuf信號(hào)切換到由晶振分頻產(chǎn)生的20ms時(shí)鐘上。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉