新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 第4節(jié) 基于Xilinx FPGA的千兆以太網控制器的開發(fā)

第4節(jié) 基于Xilinx FPGA的千兆以太網控制器的開發(fā)

作者: 時間:2010-08-18 來源:網絡 收藏

MACIP Core的配置界面如圖10-36所示。GEMAC所實現的主要功能如圖10-37所示,包括發(fā)送引擎、接收引擎、流控制、GMII接口、客戶發(fā)送接口、客戶接收接口以及客戶管理接口。



圖10-37 MACIP Core的主要功能示意圖

下面給出相應模塊的功能和接口信號說明。

1)發(fā)送引擎

發(fā)送引擎通過客戶發(fā)送端口接收以太網的數據幀,并在幀頭添加幀引導區(qū)域,甚至在幀長小于最短要求時,添加一定的冗余比特。同時,該模塊還會在連續(xù)的數據幀之間插入以太網協(xié)議所規(guī)定的最小延時,將用戶數據轉化成標準的GMII數據幀,并送至GMII模塊。在應用時,面向用戶的操作就是將用戶數據讀入GEMAC核內部

該模塊接口信號的簡要信息如表10-10所列。

表10-10 發(fā)送引擎接口信號列表

發(fā)送引擎的時序如圖10-38所示。當客戶端有數據發(fā)送時,將tx_data_valid拉高,同時將數據的第一個字節(jié)置于tx_data端口;當GEMAC將第一字節(jié)數據讀入后,會將tx_ack信號拉高,用戶端邏輯檢測到tx_ack為高時,要在下一個時鐘上升沿將其余的數據發(fā)送到數據端口上,當數據發(fā)送完畢后,將x_data_valid拉低。


圖10-38 發(fā)送引擎的時序圖

2)接收引擎

接收引擎接收來自GMII模塊的數據,去掉幀頭的引導區(qū)域,包括為了增加幀長的冗余比特。此外,該模塊還能根據數據幀中的檢驗序列區(qū)域、接收到的GMII錯誤碼字以及幀長信息完成錯誤檢測,主要接口信號的簡要說明如表10-11所列。

表10-11 接收引擎接口信號列表

接收引擎的時序如圖10-39所示。客戶端邏輯必須在任何時候都準備好接收數據,因為在GEMAC核中沒有接收緩存,有時延就會丟失數據,因此用戶可自己添加緩沖邏輯。rx_data_valid為高時立即開始接收連續(xù)數據,在檢測到rx_data_valid變低后,判斷rx_good_frame信號的電平,如果為高則繼續(xù)處理該幀數據,否則直接丟棄。



圖10-39 接收引擎的時序圖

3)流控制

流控制模塊是根據IEEE 802.3-2002標準的31項條款設計的,在發(fā)送時附帶暫停幀,接收時也需要對其處理。在GEMAC核中,它是自動配置的,同時,也提供了用戶自定義的配置端口,如表10-12所列。

表10-12 流控制接口信號



評論


相關推薦

技術專區(qū)

關閉