UDP千兆以太网FPGA_verilog实现(一、知识搜集)
2018年11月11日 星期日 近段時間打算在FPGA——quartus上實現千兆以太網
一、對網卡的重新認識:
網卡工作在ISO/OSI的最后兩層:物理層和數據鏈路層。
1、物理層:定義了數據傳送與接收所需要的電光信號、線路狀態、數據編碼和電路等等,并向數據鏈路層設備提供標準接口。物理層的芯片稱之為PHY芯片
、----------------------------------------------------------------、
2、數據鏈路層:提供尋址,數據幀的構建,數據差錯檢查,傳送控制,向網絡層提供標準的數據接口等功能。以太網卡中數據鏈路層的芯片稱之為MAC控制器。
很多網卡的這兩個部分是做到一起的,他們之間的關系是PCI總線接MAC總線,MAC控制器接PHY,PHY又接網線(當然并非完全直接接上,中間又一些電容等)
3、PHY和MAC之間又是如何傳送數據和相互溝通的呢?
IEEE定義了標準的MII/GigaMII(Media Independed Interface)。MII傳遞了網絡的所有數據和數據的控制,而MAC對PHY的工作狀態的確定和對PHY的控制則是使用SMI(serial Management Interface)界面通過讀寫PHY的寄存器來完成的。MAC通過SMI總線不斷的讀取PHY的狀態寄存器以得知目前PHY的狀態
上述3.大致了解留個印象即可,暫時還不具體明白
也就是說,我們不用管PHY層,因為PHY層次,使用RTL8211EG這款芯片來實現的,我們只用管數據鏈路層,數據鏈路層的MAC控制芯片,便是我們的FPGA芯片。
*-----------------------------------------------------------------
RTL8211EG 支持MDI/MDX自適應,各種速度自適應,maser/slave自適應
RTL8211EG上電會檢測一些特定的IO的電平狀態,從而確定自己的工作模式
補充:此CRC為自定義添加,只針對UDP幀頭到數據末尾,不對其他數據位進行校驗,也就是說,只有數據到了UDP幀頭才開始計算CRC,到數據末尾結束,并將結果(32bit=4Byte)附在末尾。
二、PHY芯片之RTL8211EG芯片介紹
RTL8211EG是由Realtek公司推出的千兆網PHY芯片,RTL8211EG芯片作為千兆網PHY芯片,它與MAC層的接口可通過RGMII(Reduced Gigabit Media Independent interface:簡化的千兆介質無關接口)和GMLL(Gigabit Media Independent interface千兆介質無關接口)進行通信,
時鐘部分就不多說了,圖上很清新,可以通過過MDC/MDIO管理接口來配置或讀取PHY芯片內部的寄存器。由于RTL8211EG芯片只提供PHY層功能,不包括MAC、UDP、TCP等功能,所以我們需要私用FPGA來實現這些功能來完成數據通信。
下圖來自datasheet
上圖是該芯片的管腳
--------------------------------下次繼續
總結
以上是生活随笔為你收集整理的UDP千兆以太网FPGA_verilog实现(一、知识搜集)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 离散信号处理的基本概念理解(第一章 离散
- 下一篇: UDP千兆以太网FPGA_verilog