国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于Xilinx FPGA的千兆以太網(wǎng)控制器的開發(fā)

發(fā)布時(shí)間:2010-11-9 20:38    發(fā)布者:techshare
關(guān)鍵詞: FPGA , Xilinx , 控制器 , 千兆 , 以太網(wǎng)
1.千兆以太網(wǎng)技術(shù)簡(jiǎn)介

以太網(wǎng)技術(shù)是當(dāng)今應(yīng)用廣泛的網(wǎng)絡(luò)技術(shù),千兆以太網(wǎng)技術(shù)繼承了以往以太網(wǎng)技術(shù)的許多優(yōu)點(diǎn),同時(shí)又具有許多新的特性,例如傳輸介質(zhì)包括光纖和銅纜,使用8B/10B的編解碼方案,采用載波擴(kuò)展和分組突發(fā)技術(shù)等。正是因?yàn)榫哂辛己玫睦^承性和許多優(yōu)秀的新特性,千兆以太網(wǎng)已經(jīng)成為目前局域網(wǎng)的主流解決方案。

千兆以太網(wǎng)利用了原以太網(wǎng)標(biāo)準(zhǔn)所規(guī)定的全部技術(shù)規(guī)范,其中包括CSMA/CD協(xié)議、以太網(wǎng)幀、全雙工、流量控制以及IEEE 802.3標(biāo)準(zhǔn)中所定義的管理對(duì)象。千兆以太網(wǎng)的關(guān)鍵技術(shù)是千兆以太網(wǎng)二層(MAC層)的交換與以太網(wǎng)接口的實(shí)現(xiàn)。隨著多媒體應(yīng)用的普及,千兆以太網(wǎng)必將成為各類以太網(wǎng)技術(shù)的主力軍。

2.Xilinx的千兆以太網(wǎng)解決方案

1)IP的支持

Xilinx提供了可參數(shù)化的10/1Gbps以太網(wǎng)媒體訪問控制器功能LogiCORE解決方案。該核設(shè)計(jì)用來同最新的Virtex-5、Virtex-4和Virtex-II Pro平臺(tái)FPGA一起工作,并可以無縫集成到Xilinx設(shè)計(jì)流程中。吉比特級(jí)以太網(wǎng)媒體訪問控制器核(GEMAC)是針對(duì)1Gb/s(Gbps)以太網(wǎng)媒體訪問控制器功能的可參數(shù)化的LogiCORE IP解決方案。GEMAC核的設(shè)計(jì)符合 IEEE 802.3-2002規(guī)范。GWMAC核支持兩個(gè)PHY端接口選項(xiàng):GMII或RGMII。并且,Xilinx 全面的1Gb/s以太網(wǎng)解決方案包含吉比特MAC和PCS/PMA IP核產(chǎn)品。Xilinx吉比特以太網(wǎng)MAC解決方案還包括帶有內(nèi)置處理器本地總線(PLB)接口(PLB GEMAC)的配置。該配置通過Xilinx嵌入式開發(fā)套件(EDK)提供。GEMAC LogiCORE IP可以實(shí)現(xiàn)與1000 Base-X PCS/PMA或SGMII核的無縫集成,并提供3種選項(xiàng)用來與PHY器件接口:1000 BASE-X或10位接口(TBI)或SGMII。

GEMAC核非常適合開發(fā)高密度吉比特級(jí)以太網(wǎng)通信和存儲(chǔ)設(shè)備,其關(guān)鍵特性有:
  • 單速全雙工11 Gbps MAC控制器;
  • 設(shè)計(jì)符合IEEE 802.3-2002規(guī)范;
  • 具有最小緩沖的直通操作,以最大限度地實(shí)現(xiàn)客戶端接口的靈活性;
    通過可選的獨(dú)立微處理器中的接口進(jìn)行配置和監(jiān)控;
  • 直接與以太網(wǎng)統(tǒng)計(jì)數(shù)據(jù)核接口,以便實(shí)現(xiàn)功能強(qiáng)大的統(tǒng)計(jì)數(shù)據(jù)收集;
  • 通過MAC控制暫停幀實(shí)現(xiàn)對(duì)稱的或非對(duì)稱的可選的流程控制;
  • VLAN幀的可選技術(shù)支持符合IEEE 802.3-2002規(guī)范的要求;
  • 支持任意長(zhǎng)度的“jumbo幀”(可選);
  • 可選的地址濾波器,具有數(shù)量可選的地址表輸入。


