基于嵌入式Linux和FPGA的千兆網(wǎng)數(shù)據(jù)傳輸?shù)膶崿F(xiàn)
引言
本文引用地址:http://www.ex-cimer.com/article/189652.htm中國散裂中子源實驗的簡圖如圖1所示,其原理是把中子束打在被測樣品(例如新藥品或機(jī)翼材料)上,探測被反射的中子位置就能計算出樣品的內(nèi)部結(jié)構(gòu)圖像,其特點如下: A/D采集通道多,每個通道的數(shù)據(jù)帶寬高,且需要把現(xiàn)場采集的數(shù)據(jù)傳到遠(yuǎn)程服務(wù)器上。因此,要求數(shù)據(jù)傳輸模塊既要成本低、微型化、具備網(wǎng)絡(luò)功能,也要數(shù)據(jù)帶寬高。
圖1 中國散裂中子源實驗簡圖
單片機(jī)或ARM具有微型化、低成本的特點,但數(shù)據(jù)帶寬和靈活性不滿足本項目;工控計算機(jī)數(shù)據(jù)處理能力強(qiáng),有網(wǎng)絡(luò)接口,但是體積過大,成本高;傳統(tǒng)高能物理實驗采用的VME系統(tǒng)也因體積大、數(shù)據(jù)帶寬有限而不適合用在中國散裂中子源實驗上。
FPGA有很高的性能,而且內(nèi)部還集成PowerPC處理器、千兆網(wǎng)MAC等硬核資源,這使得在一塊FPGA上就能構(gòu)建一個完整的片上系統(tǒng),使整個系統(tǒng)體積可以做的很小。在FPGA片內(nèi)PowerPC硬核上移植嵌入式linux操作系統(tǒng),用軟件來實現(xiàn)網(wǎng)絡(luò)傳輸協(xié)議可以解決用FPGA硬件描述語言實現(xiàn)TCP/IP協(xié)議難度大的問題。FPGA的高性能、高可靠性和Linux的靈活性完美結(jié)合在一個片內(nèi),能較好地滿足本項目的需求。
1 系統(tǒng)的總體構(gòu)成及層次
本系統(tǒng)可以分為5個層次,如圖2所示,
最低層為外圍電路硬件層,每一層都是建立在其下一層之上。
2 系統(tǒng)外圍電路的簡介
本文在硬件上采用了實驗室自行設(shè)計的電路板,用的是帶PowerPC的xilinx Virtex4 FPGA,電路如圖3所示。
圖3 系統(tǒng)的硬件模塊框圖
3 SOPC的構(gòu)建
SOPC (System on a Programmable Chip) 即可編程片上系統(tǒng),把整個系統(tǒng)放到一塊硅片上,是一種特殊的嵌入式系統(tǒng),具有靈活的設(shè)計方式,可裁減、可擴(kuò)充、可升級,并具備軟硬件在系統(tǒng)可編程的功能。
3.1 開發(fā)工具
Xilinx 公司提供了FPGA開發(fā)工具EDK(Embedded Development Kit),它帶有大量可配置可定制的IP核,可以大大提高設(shè)計的效率,使設(shè)計者把主要精力放在設(shè)計系統(tǒng)架構(gòu)上,能很方便的對FPGA進(jìn)行模塊化的重構(gòu)和裁剪,提高設(shè)計的靈活性,減少了外圍器件,符合SOPC的思想。
3.2 SOPC的總體構(gòu)成
SOPC系統(tǒng)構(gòu)建完成后的框圖如圖4所示,其中PowerPC405是已經(jīng)固化在FPGA內(nèi)部的硬核,工作頻率設(shè)為300MHz,配置時要選擇cache選項,否則運行嵌入式Linux會很慢。PowerPC405通過PLB(Process Local Bus)總線核和各個IP模塊互聯(lián)構(gòu)建了一個完整的SOPC系統(tǒng)。
圖4 FPGA內(nèi)部各個IP模塊框圖
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論