《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于嵌入式Linux和FPGA的千兆網(wǎng)數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)
基于嵌入式Linux和FPGA的千兆網(wǎng)數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)
中電網(wǎng)
摘要: 本文詳細(xì)的介紹了基于Linux和FPGA的嵌入式千兆網(wǎng)數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)方法,測(cè)試結(jié)果表明傳輸速度能滿足設(shè)計(jì)指標(biāo)。由于FPGA和linux都具有很大的靈活性,會(huì)給將來(lái)系統(tǒng)的升級(jí)和變更帶來(lái)很大方便。
關(guān)鍵詞: FPGA Linux 千兆網(wǎng)
Abstract:
Key words :

引言

中國(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ù)帶寬高。

 

http://www.21ic.com/d/file/201303/bf97af93c73033968678cf92af507b5c.jpg

 

圖1 中國(guó)散裂中子源實(shí)驗(yàn)簡(jiǎn)圖

單片機(jī)或ARM具有微型化、低成本的特點(diǎn),但數(shù)據(jù)帶寬和靈活性不滿足本項(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),能較好地滿足本項(xiàng)目的需求。

1 系統(tǒng)的總體構(gòu)成及層次

本系統(tǒng)可以分為5個(gè)層次,如圖2所示,

 

http://www.21ic.com/d/file/201303/add61da41e69ba5d98f91f0e9e829306.jpg

 

最低層為外圍電路硬件層,每一層都是建立在其下一層之上。

2 系統(tǒng)外圍電路的簡(jiǎn)介

本文在硬件上采用了實(shí)驗(yàn)室自行設(shè)計(jì)的電路板,用的是帶PowerPC的xilinx Virtex4 FPGA,電路如圖3所示。

 

http://www.21ic.com/d/file/201303/2c8130013f68f7fe61a73956a450739f.jpg

 

圖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 開發(fā)工具

Xilinx 公司提供了FPGA開發(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)。

 

http://www.21ic.com/d/file/201303/4ca9c0317a28aec464db19f5e731e96d.jpg

 

圖4 FPGA內(nèi)部各個(gè)IP模塊框圖

3.3 內(nèi)存端口的設(shè)置

MPMC (Multi-Port Memory Controller)是DDR2內(nèi)存控制器的IP核,它最多可以接八個(gè)數(shù)據(jù)端口,這樣的好處是多個(gè)設(shè)備都可以通過(guò)各自的端口共享內(nèi)存,本論文使用了四個(gè)端口:port0和port1都通過(guò)plb總線連接在PowerPC上,分別用于傳輸指令和數(shù)據(jù),port2端口采用的是NPI(Native Port Interface)接口,用于接收A/D模塊傳輸過(guò)來(lái)的用戶數(shù)據(jù),port3采用SDMA (Soft Direct Memory Access)接口,通過(guò)locallink總線和千兆網(wǎng)IP核相連。在對(duì)MPMC配置時(shí)要根據(jù)內(nèi)存的型號(hào)、大小等實(shí)際參數(shù)來(lái)設(shè)置。

3.4 用戶自定義數(shù)據(jù)接口IP核

開發(fā)工具雖然提供了一些常用的IP核,但是對(duì)于一些特定要求的邏輯,需要用戶自己開發(fā)。由于從A/D采集板傳送過(guò)來(lái)的數(shù)據(jù)速度很大,所以本論文在MPMC 的port2上采用NPI接口把A/D模塊傳過(guò)來(lái)的數(shù)據(jù)直接送入DDR2中。需要用硬件描述語(yǔ)言編寫基于NPI接口的邏輯,并且還要編寫基于PLB總線的IP核來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)傳輸?shù)目刂疲鐢?shù)據(jù)傳輸開始與停止、握手方式、數(shù)據(jù)包的大小等等。

3.5 千兆三態(tài)以太網(wǎng)硬核的配置