2)相應(yīng)的開發(fā)板套件

Xilinx提供的千兆以太網(wǎng)開發(fā)套件為Virtex-5 ML505/ML506開發(fā)板(使用的FPGA芯片為:XC5VLX50T-1FF1136),該開發(fā)板支持10/100兆、1/10吉以太網(wǎng),加上Xilinx公開的基于ML505/506的設(shè)計(jì),可為基于以太網(wǎng)開發(fā)的設(shè)計(jì)提供全方位的參考。此外,ML505/506還具備SFP、PCI E、SATA以及SMA接口等其余吉比特接口,是學(xué)習(xí)和研發(fā)高速連接設(shè)備的理想平臺(tái)。

10.4.2 基于FPGA的千兆以太網(wǎng)MAC控制器實(shí)現(xiàn)方案

1.整體設(shè)計(jì)方案

以太網(wǎng)控制器的FPGA設(shè)計(jì)工作包括以太網(wǎng)MAC子層的FPGA設(shè)計(jì)、MAC子層與上層協(xié)議的接口設(shè)計(jì)以及MAC與物理層(PHY)的MII接口設(shè)計(jì)。該以太網(wǎng)控制器的總體結(jié)構(gòu)設(shè)計(jì)框圖如圖10-30所示。整個(gè)系統(tǒng)分為發(fā)送模塊、接收模塊、MAC狀態(tài)模塊、MAC控制模塊、MII管理模塊和主機(jī)接口模塊六部分。發(fā)送模塊和接收模塊主要提供MAC幀的發(fā)送和接收功能,其主要操作有MAC幀的封裝與解包以及錯(cuò)誤檢測(cè),它直接提供了到外部物理層芯片的并行數(shù)據(jù)接口。在實(shí)現(xiàn)中物理層處理直接利用商用的千兆PHY芯片,主要開發(fā)量集中在MAC控制器的開發(fā)上。





圖10-30 以太網(wǎng)控制器的結(jié)構(gòu)設(shè)計(jì)框圖

MAC控制模塊則用于執(zhí)行全雙工模式中的流量控制功能。MAC狀態(tài)模塊可用來監(jiān)視MAC操作過程的各種狀態(tài)信息,并作修改。MII管理模塊提供了標(biāo)準(zhǔn)的IEEE 802.3介質(zhì)獨(dú)立接口,可用于連接以太網(wǎng)的鏈路層與物理層。主機(jī)接口則提供以太網(wǎng)控制器與上層協(xié)議(如TCP/IP協(xié)議)之間的接口,以用于數(shù)據(jù)的發(fā)送、接收以及對(duì)控制器內(nèi)各種寄存器(控制、狀態(tài)和命令寄存器)的設(shè)置。  

2.MAC控制器結(jié)構(gòu)和工作流程

1)MAC發(fā)送模塊

MAC發(fā)送模塊可將上層協(xié)議提供的數(shù)據(jù)封裝之后通過MII接口發(fā)送給PHY。發(fā)送模塊可接收主機(jī)接口模塊的數(shù)據(jù)幀開始和數(shù)據(jù)幀結(jié)束標(biāo)志,并通過主機(jī)接口從外部存儲(chǔ)器中讀取要發(fā)送的數(shù)據(jù),然后對(duì)數(shù)據(jù)進(jìn)行封裝,再通過PHY提供的載波偵聽和沖突檢測(cè)信號(hào),在信道空閑時(shí)由MII接口將數(shù)據(jù)以4位的寬度發(fā)送給PHY芯片,最后由PHY將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)上。



發(fā)送模塊由CRC生成模塊(crc_gen)、隨機(jī)數(shù)生成模塊(random_gen)、發(fā)送計(jì)數(shù)模塊(tx_cnt)和發(fā)送狀態(tài)機(jī)(tx_statem_machine)模塊等四個(gè)主要子模塊組成,其內(nèi)部結(jié)構(gòu)如圖10-31所示。





