linux mii 调试总结

MII (Media Independent Interface(介质无关接口);或称为媒体独立接口,它是IEEE-802.3定义的 以太网行业标准。它包括一个 数据接口,以及一个MAC和PHY之间的管理接口。 数据接口包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和 控制信号。MII 数据接口总共需要16个信号。管理接口是个双信号接口:一个是 时钟信号,另一个是数据信号。通过管理接口,上层能监视和控制PHY。MII (Management interface)只有两条信号线。
 
 

概述

MII标准接口用于连接Fast Ethernet MAC-block与PHY。"介质无关"表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。在其他速率下工作的与 MII等效的接口有:AUI(10M  以太网)、GMII(Gigabit 以太网)和XAUI(10-Gigabit 以太网)。

CPU

1997年,Cyrix被称作MII的新一代微 处理器已正式推出.MII是在Cyrix在大规模投放市场的6X86的基础上将其第一级高速缓冲内存由原有的16K扩大到64K,大大地增加了运算速度,同时在流行的X86 指令集中加入了MMX的功能。MII传承了6X86出色的运行32位 软件的功能并具有MMX功能。 所谓MMX是指一套加在流行的X86 指令集的附加指令,它包括57条为加速多媒体单元设计的新指令,包括音频处理、视频解压和图形处理等。 Cyrix新的MII 处理器依然是为用户提供一种简单的升级方法,以使他们的计算机拥有 MMX技术。 相比INTEL和AMD的同时期CPU,MII的优势仍然在整数运算,其 浮点运算仍然为人们所诟病.时至今日,Cyrix被 威盛所收购,早已不复存在,这款 处理器成为人们心中的回忆.作为Cyrix公司独自研发的最后一款微 处理器,Cyrix MII于1998年3月开始量产。它除了具有Cyrix 6x86系列微 处理器本身的特性外,也开始支持 MMX指令集(实际上MII就是6X86MX的继承和发展,但其MMX指令集为自行研发与intel和amd并不一致)。非金顶M2采用反转芯片PGA封装技术,顶盖颜色多变,有:黑、白、棕、浅棕、深红等多种颜色。早期的MII都是2.9v电压,后期出现的2.2v电压产品采用了当时先进的0.18微米制造工艺,超频能力强悍。M2的起跳频率是200MHz,433MHz截止。 因为高频M2不曾在 中国大陆销售过,频率高于350MHz(包括350MHz)的M2在国内极为罕见。 国内销售最高端型号为Cyrix MII/433GP(工作频率300MHz)可 超频到400MHz左右。

接口

1 MII (Media Independent Interface )是介质无关接口。40针。MII类似于10Mbps 以太网的连接单元接口(AUI)。MII层定义了在100BASE-T MAC和各种 物理层之间的标准电气和机械接口,这种标准接口类似于经典 以太网中的AUI,它允许制造厂家制造与介质和布线无关的产品,利用外接MAU去连接实际的物理电缆。
MII和AUI的电气信号是不同的,AUI信号具有较强的驱动能力、能驱动50米电缆的能力,而MII的信号是数字型的,只能驱动0.5米电缆。MII采用一个类似于SCSI连接器的40芯小型连接器。
2 任天堂Wii 主机名为“Mii”的新功能,重点是让用户可以DIY个性化定制游戏角色的形象。观察其操作界面,可以发现这个功能让用户可以对 软件提供的各种五官元素进行自由组装拼合,产生接近本人长相特征的虚拟 Avatar形象。这个系统表面上就是现在各种 网络社区的Avatar系统的一个翻版,但它本质上最关键的一点是这个Avatar可以通过统一的API被应用到各种 Wii的游戏 软件中,强化 用户体验的代入感。

总线

IEEE802.3中规定的MII总线是一种用于将不同类型的PHY与相同 网络控制器(MAC)相连接的通用总线。 网络控制器可以用同样的硬件接口与任何PHY进行连接。

接口

以太网媒体接口有:MII RMII SMII GMII TMII(Turbo MII)
所有的这些接口都从MII而来,MII是(Medium Independent Interface)的意思,是指不用考虑媒体是铜轴、光纤、电缆等,因为这些媒体处理的相关工作都有PHY或者叫做MAC的芯片完成。
MII支持10兆和100兆的操作,一个接口由14根线组成,它的支持还是比较灵活的,但是有一个缺点是因为它一个端口用的信号线太多,如果一个8端口的 交换机要用到112根线,16端口就要用到224根线,到32端口的话就要用到448根线,一般按照这个接口做交换机,是不太现实的,所以现代的交换机的制作都会用到其它的一些从MII简化出来的标准,比如 RMII、SMII、GMII等。
RMII是简化的MII接口,在数据的收发上它比MII接口少了一倍的信号线,所以它一般要求是50兆的总线时钟。 RMII一般用在 多端口交换机,它不是每个端口安排收、发两个时钟,而是所有的数据端口公用一个时钟用于所有端口的收发,这里就节省了不少的 端口数目RMII的一个端口要求7个数据线,比MII少了一倍,所以 交换机能够接入多一倍数据的端口。和MII一样, RMII支持10兆和100兆的 总线接口速度。
SMII是由思科提出的一种媒体接口,它有比 RMII更少的信号线数目,S表示串行的意思。因为它只用一根信号线传送发送数据,一根信号线传输接受数据,所以在时钟上为了满足100的需求,它的 时钟频率很高,达到了125兆,为什么用125兆,是因为数据线里面会传送一些控制信息。SMII一个端口仅用4根信号线完成100信号的传输,比起 RMII差不多又少了一倍的信号线。SMII在工业界的支持力度是很高的。同理,所有端口的数据收发都公用同一个外部的125M时钟。
GMII是千兆网的MII接口,这个也有相应的RGMII接口,表示简化了的GMII接口。
TMII是200兆速率的MII接口,MII接口为25MHz频率,TMII接口为50MHz频率。

工作原理

“媒体独立”表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号。
MII数据接口总共需要16个信号,包括TX_ER,TXD,TX_EN,TX_CLK,COL,RXD,RX_EX,RX_CLK,CRS,RX_DV等。
MII以4位半字节方式传送数据双向传输,时钟速率25MHz。其工作速率可达100Mb/s。
MII管理接口是个双信号接口,一个是 时钟信号,另一个是数据信号。
通过管理接口,上层能监视和控制PHY,其管理是使用SMI(Serial Management Interface)总线通过读写PHY的 寄存器来完成的。
PHY里面的部分寄存器是IEEE定义的,这样PHY把自己的目前的状态反映到寄存器里面,MAC通过SMI总线不断的读取PHY的 状态寄存器以得知目前PHY的状态,例如连接速度,双工的能力等。
当然也可以通过SMI设置PHY的 寄存器达到控制的目的,例如流控的打开关闭,自协商模式还是强制模式等。
不论是物理连接的MII总线和SMI总线还是PHY的 状态寄存器控制寄存器都是有IEEE的规范的,因此不同公司的MAC和PHY一样可以协调工作。当然为了配合不同公司的PHY的自己特有的一些功能,驱动需要做相应的修改。
PHY是物理接口收发器,它实现 物理层。包括MII/GMII(介质独立接口)子层、PCS(物理编码子层)、PMA(物理介质附加)子层、PMD(物理介质相关)子层、MDI子层。100BaseTX采用4B/5B编码。
PHY在发送数据的时候,收到MAC过来的数据(对PHY来说,没有帧的概念,对它来说,都是数据而不管什么地址,数据还是CRC),每4bit就增加1bit的检错码,然后把并行数据转化为串行流数据,再按照 物理层的编码规则把 数据编码,再变为模拟信号把数据送出去。收数据时的流程反之。
PHY还有个重要的功能就是实现 CSMA/CD的部分功能。
它可以检测到网络上是否有数据在传送,如果有数据在传送中就等待,一旦检测到网络空闲,再等待一个随机时间后将送数据出去。如果两个碰巧同时送出了数据,那样必将造成冲突,这时候,冲突检测机构可以检测到冲突,然后各等待一个随机的时间重新发送数据。这个随机时间很有讲究的,并不是一个常数,在不同的时刻计算出来的随机时间都是不同的,而且有多重算法来应付出现概率很低的同两台主机之间的第二次冲突。
通信速率通过双方协商,协商的结果是两个设备中能同时支持的最大速度和最好的双工模式,这个技术被称为Auto Negotiation或者NWAY。
隔离变压器把PHY送出来的差分信号用差模耦合的线圈耦合滤波以增强信号,并且通过电磁场的转换耦合到连接网线的另外一端。
RJ-45中1、2是传送数据的,3、6是接收数据的。
新的PHY支持AUTO MDI-X功能,也需要隔离变压器支持,它可以实现 RJ-45接口的1、2上的传送信号线和3、6上的接收信号线的功能自动互相交换。

GMII简介

GMII (Gigabit MII)
GMII采用8位接口数据,工作时钟125MHz,因此传输速率可达1000Mbps。同时兼容MII所规定的10/100 Mbps工作方式。
GMII接口 数据结构符合IEEE 以太网标准。该接口定义见IEEE 802.3-2000。

发送器

◇ GTXCLK——吉比特TX..信号的 时钟信号(125MHz)
◇ TXCLK——10/100M信号时钟
◇ TXD[7..0]——被发送数据
◇ TXEN——发送器使能信号
◇ TXER——发送器错误(用于破坏一个 数据包
注:在千兆速率下,向PHY提供GTXCLK信号,TXD、TXEN、TXER信号与此 时钟信号同步。否则,在10/100M速率下,PHY提供 TXCLK 时钟信号,其它信号与此信号同步。其 工作频率为25MHz(100M网络)或2.5MHz(10M网络)。

接收器

◇ RXCLK——接收 时钟信号(从收到的数据中提取,因此与GTXCLK无关联)
◇ RXD[7..0]——接收数据
◇ RXDV——接收数据有效指示
◇ RXER——接收数据出错指示
◇ COL—— 冲突检测(仅用于半双工状态)

管理配置

◇ MDC——配置接口时钟
◇ MDIO——配置接口I/O
管理配置接口控制PHY的特性。该接口有32个 寄存器地址,每个地址16位。其中前16个已经在“IEEE 802.3,2000-22.2.4 Management Functions”中规定了用途,其余的则由各器件自己指定。

简介

RMII: Reduced Media Independant Interface 即简化媒体独立接口;是标准的 以太网接口之一,比MII有更少的I/O传输。
关于 RMII口和MII口的问题
RMII口是用两根线来传输数据的,
MII口是用4根线来传输数据的,
GMII是用8根线来传输数据的。
MII/ RMII只是一种接口,对于10M线速,MII的速率是2.5M,RMII则是5M;对于100M线速,MII的速率是25M,RMII则是50M。
MII/ RMII 用于传输 以太网包,在MII/RMII接口是4/2bit的,在以太网的PHY里需要做串并转换、编解码等才能在双绞线和光纤上进行传输,其帧格式遵循IEEE 802.3(10M)/ IEEE 802.3u(100M)/ IEEE 802.1q(VLAN)。
以太网帧的格式为: 前导符+开始位+目的mac地址+源mac地址+类型/长度+数据+padding(optional)+32bitCRC
如果有vlan,则要在类型/长度后面加上2个字节的vlan tag,其中12bit来表示vlan id,另外4bit表示数据的优先级
 
 
 问题解决:

工作调试时,主要调试外置phy,检查内核和sdk的对mii所用gpio的复用,然后改其时钟umac->mdio_cfg  ,我用 的是8041的,

mii 接口,设置时钟25MHZ,但改完之后发现还是ping 不通。后来发现手动phy芯片硬复位就好了。原来对于外置phy需要初始化的时候对其复位的,这样才能正常工作。


  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值