Open cisen opened 3 years ago
https://blog.csdn.net/wll1228/article/details/103941926 http://xilinx.eetrend.com/content/2019/100017255.html
上图中DMA集成在CPU中,但是CPU、MAC、PHY并不是在同一个芯片内,由于PHY包含大量模拟器件,而MAC是典型的数字电路,考虑到芯片面积以及模拟/数字混合架构的原因,将MAC集成到SOC而将PHY留在片外,这种结构最常见
MAC(Media Access Control)即媒体访问控制层协议。MAC由硬件控制器及MAC通信协议构成。该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质。
PHY(Physical Layer)是IEEE-802.3中定义的一个标准模块,STA(Station Management Entity,管理实体,一般为MAC或者CPU)通过MIIM(MII Manage Interface)对PHY的行为、状态进行管理和控制,而具体管理和控制动作是通过读写PHY内部的寄存器实现的,PHY的基本结构图如下:
PHY在发送数据的时候,收到MAC过来的数据,然后把并行数据转化为串行流数据,再按照物理层编码的规则把数据编码,再变为模拟信号发送出去,收数据时则反之。
PHY寄存器的地址空间为5位,从0到31最多可以定义32个寄存器,如果32个不够,那么PHY可以采用分页技术扩展地址空间
MII(Media Independent interface)即介质无关接口,它是IEEE-802.3定义的行业标准,是MAC与PHY之间的接口。MII数据接口包含16个信号和2个管理接口信号,如下图所示
MAC通过MIIM接口读取PHY状态寄存器得知目前PHY的状态.比如双工模式,连接速度等,也可以设置PHY的工作模式,比如流控打开与关闭、自协商模式还是强制模式。MII以4位半字节方式传送数据双向传输,时钟速率25MHz。其工作速率可达100Mb/s。当时钟频率为2.5MHz时,对应速率为10Mb/s。MII接口虽然很灵活但由于信号线太多限制多接口网口的发展,后续又衍生出RMII,SMII等。
XGMII接口的单端信号采用HSTL/SSTL_2逻辑,端口电压1.5V/2.5V,由于SSTL_2的端口电压高,功耗大,现在已很少使用。
TXC[3:0]:发送通道控制信号,TXC=0时,表示TXD上传输的是数据;TXC=1时,表示TXD上传输的是控制字符。TXC[3:0]分别对应TXD[31:24],TXD[23:16],TXD[15:8],TXD[7:0]。
RXC[3:0]:接收通道控制信号,RXC=0时,表示RXD上传输的是数据;RXC=1时,表示RXD上传输的是控制字符。RXC[3:0]分别对应RXD[31:24],RXD[23:16],RXD[15:8],RXD[7:0]。
TX_CLK:TXD和TXC的参考时钟,时钟频率156.25MHz,在时钟信号的上升沿和下降沿都采样数据。
RX_CLK:RXD和RXC的参考时钟,时钟频率156.25MHz,在时钟信号的上升沿和下降沿都采样数据。156.25MHz232=10Gbps。
XGMII接口还有XLGMII(40Gb)、CGMII(100Gb)等变种。其基本已经被XAUI/XLAUI/CAUI接口取代了。
XAUI接口有如下一系列的变种:RXAUI、XLAUI(40Gb)、CAUI(100Gb)等。
由于受电气特性的影响,XGMII接口的PCB走线最大传输距离仅有7cm,并且XGMII接口的连线数量太多,给实际应用带来不便。因此,在实际应用中,XGMII接口通常被XAUI接口代替,XAUI即10Gigabit Attachment Unit Interface,XAUI在XGMII的基础上实现了XGMII接口的物理距离扩展,将PCB走线的传输距离增加到50cm,使背板走线成为可能。
源端XGMII把收发32位宽度数据流分为4个独立的lane通道,每个lane通道对应一个字节,经XGXS(XGMII ExtenderSublayer)完成8b/10b编码后,将4个lane分别对应XAUI的4个独立通道,XAUI端口速率为:2.5Gbps1.254=12.5Gbps。
在发送端的XGXS模块中,将TXD[31:0]/RXD[31:0],TXC[3:0]/RXC[3:0],TX_CLK/RX_CLK转换成串行数据从TX Lane[3:0]/RX Lane[3:0]中发出去,在接收端的XGXS模块中,串行数据被转换成并行,并且进行时钟恢复和补偿,完成时钟去抖,经过5b/4b解码后,重新聚合成XGMII。
XAUI接口采用差分线,收发各四对,CML逻辑,AC耦合方式,耦合电容在10nF~100nF之间。
XAUI接口可以直接接光模块,如XENPAK/X2等。也可以转换成一路10G信号XFI,接XFP/SFP+等。
有些芯片不支持XAUI接口,只支持XGMII接口,这时可以用专门的芯片进行XGMII→XAUI接口转换,如BCM8011等。
XAUI/XLAUI/CAUI是四通道串行总线,采用的差分信号,CML逻辑传输,并且进行了扰码,大大增强了信号的抗扰性能,使得信号的有效传输距离增加到50cm。
XAUI/XLAUI/CAUI在物理结构上是一样的,收发通道独立,各四对差分信号线。
对于XAUI总线,每对差分线上的数据速率为3.125Gbps,总数据带宽为12.5Gbps,有效带宽为12.5Gbps*0.8=10Gbps(因为XAUI总线数据在传输前进行了8b/10b变换,编码效率为80%)。
对于XLAUI总线,每对差分线上的数据速率为10.3125Gbps,总数据带宽为41.25Gbps,有效带宽为41.25Gbps*(64/66)=40Gbps(因为XLAUI总线数据在传输前进行了64b/66B变换,编码效率为96.97%)。
对于CAUI总线,每对差分线上的数据速率为25.78125Gbps,总数据带宽为103.125Gbps,有效带宽为103.125Gbps*(64/66)=100Gbps(因为CAUI总线数据在传输前进行了64B/66B变换,编码效率为96.97%)。
https://github.com/cisen/sourcecode-verilog-ethernet-00 https://blog.csdn.net/baidu_25816669/article/details/104249627 https://blog.csdn.net/wll1228/article/details/103941926