當(dāng)前位置:首頁 > 工業(yè)控制 > 電子設(shè)計自動化

  當(dāng)前,SoC向著面積更小、速度更高的方向發(fā)展,百兆網(wǎng)通信已不能滿足人們的生產(chǎn)和工作需要,用千兆網(wǎng)通信成為工作中迫切的要求。用FPGA實現(xiàn)千兆網(wǎng)的通信,有二種模式可以選擇:其一,編寫一個IP軟核;其二,用FPGA內(nèi)嵌的MAC內(nèi)核。方法一的靈活性大,但要實現(xiàn)并不容易,因此,賽靈公司將其歸為收費IP;方法二中,MAC的三態(tài)可配置特性為實現(xiàn)千兆網(wǎng)通信提供了可能。本設(shè)計就是基于此內(nèi)嵌的Ethernet MAC模塊,在Vx-Works操作系統(tǒng)下成功實現(xiàn)了千兆網(wǎng)的通信。

  1 Virtex4 FX系列FPGA中內(nèi)嵌的千兆通信硬核架構(gòu)

  Virtex4 FX系列FPGA中內(nèi)嵌了多個用于千兆通信的硬核。以XC4VFX20為例,如圖1所示,它通過一個主機接口連接了2個EMAC核。2個EMAC可以一起使用,也可以只使用其中的一個。

  Virtex4中嵌入的Ethernet MAC硬核主要特點:

  ◆支持半雙工和(或)全雙工操作;

  ◆設(shè)計符合IEEE 802.3-2002標(biāo)準(zhǔn);

  ◆支持3種操作模式:1 Gb/s、100 Mb/s、10 Mb/s;

  ◆支持MII、GMII、RGMII、SGMII通信方式;

  ◆為不限長度的VLAN幀和JUMBO幀提供技術(shù)支持;

  ◆提供了可選的網(wǎng)絡(luò)管理特性,包括基于每個分組的統(tǒng)計數(shù)據(jù)矢量和流程控制。

  通過一個與處理器無關(guān)的接口,可以對TEMAC核進行配置和監(jiān)控,其為用戶選擇適合其應(yīng)用的理想處理器提供了附加的靈活性。

  在1 Gb模式下,TEMAC支持千兆位級媒體獨立接口(GMII)和降低千兆位級媒體獨立接口(RGMII)。GMII是一個運行頻率為125 MHz的字節(jié)寬并行SDR接口,而RGMII是一個運行頻率為25 MHz的半位元組并行DDR接口,可以提供的總帶寬為1 Gb/s。而且,在100 Mb/s和10 Mb/s模式下,TEMAC均支持MII接口。MII接口是4位寬,在100 Mb/s模式下其工作頻率為25 MHz。在10 Mb/s模式下,MII接口的工作頻率為2.5 MHz。

  由于Virtex4中嵌入了Ethernet MAC硬核,同時,F(xiàn)X系列還嵌入了PowerPC,這樣,就可以用PowerPC控制Ethernet MAC實現(xiàn)千兆網(wǎng)的通信。

  2 VxWorks下BSP的移植

  VxWorks 操作系統(tǒng)是美國WindRiver公司于1983年設(shè)計開發(fā)的一種嵌入式實時操作系統(tǒng)(RTOS)。它采用微內(nèi)核的結(jié)構(gòu),具有支持多種處理器、豐富的網(wǎng)絡(luò)協(xié)議、良好的兼容性和裁剪性等特點,同時具有程序動態(tài)鏈接和下載的功能。自從20世紀(jì)80年代問世以來,以其不斷推出的升級版本、高性能內(nèi)核以及友好的用戶開發(fā)環(huán)境,在嵌入式實時操作系統(tǒng)領(lǐng)域逐漸占據(jù)一席之地,尤其以成功應(yīng)用于火星探測車和愛國者導(dǎo)彈等高科技產(chǎn)品而聞名。VxWorks的板級支持包BSP (Board Support Package)是介于底層硬件和上層軟件之間的底層軟件開發(fā)包,主要功能是屏蔽硬件,提供操作系統(tǒng)的驅(qū)動。具體功能包括:

  ◆單板硬件初始化,主要是CPU的初始化,為整個軟件系統(tǒng)提供底層硬件支持;

  ◆為操作系統(tǒng)提供設(shè)備驅(qū)動和系統(tǒng)中斷服務(wù)程序;

  ◆定制操作系統(tǒng)的功能,為軟件系統(tǒng)提供一個實時多任務(wù)的運行環(huán)境;

  ◆初始化操作系統(tǒng),為操作系統(tǒng)的正常運行做準(zhǔn)備。

  在嵌入式系統(tǒng)設(shè)計中,BSP的開發(fā)是一項非常復(fù)雜而繁瑣的工作,Xilinx公司提供的EDK套件,可以在很大程度上減輕開發(fā)者的工作負(fù)擔(dān)。EDK中的 BSP生成器(BSPgen)可以根據(jù)不同的微處理器、外設(shè)和RTOS組合自動產(chǎn)生用戶可裁剪的BSP。它包含了系統(tǒng)所必需的支持軟件,包括Boot代碼、設(shè)備驅(qū)動和RTOS的初始化。利用BSPgen可以把Xilinx器件驅(qū)動打包到BSP的子目錄下,并且把Xilinx器件驅(qū)動與VxWorks及其 Tornado集成開發(fā)環(huán)境無縫集成,充分縮短開發(fā)周期。

  但是,BSPgen生成的BSP只是一個固定的BSP模板,并不能正確地反映RAM/ROM的存儲器映射,不支持用戶通過BSPgen流程自定義的核/驅(qū)動等。因此還需要對BSPgen產(chǎn)生的BSP進行修改。

  對BSP開發(fā)人員來講,借助EDK的BSPgen,還必須要做以下幾項工作:

  ①修改config.h和Makefile中的RAM、ROM地址及串口速率;

 ?、谛薷膕ysSerial.c,對串口進行正確的設(shè)置;

 ?、墼黾硬荒芘cVxWorks無縫集成的器件的驅(qū)動文件,關(guān)鍵性中斷、GPIO接口等;

 ?、芘渲胹ysNet.c中的以太網(wǎng)參數(shù),設(shè)置MAC地址;

  ⑤根據(jù)EDK中的配置,禁止或使能Cache;

 ?、扌薷膕ysL ib.c,以顯示正確的信息;

  ⑦設(shè)置主機IP地址。

  經(jīng)過以上修改之后,將新的BSP放在Tornado的安裝目錄Tornado_root\target\config下。根據(jù)這個BSP,在Tornado集成環(huán)境下生成一個新的VxWorks工程,然后就可以進行一般的嵌入式操作系統(tǒng)開發(fā)了。

  EDK中RAM和ROM的地址映射如表1所列。

  若為表1所列的工程,則在config.h和Makfile文件中要進行如下修改:

  sysNet.c中通過以下語句定義了網(wǎng)絡(luò)的MAC地址,必須根據(jù)真實的MAC地址進行修改,如本文的MAC地址:00:0A:35:01:88:25

  sysSerial.c對串口進行初始化,因為要正確地指定串口ID,sysLib.c中可以顯示VxWorks鏡像的信息,因此也要進行相應(yīng)的修改,如將

  通過對EDK下牛成的BSP的修改,并在Tornado集成環(huán)境下生成正確的VxWorks鏡像后,可以將其下載到FPGA中。觀察串口的輸出是否正確,可以進行相應(yīng)的調(diào)試工作,以確定BSP的移植是正確的。

  3 UDP服務(wù)器/客戶端程序

  對VxWorks BSP進行正確的配置和修改后,在useAppInit.c中書寫自己的UDP服務(wù)器端程序。本設(shè)計用基于socket的UDP通信。

  網(wǎng)絡(luò)通信一般可通過socket實現(xiàn)。socket編程均采用客戶機/服務(wù)器模式,VxWorks提供了標(biāo)準(zhǔn)的BSDsocket調(diào)用,支持UDP協(xié)議。UDP協(xié)議即數(shù)據(jù)傳輸協(xié)議,它允許創(chuàng)建和維護與遠(yuǎn)程計算機的連接,使其彼此可以進行數(shù)據(jù)傳輸。通信過程如圖2所示。

  服務(wù)器首先調(diào)用socket()建立一個套接字socket,然后調(diào)用bind()將套接字與一個本地網(wǎng)絡(luò)地址(IP地址和端口號)捆綁在一起,以保證客戶端正確識別。接著服務(wù)器再調(diào)用listen()使套接字處于被動的準(zhǔn)備接收狀態(tài),同時規(guī)定它的請求隊列長度,隨后調(diào)用accept()來接收客戶連接。服務(wù)器進程隨即進入阻塞狀態(tài)。客戶與服務(wù)器的關(guān)系是不對稱的。服務(wù)器先啟動。然后在某時刻客戶主動發(fā)出請求,服務(wù)器被動應(yīng)答。

  客戶端程序首先調(diào)用socket(),這個函數(shù)產(chǎn)生用于與各分系統(tǒng)連接的套接口,并為每個套接口返回一個ID號。然后初始化一個套接口結(jié)構(gòu)體,為其賦上該 ID號以及服務(wù)端的IP地址和端口號,并將其作為函數(shù)connect()的參數(shù).調(diào)用connect()函數(shù)主動去連接服務(wù)端。

  當(dāng)服務(wù)端與客戶端建立連接之后,就可以發(fā)送(write)和接收(read)數(shù)據(jù)。部分代碼如下:

  客戶端應(yīng)用程序在Windows下用VC實現(xiàn),代碼略。

  4 實驗結(jié)果

  結(jié)合工程實際開發(fā)的順序,分2步對VxWorks下千兆網(wǎng)通信進行測試:

  第1步,在usrAppInit.c中打印hello the world,若出現(xiàn)圖3所示窗口,則證明VxWorks內(nèi)核已正確加載,以及BSP移植的正確性。程序跑到用戶編寫的usrAppInit.c。

  第2步,對編寫的UDP服務(wù)器/客戶端進行測試,結(jié)果如表2所列。

  5 結(jié) 論

  由于FPGA中嵌入了PowerPC處理器及用于千兆網(wǎng)通信的Ethernet MAC,這樣,為利用FPGA實現(xiàn)高速網(wǎng)絡(luò)通信奠定了基礎(chǔ)。本文在VxWorks操作系統(tǒng)下實現(xiàn)了UDP的千兆網(wǎng)通信,實測速度達(dá)到294.68 Mb/s,吞吐量達(dá)到近30%。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