圖10-31 以太網(wǎng)MAC發(fā)送模塊的結(jié)構(gòu)示意圖

發(fā)送狀態(tài)機(jī)由Idle_State、Preamble_State、Data0_State、Data1_State、PAD_State、FCS_State、IPG_State、Jam_State、BackOff_State、Defer_State 等十個(gè)狀態(tài)組成。其狀態(tài)轉(zhuǎn)移圖如圖10-32所示。





圖10-32 發(fā)送狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移圖

系統(tǒng)復(fù)位后,發(fā)送模塊即進(jìn)入Defer_State狀態(tài),并一直檢測(cè)載波偵聽(CarrierSense)信號(hào)。當(dāng)載波偵聽信號(hào)變成無效(表示信道空閑)時(shí),狀態(tài)機(jī)進(jìn)入IPG_State狀態(tài)。此后,在等待一個(gè)幀間間隙之后,狀態(tài)機(jī)進(jìn)入Idle_State狀態(tài)。如果在幀間間隙的前2/3個(gè)周期檢測(cè)到信道忙信號(hào),狀態(tài)機(jī)將重新回到Defer_State狀態(tài)。

狀態(tài)機(jī)進(jìn)入Idle_State狀態(tài)之后,發(fā)送模塊將檢測(cè)載波偵聽信號(hào)和主機(jī)接口的發(fā)送請(qǐng)求。若主機(jī)模塊請(qǐng)求發(fā)送,狀態(tài)機(jī)將進(jìn)入Preamble_State狀態(tài),發(fā)送模塊即通知PHY發(fā)送開始,同時(shí)開始發(fā)送前序碼(7個(gè)0x5), 然后發(fā)送幀起始定界符(SFD, 0xd)。狀態(tài)機(jī)進(jìn)入Data0_State后,發(fā)送模塊將發(fā)送一個(gè)數(shù)據(jù)字節(jié)的低4位(LSB nibble),當(dāng)其進(jìn)入Data1_State狀態(tài)后,發(fā)送模塊則發(fā)送數(shù)據(jù)字節(jié)的高4位(MSB nibble)。隨后,狀態(tài)機(jī)一直在data0和data1之間循環(huán),直到數(shù)據(jù)發(fā)送完畢。當(dāng)還剩一個(gè)字節(jié)時(shí),主機(jī)模塊將通過發(fā)送幀結(jié)束信號(hào)來通知發(fā)送模塊。如果數(shù)據(jù)幀的長(zhǎng)度大于最小幀并且小于最大幀,狀態(tài)機(jī)就進(jìn)入FCS_State狀態(tài),此時(shí)發(fā)送模塊則將CRC生成模塊生成的CRC值添加到幀的FCS字段中并發(fā)送給PHY。

幀發(fā)送完之后,狀態(tài)機(jī)進(jìn)入Defer_State 狀態(tài),之后是IPG_State和Idle_State狀態(tài)。此后狀態(tài)機(jī)又回到初始狀態(tài),以重新等待新的發(fā)送請(qǐng)求。如果數(shù)據(jù)幀的長(zhǎng)度小于最短幀,狀態(tài)機(jī)就進(jìn)入PAD_State狀態(tài),發(fā)送模塊根據(jù)系統(tǒng)設(shè)置確定是否在數(shù)據(jù)之后添加填充碼。然后,狀態(tài)機(jī)進(jìn)入FCS_State狀態(tài)。如果數(shù)據(jù)幀的長(zhǎng)度大于最大幀,而系統(tǒng)設(shè)置又支持發(fā)送超長(zhǎng)幀,那么,狀態(tài)機(jī)就進(jìn)入FCS_State狀態(tài);如果不支持發(fā)送超長(zhǎng)幀,發(fā)送模塊將放棄發(fā)送,狀態(tài)機(jī)直接進(jìn)入Defer狀態(tài),然后是IPG狀態(tài),最后回到Idle狀態(tài)。