三態(tài)以太網(wǎng)TEMAC (Tri-Mode Ethernet Media Access Controller)是嵌在FPGA內(nèi)部的硬核。本論文通過(guò)LocalLink總線使其連在內(nèi)存控制器MPMC上,采用SDMA方式,使得數(shù)據(jù)直接從內(nèi)存到網(wǎng)絡(luò)接口而不必經(jīng)過(guò)PowerPC的搬運(yùn), 這樣在很大程度上減輕了CPU的負(fù)擔(dān),提高了數(shù)據(jù)傳輸速度。

4 板級(jí)支持包的生成

4.1板級(jí)支持包工具的選擇和設(shè)置

先在http://git.xilinx.com/網(wǎng)站上下載device-tree.git,它是板級(jí)支持包(BSP)生成工具。解壓后放在EDK安裝目錄下的EDKswlibbsp,之后點(diǎn)擊Software-->

Software Platform Settings就可以發(fā)現(xiàn)并選擇它了,如圖5所示。

 

http://www.21ic.com/d/file/201303/e4f869323d76426b8f0669d250d806f0.jpg

 

圖5 板級(jí)支持包工具的選擇

在device-tree下要把 bootargs的設(shè)置成console=ttyUL0,而不是默認(rèn)的console =ttyS0,否則超級(jí)終端將沒有輸出。這是因?yàn)槲覀冊(cè)谡{(diào)試時(shí)需要RS232串口作為超級(jí)終端,用的是XPS UART Lite核,但板級(jí)支持包默認(rèn)的卻是UART16500核。

4.2 dts(device tree)文件的生成

xilinx.dts文件是板級(jí)支持包工具device tree生成的,它記錄了硬件信息。正是這個(gè)文件的存在操作系統(tǒng)才能知道本系統(tǒng)有哪些硬件及其屬性。在EDK菜單中選擇Software-->generate Libraries and BSP就會(huì)生成xilinx.dts文件。

5嵌入式Linux的移植

5.1安裝用于PowerPC的交叉編譯鏈并設(shè)置環(huán)境變量

先下載并安裝德國(guó)DENX公司提供的開發(fā)環(huán)境編譯套件ELDK4.1,用source 命令設(shè)置路徑和交叉編譯環(huán)境變量,再用export ARCH=powerpc命令使其支持PowerPC架構(gòu)。

5.2 準(zhǔn)備Linux內(nèi)核及根文件系統(tǒng)

這不是一般的Linux內(nèi)核,而是專門針對(duì)Xilinx FPGA的linux-2.6-xlnx.git。可以到git.xilinx.com網(wǎng)站下載最新版本的Linux內(nèi)核。在http://xilinx.wikidot.com/網(wǎng)上下載根文件系統(tǒng)鏡像壓縮文件ramdisk.image.gz,把ramdisk.image.gz拷貝到內(nèi)核文件夾的arch/powerpc/boot文件夾中。

5.3準(zhǔn)備 device tree文件

需要把把EDK工程中板級(jí)支持包工具生成的xilinx.dts復(fù)制到嵌入式Linux內(nèi)核文件夾arch/powerpc/boot/dts中,這樣linux才能根據(jù)這個(gè)文件給硬件設(shè)備添加相應(yīng)的驅(qū)動(dòng)。

5.4內(nèi)核的裁剪與定制

用命令make 40x/ virtex4_defconfig載入ML405開發(fā)板的內(nèi)核配置,再用make menuconfig打開內(nèi)核定制圖形界面進(jìn)行裁剪和定制,使?jié)M足自己的特定需求,需要選上TCP/IP協(xié)議。如果需要調(diào)試就要把串口驅(qū)動(dòng) xilinx uartlite serial port support選上。這樣才能使用RS2323作為超級(jí)終端。保存配置后用make zImage命令就可以生成內(nèi)核鏡像文件了。

6 測(cè)試結(jié)果與分析

