李 輝 張敬波 張 磊
北京航天自動控制研究所,北京 100854
1553B多功能RT IP核的設計與實現
李 輝 張敬波 張 磊
北京航天自動控制研究所,北京 100854

介紹了采用一種自主研發多功能IP核實現總線全地址響應的設計方案,其可在FPGA中靈活配置,配備外圍電路后可以方便實現各種功能。設計采用VHDL硬件描述語言進行編程,采用綜合工具ISE Foundation對設計進行綜合、優化,在ModelSim-SE 6.1g中進行時序仿真,并且最后在FPGA上實現。
MIL-STD-1553B總線;全地址;FPGA
美國軍用數據總線標準MIL-STD-l553B(以下簡稱1553B總線)是目前國際公認的數據總線標準,其憑借優異的性能在航空、航天、航海及其它武器裝備上得到廣泛應用。對于使用1553B總線應用系統而言,采用簡單、經濟、高效的方法實現1553B總線各個站點功能完全模擬,以便完成整個總線中包含0~31個的全地址終端站點系統功能的調試與分析,已經成為1553B總線系統設計與驗證的必備手段。市場現有協議芯片(如DDC公司的BU—61580等),均可實現固定RT(Remote Terminal遠程終端),BC(Bus Controller總線控制器)和MT(Monitor Terminal監視終端)數據收發響應,多功能1553B站點功能的實現大多是各個公司采用自身專用的IP核設計實現,而并不對外公開發售專用的應用芯片。針對這一問題和實際需求,本文介紹了一種采用自主研發IP核實現功能總線站點的設計方案,其可在FPGA中靈活配置,配備外圍電路后可以方便實現各種功能。設計采用VHDL硬件描述語言進行編程,采用綜合工具ISE Foundation對設計進行綜合、優化,在ModelSim-SE 6.1g中進行時序仿真,并且最后在FPGA上實現。由于1553B總線BC和MT的功能在一般的1553B協議芯片上均有支持,因此,本文重點介紹全地址1553B RT站點的模擬的實現方案。
1)可同時模擬0~31個RT站點;
2)模擬站點應及時響應總線信息,不能因模擬站點切換影響總線數據發送接收;
3)功能上應覆蓋MIL-STD-1553B協議,通過遠程終端有效性測試;
4)總線傳輸速率1Mbit;
5)支持時標模式;
6)可設置非法命令表;
7)雙通道數據發送和接收;
8)支持與各種常用CPU的控制接口,存儲器接口支持SRAM,尋址空間≥256K,單站點尋址≥4K。
圖1給出了方案的功能模塊規劃。

圖1 IP核功能模塊規劃
如圖1所示,FPGA功能實現由全局Clock和Reset信號產生模塊、處理器接口模塊、寄存器控制模塊、RT協議處理模塊、RAM0操作仲裁模塊、RAM1操作仲裁模塊、RAM0讀寫接口模塊、RAM1讀寫接口模塊、1553曼徹斯特碼接收模塊、1553曼徹斯特碼發送模塊組成。圖2給出了實際設計中的IP核詳細框圖。
IP核與CPU接口邏輯匹配后,可以實現與各種CPU的連接,同時需要完成相關操作函數的移植,以滿足具體應用需求。
1)全局CLOCK和RESET模塊
全局Clock和Reset信號產生模塊,調用Xilinx的IP生成同頻同相時鐘CLK0作為全局工作時鐘,生成的2倍頻時鐘CLK2X作為曼碼接收模塊RX的接收時鐘;采用寄存器同步輸出全局復位信號,硬復位和軟復位中任何一個復位,全局都可以實現復位。
脈沖生成單元PULSE_GEN產生不同頻率的單脈沖信號,為其他模塊定時使用(如時標計數)。
2)RX模塊
圖3 RX模塊給出了RX模塊框圖。RX模塊完成1553B總線通信信號的曼徹斯特解碼,串并轉換,把接收的數據,奇偶校驗的結果,錯誤信息一并傳送給“RT協議處理模塊”。
3)TX模塊
圖4為TX模塊框圖,此模塊從“RT協議處理模塊”接收需要發送的字,進行并串轉換,曼徹斯特編碼,發送出去。
4)RT協議處理模塊
圖5為RT協議處理模塊框圖,此模塊包括接收狀態機和發送狀態機。根據接收的命令(共10種),進入相應的狀態機。狀態機根據命令的格式,在響應的不同狀態,調動SRAM中的數據,改動寄存器模塊的堆棧指針,向“TX模塊”發送返回字。消息處理結束后,等待下一條消息的到來;在處理消息的過程中,還要進行包括對接收數據的存儲,從存儲區取待發送的數據,選擇消息通道,產生各種錯誤標志,控制各種堆棧指針。

圖2 IP核詳細框圖

5)寄存器模塊
如圖6所示,寄存器模塊存放著RT的堆棧指針,控制寄存器等。此模塊為整個設計的中樞,存放著RT的一系列控制寄存器,中斷生成單元,負責時間標簽的處理。
SOC_IF模塊接口單元。此單元負責和SOC_IF的接口處理。先由長請求信號CPU_REQ產生單pulse請求信號s_CPU_REQ_PLS;在請求到來后,根據讀寫,產生讀ACK,寫ACK返回給SOC_IF模塊。
寄存器地址選擇單元。不同的地址對應不同的寄存器,此單元將所用到的地址翻譯,供其他進程調用,使用簡潔方便。
時標生成單元。此單元根據CPU設置的時標使能,RT接收到的關于時標的命令,控制時標計數器計時。時間標簽用于記錄消息處理的時間,存放在RT操作中的堆棧。
6)處理器接口模塊
圖7為處理器接口模塊框圖,此模塊是SOC的接口模塊,處理CPU芯片對FPGA的讀寫操作,將CPU對FPGA的不同存儲區的操作分開處理(REG存儲區,SRAM0存儲區,SRAM1存儲區)。

