為了滿足超高性能數(shù)據(jù)處理以及低功耗、簡單可編程性的應(yīng)用,設(shè)計了一款基于TI TMS320C6678芯片和Xilinx公司XC5VSX95T芯片的4DSP+FPGA架構(gòu)的數(shù)據(jù)處理板,同時設(shè)計了高帶寬的數(shù)據(jù)輸入輸出接口以及相關(guān)的時鐘、電源和復(fù)位電路,并通過具體的硬件電路實現(xiàn)。該數(shù)據(jù)處理板可廣泛應(yīng)用于航空設(shè)備、車載設(shè)備、惡劣條件下工作的特種設(shè)備,將有效提高設(shè)備的數(shù)據(jù)處理性能。
0 引言
隨著數(shù)字信號處理器(Digital Signal Processor,DSP)和現(xiàn)場可編程門陣列器件(Field-Programmable Gate Array,F(xiàn)PGA)的發(fā)展,DSP+FPGA架構(gòu)在數(shù)據(jù)及信號處理系統(tǒng)中的應(yīng)用愈來愈廣泛。傳統(tǒng)的DSP芯片一般采用馮-諾依曼(Von Neumann)結(jié)構(gòu)或某種類型擴展,此種結(jié)構(gòu)本質(zhì)上是串行的,當(dāng)遇到需要處理的數(shù)據(jù)量大且處理速度高,但對運算結(jié)構(gòu)相對較簡單的底層信號處理算法來說顯不出優(yōu)點,適合采用FPGA硬件實現(xiàn)。因此,采用DSP+FPGA架構(gòu)的系統(tǒng)可以將二者優(yōu)點結(jié)合起來,兼顧速度和靈活性,既滿足底層信號處理要求,又滿足高層信號處理要求。
德州儀器(TI)推出TMS320C66x系列最新數(shù)字信號處理器TMS320C6678與 TMS320TCI6609,是目前具有最高定/浮點運算能力的一代數(shù)字信號處理器,為開發(fā)人員帶來業(yè)界性能最高、功耗最低的DSP。TI TMS320C6678多核DSP非常適合需要超高性能、低功耗以及簡單可編程性場合的應(yīng)用。TI不但為HPC(High Performance Computing)提供免費優(yōu)化庫,無需花費時間優(yōu)化代碼,即可便捷地實現(xiàn)最高性能,而且還支持C語言與OpenMP等標(biāo)準(zhǔn)編程語言,因此開發(fā)人員可便捷地移植應(yīng)用,啟動C66x多核DSP的開發(fā)[1],充分發(fā)揮低功耗與高性能優(yōu)勢。為了滿足超高數(shù)據(jù)處理性能、低功耗以及簡單可編程性場合的應(yīng)用,設(shè)計了一款基于TI8核高性能DSP 芯片TMS320C6678和Xilinx公司FPGA芯片XC5VSX95T的數(shù)據(jù)處理電路模塊,在6 U尺寸的模塊上設(shè)計了4片高性能DSP,定點運算處理能力可達1 280 GMAC,浮點運算處理能力可達640 GFLOP,并設(shè)計了大容量DDR3內(nèi)存(每片DSP內(nèi)存為1 GB,共4 GB)和2 GB的固態(tài)存儲,使得其可實現(xiàn)高性能、高數(shù)據(jù)吞吐量的定點/浮點運算。
模塊設(shè)計了大吞吐量的串行RapidIO(Serial Rapid IO,SRIO)和千兆以太網(wǎng),對外與其他模塊進行數(shù)據(jù)通信,數(shù)據(jù)帶寬達60 Gb/s,使得大數(shù)據(jù)量的輸入、大數(shù)據(jù)量處理和輸出成為現(xiàn)實。
1 電路總體設(shè)計
數(shù)據(jù)處理模塊的電路總體設(shè)計基于4×DSP+FPGA架構(gòu),電路總體設(shè)計框圖如圖1所示。
從功能上看,數(shù)據(jù)處理模塊可分為DSP小系統(tǒng)、FPGA模塊、RapidIO數(shù)據(jù)交換模塊[2]、以太網(wǎng)模塊、AD轉(zhuǎn)換模塊、各電平轉(zhuǎn)換模塊及其他電源、時鐘和控制邏輯等輔助電路,加上DSP、FPGA等必要的驅(qū)動程序和板內(nèi)的控制邏輯,形成一個完整的、一體化的數(shù)字系統(tǒng)硬件平臺。
1.1 DSP小系統(tǒng)
DSP小系統(tǒng)主要包含:DSP芯片組、DDR3內(nèi)存、Flash數(shù)據(jù)存儲、RS232接口、SRIO接口、SPI(Setial Peripheral Interface)接口。
如圖1所示,第一個DSP小系統(tǒng)作為主系統(tǒng),其他3個DSP系統(tǒng)作為從系統(tǒng)。4片DSP之間的通訊如下:在啟動過程中,從DSP給主DSP送1個GPIO(General Purpose Input/Output)信號,通過電平方式表示已經(jīng)啟動起來。系統(tǒng)啟動后,從DSP的信息通過SRIO發(fā)送給主DSP。J30J-31為調(diào)試接口,對外提供DSP的JTAG(Joint Test Action Group)口(板內(nèi)成菊花鏈[3])、串口、4個控制LED燈的GPIO口以及CPLD、FPGA的JTAG加載口。4個DSP的JTAG形成菊花鏈[4],連到調(diào)試接口J30J-31上。同時,4個DSP的串口都連到調(diào)試接口上方便調(diào)試,該模塊設(shè)計只用主DSP的串口。兩個DSP之間,用超鏈接(Hyperlink)進行通訊[1]。
1.1.1 DSP
電路設(shè)計采用4片TI公司的TMS320C6678芯片,配合外圍時鐘、復(fù)位、DDR3、Flash等,為整個模塊提供數(shù)字處理平臺。TMS320C6678芯片為高性能八核數(shù)字信號處理器,外頻采用100 MHz,內(nèi)核主頻為1 GHz,采用擴展溫度型號,工作溫度-40 ℃~+100 ℃。該芯片內(nèi)部集成8個C66x CorePac DSPs的核,每個核工作在1 GHz。在C66x 器件上,通過擴展SIMD(Single Instruction Multiple Data)指令的寬度,提高了向量處理能力,可以處理128 bit的向量指令[1]。例如,QMPY32 指令可以執(zhí)行兩個32 bit數(shù)據(jù)向量的元素對元素相乘。
C66xDSP對浮點操作也支持SIMD。增強的向量處理能力加上原有的指令并行等級,DSP 程序員通過應(yīng)用TI的C/C++優(yōu)化編譯器可以開發(fā)出更高級的并行代碼。每個核具有獨立的32 K數(shù)據(jù)一級cache和32 K指令一級cache,共享512 K二級cache。C66xDSP存儲單元接口支持DDR3 EMIF64內(nèi)存, 控制單元片內(nèi)共享4 096 K SRAM存儲空間,支持高速串行接口,包括1路SRIO接口、兩路PCIe接口、兩路SGMII(Serial Gigabit Media Independent Interface)以太網(wǎng)接口等。C66xDSP支持其他低速接口如UART(Universal Asynchronous Receiver/Transmitter)串口,24位尋址寬度的MIF16并行總線、SPI、I2C、GPIOs等。
1.1.2 DDR3內(nèi)存
每片DSP設(shè)計采用4片MT41J128M16HA并聯(lián),提供64 bit數(shù)據(jù)位寬,共1 GB容量。MT41J128M16HA是Micro公司生產(chǎn)的DDR3 SDRAM,規(guī)格為16 Meg×16×8 Banks,單片16位寬度,256 MB容量。
1.1.3 Flash數(shù)據(jù)存儲
Flash數(shù)據(jù)存儲采用Spansion公司S29GL01G Flash芯片,16位寬度128 MB字節(jié)空間。一部分空間放置BOOT,主要用作存放操作系統(tǒng)的代碼以及用戶代碼、用戶配置和用戶數(shù)據(jù)。通過CPLD控制存儲系統(tǒng)的啟動程序、系統(tǒng)程序和用戶程序。DSP只能提供24位地址線,F(xiàn)lash所需的高兩位地址線通過CPLD來擴展。CPLD采用Lattice公司的LCMXO2280C芯片,在DSP和其他芯片通訊間實現(xiàn)電平轉(zhuǎn)換功能。
1.1.4 RS232接口
采用2片MAX3232作為RS232接口電平轉(zhuǎn)換芯片,共提供4路RS232接口。DSP和鏈接器之間連接MAX3232芯片,完成TTL/CMOS電平的UART信號轉(zhuǎn)換成標(biāo)準(zhǔn)的RS232信號輸出和標(biāo)準(zhǔn)的RS232信號轉(zhuǎn)換成TTL/COMS電平輸入。
1.1.5 SRIO和SPI接口
SRIO接口通過80HCPS1848芯片進行數(shù)據(jù)交換,實現(xiàn)與FPGA、3個從DSP及客戶板通訊。SPI接口實現(xiàn)對AD9516的配置,給ADC提供可變的參考時鐘。
1.2 FPGA模塊
FPGA模塊主要用做高速ADC的算法處理,包含DDR2、SRIO、高速ADC、RS422接口、JTAG/IO等接口部分。FPGA模塊如圖2所示。
1.2.1 FPGA
FPGA模塊設(shè)計采用Xilinx公司FPGA芯片XC5VSX95T。XC5VSX95T是Xilinx公司的Virtex-5 SXT系列FPGA器件,帶有高級串行連接的信號處理邏輯,相對其他系列擁有更豐富的DSP資源。芯片XC5VSX95T有邏輯模塊160×54,最大RAM模塊1 120 Kb,DSP48E 640個,CMT時鐘管理6個RocketIO,GTP 16個,總IObank 20個,最大使用IO數(shù)680個[5]。本電路采用1.2~3.3 V I/O操作電壓,14 720 slices,19個bank,640個用戶IO,1PCIe,4 MAC,16個GTP,配合外圍時鐘、復(fù)位、FPGA啟動加載電路等,為整個模塊提供邏輯算法。
1.2.2 數(shù)據(jù)緩存電路
數(shù)據(jù)緩存電路由2片Micron公司的MT47H128M16-SDRAM芯片構(gòu)成,單片容量2 Gb(16 M×16 bit×8 bank),共512 MB DDR2。該內(nèi)存芯片14 bit行地址,10 bit列地址,1.8 V供電,最高頻率800 MHz,支持突發(fā)讀寫或者突發(fā)讀單寫,支持自刷新,64 ms內(nèi)刷新8 192次[6],掛在FPGA上為系統(tǒng)提供數(shù)據(jù)緩存、協(xié)助系統(tǒng)完成多路控制等功能。
1.2.3 RS422接口
采用2片MAX3076完成RS422電平轉(zhuǎn)換,提供2路RS422通信接口,支持單通道全雙工,16 Mb/s,3.3 V工作電壓,帶15 kV ESD(Electro-Static Discharge)保護。
1.2.4 JTAG接口
JATG信號直接由FPGA引出到連接器J30J-31,作為調(diào)試及客戶指示燈接口。
1.3 RapidIO模塊
RapidIO模塊為4個DSP及FPGA提供數(shù)據(jù)交換,同時,對外提供6個x4端口,使整個系統(tǒng)能夠通過SRIO數(shù)據(jù)交換實現(xiàn)通訊。RapidIO模塊電平轉(zhuǎn)換功能如圖3所示。
選用IDT公司的RapidIO數(shù)據(jù)交換芯片80HCPS18-48CRMI完成數(shù)據(jù)電平轉(zhuǎn)換。該芯片是一款高性能RapidIO交換芯片,符合串行RapidIO2.1 協(xié)議要求[2],擁有48路SRIO端口,可配置為12×4、18×2、18×1的端口工作方式,傳輸速率可為1.25 Gbaud、2.5 Gbaud、3.125 Gbaud、5.0 Gbaud或 6.25 Gbaud;芯片內(nèi)部交換帶寬達到240 Gb/s,提供無阻塞的全雙工交換能力,可配置為短潛伏期(latency)的直通轉(zhuǎn)發(fā)(Cut-Through)或存儲轉(zhuǎn)發(fā)(Store-and-Forward)數(shù)據(jù)流,最大可支持40個同時多點傳送(multicast)和發(fā)送傳遞信號(broadcast),同時具有全局路由或本地端口路由。該芯片內(nèi)核電壓1.0 V,IO電壓3.3 V,串/并化器電壓1.2 V[7]。
1.4 以太網(wǎng)模塊
圖1中每個DSP均可通過以太網(wǎng)同計算機通信,完成輸入輸出測試功能。以太網(wǎng)模塊如圖4所示。
電路設(shè)計用MAVELL公司的PHY芯片88e1145。該芯片是一款4端口千兆以太網(wǎng)收發(fā)器[8],支持GMII、TBI、RGMII、RTBI以及SGMII接口,有4個RGMII時鐘模式,1.25 GHz串/并化器應(yīng)用于1000BASE-X光纖接口。每個收發(fā)器支持CAT5雙絞線100BASE-TX、1000BASE-T全雙工或半雙工以太網(wǎng)、CAT3/4/5電纜10BASE-T全雙工或半雙工以太網(wǎng),支持IEEE 100BASE-FX光纖網(wǎng)絡(luò)。同時,每個端口支持PECL(The PHP Extension Community Library)接口應(yīng)用于100BASE-FX,F(xiàn)EFI(Far-End Fault Indication)遠距離錯誤指示,集成數(shù)字自適應(yīng)均衡器、回聲消除器和串?dāng)_消除器,自動MDI/MDIX切換,用戶配置port-by-port獨立MAC接口,支持IEEE 802.3U 自動協(xié)商,軟件可編程LED模式,兩線串行接口和MDC/MDIO,CRC校驗和包計數(shù)器,包生成器,自動校正MAC接口輸出。
1.5 電源方案實現(xiàn)
根據(jù)數(shù)據(jù)處理板內(nèi)電壓種類和各芯片上電順序需求分析以及提供的電源情況,電源設(shè)計方案如圖5所示。
板上功耗最大的為80HCPS1848芯片,其所需的電源有1 V、1.2 V、3.3 V。1 V由LTM4620和TPS74801DRCT提供,1.2 V由LTM4620提供,3.3 V由3.5 V經(jīng)LTM4620提供。LTM4620輸入電壓范圍為4.5 V~16 V,輸出范圍0.6 V~5.3 V,可實現(xiàn)單端26 A、雙端13 A電流輸出。TPS74801DRCT輸出電壓可調(diào),電流1.5 A。
DSP所需電源有1 V、1.5 V、1.8 V。1 V直接由UCD9222+UCD7242提供。1.5 V和1.8 V由5 V經(jīng)LTM4620提供。DSP有上電時序要求,UCD9222+UCD7242通過軟件控制4片DSP的上電時序,每個延時2 ms啟動,內(nèi)核電壓上電完成后,再上1.8 V和1.5 V,1.8 V和1.5 V通過LTM4620芯片的track腳的容值不同來調(diào)整,同時,也將RUN腳拉到CPLD,由前級power good來推動后級的使能。
對電源要求較高的ADC、PLL供電,均用LDR(Low Dropout Regulator)提供。
1.6 時鐘方案實現(xiàn)
圖6為時鐘方案圖,DSP所需的時鐘有100 MHz、156.25 MHz。156.25 MHz時鐘由125M晶振通過MAX3638提供,而3個100 MHz時鐘則由外部100 MHz晶振通過CY2DL1504ZXIT提供。CPLD、PHY、FPGA配置所需25 MHz時鐘,由外部晶振經(jīng)過驅(qū)動器CY23EP05提供。RapidIO數(shù)據(jù)交換芯片所需的156.25 MHz時鐘由25 MHz外部時鐘通過CDCM61004得到。FPGA芯片所需的時鐘有23.04 MHz、100 MHz和125 MHz,23.04 MHz由外部時鐘提供,100 MHz和125 MHz時鐘由25 MHz外部時鐘通過ICS844N255AkILft提供。
1.7 復(fù)位電路
為了使電路可靠工作,復(fù)位電路特別重要,本電路板設(shè)計了上電復(fù)位、看門狗復(fù)位和芯片單獨復(fù)位3種復(fù)位模式,圖7為復(fù)位電路框圖。上電復(fù)位是整板硬復(fù)位,使用專用復(fù)位芯片MAX811、控制邏輯配合實現(xiàn);第二種看門狗復(fù)位,由DSP給CPLD喂狗[9],CPLD內(nèi)部做計時器,一旦異常,產(chǎn)生復(fù)位脈沖,給板內(nèi)所有器件復(fù)位(包括DSP)。這種復(fù)位方式可通過脈寬控制進行調(diào)整:由DSP給CPLD喂狗,CPLD計時,一旦異常,由CPLD給復(fù)位芯片送出復(fù)位脈沖,復(fù)位芯片產(chǎn)生復(fù)位信號送給CPLD,CPLD將復(fù)位信號分發(fā)給整板,對所有器件進行復(fù)位;第三種通過DSP給CPLD寫寄存器,由CPLD獨立復(fù)位各個芯片。
MAX811芯片內(nèi)部自帶上電復(fù)位時間控制,芯片產(chǎn)生的復(fù)位信號送入控制邏輯CPLD,由CPLD控制復(fù)位板上所有芯片,其最小140 ms的復(fù)位時間可保證可靠地復(fù)位整個系統(tǒng)。手動復(fù)位由板上提供的按鈕以及MAX811內(nèi)建的施密特整形電路及延時輸出電路,外加CPLD共同實現(xiàn)。看門狗復(fù)位,由CPLD內(nèi)建看門狗控制邏輯,配合MAX811共同完成看門狗功能。芯片單獨復(fù)位則是通過板內(nèi)控制單元(CPU)通過寫CPLD提供的復(fù)位控制寄存器的方式,實現(xiàn)各芯片單獨復(fù)位。
2 結(jié)束語
基于4×DSP(8核DSP TMS320C6678)+FPGA架構(gòu)設(shè)計的數(shù)據(jù)處理模塊具有高速信號處理能力和高帶寬的數(shù)據(jù)輸入輸出接口,處于國內(nèi)領(lǐng)先地位,可用于高性能數(shù)據(jù)處理、信號處理、圖像處理等場合。在設(shè)計中采用了寬溫、低功耗的DSP,使其具有高可靠性、低功耗、高密度、耐振動性以及寬溫度工作范圍的特性,可廣泛用于航空設(shè)備、車載設(shè)備、惡劣條件下工作的特種設(shè)備,大大提高設(shè)備的穩(wěn)定性和數(shù)據(jù)處理性能。
評論
查看更多