基于FPGA的航空總線協(xié)議接口設計
數(shù)據總線是飛機航電系統(tǒng)中首先運用的數(shù)字電子設備之一,其典型代表是飛機內部時分制指令/響應式多路傳輸數(shù)據總線MIL-STD-1553B(簡稱1553B)。它利用一條屏蔽的雙絞線進行帶有時鐘信息的數(shù)據傳輸。高可靠性1553B已成為我國航空航天領域廣泛采用的軍用總線標準。由于1553B總線協(xié)議控制器基本依賴于進口的專用器件,價格昂貴,還受到限制,并且這些器件需要外圍的硬件電路配合工作,如果完成整個總線接口板的設計,還需要單獨的MCU,集成度不高,這樣就在某種程度上限制了設計能力。隨著嵌入式技術的發(fā)展,可編程片上系統(tǒng)設計SoPC技術已廣泛應用于諸多領域。這里采用SoPC技術,以Virtex-II Pro FPGA為核心,實現(xiàn)1553B航空總線傳輸協(xié)議的接口邏輯設計。
2 1553B航空總線傳輸協(xié)議標準
目前廣泛采用的1553B標準是根據1973年軍標1553原版基礎上發(fā)展。1553B是一種集中控制式、飛機內部時分指令/響應型多路串行數(shù)據總線標準。具有高可靠性和靈活性。已經成為現(xiàn)代航空機載系統(tǒng)設備互聯(lián)的關鍵技術。廣泛應用于飛機、艦船等武器平臺。1553B數(shù)據總線的傳輸速率為1Mb/s,協(xié)議規(guī)定3種字:命令字、數(shù)據字和狀態(tài)字。字的長度為20 bit,且由同步頭(3 bit)消息塊(16 bit)和奇偶位(1 bit)3部分組成。信息量最大長度為32。總線系統(tǒng)由一個總線控制器(BC)與不多于31個的遠程終端(RT)組成,有時系統(tǒng)中還可加入總線監(jiān)控器(MT)??偩€上傳輸?shù)男畔⒏袷街饕蠦C到RT,RT到BC,RT到RT,以及廣播方式和系統(tǒng)控制方式。
3 系統(tǒng)設計
該系統(tǒng)采用Xilinx公司的Virtex-II Pm XC2VP30 FPGA為核心,該器件內部帶有2個PowerPC 405處理器核??偩€接口協(xié)議實現(xiàn)是基于Xilinx Virtex-II Pro開發(fā)系統(tǒng)平臺,Virtex-II Pro開發(fā)平臺是整個系統(tǒng)的核心。這樣可以快速搭建1553B總線實現(xiàn)平臺。系統(tǒng)的硬件平臺主要由Vinex-II Pro開發(fā)板、總線轉換器、總線終端設備和主控計算機構成,系統(tǒng)結構如圖1所示。
在系統(tǒng)開發(fā)中,為了提高開發(fā)效率,同時系統(tǒng)主要驗證的就是1553B總線協(xié)議模塊,因此可充分利用Xilinx公司的Virtex-II Pro開發(fā)板。開發(fā)板上具有豐富的資源,主要包括:XC2VP30器件、SDRAM (可擴展到2 GB)、高速SelectMAPFPGA配置PROM、RS232串口、嵌入平臺的USB配置端口、高速系統(tǒng)擴展接口(與FPGA的I/O引腳相連)并可選擇差分或單端模式、PS2接口、AC97音頻接口、板上10/100 M以太網設備等等。這些豐富的板上資源為1553B總線協(xié)議邏輯的開發(fā)提供支持。
1553B總線協(xié)議開發(fā)主要在FPGA器件中開發(fā),因此FPGA本身性能的好壞將影響系統(tǒng)的開發(fā)。XC2VP30內部具有2個PowerPC 405處理器核、13 969個Slices、分布式RAM為428 KB、136個乘法器單元、塊RAM為2 448 KB、8個DCM、8個多吉比特收發(fā)器。因此,選用XC2VP30FPGA完全滿足1553B總線邏輯開發(fā)需求。
該系統(tǒng)設計采用Virtex-II Pro系列XC12VP30型FPGA,而FPGA的配置則是硬件設計中很關鍵的問題。FPGA配置是對其內容進行編程。采用SRAM工藝的FPGA,每次上電后都需重新配置。XC2VP30通過模式引腳選擇配置模式,其中M2、M1和M0是專用引腳,HSWAP_EN和配置模式引腳相組合,決定I/O引腳在配置過程中是否具有上拉功能。默認情況下,HSWAP_EN置為高電平,此時在配置過程中關閉I/O引腳的上拉功能;當其置為低電平時,I/O引腳具有上拉功能。當選擇某些配置模式時,CCLK可作為FPGA的信號輸出引腳,也可作為外部時鐘的輸入信號,這些引腳不受VCCO的影響,而是采用2.5 V的輔助電源(VCCAUX)。
圖2給出的是FPGA配置引腳連接電路圖。XC2VP30支持5種配置模式,分別是Slave-serial模式、Master-serial模式、Slave SelectMAP模式、MasterSelectMAP模式和Boundary-Scan (IEEE 1532/IEEE 1149)模式。通過調整配置引腳MO、M1、M2調整配置模式。該系統(tǒng)設計只提供兩種配置模式,在XC2VP30的配置電路中將M0引腳拉為高電平,這樣只能選擇MasterSelectMAP模式和Boundary-Scan模式(即邊界掃描模式)。Master SelectMAP模式是SelectMAP模式的主版本模式,在由XC2VP30所提供的CCLK信號的作用下,器件通過字節(jié)寬度數(shù)據總線即配置器件XCF32P的[D7:D0],除了CCLK是由FPGA提供之外,配置時序與Slave SelectMAP模式相似。在邊界掃描模式下,XC2VP30通過專用配置引腳CCLK,DONE,PROG_B,TDI,TDO,MS,TCK按照IEEE 1149.1標準進行配置。
4 1553B航空總線協(xié)議接口的SoPC設計
SoPC的開發(fā)設計與傳統(tǒng)嵌入式系統(tǒng)設計不同,分為硬件開發(fā)和軟件開發(fā)。系統(tǒng)設計思想是充分利用FPGA片上資源,以PPC405處理器硬核為核心,1553B接口邏輯為主要設計內容的SoPC系統(tǒng),在FPGA內部實現(xiàn)系統(tǒng)的總線架構、外設接口、編碼/解碼、消息處理模塊等系統(tǒng)部件和功能,各功能部件在FPGA的內部都是通過IP核的形式連接在一起的。Xilinx為了用戶能夠將自行編寫的邏輯方便連接到OPB總線上,提供總線與用戶邏輯之間的接口,即IPIF(IP Interface,IP接口),利用IPIF便可解決總線接口信號,總線協(xié)議以及其他接口問題。
4.1 曼徹斯特編碼,解碼模塊
曼徹斯特碼編碼/解碼是1553B總線接口重要組成部分,曼徹斯特碼編解碼模塊設計將直接影響總線接口的性能。系統(tǒng)編碼模塊完成曼徹斯特碼的編解碼,并檢測錯誤。它能夠接收具有有效同步字頭的曼徹斯特碼,并對其譯碼,識別類型和串并轉換、奇偶校驗等;編碼模塊能將處理器輸出的并行二進制數(shù)據進行曼徹斯特碼編碼,再加上同步字頭及奇偶位,從而輸出滿足符合1553B標準的字。
曼徹斯特碼是一種廣泛應用于航空電子綜合系統(tǒng)中的總線數(shù)據傳輸?shù)碾p極性碼。它在每個碼位中點存在一個跳變,1信號是一個由1到0的負跳沿,而0信號是由0到1的正跳沿。在MIL-STD-1553B協(xié)議中其數(shù)據格式如圖3所示。
系統(tǒng)的編碼,解碼模塊設計采用同步方式,這樣,所有的觸發(fā)器都南一個公共時鐘信號實現(xiàn)同步。因此,可以很好解決毛刺和一些競爭與冒險。
編碼模塊主要分為檢測編碼周期是否開始并產生同步字頭、串并轉換并產生奇偶校驗位、對數(shù)據和奇偶校驗位進行編碼。
評論