国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的100BASE-TX工業(yè)以太網中繼器的設計與實現(xiàn)

2011-03-28 01:52周學勛
電子設計工程 2011年16期
關鍵詞:雙口中繼器狀態(tài)機

周學勛

(南車時代電氣技術中心,湖南株洲412001)

以太網中繼器是連接網絡線路的一種裝置,常用于兩個網絡節(jié)點之間物理信號的雙向轉發(fā)工作。由于存在損耗,在線路上傳輸?shù)男盘柟β蕰饾u衰減,衰減到一定程度時將造成信號失真,因此會導致接收錯誤,中繼器就是為解決這一問題而設計的。中繼器是最簡單的網絡互聯(lián)設備,負責在兩個節(jié)點的物理層上傳遞信息,完成信號的復制、調整和放大功能,以此來延長網絡的長度。

1 系統(tǒng)架構

以太網中繼器采用專用以太網物理層PHY芯片來實現(xiàn)以太網接口部分,控制部分采用FPGA來實現(xiàn),PHY芯片和FPGA采用MII接口相連接,其系統(tǒng)功能框圖如圖1所示。

圖1 系統(tǒng)功能框圖Fig.1 Block diagram of system function

以太網中繼器用來對以太網物理層的信號進行雙向轉發(fā)。如圖1所示,當以太網接口1接收到數(shù)據(jù)時,模擬數(shù)據(jù)信號由雙絞線從以太網接口1的M12連接器進入隔離變壓器,經過變壓器的隔離后進入PHY芯片,濾波,整形,4B/5B解碼,從MII(Media Independent Interface)變?yōu)?位數(shù)據(jù)并行輸出,進入FPGA。FPGA進行以太網MAC幀的檢測與再生后以4位并行數(shù)據(jù)輸出到以太網接口2的PHY芯片的MII接口,并行數(shù)據(jù)經過PHY芯片的4B/5B編碼,轉化為MLT3[1](多電平傳輸)格式模擬信號,預整形,發(fā)送到隔離變壓器,信號經變壓器隔離后,輸出到M12連接器。當來自以太網接口2接收到數(shù)據(jù)時,模擬數(shù)據(jù)信號由雙絞線從以太網接口2的M12連接器進入隔離變壓器,經過變壓器的隔離后進入PHY芯片,濾波,整形,4B/5B解碼,從MII(Media Independent Interface)變?yōu)?位數(shù)據(jù)并行輸出,并行信號進入FPGA。FPGA進行以太網MAC幀的檢測與再生后以4位并行數(shù)據(jù)輸出到以太網接口1的PHY芯片的MII接口,并行數(shù)據(jù)經過PHY芯片的4B/5B編碼,轉化為MLT3(多電平傳輸)格式模擬信號,預整形,發(fā)送到隔離變壓器,信號經隔離變壓器,到M12連接器。由于所設計的中繼器設置為100 M全雙工方式,所以對于PHY芯片來說,雙向數(shù)據(jù)轉發(fā)過程相互獨立,互不影響。

2 邏輯實現(xiàn)

IEEE802.3標準[2]規(guī)定一個完整的MAC幀包括7字節(jié)的同步碼(10101010)、一個字節(jié)的幀起始標志符(10101011)、6個字節(jié)的目的地址、6個字節(jié)的源地址、2個字節(jié)的數(shù)據(jù)長度、46~1500字節(jié)的數(shù)據(jù)和4字節(jié)的校驗碼等字段組成。完整的以太網幀如圖2所示。

圖2 IEEE 802.3以太網幀格式Fig.2 Ethernet frame format based on IEEE 802.3

MII接口主要包括4個部分[3]:一個是從MAC層到PHY的發(fā)送數(shù)據(jù)接口;二是從MAC層到PHY層的接收數(shù)據(jù)接口;三是從物理層到MAC層的狀態(tài)指示信號;四是MAC層和物理層之間傳送控制和狀態(tài)信息的MDIO接口,在本中繼器的設計中,MDIO接口無需使用。PHY芯片端的各信號定義如表1所示(對于FPGA一端,信號定義相同,方向相反)。

表1 信號定義Tab.1 Signal definition

IEEE802.3標準允許PHY芯片在接收以太網幀時,丟失一部分同步碼,因此FPGA必須將來自某一個以太網接口PHY芯片MII接口的以太網幀進行幀同步碼和幀起始標志符的檢測與恢復再生,并將再生的幀同步碼和幀起始標志符以及數(shù)據(jù)實時轉發(fā)給另外一個端口。由于中繼器是雙向數(shù)據(jù)轉發(fā),因此在FPGA內部設計了兩套完全相同的子模塊,分別用于各自方向的轉發(fā)。FPGA實現(xiàn)這一功能的功能框圖如圖3所示。