在EDK中選把硬件文件燒錄到FPGA中, 把Linux鏡像文件下載到內(nèi)存中運(yùn)行,這樣一個(gè)系統(tǒng)就能運(yùn)行起來(lái)了。編寫一個(gè)基于socket的網(wǎng)絡(luò)通信程序,把FPGA作為客戶端,把PC機(jī)作為服務(wù)器端,從FPGA不斷的向PC發(fā)送基于TCP協(xié)議的數(shù)據(jù)包,來(lái)測(cè)試每次發(fā)送的數(shù)據(jù)包大小和傳輸速度之間的關(guān)系。當(dāng)發(fā)送的數(shù)據(jù)包大小為30000Byte時(shí),用tcp/ip協(xié)議傳輸?shù)乃俾适?0Mb/s,用udp協(xié)議傳輸?shù)乃俾适?35Mb/s。

在一定范圍內(nèi),每次發(fā)送的數(shù)據(jù)包越大,則網(wǎng)絡(luò)傳輸速率就越大。傳輸?shù)乃俣燃磁cpowerpc、內(nèi)存、內(nèi)部總線的頻率及位寬有關(guān)系,也與操作系統(tǒng)及應(yīng)用程序有關(guān)系。

7結(jié)束語(yǔ)

本文詳細(xì)的介紹了基于Linux和FPGA的嵌入式千兆網(wǎng)數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)方法,測(cè)試結(jié)果表明傳輸速度能滿足設(shè)計(jì)指標(biāo)。由于FPGA和linux都具有很大的靈活性,會(huì)給將來(lái)系統(tǒng)的升級(jí)和變更帶來(lái)很大方便。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧洲精品一区二区| 99国产精品久久久久久久久久| 狂野欧美一区| 欧美专区18| 午夜亚洲性色视频| 亚洲一级黄色片| 这里只有精品电影| 一区二区三区免费看| 亚洲伦理在线免费看| 亚洲国产视频一区二区| 久久精品视频在线播放| 欧美一区二区观看视频| 亚洲综合色视频| 亚洲欧美日韩在线播放| 中文国产成人精品| 一区二区三区|亚洲午夜| 日韩视频免费| 一区二区三区欧美在线| 一区二区激情| 一区二区三区欧美成人| 亚洲一区二区三区在线| 亚洲欧美日韩高清| 先锋影音久久久| 午夜精品视频| 欧美一区二区三区日韩视频| 欧美一区二区三区成人| 久久精品国产亚洲一区二区| 亚洲二区在线| 亚洲三级性片| 一区二区三区四区在线| 亚洲在线观看免费| 亚洲欧美日韩一区在线| 午夜精品一区二区三区四区 | 午夜影院日韩| 欧美在线视频观看| 久久亚洲一区二区| 欧美乱妇高清无乱码| 欧美视频一区二区三区…| 欧美图区在线视频| 国产亚洲a∨片在线观看| 在线电影欧美日韩一区二区私密| 亚洲激情黄色| 一本久久a久久精品亚洲| 亚洲欧美精品在线观看| 亚洲国产高清一区二区三区| 一本色道综合亚洲| 午夜精品影院在线观看| 久久一区二区三区四区| 欧美精品少妇一区二区三区| 国产精品三级久久久久久电影| 国产综合色产| 日韩一二三区视频| 欧美一区二区成人| 日韩一级黄色片| 亚洲欧美日韩精品在线| 久久视频免费观看| 欧美另类高清视频在线| 国产精品专区h在线观看| 在线成人www免费观看视频| 99精品欧美一区| 久久国产欧美日韩精品| 一本大道久久a久久综合婷婷 | 一区二区免费在线观看| 久久精品av麻豆的观看方式| 一本色道久久综合精品竹菊| 久久精品国产一区二区电影| 欧美日韩国产精品一区| 国产一区二区三区丝袜 | 日韩一区二区电影网| 欧美一区综合| 亚洲制服av| 欧美丰满高潮xxxx喷水动漫| 国产精品三级视频| 亚洲精品日韩久久| 久久精品女人天堂| 亚洲欧美色一区| 欧美福利视频在线观看| 国产日韩亚洲| 999在线观看精品免费不卡网站| 欧美中文字幕视频在线观看| 亚洲视频精选在线| 免费成人黄色| 国产日本精品| 在线视频亚洲一区| 日韩亚洲欧美在线观看| 久久久久久久久久久成人| 欧美日精品一区视频| 在线观看不卡| 欧美一区二粉嫩精品国产一线天| 亚洲视频在线视频| 欧美激情a∨在线视频播放| 国产视频观看一区| 在线一区二区三区四区五区| 亚洲精品在线视频观看| 久久久久久久久蜜桃| 国产精品成人免费精品自在线观看| 亚洲国产综合视频在线观看| 亚洲大胆视频| 久久激情视频久久| 国产精品久久久久免费a∨大胸| 亚洲看片一区| 亚洲精选在线观看| 免费精品99久久国产综合精品| 国产亚洲精品久久久久婷婷瑜伽| 亚洲视频在线二区| 在线亚洲精品| 欧美日本亚洲| 亚洲日韩成人| 日韩五码在线| 欧美激情国产日韩| 亚洲电影免费在线| 亚洲高清在线精品| 开心色5月久久精品| 国产一区自拍视频| 欧美中文字幕精品| 久久久久99| 狠狠色狠狠色综合日日91app| 香蕉视频成人在线观看 | 久久久国产精品一区二区中文| 国产精品一区亚洲| 亚洲欧美日韩一区二区| 欧美一级成年大片在线观看| 国产精品日韩欧美大师| 亚洲图片在线| 午夜免费电影一区在线观看| 国产精品国产三级国产| 夜夜嗨av色一区二区不卡| 亚洲小说欧美另类社区| 国产精品大全| 亚洲欧美国产毛片在线| 久久国产乱子精品免费女| 国产亚洲欧洲997久久综合| 欧美自拍偷拍| 免费在线播放第一区高清av| 亚洲国产精品t66y| 亚洲狼人精品一区二区三区| 欧美精品久久99久久在免费线| 亚洲人体1000| 亚洲伊人第一页| 国产精品一区毛片| 欧美在线地址| 欧美成人一区二区三区在线观看 | 亚洲人成免费| 欧美日韩福利视频| 一区二区三区四区五区精品| 篠田优中文在线播放第一区| 国产一区 二区 三区一级| 久久精品国产亚洲一区二区| 美日韩丰满少妇在线观看| 亚洲精品视频一区二区三区| 亚洲一级在线| 国产亚洲精品成人av久久ww| 亚洲国产一区二区三区高清| 欧美精品xxxxbbbb| 亚洲素人一区二区| 久久久.com| 亚洲人成网站精品片在线观看 | 韩国v欧美v日本v亚洲v| 91久久综合亚洲鲁鲁五月天| 欧美日本在线播放| 亚洲免费在线电影| 另类酷文…触手系列精品集v1小说| 亚洲国产视频直播| 亚洲欧美激情四射在线日| 国产一区二区三区网站| 亚洲精品少妇| 国产精品美女视频网站| 欧美一区视频| 欧美精品在线播放| 亚洲欧美美女| 欧美成年人视频网站| 一区二区三区高清视频在线观看| 久久久久99| 日韩一区二区高清| 久久久久高清| 9色porny自拍视频一区二区| 久久久青草青青国产亚洲免观| 亚洲精品视频免费观看| 久久国产精品电影| 亚洲精品中文字幕女同| 久久精品亚洲乱码伦伦中文| 亚洲美女毛片| 久久精品综合| 99精品国产99久久久久久福利| 久久久噜久噜久久综合| 一区二区欧美在线观看| 久久一二三区| 亚洲性av在线| 欧美精品偷拍| 久久激情五月丁香伊人| 国产精品国产一区二区| 亚洲精品视频在线观看免费| 国产欧美日韩三级| 亚洲午夜国产成人av电影男同| 伊人伊人伊人久久| 欧美一区免费视频| 夜夜夜精品看看| 欧美电影美腿模特1979在线看| 欧美一区二视频| 国产精品麻豆va在线播放|