張孟新
摘要:目前,基于以太網(wǎng)的組網(wǎng)技術(shù)在工業(yè)市場(chǎng)的發(fā)展中處于舉足輕重的位置。因此可以基于IEEE 802.3標(biāo)準(zhǔn)的以太網(wǎng)協(xié)議進(jìn)行以太網(wǎng)的數(shù)據(jù)傳輸方式傳輸標(biāo)準(zhǔn)的網(wǎng)絡(luò)業(yè)務(wù)和實(shí)時(shí)數(shù)據(jù)。而基于FPGA高性價(jià)比、可隨時(shí)進(jìn)行處理器配置的特點(diǎn),本文通過FPGA的NIOSII核實(shí)現(xiàn)嵌入式TCP/IP協(xié)議以及以太網(wǎng)MAC協(xié)議,并提供標(biāo)準(zhǔn)GMII接口,通過外接PHY實(shí)現(xiàn)網(wǎng)絡(luò)連接。
關(guān)鍵詞:FPGANIOS П;TCP/IP協(xié)議;以太網(wǎng)MAC
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)07-0069-02
1概述
在Altera FPGA處理器上進(jìn)行的解決方案和硬件配置的同時(shí),軟件設(shè)計(jì)工具也能夠提供工程師設(shè)計(jì)并集成所需要的一切功能。NiosП軟核處理器可以進(jìn)行以太網(wǎng)堆棧驅(qū)動(dòng)程序的編寫與集成以及實(shí)現(xiàn)其他功能。還可以在需要的情況下繼續(xù)配置第二個(gè)處理器進(jìn)行搭配工作,這樣就可以支持更多開發(fā)應(yīng)用層上面的軟件。這種方案可以提供了在單—硬件上面就能很容易滿足需求的變化。不必花費(fèi)大量開發(fā)時(shí)間與開發(fā)費(fèi)用來實(shí)現(xiàn)當(dāng)以太網(wǎng)協(xié)議導(dǎo)入軟件堆棧后,在處理器上運(yùn)行加載,而是利用現(xiàn)成的編程與編譯工具和軟件進(jìn)行堆棧的處理,幾乎可以支持所有的以太網(wǎng)標(biāo)準(zhǔn)協(xié)議。而且,僅在FPGA的硬件平臺(tái)上改動(dòng)設(shè)計(jì)時(shí)或者進(jìn)行協(xié)議升級(jí)時(shí),就不需要進(jìn)行對(duì)每—新協(xié)議設(shè)計(jì)新的PCB板了。一塊PCB板能夠集成并支持多種工業(yè)以太網(wǎng)的協(xié)議,從而不但減輕了企業(yè)在開發(fā)時(shí)期投入的研發(fā)經(jīng)費(fèi)了,而且降低了持久擁有成本。NIOS II中實(shí)現(xiàn)的工業(yè)以太網(wǎng)協(xié)議能夠在不同的協(xié)議標(biāo)準(zhǔn)的設(shè)計(jì)中與FPGA其他系列的器件之間進(jìn)行移植,所以可以在下一代產(chǎn)品更新使用相同的IP。
2系統(tǒng)實(shí)現(xiàn)方案
在本文提到的設(shè)計(jì)中,NiosП軟核處理器不僅可以支持工業(yè)以太網(wǎng)控制器的網(wǎng)絡(luò)協(xié)議的配置和管理,還能運(yùn)行應(yīng)用層上面的數(shù)據(jù)報(bào)協(xié)議(UDP)棧、提供高效精確的時(shí)序同步功能,并支持傳輸層上的雙路10/100 PHY收發(fā)器的PHY管理和線路診斷功能。Clycone IV的NIOSП軟核處理器還可實(shí)現(xiàn)高層組網(wǎng)功能,終結(jié)TCP/IP鏈接。生成樹協(xié)議(STP)和快速生成樹協(xié)議(RSTP)是數(shù)據(jù)鏈路層上的管理協(xié)議,它們支持路徑冗余檢測(cè)和避免數(shù)據(jù)沖突,可防止網(wǎng)絡(luò)內(nèi)出現(xiàn)不需要的環(huán)路(要使工業(yè)以太網(wǎng)絡(luò)正常工作,兩個(gè)節(jié)點(diǎn)間只能有一條有效路徑)。下圖1為包括軟件和硬件在內(nèi)的工業(yè)以太網(wǎng)框圖。
3硬件設(shè)計(jì)
在硬件層面MAC(以太網(wǎng)的接入控制層)上主要作用是完成數(shù)據(jù)幀的編碼與解碼、數(shù)據(jù)幀的傳輸以及介質(zhì)的接入控制,以太網(wǎng)的介入控制層一般由收發(fā)模塊、收發(fā)緩存、MAC寄存器等部分構(gòu)成。CycloneⅣ器件是Altera公司推出具有功耗低,高密度,性能強(qiáng)的特點(diǎn)的高新處理器;是一款支持用戶自定義功能,支持NIOSⅡ系列處理器的低成本的FPGA芯片,芯片提供了大量高密度可現(xiàn)場(chǎng)編程的邏輯單元,滿足工業(yè)儀器的小型化、集成化需求。本設(shè)計(jì)使用Cyclone IV系列FPGA替代傳統(tǒng)的ASIC芯片,實(shí)現(xiàn)千兆以太網(wǎng)M A C功能,設(shè)計(jì)中調(diào)用了Triple Speed Ethernet MegaCore實(shí)現(xiàn)MAC模塊的NIOSⅡ設(shè)計(jì)。選擇10/100/1000 Mb Ethernet MAC和M Ⅱ/GMII接口方式配置實(shí)現(xiàn)MAC模塊電路。MAC模塊必須通過介質(zhì)獨(dú)立接口(MII/GMII)與物理層芯片進(jìn)行數(shù)據(jù)傳輸與通信。88E1111可工作在10Mb/s,100Mb/s,1000Mb/s下,在設(shè)計(jì)的時(shí)候采用了4位數(shù)據(jù)端口,因此只能采用MII模式(100Mb/s),或者RGMII模式(1000Mb/s),參考官方的DATASHEET后,進(jìn)行對(duì)RGMII編程與開發(fā),然后將88E1111的配置寄存器里面的數(shù)據(jù)用NIOS Ⅱ讀出來,這樣就獲得了正確的配置數(shù)據(jù),然后就將配置數(shù)據(jù)用于NIOSⅡ配置給芯片就可以實(shí)現(xiàn)工業(yè)以太網(wǎng)的通信。RGMⅡ原理圖連接如下圖2所示。
4軟件部分
軟件部分的主要任務(wù)是實(shí)現(xiàn)網(wǎng)絡(luò)底層設(shè)備的驅(qū)動(dòng)、Nichestack TCP/IP協(xié)議移植和應(yīng)用程序的開發(fā)。Altera公司直接官方提供了HAL系統(tǒng)庫,這是一個(gè)底層的運(yùn)行環(huán)境,提供了訪問Nios П CPU常用的設(shè)備驅(qū)動(dòng)程序和組成以太網(wǎng)所需要的組成配置單元,并且NicheStaekt TCP/IP協(xié)議的移植也可在IDE工具上定制軟核時(shí)直接配置實(shí)現(xiàn)。因此,軟件部分的開發(fā)的大部分工作是建于應(yīng)用程序的編寫上。應(yīng)用程序的功能主要是在實(shí)現(xiàn)Niche Stackt TCP/IP網(wǎng)絡(luò)協(xié)議移植的基礎(chǔ)上,實(shí)現(xiàn)初始化系統(tǒng)程序的編譯,傳輸控制數(shù)據(jù)的發(fā)送與接收模塊的驅(qū)動(dòng)與時(shí)序邏輯的實(shí)現(xiàn)。軟件結(jié)構(gòu)體系如圖3所示。
5測(cè)試與小結(jié)
將工業(yè)接口系統(tǒng)接入到計(jì)算機(jī)網(wǎng)絡(luò)的局域網(wǎng)進(jìn)行調(diào)試,將各模塊進(jìn)行初始化設(shè)置,設(shè)置好網(wǎng)絡(luò)參數(shù),設(shè)置接口IP為192.168.132,在另一主機(jī)上通過PING命令檢測(cè)網(wǎng)絡(luò)的IP層聯(lián)通性,測(cè)試結(jié)果為IP層連通,說明接口底層硬件驅(qū)動(dòng)電路和植入到軟核里面的TCP/IP協(xié)議的實(shí)現(xiàn)成功。本文基于Cyclone IV系列的FPGA設(shè)計(jì)實(shí)現(xiàn)了工業(yè)以太網(wǎng)接口,利用Qsys和NiosП IDE開發(fā)工具,在FPGA處理器嵌入了以太網(wǎng)接口系統(tǒng)的MAC模塊,并且成功在軟核中植入Nichestack TCP/IP網(wǎng)絡(luò)傳輸協(xié)議,把MAC模塊與物理層工業(yè)以太網(wǎng)收發(fā)芯片88E1111相連接構(gòu)成千兆工業(yè)以太網(wǎng)傳輸接口,實(shí)現(xiàn)了工業(yè)以太網(wǎng)控制器的功能。利用較一般控制器少的硬件資源,實(shí)現(xiàn)了基于FPGA的NIOSⅡ的工業(yè)以太網(wǎng)接口的設(shè)計(jì),滿足在工業(yè)工廠生產(chǎn)中,實(shí)現(xiàn)網(wǎng)絡(luò)化,儀器設(shè)備輕巧化,和器件電路集成化等應(yīng)用需求,并且采用該技術(shù)設(shè)計(jì)的工業(yè)以太網(wǎng)接口具有很好的優(yōu)越性能和可擴(kuò)展性,可以直接對(duì)現(xiàn)有可利用的硬件資源進(jìn)行升級(jí)實(shí)現(xiàn)集成更多功能。