錢軍琪,許夢(mèng)蕓,樊 超
(航空工業(yè)西安航空計(jì)算技術(shù)研究所,陜西 西安 710065)
隨著數(shù)字視頻時(shí)代的到來,圖形圖像處理作為數(shù)字化的重要組成部分越來越重要,特別是支持二維/三維高清圖形圖像顯示技術(shù)已經(jīng)成為業(yè)界的研究熱點(diǎn)。本文針對(duì)數(shù)字視頻處理技術(shù)的特點(diǎn)提出了一種能夠支持綜合顯示界面繪制、二維/三維數(shù)字地圖加速等功能的硬件解決方案[1-2]。
圖像處理模塊系統(tǒng)如圖1所示,顯示輸出的分辨率可達(dá)1 600×1 200,視頻幀不低于30幀每秒[2]。由于要同時(shí)完成界面繪制、二維/三維數(shù)字地圖生產(chǎn)等復(fù)雜工作,因此對(duì)處理平臺(tái)的性能有較高的要求,經(jīng)過技術(shù)分析,選用CPU+GPU的處理構(gòu)架。CPU 選用飛思卡爾公司的高性能低功耗PPC構(gòu)架T系列處理器,負(fù)責(zé)系統(tǒng)管理調(diào)度、數(shù)據(jù)存儲(chǔ)加載、通信管理等工作;GPU選用國(guó)內(nèi)廠商景嘉微電子的JM系列圖形處理器,負(fù)責(zé)圖形圖像繪制和加速工作。
模塊的核心是中央處理器Txx和圖形處理器JMxx,CPU和GPU之間通過PCIE-PCI橋芯片連接,完成指令發(fā)送和數(shù)據(jù)傳遞。GPU完成圖形繪制后通過兩路DVI接口進(jìn)行視頻輸出,一路DVI輸出綜合顯示界面,一路DVI輸出二維/三維數(shù)字地圖。數(shù)字地圖原始數(shù)據(jù)存儲(chǔ)在電子盤內(nèi),CPU通過內(nèi)置SATA接口對(duì)電子盤進(jìn)行訪問,讀取數(shù)據(jù)后送入GPU進(jìn)行后續(xù)圖形處理。同時(shí)模塊預(yù)留了以太網(wǎng)、USB、VME等通信總線接口,用于和其他模塊及外設(shè)通信。
Txx提供2個(gè)單線程的e5500內(nèi)核,基于Power Architecture?技術(shù)構(gòu)建,主頻最高可達(dá)1.2 GHz,e5500內(nèi)核提供256 kB的高帶寬、低延遲的共享平臺(tái)緩存,這樣在運(yùn)行獨(dú)立的操作系統(tǒng)時(shí),能保證很高的處理效率。CPU有1個(gè)64位的DDR3L控制器接口,有效利用了存儲(chǔ)器帶寬。處理器使用e5500內(nèi)核和高速內(nèi)部互聯(lián)技術(shù)來平衡處理器的性能與IO系統(tǒng)的吞吐率。配置了高性能PCI Express接口,共提供4個(gè)PCI Express2.0控制器,采用PCI-E總線實(shí)現(xiàn)板級(jí)高性能設(shè)備的串行點(diǎn)對(duì)點(diǎn)互連;2個(gè)SATA接口,支持1.5 Gb/s和3.0 Gb/s傳輸速率。配置了2個(gè)以太網(wǎng)控制器,支持10 Mbps,100 Mbps,1 000 Mbps速率通信。此外,Txx還集成了2路UART接口、中斷控制器、2個(gè)8通道的DMA控制器、GPIO等資源。
采用該處理器,利用其豐富的外圍接口,可方便實(shí)現(xiàn)SATA、以太網(wǎng)、PCIE等接口,其內(nèi)部功能如圖2所示。
1.2.1 存儲(chǔ)器電路設(shè)計(jì)
模塊提供獨(dú)立的存儲(chǔ)器系統(tǒng),通過CPU進(jìn)行管理,包括:DDR3L SDRAM、系統(tǒng)FLASH、用戶FLASH、NVSRAM。
圖2 Txx處理器內(nèi)部結(jié)構(gòu)
模塊中CPU處理器提供獨(dú)立的DDR3L或DDR4存儲(chǔ)器接口,模塊設(shè)計(jì)為DDR3L接口。處理器集成的DDR3存儲(chǔ)控制接口支持72位數(shù)據(jù)寬度(其中8位為數(shù)據(jù)校驗(yàn)位),可以直接對(duì)接DDR3-800的存儲(chǔ)器。DDR3 SDRAM存儲(chǔ)器采用Micron公司的MT41K256M16HA-125 AAT DDR3存儲(chǔ)器,每片存儲(chǔ)器容量512 MB,DDR3L SDRAM時(shí)鐘頻率最大可達(dá)800 MHz,設(shè)計(jì)降頻到600 MHz工作。存儲(chǔ)器地址從0開始,地址范圍為:0x0~0x7fffffff。
處理器提供容量為256 MB系統(tǒng)FLASH,采用1片S70GL02GS11FHI010實(shí)現(xiàn),按16位工作方式,通過CPU的IFC總線進(jìn)行訪問。系統(tǒng)FLASH用于CPU模塊的啟動(dòng),系統(tǒng)FLASH上駐留BIT測(cè)試程序、FLASH在板編程程序、操作系統(tǒng)等系統(tǒng)軟件。
處理器提供512 kB的NVSRAM,采用8位數(shù)據(jù)寬度訪問,地址空間連續(xù),E2V公司的EV2A16AMNYU35,器件容量為256 k×16 bit,工作電源3.3 V。NVSRAM用于掉電保護(hù),每片內(nèi)有SRAM和EEPROM,掉電時(shí)利用芯片內(nèi)部控制由SRAM中的數(shù)據(jù)寫入EEPROM中,上電時(shí)自動(dòng)從EEPROM中寫入SRAM中,恢復(fù)掉電時(shí)的數(shù)據(jù)。
1.2.2 PCIE總線接口設(shè)計(jì)
處理器集成1個(gè)高速外部接口復(fù)合體(HSSI),包含8路SerDes laneA--laneH,SerDes模塊包含串行器/解串器和物理編碼子層PCS(Physical Coding Sublayer)的功能。高速接口復(fù)合體支持5種類型的接口。上電過程中,由配置字RCW的SRDS_PRTCL_S1位決定SerDes配置的接口協(xié)議類型,模塊中SRDS_PRTCL_S1位初始化為0x06,SerDes配置為寬度為×4線的PCI-E接口協(xié)議。PCI-E接口的速率由配置字RCW的SRDS_DIV_PEX位決定,支持2.5 G和5 G兩種線速。本設(shè)計(jì)中將處理器的SerDes接口配置為2路PCIE接口。提供2路標(biāo)準(zhǔn)PCIE接口,總線時(shí)鐘100 MHz。
1.2.3 調(diào)試以太網(wǎng)接口
處理器集成了2個(gè)獨(dú)立的以太網(wǎng)控制器(eTSEC)。每個(gè)接口都支持10M/100M/1 000 M以太網(wǎng)和IEEE 802.3網(wǎng)絡(luò)協(xié)議,并且配置通用8位/16位FIFO接口。eTSECs支持MII和RGMII標(biāo)準(zhǔn)外部以太網(wǎng)收發(fā)器接口。
模塊采用處理器的1路eTSECs接口,用于處理器的調(diào)試端口。外部連接10M/100M/1 000M以太網(wǎng)PHY電路,通過以太網(wǎng)變壓器從模塊底板連接器引出,用于模塊的調(diào)試。
JMxx是長(zhǎng)沙景嘉微電子股份有限公司推出的一款高性能、低功耗的圖形處理芯片(GPU),具有完全自主知識(shí)產(chǎn)權(quán)。GPU采用全新架構(gòu)設(shè)計(jì),基于65 nm CMOS工藝實(shí)現(xiàn),可廣泛應(yīng)用于有高可靠性要求的圖形生成、顯示等領(lǐng)域。GPU能夠高效完成2D,3D的圖形加速功能[3],提供了多種外設(shè)接口,在芯片上集成了1 GB的DDR3存儲(chǔ)器,支持兩路多種格式的外視頻在圖形上進(jìn)行開窗、縮放、旋轉(zhuǎn)以及疊加顯示。芯片的主要功能如圖3所示。
圖3 GPU總體結(jié)構(gòu)
JMxx的主機(jī)接口為PCI接口,CPU不直接支持PCI接口,因此在電路設(shè)計(jì)中采用橋芯片進(jìn)行總線轉(zhuǎn)換,將CPU的PCIE接口轉(zhuǎn)為PCI接口,進(jìn)而完成和GPU的通信,完成指令和數(shù)據(jù)的傳送。GPU可直接將繪制的圖形通過DVI顯示接口輸出。
圖5 時(shí)鐘電路
CPU模塊采用Xilinx公司的Spartan-3 XC3S200AN-4FTG256I實(shí)現(xiàn)模塊內(nèi)部控制邏輯以及局部總線接口轉(zhuǎn)換。該FPGA具有200 k系統(tǒng)門電路、448個(gè)CLB單元、195個(gè)IO等豐富資源,兼容TTL(LVTTL)、CMOS(LVCOMS)等多種單端電氣接口,能夠滿足應(yīng)用需求。
在FPGA內(nèi)部主要實(shí)現(xiàn)以下功能:FLASH存儲(chǔ)器控制邏輯,中斷控制電路,復(fù)位邏輯,看門狗邏輯,離散量控制邏輯。
模塊上處理器的IFC接口是一個(gè)16位總線,設(shè)計(jì)中將處理器的局部總線接口通過FPGA轉(zhuǎn)換為外部/內(nèi)部存儲(chǔ)器的地址和控制信號(hào),用于訪問FLASH,F(xiàn)PGA內(nèi)部的控制/狀態(tài)寄存器等資源。
電子盤設(shè)計(jì)指標(biāo)為存儲(chǔ)容量1 TB,其中1 TB為標(biāo)稱值,實(shí)際可用容量不小于900 GB;支持SATA 2.0接口協(xié)議,接口速率3 Gbps,向下兼容SATA1.0接口協(xié)議;電子盤裸盤連續(xù)讀寫速率不小于80 MB/s;電子盤的連接器可插拔次數(shù)不小于1 000次。
電子盤設(shè)計(jì)采用成熟主控芯片+NAND FLASH存儲(chǔ)陣列的形式設(shè)計(jì)實(shí)現(xiàn),主要功能如圖4所示。主要包括:SATA控制器電路;掉電保持電路,電源控制電路、毀鑰電路;時(shí)鐘電路;復(fù)位電路;SATA接口電路。
圖4 電子盤模塊功能結(jié)構(gòu)
SATA控制器采用GK8802-GBIV100,是深圳華電通訊有限公司自主研發(fā)的固態(tài)硬盤控制器芯片,支持SATA3.1接口,最高速率6 Gb/s,并且向前兼容1.5 Gb/s與3 Gb/s;支持1.8 V和3.3 V的Flash IO電壓,擁有4個(gè)NAND Flash通道,每個(gè)通道8個(gè)CE,總共支持32個(gè)NAND Flash Device;支持DDR3和DDR3L DRAM,支持ECC校驗(yàn)糾錯(cuò),能力在130 bits/kB,兼容主流廠商的SLC,MCL NAND Flash。支持S.M.A.R.T,支持最多32個(gè)NCQ命令。
此控制器支持國(guó)科獨(dú)有的NANDXtraTM糾錯(cuò)技術(shù),最大可提升TLC/3D TLC 3倍擦寫壽命 ;支持動(dòng)靜結(jié)合的Wear Leveling技術(shù),平衡NAND Flash擦寫次數(shù),延長(zhǎng)使用壽命;支持增強(qiáng)型垃圾回收機(jī)制,有效降低寫放大 ;支持國(guó)密SM2,SM3,SM4,內(nèi)置硬件加密算法引擎,內(nèi)置國(guó)際通用SHA256,AES256,內(nèi)置硬件加密算法引擎。連續(xù)讀寫性能:最高550 MB/s和520 MB/s,隨機(jī)讀寫性能:最高90 k和80 k IOPS(@4K) 。
CPU模塊上配置了66 MHz,125 MHz的單端晶振和100 MHz中的差分晶振。其中,66 MHz時(shí)鐘經(jīng)時(shí)鐘驅(qū)動(dòng)器后一分三,分別作為CPU系統(tǒng)時(shí)鐘、DDR3時(shí)鐘和FPGA工作時(shí)鐘;125 MHz時(shí)鐘經(jīng)時(shí)鐘驅(qū)動(dòng)器后一分二,分別作為兩路以太網(wǎng)PHY的參考時(shí)鐘;100 MHz時(shí)鐘經(jīng)時(shí)鐘驅(qū)動(dòng)器后一分二,分別作為CPU的PCIE時(shí)鐘和橋芯片的PCIE時(shí)鐘。時(shí)鐘配置情況如圖5所示。
圖像處理模塊復(fù)位關(guān)系如圖6所示。上電復(fù)位:電源5 V電壓低于4.65 V時(shí),系統(tǒng)處于復(fù)位狀態(tài),電壓大于4.65 V后,產(chǎn)生大于200 ms復(fù)位;模塊上電時(shí),為保證FPGA配置過程中其他功能塊處于復(fù)位狀態(tài),設(shè)計(jì)時(shí)把FPGA加載完成信號(hào)DONE連接到SM706T的手動(dòng)復(fù)位輸入端。當(dāng)FPGA加載完成后,SM706T再產(chǎn)生200 ms復(fù)位信號(hào),模塊啟動(dòng)工作。在正常工作中,如果SM706T檢測(cè)到+5 V電壓低于4.65 V時(shí),SM706T產(chǎn)生復(fù)位信號(hào),模塊處于復(fù)位狀態(tài);當(dāng)電壓恢復(fù)至4.65 V以上時(shí),SM706T產(chǎn)生撤銷復(fù)位信號(hào),模塊重新啟動(dòng)[4]。軟件復(fù)位,可以通過軟件寫FPGA寄存器方式復(fù)位CPU,復(fù)位時(shí)間大于2 ms。
基于CPU+GPU構(gòu)架的圖像處理模塊具有圖形處理能力強(qiáng)、工作穩(wěn)定性高、綜合功耗低等特點(diǎn),非常適合需要圖形圖像處理工作的嵌入式應(yīng)用場(chǎng)景。該模塊在提供了多用途的圖形圖像處理能力的基礎(chǔ)上,兼顧了性能、體積和功耗的平衡,同時(shí)具備較強(qiáng)的內(nèi)部通信和對(duì)外交互聯(lián)通能力。
圖6 復(fù)位電路關(guān)系