基于嵌入式Linux和FPGA的千兆網(wǎng)數據傳輸的實(shí)現
引言
本文引用地址:http://dyxdggzs.com/article/189652.htm中國散裂中子源實(shí)驗的簡(jiǎn)圖如圖1所示,其原理是把中子束打在被測樣品(例如新藥品或機翼材料)上,探測被反射的中子位置就能計算出樣品的內部結構圖像,其特點(diǎn)如下: A/D采集通道多,每個(gè)通道的數據帶寬高,且需要把現場(chǎng)采集的數據傳到遠程服務(wù)器上。因此,要求數據傳輸模塊既要成本低、微型化、具備網(wǎng)絡(luò )功能,也要數據帶寬高。

圖1 中國散裂中子源實(shí)驗簡(jiǎn)圖
單片機或ARM具有微型化、低成本的特點(diǎn),但數據帶寬和靈活性不滿(mǎn)足本項目;工控計算機數據處理能力強,有網(wǎng)絡(luò )接口,但是體積過(guò)大,成本高;傳統高能物理實(shí)驗采用的VME系統也因體積大、數據帶寬有限而不適合用在中國散裂中子源實(shí)驗上。
FPGA有很高的性能,而且內部還集成PowerPC處理器、千兆網(wǎng)MAC等硬核資源,這使得在一塊FPGA上就能構建一個(gè)完整的片上系統,使整個(gè)系統體積可以做的很小。在FPGA片內PowerPC硬核上移植嵌入式linux操作系統,用軟件來(lái)實(shí)現網(wǎng)絡(luò )傳輸協(xié)議可以解決用FPGA硬件描述語(yǔ)言實(shí)現TCP/IP協(xié)議難度大的問(wèn)題。FPGA的高性能、高可靠性和Linux的靈活性完美結合在一個(gè)片內,能較好地滿(mǎn)足本項目的需求。
1 系統的總體構成及層次
本系統可以分為5個(gè)層次,如圖2所示,

最低層為外圍電路硬件層,每一層都是建立在其下一層之上。
2 系統外圍電路的簡(jiǎn)介
本文在硬件上采用了實(shí)驗室自行設計的電路板,用的是帶PowerPC的xilinx Virtex4 FPGA,電路如圖3所示。

圖3 系統的硬件模塊框圖
3 SOPC的構建
SOPC (System on a Programmable Chip) 即可編程片上系統,把整個(gè)系統放到一塊硅片上,是一種特殊的嵌入式系統,具有靈活的設計方式,可裁減、可擴充、可升級,并具備軟硬件在系統可編程的功能。
3.1 開(kāi)發(fā)工具
Xilinx 公司提供了FPGA開(kāi)發(fā)工具EDK(Embedded Development Kit),它帶有大量可配置可定制的IP核,可以大大提高設計的效率,使設計者把主要精力放在設計系統架構上,能很方便的對FPGA進(jìn)行模塊化的重構和裁剪,提高設計的靈活性,減少了外圍器件,符合SOPC的思想。
3.2 SOPC的總體構成
SOPC系統構建完成后的框圖如圖4所示,其中PowerPC405是已經(jīng)固化在FPGA內部的硬核,工作頻率設為300MHz,配置時(shí)要選擇cache選項,否則運行嵌入式Linux會(huì )很慢。PowerPC405通過(guò)PLB(Process Local Bus)總線(xiàn)核和各個(gè)IP模塊互聯(lián)構建了一個(gè)完整的SOPC系統。

圖4 FPGA內部各個(gè)IP模塊框圖
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論