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

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

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

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

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