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