《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > FPGA在導彈上信息處理機中的應用
FPGA在導彈上信息處理機中的應用
與非網
西安驪山微山電子公司 方超
摘要: 信息處理機(圖1)用于完成導彈上多路遙測信息的采集、處理、組包發(fā)送。主要功能包括高速1553B總線的數(shù)據收發(fā) 、422接口設備的數(shù)據加載與檢測、多路數(shù)據融合和數(shù)據接收、處理、組包發(fā)送的功能。其中,總線數(shù)據和其他422接口送來的數(shù)據同時進行并行處理;各路輸入信息按預定格式進行融合與輸出;數(shù)據輸出速率以高速同步422口的幀同步脈沖為源,如果高速同步422口異常不影響總線數(shù)據和其它422口的數(shù)據融合與輸出功能。在CPU發(fā)生異?;蚩偩€數(shù)據異常時不影響其它422口數(shù)據的融合與輸出功能;能夠對從總線上接收的數(shù)據進行二次篩選、組包,并發(fā)送往總線,供其它設備接收。
關鍵詞: FPGA 信息處理機 導彈
Abstract:
Key words :

引言

  信息處理機(圖1)用于完成導彈上多路遙測信息的采集、處理、組包發(fā)送。主要功能包括高速1553B總線的數(shù)據收發(fā) 、422接口設備的數(shù)據加載與檢測、多路數(shù)據融合和數(shù)據接收、處理、組包發(fā)送的功能。其中,總線數(shù)據和其他422接口送來的數(shù)據同時進行并行處理;各路輸入信息按預定格式進行融合與輸出;數(shù)據輸出速率以高速同步422口的幀同步脈沖為源,如果高速同步422口異常不影響總線數(shù)據和其它422口的數(shù)據融合與輸出功能。在CPU發(fā)生異常或總線數(shù)據異常時不影響其它422口數(shù)據的融合與輸出功能;能夠對從總線上接收的數(shù)據進行二次篩選、組包,并發(fā)送往總線,供其它設備接收。

信息處理機功能框圖彈上功能框圖

圖1 信息處理機功能框圖彈上功能框圖

  系統(tǒng)設計

  CPU選擇

  4M 1553B總線數(shù)據的采集,由4M總線智能通訊接口管理,經CPU接收、組包,再回到4M總線,發(fā)送至FPGA進行采集。CPU選擇Atmel公司的AT91FR40162S, 內部自帶256KB的SRAM和容量為2M x 8b FLASH存儲器,主頻最高可達75MHz。該ARM的等待電路由硬件等待邏輯產生,在FPGA內部實現(xiàn)。ARM外部中斷源主要有:4M 1553B通訊控制器中斷;20ms緩沖區(qū)切換中斷。其中,4M 1553B通訊控制器中斷信號經過FPGA整形后送入ARM。20ms緩沖區(qū)切換中斷提供給FPGA內部各個同步、異步通訊IP組幀狀態(tài)機用于緩沖區(qū)切換。

  3路輸入數(shù)字量接口

  3路輸入數(shù)字量,碼速率分別為:1.28Mbps、115.2Kbps、38.4Kbps的數(shù)據流,數(shù)據流在FPGA內部經過串并轉換將接收的數(shù)據存儲在數(shù)據緩沖區(qū)A和數(shù)據緩沖區(qū)B中,再經過狀態(tài)控制機來控制數(shù)據的不斷更新。

  同步422接口輸出

  采用兩路單向RS422同步串行通訊接口,差分傳輸,一路為串行數(shù)據,一路為時鐘數(shù)據 ,采用雙線制傳輸。輸出碼速率2.56Mbps,15位加擾。

  FPGA設計

  當3 路輸入數(shù)字量的數(shù)據流和4M的1553數(shù)據在20ms的時間內傳輸時,所需的內存約為10KB。

  緩沖區(qū)存儲切換有2種方式:

  1)當1.28M的同步串行接口接收的數(shù)據個數(shù)達到64x100時切換;

  2)由內部的20ms定時器切換。

  因此當ARM異常后,能夠確保除4M總線數(shù)據之外的其它通道正常輸出。當1.28M的同步串行接口異常后,F(xiàn)PGA內的狀態(tài)機自動切換到內部的20ms定時器進行切換。FPGA設計及IP核通過SPARTAN3AN集成開發(fā)環(huán)境進行仿真驗證。

  FPGA選用Xilinx公司的SPARTAN3AN系列的XC3S700AN-4FG484,電壓1.2~3.3V,電流50mA~2A,主頻最高達70MHz以上。

  地面單元測試儀的設計

  單元測試儀(圖2)主要完成對信息處理機各種功能和參數(shù)的測試,模擬產生彈上機的所有輸入信號,并測試其所有輸出信號,可用于信息處理機的生產調試、出廠測試和外廠維修。

地面單元測試儀框圖

圖2 地面單元測試儀框圖

  單元測試儀由便攜式工控機內插相應PCI板卡和相應軟件程序組成,PCI板卡為1塊COM通訊測試板卡,其主要實現(xiàn)和彈上高速內總線4Mbps(或以上)1553B總線接口,在軟件的控制下,向彈上發(fā)送各種測試命令、并接收彈上機的測試結果。

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

  信息處理機的系統(tǒng)工作流程見圖3,具體包括:

  (1)上電復位及初始化

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

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

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

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

  (3)遙測信息接收

  通道的數(shù)據采集都以FPGA內部產生的“20ms緩沖區(qū)切換信號SwitchBuf”為20ms周期標志進行緩沖區(qū)的切換(雙端口),分別為A,B兩個緩沖區(qū)。

  1.28M通道在20ms內應完成32x100=3200 Bytes的數(shù)據接收。并根據字計數(shù)器反轉當前的SwitchBuf信號。

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

信息處理機工作流程

圖3 信息處理機工作流程

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

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

  (4)組幀

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

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

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

  (6)發(fā)送

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

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

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

  系統(tǒng)仿真

  以下為相關軟件對系統(tǒng)主要功能進行的仿真:

ISE編譯后得出的FPGA資源利用情況

圖4 ISE編譯后得出的FPGA資源利用情況

數(shù)據融合表的仿真結果

圖5 數(shù)據融合表的仿真結果

  數(shù)據融合表的結構為100行,64列,第1-32列為高速同步接口數(shù)據,第33-50列為總線數(shù)據,第51、52列分別為115.2K、38.4K接口數(shù)據,還有少量模擬量數(shù)據、全幀計數(shù)、同步碼組等。

數(shù)據融合表輸入及輸出的對比

圖6 數(shù)據融合表輸入及輸出的對比

  由于組幀速度遠比讀出速度快,所以分兩個圖顯示。

 2.56M發(fā)送數(shù)據

圖7 2.56M發(fā)送數(shù)據

  結語

  用FPGA代替常規(guī)處理器實現(xiàn)多路數(shù)據的采集、融合并實時發(fā)送,利用FPGA豐富的可編程邏輯資源和內部存儲器進行邏輯設計,大大減少了外圍元器件種類和數(shù)量,提高了系統(tǒng)的處理和I/O帶寬。

  同時,F(xiàn)PGA在航天領域的應用也推動了可編程技術的發(fā)展。

此內容為AET網站原創(chuàng),未經授權禁止轉載。