在發(fā)送數(shù)據(jù)的過程中,發(fā)送模塊會(huì)一直檢查沖突檢測(cè)信號(hào)(collision detected)。如果發(fā)現(xiàn)沖突且狀態(tài)機(jī)正處于Preamble_State,狀態(tài)機(jī)將在發(fā)送完前序碼和SFD之后進(jìn)入Jam_State,并發(fā)送擁塞碼,然后進(jìn)入BackOff狀態(tài),以等待重試。之后,狀態(tài)機(jī)經(jīng)過Defer和IPG回到Idle狀態(tài)。如果此時(shí)重試次數(shù)計(jì)數(shù)器的值沒有達(dá)到額定值,發(fā)送模塊將重新開始發(fā)送剛才的幀,并將重試次數(shù)計(jì)數(shù)器的值加1;如果發(fā)現(xiàn)沖突且狀態(tài)機(jī)處于data0、data1或FCS狀態(tài),而且沒有超過沖突時(shí)間窗,那么狀態(tài)機(jī)將馬上進(jìn)入Jam狀態(tài)發(fā)送擁塞碼,之后經(jīng)過BackOff、Defer、IPG、回到Idle,并根據(jù)重試計(jì)數(shù)器的值決定是否重新發(fā)送剛才的數(shù)據(jù)幀;如果檢測(cè)到發(fā)生沖突的時(shí)間超過了沖突時(shí)間窗,狀態(tài)機(jī)將進(jìn)入Defer狀態(tài),然后經(jīng)過IPG到IDLE狀態(tài),并放棄重試。

在全雙工模式中發(fā)送幀時(shí),不會(huì)進(jìn)行延遲(defer), 發(fā)送的過程中也不會(huì)產(chǎn)生沖突。此時(shí),發(fā)送模塊將忽略PHY的載波偵聽和沖突檢測(cè)信號(hào)。當(dāng)然,幀與幀之間仍然需遵守幀間間隙的規(guī)則。因此,全雙工模式下的發(fā)送狀態(tài)機(jī)沒有Jam_State、BackOff_State、Defer_State三個(gè)狀態(tài)。      

2)MAC接收模塊

MAC接收模塊結(jié)構(gòu)如圖10-33所示,負(fù)責(zé)數(shù)據(jù)幀的接收。當(dāng)外部PHY將通信信道的串行數(shù)據(jù)轉(zhuǎn)換為半字節(jié)長(zhǎng)的并行數(shù)據(jù)并發(fā)送給接收模塊后,接收模塊會(huì)將這些半字節(jié)數(shù)據(jù)轉(zhuǎn)換為字節(jié)數(shù)據(jù),然后經(jīng)過地址識(shí)別、CRC校驗(yàn)、長(zhǎng)度判斷等操作后,再通過主機(jī)接口寫入外部存儲(chǔ)器,并在主機(jī)接口模塊的接收隊(duì)列中記錄幀的相關(guān)信息。此外,接收模塊還負(fù)責(zé)前序碼和CRC的移除。





圖10-33 以太網(wǎng)MAC接收模塊的結(jié)構(gòu)示意圖

接收過程的接收狀態(tài)機(jī)由Idle_State、Drop_State、Preamble_State、SFD_State、Data0_State、Data1_State等六個(gè)狀態(tài)組成, 其狀態(tài)轉(zhuǎn)移圖如圖10-34所示。







圖10-34 接收狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移圖

當(dāng)接收模塊檢測(cè)到數(shù)據(jù)有效信號(hào)之后,,狀態(tài)機(jī)將進(jìn)入Preamble_State,并開始接收前序碼。此后狀態(tài)機(jī)進(jìn)入SFD_State,接收一個(gè)字節(jié)的幀起始定界符,之后根據(jù)IFGcnt計(jì)數(shù)器的值進(jìn)入不同的狀態(tài)。如果IFGcnt所確定的時(shí)間大于96個(gè)比特時(shí)間,狀態(tài)機(jī)將進(jìn)入Data0狀態(tài)以接收字節(jié)的低4位,然后是Data1狀態(tài),并接收字節(jié)的高4位,之后又回到Data0狀態(tài)。狀態(tài)機(jī)就一直在這兩個(gè)狀態(tài)之間循環(huán),直到數(shù)據(jù)接收完畢(PHY清除MRxDV信號(hào))后進(jìn)入Idle,以重新等待接收新的數(shù)據(jù);如果接收到幀起始定界符時(shí),IFGcnt計(jì)數(shù)器所確定的時(shí)間小于96個(gè)比特時(shí)間,那么狀態(tài)機(jī)將進(jìn)入Drop_State狀態(tài),并一直維持該狀態(tài)直到數(shù)據(jù)有效信號(hào)結(jié)束(PHY清除MRxDV信號(hào))。之后,狀態(tài)機(jī)再回到Idle等待接收新的數(shù)據(jù)。如果在接收前序碼、幀起始定界符和數(shù)據(jù)期間,數(shù)據(jù)有效信號(hào)被清除,那么狀態(tài)機(jī)將回到Idle。

