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