2.1 同步檢測模塊

同步檢測模塊負責對來自PHY芯片MII接口的RXD[3:0]數(shù)據(jù)進行同步信息的提取和幀起始標志符(SFD)的識別,并將幀起始標志符之后的有效數(shù)據(jù)暫存到雙口RAM中。由于中繼器只是物理層的設備,因此無需對所接收到的數(shù)據(jù)進行CRC校驗,所以在設計同步檢測模塊時,將圖2所示的以太網幀目的地址字段及該字段以后的所有字段都認為是有效數(shù)據(jù)。

圖3 FPGA功能框圖Fig.3 Function block diagram of FPGA

同步檢測模塊狀態(tài)轉換圖如圖4所示:

1)當中繼器上電開始工作,狀態(tài)機初始化為IDLE狀態(tài)。

2)當來自某一以太網接口PHY芯片的MII接口信號RXDV信號有效時,表示需要接收以太網幀,狀態(tài)機轉換到檢測以太網幀同步碼及起始標志符狀態(tài)。當檢測到非“1010”或“1011”時,返回到IDLE狀態(tài),放棄當前幀傳輸,等待下一幀。

3)當檢測到以太網幀同步碼及起始標志符后,進入幀有效數(shù)據(jù)存儲狀態(tài),將幀有效數(shù)據(jù)存儲到FPGA內部雙口RAM中。

4)當檢測到RXDV信號無效后,表示幀數(shù)據(jù)已經接收完畢,狀態(tài)機跳轉到IDLE狀態(tài),等待接收下一幀數(shù)據(jù)。

2.2 同步再生模塊

同步再生模塊負責提取雙口RAM中的有效數(shù)據(jù),并在有效數(shù)據(jù)前添上新的幀同步碼和起始標志符,增加新的同步信息。

同步再生模塊狀態(tài)轉換圖如圖5所示。

1)當中繼器上電工作后,狀態(tài)機初始化為IDLE狀態(tài)。

2)當接收狀態(tài)機檢測到幀起始標志符“10101011”后,就置TXEN信號有效,發(fā)送狀態(tài)機轉換到發(fā)送以太網幀同步碼“10101010”狀態(tài)及發(fā)送以太網幀起始標志符“10101011”狀態(tài)。

3)當發(fā)送完以太網幀起始標志符“10101011”后,轉換到發(fā)送有效數(shù)據(jù)狀態(tài)。讀取雙口RAM中的數(shù)據(jù),并同步發(fā)送。

圖5 發(fā)送狀態(tài)機Fig.5 Send state machine

4)當發(fā)送完有效數(shù)據(jù)后,置TXEN信號無效。狀態(tài)機跳轉到IDLE狀態(tài),等待下一幀的發(fā)送。

2.3 雙口RAM模塊

雙口RAM模塊負責暫存幀有效數(shù)據(jù)及數(shù)據(jù)交互。在FPGA從某一以太網端口接收數(shù)據(jù)時,在控制模塊的控制下將接收到的數(shù)據(jù)存儲到雙口RAM中,當發(fā)送使能信號TXEN有效時,由控制模塊將雙口RAM中的數(shù)據(jù)讀出,從輸出端口輸出。雙口RAM采用調用Xilinx成熟的IP核來實現(xiàn),它具有2套可讀可寫的RAM(A和B),RAMA與接收端的數(shù)據(jù)及控制信號相連,RAMB與發(fā)送端的數(shù)據(jù)及控制信號相連,RAM只做數(shù)據(jù)的輸入,RAMB只做數(shù)據(jù)的輸出。由于以太網最大幀長度為1 518個字節(jié),所以必須將雙口RAM的地址深度須設為3 k,以保證有足夠的容量來緩存一幀以太網數(shù)據(jù);而PHY芯片MII接口的數(shù)據(jù)信號為4 bit的并行數(shù)據(jù),因此雙口RAM的數(shù)據(jù)線寬度設為4 bit。因為中繼器的數(shù)據(jù)傳輸是雙向的,所以在FPGA里面設置兩個相同的雙口RAM,使兩個方向相互獨立,各自存儲自己所負責方向的幀有效數(shù)據(jù)。

2.4 控制模塊