3)MII管理模塊

MII管理模塊用于控制MAC與外部PHY之間的接口,用于對(duì)PHY進(jìn)行配置并讀取其狀態(tài)信息。該接口由時(shí)鐘信號(hào)MDC和雙向數(shù)據(jù)信號(hào)MDIO組成。MII管理模塊則由時(shí)鐘生成模塊、移位寄存器模塊和輸出控制模塊三部分組成。

時(shí)鐘生成模塊可以根據(jù)系統(tǒng)時(shí)鐘和系統(tǒng)設(shè)置中的分頻系數(shù)來產(chǎn)生MII 管理模塊的時(shí)鐘信號(hào)MDC(10 Mbps速率時(shí)為2.5 MHz, 100 Mbps速率時(shí)為25 MHz)。移位寄存器模塊既可用于對(duì)PHY的控制數(shù)據(jù)進(jìn)行寫入操作,也可用于對(duì)PHY的狀態(tài)信息進(jìn)行讀出操作。寫控制數(shù)據(jù)時(shí),移位寄存器根據(jù)其他模塊的控制信號(hào)將并行控制數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù);而在讀狀態(tài)信息時(shí),移位寄存器則將PHY的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),MAC中的其他模塊可將該并行數(shù)據(jù)寫入適當(dāng)?shù)募拇嫫鳌?

由于MDIO是雙向信號(hào),因此輸出控制模塊就用來決定MDIO是處于輸入狀態(tài)還是輸出狀態(tài)。當(dāng)MDIO處于輸出狀態(tài)時(shí),移位寄存器輸出的串行控制數(shù)據(jù)在經(jīng)過時(shí)鐘同步后發(fā)送到PHY;當(dāng)MDIO處于輸入狀態(tài)時(shí),移位寄存器將數(shù)據(jù)線上的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)

4)主機(jī)接口模塊

主機(jī)接口是運(yùn)行以太網(wǎng)的上層協(xié)議(如TCP/IP協(xié)議)與MAC控制器的接口。通過該接口,上層協(xié)議可以設(shè)置MAC的工作模式并讀取MAC的狀態(tài)信息。該接口還可用于上層協(xié)議與MAC之間的數(shù)據(jù)交換。

主機(jī)接口模塊內(nèi)有一組寄存器,可用于存儲(chǔ)上層協(xié)議對(duì)MAC設(shè)置的參數(shù)以及MAC的狀態(tài)信息。上層協(xié)議對(duì)MAC設(shè)置的參數(shù)包括接收超短幀的使能、添加填充碼使能、發(fā)送超長(zhǎng)幀的使能、添加CRC校驗(yàn)值使能、全雙工模式或半雙工模式、持超長(zhǎng)延遲使能、混雜模式(Promiscuous)、接收廣播幀使能、發(fā)送和接收使能、中斷源和中斷使能、幀間間隙的長(zhǎng)度、最大幀和最小幀的長(zhǎng)度、重試限制和沖突時(shí)間窗、MII地址和MII控制命令、接收和發(fā)送隊(duì)列的長(zhǎng)度以及本機(jī)MAC地址等。

