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