摘要:為了滿足高性能和小型化的要求,采用SoPC技術(shù)在一片FPGA上實現(xiàn)了多個嵌入式系統(tǒng)來完成1553B通信和顯示處理等航電接口功能,特別是用VHDL語言實現(xiàn)了軟件可配置的彩色調(diào)色板和分層疊加顯示技術(shù),使得系統(tǒng)具有集成度高、配置靈活、可靠性高等優(yōu)點。詳細介紹了各子模塊的主要功能、工作原理和關(guān)鍵技術(shù),該模塊已經(jīng)成功應(yīng)用于實際系統(tǒng)中。
0 引言
機載火控雷達的接口模塊要承擔數(shù)據(jù)處理機所有的接口任務(wù),包括與雷達外部的航空電子系統(tǒng)總線、與雷達內(nèi)部其他分系統(tǒng)(如發(fā)射機等)的通信以及輸出雷達視頻信號給航空電子綜合顯示器。這些接口功能有的比較復雜,如顯示處理接口要將雷達數(shù)據(jù)處理機送來的目標、天線、航跡和地圖等數(shù)據(jù)經(jīng)過處理后形成符合標準的視頻信號輸出,有的要求高可靠性和實時性,如航電總線通信接口,而對于高性能的軍用設(shè)計,又要求盡可能減小空間、功耗和重量。隨著半導體工藝水平的不斷發(fā)展,現(xiàn)場可編程門陣列(FPGA)技術(shù)也在不斷進步,與1999年相比,F(xiàn)PGA的成本降低了500倍,邏輯容量提高了200倍,功耗降低了50倍,速度加快了40倍,并提供存儲器、高速并行和串行I/O、嵌入式處理器、DSP等強大功能,使得它的應(yīng)用正向更廣泛的領(lǐng)域發(fā)展。SoPC作為一種特殊的嵌入式微處理器系統(tǒng),融合了SoC和FPGA各自的優(yōu)點,并具備軟硬件在系統(tǒng)可編程、可裁減、可擴充、可升級的功能,已逐漸成為一個新興的技術(shù)方向,采用基于SoPC的FPGA來設(shè)計嵌入式計算機系統(tǒng),可以在提高系統(tǒng)性能的同時,將外圍的數(shù)字電路模塊和存儲器放入芯片內(nèi)設(shè)計,大大減少芯片數(shù)量,最大限度地提高系統(tǒng)的集成度,是目前最能滿足小型化、高性能要求的新技術(shù)。本文采用Xilinx公司的基于Virtex-ⅡPro FPGA的32位軟核MicroBlaze和32位PowerPC系列處理器硬核PowerPC 405。
1 應(yīng)用系統(tǒng)和外部接口
本文所設(shè)計的通用型多功能接口模塊包括3個接口子模塊,即與外部航電系統(tǒng)通信的1553B總線接口子模塊(MBI)、雷達內(nèi)部分系統(tǒng)之間的通信控制子模塊(M0)和航電顯示接口子模塊(TVJ)。這些子模塊功能彼此獨立并具有實時性要求,對于MBI模塊,需要系統(tǒng)能夠?qū)崟r地響應(yīng)外部數(shù)據(jù)收發(fā)和高可靠性,處理速度不一定很高,對于顯示控制模塊,需要系統(tǒng)具有較高處理速度和能力以便能完成彩色雷達圖像的分層疊加顯示和地圖畫面的連續(xù)顯示,針對這些要求,充分采用SoPC技術(shù),將3個嵌入式計算機系統(tǒng)都放在FPGA內(nèi)部設(shè)計實現(xiàn),很好地滿足了設(shè)計需求。圖1為該系統(tǒng)的總體框圖,3個子模塊分別連接3種外部接口,同時它們通過公用的與Multibus的接口獨立完成與主控計算機的數(shù)據(jù)交換。
2 系統(tǒng)功能和實現(xiàn)
2.1 MBI子模塊電路設(shè)計
圖2為1553B總線接口子模塊(MBI)系統(tǒng)框圖,Microblaze是MBI功能塊的32位核心微處理器,它是一個專門為Xilinx FPGA優(yōu)化的RISC嵌入式軟處理器,具有32個32b通用寄存器、硬件乘法器、32b地址總線和32b數(shù)據(jù)總線、三操作數(shù)32b指令字,片內(nèi)總線遵循OPB(On-chip Peripheral Bus)標準,OPB是一種完全同步總線,OPB總線接口提供分離的32位地址總線和32位數(shù)據(jù)總線。通過OPB總線實現(xiàn)對1553B協(xié)議芯片、32位實時鐘、異步串行口(UART)、GPIO和雙口RAM的擴展和控制。在雙口RAM1的另一個端口設(shè)計了與Multibus的存儲器接口功能,使Multibus總線和OPB總線上的主設(shè)備可同時對RAM1進行存取不會產(chǎn)生沖突,且可在Multibus上實現(xiàn)雙向中斷功能,此外通過Multibus的I/O接口和OPB總線接口也可以對32位雷達實時鐘同時進行存取而不產(chǎn)生沖突。
為了可以靈活地設(shè)置1553B協(xié)議芯片的工作方式,在此通過一個OPB總線上的16位GPIO來保存和修改對芯片的工作方式的設(shè)置,它包括5位RT地址RTA[4:0],6位工作模式設(shè)置MSEL[5;0],芯片復位MRST等控制。以上電路除1553B控制器和變壓器外全部都在FPGA內(nèi)部用IP核和VHDL設(shè)計實現(xiàn),MBI軟件上電后對1553B控制器進行初始化,然后實時查詢和響應(yīng)雷達數(shù)據(jù)處理主機通過Multibus上的雙口RAM1送來的命令和數(shù)據(jù)以及1553B總線上發(fā)來的命令,完成與其他航電設(shè)備的數(shù)據(jù)交換和通信。
2.2 M0子模塊電路設(shè)計
圖3為內(nèi)總線接口子模塊(M0)系統(tǒng)框圖,W8051是與8051單片機兼容的IP軟核,它通過工作在方式2下的8051串行口實現(xiàn)雷達內(nèi)總線M0主控器功能,分別為W8051擴展了4 KB的程序ROM和256 B的RAM,同時擴展了4KB的雙口RAM2并掛接在Multibus上,以實現(xiàn)與主控計算機的數(shù)據(jù)交換。主控計算機通過一個I/O(INT)來中斷W8051,整個M0控制系統(tǒng)均在FPGA內(nèi)部實現(xiàn),軟件在這個獨立的計算機系統(tǒng)上實現(xiàn)自定義的M0內(nèi)總線通信協(xié)議,以完成主控計算機與內(nèi)總線上雷達其他從設(shè)備(如發(fā)射機、接收機等)的可靠通訊。
2.3 TVJ子模塊電路設(shè)計
TVJ功能塊的核心是基于FPGA的硬處理器核PowerPC 405,PowerPC 405是專門為嵌入式應(yīng)用而設(shè)計的高性能32位PowerPC系列處理器芯核,對于Virtex-ⅡPro系列FPGA,其實現(xiàn)型號為PowerPC405D5,其內(nèi)核的結(jié)構(gòu)主要包括1個5級流水線單元,1個虛擬存儲器管理單元,1個指令和數(shù)據(jù)獨立的Cache單元,1個調(diào)試口和3個可編程計數(shù)器,片內(nèi)總線遵循PLB(Processor Local Bus)標準,PLB是一種高性能的同步總線,用于連接處理器和高速外設(shè),提供分離的32位地址總線和64位數(shù)據(jù)總線。通過PLB總線接口實現(xiàn)對視頻RAM、彩色查找表LUT、32位計數(shù)器、UART和雙口RAM3的擴展,在雙口RAM3的另一端實現(xiàn)了與Multibus的存儲器接口及雙向中斷功能,視頻RAM分為A、B兩塊,共4MB,顯示分辨率為575×575×16 b,通過PLB總線和多路切換電路可以對它們進行讀/寫,同時視頻RAM的內(nèi)容經(jīng)讀取控制電路讀出后經(jīng)彩色查找表變換為24位真彩色數(shù)字視頻再經(jīng)過D/A變換和運放的驅(qū)動輸出模擬視頻信號。通過PLB總線可以隨時設(shè)置彩色查找表LUT的內(nèi)容以實時地進行多種分層疊加彩色顯示方式的切換。視頻時序發(fā)生電路產(chǎn)生符合PAL制式的同步/消隱信號,當有外部同步信號輸入時,外同步檢測電路可自動識別出來并與外部的鎖相環(huán)(PLL)配合,產(chǎn)生與外同步信號完全一致的視頻時序信號,保證最后輸出的模擬視頻與其完全同步。除去視頻RAM,PLL,D/A、和運放電路外,整個PowerPC 405系統(tǒng)和顯示控制的時序、邏輯電路及彩色查找表等都在FPGA內(nèi)部實現(xiàn)。如圖4所示。
2.4 TVJ子模塊視頻控制電路設(shè)計
視頻控制電路是TVJ子模塊的關(guān)鍵電路,它包括PLB總線接口、VRAM切換控制電路、視頻時序發(fā)生器、VRAM地址發(fā)生器、彩色查找表和控制/狀態(tài)寄存器,如圖5所示。
PLB總線接口主要完成視頻控制電路與系統(tǒng)PLB總線的符合IBM CoreConnect總線規(guī)范的無縫接口電路。VRAM切換控制電路完成系統(tǒng)對兩塊顯存讀/寫控制的交替切換。PLB_EMC是Xilinx嵌入式開發(fā)套件EDK自帶的PLB總線外部存儲器控制接口IP。VRAM_A和VRAM_B都是存儲視頻圖像數(shù)據(jù)的顯存,切換控制電路在任意時刻總是將1塊顯存掛接在PLB_EMC接口上,而從另一塊顯存讀出視頻圖像數(shù)據(jù)經(jīng)過調(diào)色板變換后輸出給D /A產(chǎn)生要顯示的彩色圖像信號。修改顯示畫面時CPU通過PLB總線先對掛接在PLB_EMC接口上的VRAM_A進行改寫,同時用VRAM_B讀出的數(shù)據(jù)來完成顯示,然后通過設(shè)置控制寄存器切換到另一狀態(tài),再用VRAM_A完成顯示,而對VRAM_B改寫以使兩塊顯存數(shù)據(jù)保持相同,這樣系統(tǒng)讀/寫顯存時就不會影響顯示了,同時VRAM切換控制電路可以設(shè)置為只對高8位、只對低8位和對16位這3種顯存存取方式,以此來實現(xiàn)顯存的快速存取和背景疊加顯示功能。
PAL視頻時序發(fā)生器產(chǎn)生顯示所需的時鐘、行場同步和消隱信號,提供給VRAM地址發(fā)生器子模塊,用于形成尋址外部顯存的地址。將FPGA內(nèi)部的存儲器資源例化為一個128K×4b的ROM,然后將1幀時間長度(40ms)的信號設(shè)計成.coe格式文件作為ROM的初始化數(shù)據(jù)。
VRAM地址發(fā)生器就是根據(jù)PAL視頻時序發(fā)生器給出的行、場同步和消隱信號來產(chǎn)生讀顯存需要的地址,并與PAL制式信號時序同步。
彩色查找表的功能是將從顯存讀出的視頻圖像數(shù)據(jù)經(jīng)過查表處理后形成24位RGB彩色數(shù)字視頻提供給D/A變換輸出到顯示器顯示。查找表共512個單元,將其分為兩部分,0~255為第一個表,256~511為第二個表,顯存輸出的數(shù)字視頻要么通過第一個表,要么通過第二個表來轉(zhuǎn)換,不能同時,當數(shù)字視頻高8位為全0時,將使用低8位去索引第一張表,當高8位不為全0時,將使用高8位去索引第二張表,這樣系統(tǒng)可以由軟件來靈活地設(shè)置修改彩色查找表的內(nèi)容從而實現(xiàn)多種分層和疊加的彩色顯示方式。
3 SoPC技術(shù)在設(shè)計中的應(yīng)用
開發(fā)采用Xilinx公司的EDK(嵌入式開發(fā)套件)和ISE工具軟件。EDK工具包中集成了硬件平臺生成器(Platgen)、軟件平臺生成器(Libgen)、仿真模型生成器(Simgen)、軟件編譯器(Mb-gcc/ppc-gcc)和軟件調(diào)試工具(Mb-gdb/ppc-gdb)等,通過集成開發(fā)環(huán)境XPS,用戶可以調(diào)用上述所有工具,來完成嵌入式系統(tǒng)開發(fā)的整個流程。
可配置嵌入式系統(tǒng)的配置層面包括,處理器配置:如指令或數(shù)據(jù)緩沖配置,協(xié)處理器或硬件加速器;系統(tǒng)配置:如I/O外設(shè)選擇、定制、DMA選擇、存儲器外設(shè)選擇、定制等;用戶專用外設(shè)和電路:將專用電路設(shè)計成為用戶自定義的IP Core,然后在系統(tǒng)中添加調(diào)用來實現(xiàn)。用戶自定義的IP Core要求必須用HDL設(shè)計并滿足片內(nèi)總線接口和EDK工程的規(guī)范,如有專門目錄結(jié)構(gòu)和處理器外設(shè)定義文件(.MPD)、外設(shè)分析定義文件(.PAO)等。如果自定義的IP Core要具有軟件驅(qū)動,那設(shè)計還要完全符合相應(yīng)的總線底層驅(qū)動接口規(guī)范??傊畬oPC技術(shù)應(yīng)用在接口模塊的設(shè)計中具有以下優(yōu)點:由于接口模塊往往是實現(xiàn)專用功能的嵌入式計算機小系統(tǒng),在芯片RAM資源可以滿足系統(tǒng)的設(shè)計要求的前提下,可以將系統(tǒng)存儲器都集成到FPGA內(nèi)部,大大減小體積和功耗,減少芯片數(shù)量;硬件設(shè)計的更改可通過重新配置FPGA器件來實現(xiàn),增加設(shè)計靈活性,降低設(shè)計風險。
4 結(jié)語
由于FPGA內(nèi)部集成的通信接口和IP Core的種類的不斷豐富,使得在更多的應(yīng)用領(lǐng)域使用SoPC技術(shù)進行嵌入式系統(tǒng)設(shè)計已成為可能。該多功能接口模塊已成功地應(yīng)用于實際產(chǎn)品中,取代了以往3個單獨的接口模塊,大大減小了體積,降低了功耗,在提高了性能的同時也提高了系統(tǒng)的可靠性,并為設(shè)計體積更小、性能更強的雷達接口模塊提供了發(fā)展方向。