どのようなMAC / PHYとMII(GMII / SGMII / RGMII)(2)は-MACです

 

媒体アクセス制御副層のプロトコルであるMAC(メディアアクセスコントロール)。

概念は、2つの部分を有する:ハードウェアコントローラは、通信プロトコルにMACとMACであってもよいです。プロトコルは、OSIデータリンク層プロトコルの下半分に位置しており、物理的なメディアは、物理層への接続を制御するための主な原因です。

MACのハードウェアは、以下の方法についてです。

データを送信する場合、MACプロトコルは、以前にデータが送信に加え、いくつかの制御情報、送信フォーマットは、最終的に所定の物理層に情報及びデータを管理する場合、データは、送信されることができるかどうかを決定することができる。、MACデータ受信時プロトコルは、最初のエラー、LLC(論理リンク制御)層を除去するための制御情報がない場合、入力情報及び送信エラーが発生したか否かを判定する。イーサネットMAC層プロトコルは、IEEE-802。3つのイーサネット規格によって定義されます。

実際には、イーサネットデータリンク層は、前記MAC(メディアアクセス制御)副層LLC(論理リンク制御)副層をイーサネットカードのMACチップの役割は、MAC副層とLLC副層の機能を実現するだけでなく、PCI準拠のデータ交換を達成するためのインターフェースとホストを提供するだけではなく。