控制模塊用于控制同步檢測模塊和同步再生模塊的工作,產生滿足PHY芯片的相應時序,并控制雙口RAM的讀寫時序,是整個中繼模塊FPGA程序的核心。當同步檢測模塊檢測到幀起始標志符后,向控制模塊發(fā)出一個preamble_en信號,報告已經檢測到幀起始分解符,控制模塊收到該信號后,啟動雙口RAM的寫控制,將同步檢測模塊接收到的4位并行數(shù)據(jù)存儲到雙口RAM中,同時置發(fā)送信號TXEN有效,通知同步再生模塊啟動發(fā)送數(shù)據(jù)過程,同步再生模塊收到TXEN信號后,開始生成幀同步碼和幀起始標志符并發(fā)送,幀起始標志符發(fā)送完畢后,通知控制模塊啟動雙口RAM的讀控制,將雙口RAM中的有效數(shù)據(jù)讀出并緊隨著幀起始標志符發(fā)送出去。在整個數(shù)據(jù)通信過程中,控制模塊檢測各種出錯指示信號,一旦接收或發(fā)送出錯信號有效,則立即停止當前數(shù)據(jù)的傳輸,等待下一幀數(shù)據(jù)的傳輸。

3 功能驗證

為了驗證所設計的以太網中繼器的性能,按照RFC2544標準[4]對其進行性能測試。主要測試其延時性能。而RFC1242標準[5]中對延時定義如下:對于存儲轉發(fā)設備來說,當輸入幀的最后一位到達輸入端口時,時間間隔開始計算,當輸出幀的第一位在輸出端口上可見時,時間間隔計算結束;對于按位轉發(fā)設備來說,當輸入幀的第一位到達輸入端口時,時間間隔開始計算,當輸出幀的第一位在輸出端口上可見時,時間間隔計算結束。中繼器屬于按位轉發(fā)設備,因此測量時,需選取LILO方式。使用專業(yè)的網絡測試儀,對中繼器進行測試,測得的時延指標如表2所示。

表2 測試結果Tab.2 Test results

從表2的測試結果來看,中繼模塊的平均時延穩(wěn)定在1.04 μs,不隨幀長度大小和流量大小改變而改變。

4 結束語

本文通過對以太網物理層通信過程進行分析,設計了一種基于FPGA的工業(yè)以太網中繼器,給出了中繼器的總體設計方案,并詳細介紹了FPGA的算法及實現(xiàn)過程,最后通過專業(yè)的以太網測試儀對所設計的以太網中繼器進行測試,驗證了該中繼器的性能,滿足設計要求。

[1] 馮永茂,徐秀知,陳宇,等.基于快速以太網物理層的實時高速數(shù)字視頻傳輸[J].電子器件,2007,30(1):144-147,151.FENG Yong-mao,XU Xiu-zhi,CHEN Yu,et al.Real time high speed digital video transmission with fast ethernet PHYs[J].Chinese Journal of Electron Devices,2007,30(1):144-147,151.

[2] LAN/MAN Standards Committee,IEEE Std 802.3.Carrier sense multiple access with collision detection(CSMA/CD)access method and physical layer specifications[S].New,2005.

[3] 許俊,林水生.基于FPGA的以太網MII接口擴展設計與實現(xiàn)[J].電子設計應用,2005(5):110-113.XU Jun,LIN Shui-sheng.Implementation of Ethernet MII based on FPGA[J].Electronic Design and Application World,2005(5):110-113.

[4] The Internet Society,RFC2544.Benchmarking methodology fornetwork interconnect devices[S].1999.

[5] The Internet Society,RFC1242.Benchmarking terminology for network interconnection devices[S].1991.

[6] 王廷堯.以太網技術與應用[M].北京:人民郵電出版社,2005.

猜你喜歡
雙口中繼器狀態(tài)機
基于有限狀態(tài)機的交會對接飛行任務規(guī)劃方法
雙口RAM在航天伺服系統(tǒng)中的應用
我國科學家率先實現(xiàn)全光量子中繼
Matching mechanism analysis on an adaptive cycle engine
雙口RAM讀寫正確性自動測試的有限狀態(tài)機控制器設計方法
雙口RAM在無人機三余度飛控計算機數(shù)據(jù)交換中的應用
基于光伏發(fā)電的物聯(lián)網中繼器的設計
對利用軌間交叉環(huán)線進行列車定位的幾點思考
基于反熔絲FPGA的有限狀態(tài)機加固設計
基于VHDL的一個簡單Mealy狀態(tài)機