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