上層協(xié)議通過MAC發(fā)送和接收數(shù)據(jù)的操作主要由主機(jī)接口模塊內(nèi)的兩個(gè)隊(duì)列來進(jìn)行管理,這兩個(gè)隊(duì)列用于對(duì)等待發(fā)送的多個(gè)幀和接收到的多個(gè)幀進(jìn)行排隊(duì)。發(fā)送隊(duì)列主要記錄等待發(fā)送的幀的相關(guān)信息、發(fā)送該幀時(shí)對(duì)MAC的設(shè)置以及該幀發(fā)送完之后產(chǎn)生的狀態(tài)信息。幀的相關(guān)信息包括幀的長(zhǎng)度、幀在外部存儲(chǔ)器中的地址、該幀是否準(zhǔn)備好發(fā)送以及隊(duì)列中是否還有其它幀等待發(fā)送;對(duì)MAC的設(shè)置則包括中斷使能、填充使能、CRC使能;產(chǎn)生的狀態(tài)信息包括成功發(fā)送之前的重試次數(shù)、由于達(dá)到重試限制而放棄發(fā)送、發(fā)送時(shí)產(chǎn)生的滯后沖突以及成功發(fā)送之前發(fā)生過的延遲。

接收隊(duì)列主要對(duì)接收到的數(shù)據(jù)幀進(jìn)行排隊(duì)并記錄每個(gè)接收到的幀信息。這些信息包括幀的長(zhǎng)度、是控制幀還是普通數(shù)據(jù)幀、幀中包含無效符號(hào)、接收到的幀太長(zhǎng)或太短、發(fā)生CRC錯(cuò)誤、接收的過程中發(fā)生滯后沖突、幀是否接收完、隊(duì)列中是否還有其它已接收到的幀以及幀存儲(chǔ)在外部存儲(chǔ)器中的地址等。同時(shí)隊(duì)列中還有針對(duì)每個(gè)幀的設(shè)置位,用來設(shè)置是否在接收到幀時(shí)產(chǎn)生中斷。發(fā)送隊(duì)列和接收隊(duì)列的長(zhǎng)度都可以在控制寄存器中進(jìn)行設(shè)置。

10.4.3 Xilinx 千兆以太網(wǎng)MAC IP Core

1.GMAC IP Core的應(yīng)用場(chǎng)景和架構(gòu)

Xilinx提供了三態(tài)以太網(wǎng)MAC控制器的IP Core,可實(shí)現(xiàn)單條吉比特以太網(wǎng)鏈路,通過交換機(jī)或路由器可與任意以太網(wǎng)端口相連。由于MAC控制器的速率很高,底層傳輸必須依賴Rocket I/O,在客戶端還需要利用FIFO來交換數(shù)據(jù),其完整的設(shè)計(jì)方案如圖10-35所示。







圖10-35 千兆以太網(wǎng)MACIP Core的應(yīng)用場(chǎng)合示意圖

2.GMAC IP Core的配置界面和接口信號(hào)

千兆以太網(wǎng)MACIP Core的配置界面如圖10-36所示。GEMAC控制器所實(shí)現(xiàn)的主要功能如圖10-37所示,包括發(fā)送引擎、接收引擎、流控制、GMII接口、客戶發(fā)送接口、客戶接收接口以及客戶管理接口。




圖10-36 千兆以太網(wǎng)MACIP Core的配置界面





圖10-37 千兆以太網(wǎng)MACIP Core的主要功能示意圖

下面給出相應(yīng)模塊的功能和接口信號(hào)說明。

1)發(fā)送引擎

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

該模塊接口信號(hào)的簡(jiǎn)要信息如表10-10所列。

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




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




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

2)接收引擎

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

表10-11 接收引擎接口信號(hào)列表




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




圖10-39 接收引擎的時(shí)序圖

3)流控制

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

表10-12 流控制接口信號(hào)




4)可選的管理接口

管理接口是一個(gè)獨(dú)立的可選端口,其地址、數(shù)據(jù)和控制信號(hào)相對(duì)于其他模塊是獨(dú)立的,提供了和CoreConnec總線的交互能力,可掛在MicroBlaze軟核或PowerPC硬核處理器,可用于配置GEMAC核以及通過MDIO接口直接讀寫外部PHY芯片的內(nèi)部配置寄存器。該模塊包括用戶管理的接口和MDIO接口兩部分,后者直接與PHY芯片相連,全部接口信號(hào)的簡(jiǎn)要說明如10-13所列。

表10-13 管理模塊的接口信號(hào)





5)復(fù)位操作

管理模塊具備自己獨(dú)立的軟件復(fù)位信號(hào),但當(dāng)管理接口模塊被旁路掉,其相應(yīng)的配置信號(hào)被作為configuraTIon_vector[64:0]輸入信號(hào)使用。此外,GEMAC核提供了硬件復(fù)位信號(hào),如表10-14所列。

