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