【网络2】MII & MDIO

文章目录

  • 1.MII:ISO网络模型中物理层(phy)和数据链路层(mac)属于硬件,其余都属于软件kernel
  • 2.MDC/MDIO:不仅管phy,只要支持mdio协议都可以管
    • 2.1
  • 3.RGMII时序调整:下面波形图都是测的bmc rx
  • 4.NCSI:


1.MII:ISO网络模型中物理层(phy)和数据链路层(mac)属于硬件,其余都属于软件kernel

SOC内部没有网络MAC外设:缺:网络效率不高。
在这里插入图片描述
SOC内部集成网络MAC外设:MII/RMII接口用来传输网络数据。MDIO(读写PHY内部寄存器)类似IIC两根线:一根数据线叫做MDIO(management data input/output,双向,不像MII那些串口单向有TX/RX),一根时钟线叫做MDC(clock,由bmc mac端驱动给出)。优:SOC内置DMA加速,支持10/100/1000M网速。
在这里插入图片描述
【网络2】MII & MDIO_第1张图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
AST2600配置寄存器选择RMII还是RGMII
在这里插入图片描述
如上4个mac配置好RMII和RGMII后,如下通过MAC控制器下的50寄存器控制速率,实质是控制时钟频率。
在这里插入图片描述

2.MDC/MDIO:不仅管phy,只要支持mdio协议都可以管

如下ast2500-mdio时序:时序由bmc端和phy端驱动实现,上面采集数据时间在下面范围内才有效,ast2500芯片限制。
在这里插入图片描述
如下ast2500-mdio协议:如下分为22和45两种规则,默认22。
在这里插入图片描述
如下ast2500-mdio寄存器:基地址0x1e680000,第26bit为1就是读。如果mdio/mdc线直接连到了switch上,需配置0:5,
【网络2】MII & MDIO_第2张图片
在这里插入图片描述
如下第一行就是写入芯片和寄存器地址等。
在这里插入图片描述
在这里插入图片描述
如上读出0x11400000后去除0-15bit即变为0x1140。
在这里插入图片描述
如下对应00寄存器第6位和13位:1 0 ,所以当前phy工作在1000兆自适应全双工模式。
在这里插入图片描述
在这里插入图片描述
如上方法繁琐,如下uboot提供modio tool。
【网络2】MII & MDIO_第3张图片

2.1

如下BMC速率适配:phy和switch同步速率不用管,只管phy和mac。
【网络2】MII & MDIO_第4张图片
如下如果上面什么都识别不到走deflaut,speed = 1000写死(没有phy和rj45),
在这里插入图片描述
【网络2】MII & MDIO_第5张图片
【网络2】MII & MDIO_第6张图片

如下phy led控制:根据灯确认有没有数据一直在传输和速率。led0是有数据传输时闪烁,led1(10、100兆)和led2(1000兆)匹配到速率后常亮。
【网络2】MII & MDIO_第7张图片

3.RGMII时序调整:下面波形图都是测的bmc rx

phy芯片支持边缘和中间对齐,但是如下bmc芯片中:rgmii千兆时钟是125MHZ,时钟周期是1/125=8ns。
【网络2】MII & MDIO_第8张图片
如下边缘对齐:bmc rx和clock时序相位重合,黄色下降和上升沿不在红色数据段。
【网络2】MII & MDIO_第9张图片
【网络2】MII & MDIO_第10张图片
如下中央对齐:黄色下降和上升沿红色数据段,所以不满足bmc rx边缘对齐,bmc rx数据采样受到clk线影响,丢包,需要调相位。
【网络2】MII & MDIO_第11张图片
如下bmc芯片提供寄存器写入 0x0-0x1f 进行相位调节。
【网络2】MII & MDIO_第12张图片
【网络2】MII & MDIO_第13张图片
uboot有mactest工具,关闭WDT2,原理如下,发500个包,收到499个,说明丢包,验证通路,也会压力测试tx和rx时序。
【网络2】MII & MDIO_第14张图片
【网络2】MII & MDIO_第15张图片

4.NCSI:

在这里插入图片描述

你可能感兴趣的:(网络,网络)