<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于Xilinx FPGA的千兆以太網(wǎng)控制器的開(kāi)發(fā)

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

作者: 時(shí)間:2010-08-27 來(lái)源:網(wǎng)絡(luò ) 收藏

  2)MAC接收模塊

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

以太網(wǎng)MAC接收模塊的結構示意圖

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

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

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

圖10-34 接收狀態(tài)機的狀態(tài)轉移圖

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

  3)MII管理模塊

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

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

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

  4)主機接口模塊

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

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

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

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



關(guān)鍵詞: FPGA 千兆以太網(wǎng) Virtex

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>