7)仲裁模塊
仲裁模塊如圖8所示,上位機可以對SRAM讀寫操作,“RT協議處理模塊”也可以對SRAM讀寫操作。仲裁模塊就是防止兩個部分操作沖突,控制優先級,使讀寫通暢。

圖8 仲裁模塊
8)SRAM控制模塊
SRAM控制模塊負責外圍SRAM的讀寫控制。
作為多功能終端,RT響應BC的命令。首先BC命令的格式如圖9所示。

圖9 BC命令格式
BC命令的高5位是RT地址,與指定的RT通訊。多功能IP有地址使能寄存器RT_REEN如圖10所示,此寄存器的[30:0]的各Bit位對應相應的地址是否使能,‘1’表示使能,‘0’表示無效。

圖10 RT命令格式
一旦接收到命令,IP將對BC命令中的地址和RT_REEN中的相應使能位對比,檢查地址是否使能。如果有效,則IP響應此命令,否則,不響應。
根據BC命令的T/R位,可以判斷此命令是發送命令還是接收命令,由此,我們進入發送有限狀態機TX_FSM,或接收有限狀態機RX_FSM。RT協議處理模塊主要是由這兩個FSM構成的,由他們來完成命令的處理、數據的調度。
FSM處理完畢后,堆棧指針已經被更新。處理器可以通過查詢堆棧指針的變化來確定消息處理完畢。也可以通過中斷使能,通過中斷通知處理器消息處理完畢。這樣,處理器就可以讀取消息的詳細信息。總工作流程大致如圖11所示:

圖11 工作流程圖
仿真環境的搭建如下所述:
1)操作系統:Windows XP
2)仿真環境:ModelSim SE 6.1g
用Verilog語言編寫測試文件,模擬總線時序,用Modelsim對IP進行仿真。
測試文件是使用verilog語言編寫的testbench模擬BC的功能。BC命令格式包括BC-to-RT傳輸,RT-to-BC傳輸,RT-to-RT傳輸,不帶數據的模式代碼,發送帶數據的模式代碼,接收帶數據的模式代碼,廣播,RT-to-RTs(廣播)傳輸,不帶數據的廣播模式代碼。
為了方便觀察數據的正確性,將每一種命令編輯成一個輸入文件din.txt,并且將此條命令接收或處理后的數據存成另一個輸出文件dout.txt。圖12給出了仿真驗證圖。

圖12 仿真驗證圖
應用板卡主要采用以下周邊器件:
1)CPU:SPARC V8
2)靜態RAM:SM512K32V017
3)1553 收發器:HI-1573PSI
驗證多功能RT的測試規則完全依照GJB5186.1-“遠程終端有效性測試方法”進行。
消息測試如圖13所示。首先用Conder的1553板卡對多功能IP評估板卡進行簡單的消息測試,對IP進行調試。此項測試只包括協議測試的部分內容。

圖13 消息測試
后期采用“多功能MIL-STD-1553A/B總線測試儀(型號為AT15030)”,對IP進行系統測試,測試環境如圖14所示。“協議測試”完全通過,電氣測試基本通過。

圖14 總線測試儀測試
測試項目窗口如圖15所示。具體測試項目參見GJB5186所列條目。測試結果及日志如圖16所示。

圖15 測試項目窗口
1553B多功能IP仿真站點功能上覆蓋MIL-STD-1553B協議,通過應用測試,完全通過GJB5186.1-“遠程終端有效性測試方法”測試。
本方案成本低、使用方便和易于升級,還可以根據總線的測試要求增加必要的擴展功能,具有推廣應用價值。

圖16 測試結果及日志
[1]GJB/Z 209-2002數字式時分制指令/響應型多路傳輸數據總線應用手冊[Z].
[2]GJB 289A-97數字式時分制指令/響應型多路傳輸數據總線[Z].
[3]顏學龍,梅明.1553B總線接口中的曼徹斯特編解碼器的設計與驗證[Z].電子測量與儀器學報,2006年.
[4]許宏杰,田澤,袁曉軍.高速1553B IP核的設計與實現[Z].計算機技術與發展,2009年.
The Design and Implementation of 1553B Multifunctional RT IP Core
LI HuiZHANG Jingbo ZHANG Lei
Beijing Aerospace Automatic Control Institute,Beijing 100854,China
A design method of implementation functions of1553Bfull address remote terminal is introduced by using independent researched and developedIPcore which can be flexibly configured inFPGA.And the multifunction can be achieved with peripheral circuit equipped.This design is programmed by hardware description language known asVHDL,synthesized and optimized byISEFoundation.This design is timing simulated by ModelSim-SE 6.1gand finally fits intoFPGA.
MIL-STD-1553Bbus;VHDLhardware description language;FPGA
TP336
A
1006-3242(2012)01-0059-07
2011-10-20
李 輝(1984-),男,山東莘縣人,碩士研究生,研究方向為控制系統綜合設計;張敬波(1979-),男,山東人,工程師,主要從事運載火箭測發控系統設計工作;張 磊(1972-),男,河北晉州人,研究員,主要從事運載火箭控制系統設計工作。