PCIバスから受信したMAC IPパケット(または他のネットワーク層プロトコルのパケット)の後に、それが分割され、中に再パッケージ最大1518Byte、64バイトの最小フレーム。宛先MACアドレス、送信元MACアドレスと、そのような80で示されるIPパケットの種類として内部独自のデータパケットのプロトコルタイプ(、そして最終的にDWORD(4バイト)、CRCコードを含むフレーム。

しかし、彼らはそれからの送信先のMACアドレスを来るどこ?これには、ARPの(ネットワーク層におけるプロトコルとデータリンク層との間の)プロトコル。初めてのデータ転送先のIPアドレス、言った、その宛先アドレスがMACアドレスをブロードキャストされたARPパケット、送信します最初:「IPアドレスxxx.xxx.xxx.xxxの所有者は誰ですか?それは、パッケージを放送しているため」、すべてのLANホストはARP要求を受信しています。ホストが要求を受信し、無視する同一でない場合は、ARP応答パケットが同じに送られた場合、自身のIPアドレスは、比較されます。数年後にこの要求パケットに応じて、ARP ARP応答を受信するホストのIPアドレスは言った:「私は、このIPアドレスの持ち主です。」このパッケージには、自分のMACアドレスの内部を含んでいます。フレームのIPアドレスと宛先MACアドレスの後を求めました。(例えば、IPX / SPXプロトコルのような他のプロトコルは、また、これらの操作を完了することが適切です)。

IPアドレスとMACアドレスの間の関連付けは、ARPテーブルと呼ばれる、ホストシステムに保存されていますそして、オペレーティングシステムはドライバによって完成されます。あなたは、Microsoftのシステム内部のarpコマンドでARPテーブルを表示することができます。受信したデータフレームがCRCエラーの効力は、除去ヘッダを入れない場合、CRCチェック後に行わ、同じである場合、データパケットは、プロトコルスタックと標準インターフェースによって駆動される上側に出て送信されます。右私たちの最終的なアプリケーションまで。

このようなフロー制御などのいくつかの制御フレーム、MACフレームを直接識別し、それに応じて動作する必要があります。

それらの間のMIIインターフェースがリンクされてイーサネットMACは、PHYチップへのもう一方の端には、コンピュータチップ、PCIバスを終了します。

以下に示すように、MACは、構成図です。

第二部、MIIは何ですか

MII(Media Independent Interface)即媒体独立接口,MII接口是MAC与PHY连接的标准接口。它是IEEE-802.3定义的以太网行业标准。MII接口提供了MAC与PHY之间、PHY与STA(Station Management)之间的互联技术,该接口支持10Mb/s与100Mb/s的数据传输速率,数据传输的位宽为4位。"媒体独立"表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。802.3协议最多支持32个PHY,但有一定的限制:要符合协议要求的connector特性。MII接口如下图所示:

后来还有GMII(1Gbps)、10GMII、25GMII、200GMII和500GMII等。

提到MII,就有可能涉及到RS,PLS,STA等名词术语,下面讲一下他们之间对应的关系。

所谓RS即Reconciliation sublayer,它的主要功能主要是提供一种MII和MAC/PLS之间的信号映射机制。它们(RS与MII)之间的关系如下图:

MII的Management Interface是与STA(Station Management)相连的。

注:关于本节,具体可参考IEEE以太网标准802.3的22.3 Signal timing characteristics节,其中包含时钟信号等更详细内容。

MII接口主要包括四个部分:

一是从MAC层到PHY层的发送数据接口;

二是从PHY层到MAC层的接收数据接口;

三是从PHY层到MAC层的状态指示信号;

四是MAC层和PHY层之间传送控制和状态信息的MDIO接口。

MII包括一个数据接口,以及一个MAC和PHY之间的管理接口:

  • ※数据接口: 包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号。MII数据接口总共需要16个信号,包括

  • ※TX_ER(transmit coding error): TX_ER同步于TX_CLK,在数据传输过程中,如果TX_ER有效超过一个时钟周期,并且此时TX_EN是有效的,则数据通道中传输的数据是无效的,没用的。注:当TX_ER有效并不影响工作在10Mb/s的PHY或者TX_EN无效时的数据传输。在MII接口的连线中,如果TX_ER信号线没有用到,必须将它下拉接地。

  • ※TXD<3:0>(transmit data): TXD由RS驱动,同步于TX_CLK,在TX_CLK的时钟周期内,并且TX_EN有效,TXD上的数据被PHY接收,否则TXD的数据对PHY没有任何影响。

  • ※TX_EN: 发送使能。TX_EN由Reconciliation子层根据TX_CLK上升沿同步进行转换。

  • ※TX_CLK(transmit clock): TX_CLK (Transmit Clock)是一个连续的时钟信号(即系统启动,该信号就一直存在),它是TX_EN,  TXD,  and  TX_ER(信号方向为从RS到PHY)的参考时钟,TX_CLK由PHY驱动TX_CLK的时钟频率是数据传输速率的25%,偏差±100ppm。例如,100Mb/s模式下,TX_CLK时钟频率为25MHz,占空比在35%至65%之间。

  • ※COL(collision detected): COL不需要同步于参考时钟。The behavior of the COL signal is unspecified when the duplex mode bit0.8 inthe control register is set to a logic one(自动协商禁止,人工设为全双工模式), or when the Auto-Negotiation process selects a full duplex mode of operation。即半双工模式信号有效,全双工模式信号无效。

  • ※RXD<3:0>(receive data): RXD由RS驱动,同步于RX_CLK,在RX_CLK的时钟周期内,并且RX_DV有效,RXD上的数据被RS接收,否则RXD的数据对RS没有任何影响。While  RX_DV  is  de-asserted,  the  PHY  may  provide  a  False  Carrier  indication  by  asserting the RX_ER signal while driving the value <1110> onto RXD<3:0>。

  • ※RX_ER(receive  error): RX_ER同步于RX_CLK,其在RX通道中的作用类似于TX_ER对于TX通道数据传输的影响。

  • ※RX_CLK: 它与TX_CLK具有相同的要求,所不同的是它是RX_DV, RXD, and RX_ER(信号方向是从PHY到RS)的参考时钟。RX_CLK同样是由PHY驱动,PHY可能从接收到的数据中提取时钟RX_CLK,也有可能从一个名义上的参考时钟(e.g., the TX_CLK reference)来驱动RX_CLK。

  • ※CRS(carrier sense): CRS不需要同步于参考时钟,只要通道存在发送或者接收过程,CRS就需要有效。The behavior of the CRS signal is unspecified when the duplex mode bit0.8 inthe control register is set to a logic one(自动协商禁止,人工设为全双工模式), or when the Auto-Negotiation process selects a full duplex mode of operation,即半双工模式信号有效,全双工模式信号无效。

  • ※RX_DV(Receive Data Valid): RXD_DV同步于RX_CLK,被PHY驱动,它的作用如同于发送通道中的TX_EN,不同的是在时序上稍有一点差别:为了让数据能够成功被RS接收,要求RXD_DV有效的时间必须覆盖整个FRAME的过程,即starting no later than the Start Frame Delimiter (SFD) and excluding any End-of-Frame delimiter。

  • ※MII以4位半字节方式传送数据双向传输,时钟速率25MHz。其工作速率可达100Mb/s。

  • ※MII管理接口: 是个双信号接口,通过管理接口,MAC就能监视和控制PHY。其管理是使用SMI(Serial Management Interface) 总线通过读写PHY的寄存器来完成的。一个是时钟信号(***MDC (management data clock)***)。另一个是数据信号(***MDIO (management data input/output)***)。

  • ※MDC: 由站管理实体向PHY提供,作为在MDIO信号上传送信息的定时参考。 MDC是一种非周期性的信号,没有最高或最低时间。 无论TX_CLK和RX_CLK的标称周期如何,MDC的最小高低时间应为160 ns,MDC的最小周期为400 ns。

  • ※MDIO: 是PHY和STA之间的双向信号。 它用于在PHY和STA之间传输控制信息和状态。 控制信息由STA同步地针对MDC驱动并且由PHY同步地采样。 状态信息由PHY针对MDC同步驱动并由STA同步采样。

PHY 里面的部分寄存器是IEEE定义的,这样PHY把自己的目前的状态反映到寄存器里面,MAC 通过SMI 总线不断读取PHY 的状态寄存器以得知目前PHY 的状态。例如连接速度、双工的能力等。当然也可以通过SMI设置PHY的寄存器达到控制的目的。例如流控的打开关闭、自协商模式还是强制模式等。不论是物理连接的MII总线和SMI总线还是PHY的状态寄存器和控制寄存器都是由IEEE的规范的。因此不同公司的MAC和PHY一样可以协调工作。当然为了配合不同公司的PHY的自己特有的一些功能,驱动需要做相应的修改。

MII支持10Mbps和100Mbps的操作,一个接口由14根线组成,它的支持还是比较灵活的。但是有一个缺点是因为它一个端口用的信号线太多,如果一个8端口的交换机要用到112根线,16端口就要用到224根线,到32端口的话就要用到448根线。一般按照这个接口做交换机是不太现实的。所以现代的交换机的制作都会用到其它的一些从MII简化出来的标准,比如RMII、SMII、GMII等。

RMII(Reduced Media Independant Interface,简化媒体独立接口)是标准的以太网接口之一,比MII有更少的I/O传输。RMII口是用两根线来传输数据的,MII口是用4根线来传输数据的,GMII是用8根线来传输数据的。MII/RMII只是一种接口,对于10Mbps线速,MII的时钟速率是2.5MHz就可以了,RMII则需要5MHz;对于100Mbps线速,MII需要的时钟速率是25MHz,RMII则是50MHz。

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表示数据的优先级。

GMII是千兆网的MII接口,这个也有相应的RGMII接口,表示简化了的GMII接口。

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

  • 发送器:

  • 在千兆速率下,向PHY提供GTXCLK信号、TXD、TXEN、TXER信号与此时钟信号同步。否则在10/100Mbps速率下,PHY提供TXCLK时钟信号,其它信号与此信号同步。其工作频率为25MHz(100M网络)或2.5MHz(10M网络)。

  • ※GTXCLK——吉比特TX…信号的时钟信号(125MHz)

  • ※TXCLK——10/100Mbps信号时钟

  • ※TXD[7…0]——被发送数据

  • ※TXEN——发送器使能信号

  • ※TXER——发送器错误(用于破坏一个数据包)

  • 接收器:

  • ※RXCLK——接收时钟信号(从收到的数据中提取,因此与GTXCLK无关联)

  • ※RXD[7…0]——接收数据

  • ※RXDV——接收数据有效指示

  • ※RXER——接收数据出错指示

  • ※COL——冲突检测(仅用于半双工状态)

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

  • ※MDC——配置接口时钟

  • ※MDIO——配置接口I/O

おすすめ

転載: www.cnblogs.com/YINBin/p/10980731.html