表10-14 復(fù)位信號(hào)列表




6)GMII模塊

GMII模塊的接收信號(hào)一般都是直接連到PHY芯片上,負(fù)責(zé)和PHY芯片的數(shù)據(jù)交互,其信號(hào)和PHY芯片的接口是一一對(duì)應(yīng)的,如表10-15所列。

表10-15 GMII模塊接口信號(hào)列表




配置完成后,可在工程管理區(qū)選中GEMAC核,在過程管理區(qū),點(diǎn)擊“View HDL Instantiation Template”命令,查看其例化代碼,它在代碼中的例化方法和一般IP Core的方法是一樣的。

10.5 本章小結(jié)

高速串行傳輸技術(shù)是FPGA未來的三大應(yīng)用領(lǐng)域之一,本章主要介紹了Xilinx公司的Rocket I/O解決方案。首先給出高速傳輸?shù)谋尘埃赋龃蟹绞绞羌忍匾约案咚俾舒溌返谋厝贿x擇。其次,給出了吉比特串行傳輸?shù)耐ㄓ眉軜?gòu),為后文做好鋪墊。接著重點(diǎn)介紹了Xilinx公司Rocket I/O的系統(tǒng)組成、相關(guān)協(xié)議、時(shí)鐘設(shè)計(jì)方案、開發(fā)要素以及Rocket I/O的使用方法。最后說明了千兆以太網(wǎng)MAC控制器IP Core的使用方法。讀者需要注意的是Rocket I/O是Xilinx高端FPGA中的內(nèi)嵌組件,和DCM、硬核乘法器、塊RAM等的使用方法是一樣的,可通過IP Core調(diào)用。高速傳輸是一種新技術(shù),開發(fā)難度較大,本章只是介紹了其中的主要核心部分和基本原理,還需要讀者閱讀大量的文獻(xiàn)和實(shí)際操作才能熟練開發(fā)相關(guān)系統(tǒng)。
本文地址:http://www.qingdxww.cn/thread-37854-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
youyou_zh 發(fā)表于 2012-5-20 11:20:15
好文章
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • Cortex-M4外設(shè) —— TC&TCC結(jié)合事件系統(tǒng)&DMA優(yōu)化任務(wù)培訓(xùn)教程
  • 更佳設(shè)計(jì)的解決方案——Microchip模擬開發(fā)生態(tài)系統(tǒng)
  • 想要避免發(fā)生災(zāi)難,就用MPLAB SiC電源仿真器!
  • 你仿真過嗎?使用免費(fèi)的MPLAB Mindi模擬仿真器降低設(shè)計(jì)風(fēng)險(xiǎn)
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区四区在线不卡高清 | 中文国产日韩欧美视频 | 久草综合视频 | 国亚洲欧美日韩精品 | 一级骚片超级骚在线观看 | japan在线观看 | 99久久九九 | 婷婷激情狠狠综合五月 | 国产在线精品一区二区夜色 | 激情综合五月亚洲婷婷 | 四虎国产精品影库永久免费 | 有毛片毛毛片毛片毛片 | 免费人成黄页在线观看1024 | 曰本在线| 日韩一级黄色 | 午夜一级做a爰片久久毛片 午夜一级毛片看看 | 91专区在线| 受胎岛无删减全集在线观看 | 日本视频免费在线观看 | 久草最新 | 日本精品在线观看视频 | 欧美精品一区二区三区免费观看 | 99热国产这里只有精品9九 | 日本a区 | 久热香蕉在线视频 | 精品在线一区二区三区 | 日韩av片免费播放 | 窝窝影院午夜看片 | 91高清在线成人免费观看 | 在线观看视频网站www色 | 欧美日韩第一页 | 亚洲综合偷自成人网第页色 | 4hu影院最新地址www | 精品久久久久久久久久久久久久久 | aaa在线观看免费完整版 | 天堂网在线.www天堂在线 | 国产日韩欧美一区二区三区综合 | 欧美大片大片播放网站 | 国产香蕉一区二区在线观看 | 四虎精品在线视频 | 精品91自产拍在线观看一区 |