以太网接口mac+phy(收发器)
以太网芯片MAC和PHY知识详解
网口扫盲三:以太网芯片MAC和PHY的关系问:如何实现单片以太网微控制器?答:诀窍是将微控制器、以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这种方案可使MAC和PHY实现很好的匹配,同时还可减小引脚数、缩小芯片面积.单片以太网微控制器还降低了功耗,特别是在采用掉电模式的情况下. 问:以太网MAC是什么?答:MAC即Media Access Control,即媒体访问控制子层协议.该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质.在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC层.该层协议是以太网MAC由IEEE-802.3以太网标准定义.最新的MAC同时支持10Mbps和100Mbps两种速率.以太网数据链路层其实包含MAC(介质访问控制)子层和LLC(逻辑链路控制)子层.一块以太网卡MAC芯片的作用不但要实现MAC子层和LLC子层的功能,还要提供符合规范的PCI界面以实现和主机的数据交换.MAC从PCI总线收到IP数据包(或者其他网络层协议的数据包)后,将之拆分并重新打包成最大1518Byte,最小64Byte的帧.这个帧里面包括了目标MAC地址、自己的源MAC地址和数据包里面的协议类型(比如IP数据包的类型用80表示).最后还有一个DWORD(4Byte)的CRC码. 可是目标的MAC地址是哪里来的呢?这牵扯到一个ARP协议(介乎于网络层和数据链路层的一个协议).第一次传送某个目的IP地址的数据的时候,先会发出一个ARP包,其MAC的目标地址是广播地址,里面说到:”谁是xxx.xxx.xxx.xxx这个IP地址的主人?”因为是广播包,所有这个局域网的主机都收到了这个ARP请求.收到请求的主机将这个IP地址和自己的相比较,如果不相同就不予理会,如果相同就发出ARP响应包.这个IP地址的主机收到这个ARP请求包后回复的ARP响应里说到:”我是这个IP地址的主人”.这个包里面就包括了他的MAC地址.以后的给这个IP地址的帧的目标MAC地址就被确定了.(其它的协议如IPX/SPX也有相应的协议完成这些操作.)IP地址和MAC地址之间的关联关系保存在主机系统里面,叫做ARP表,由驱动程序和操作系统完成.在Microsoft的系统里面可以用arp-a的命令查看ARP表.收到数据帧的时候也是一样,做完CRC以后,如果没有CRC效验错误,就把帧头去掉,把数据包拿出来通过标准的借口传递给驱动和上层的协议客栈,最终正确的达到我们的应用程序.还有一些控制帧,例如流控帧也需要MAC直接识别并执行相应的行为.以太网MAC芯片的一端接计算机PCI总线,另外一端就接到PHY芯片上,它们之间是通过MII 接口链接的.问:什么是MII?答:MII即媒体独立接口,它是IEEE-802.3定义的以太网行业标准."媒体独立"表明在不对MAC 硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作.它包括一个数据接口,以及一个MAC和PHY之间的管理接口.∙数据接口包括分别用于发送器和接收器的两条独立信道.每条信道都有自己的数据,时钟和控制信号.MII数据接口总共需要16个信号,包括TX_ER,TXD<3:0>,TX_EN,TX_CLK, COL,RXD<3:0>,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的自己特有的一些功能,驱动需要做相应的修改.MII支持10Mbps和100Mbps的操作,一个接口由14根线组成,它的支持还是比较灵活的,但是有一个缺点是因为它一个端口用的信号线太多,如果一个8端口的交换机要用到112根线,16端口就要用到224根线,到32端口的话就要用到448根线,一般按照这个接口做交换机,是不太现实的,所以现代的交换机的制作都会用到其它的一些从MII简化出来的标准,比如RMII,SMII,GMII等.RMII是简化的MII接口,在数据的收发上它比MII接口少了一倍的信号线,所以它一般要求是50MHz的总线时钟.RMII一般用在多端口的交换机,它不是每个端口安排收,发两个时钟,而是所有的数据端口公用一个时钟用于所有端口的收发,这里就节省了不少的端口数目.RMII的一个端口要求7个数据线,比MII少了一倍,所以交换机能够接入多一倍数据的端口.和MII一样,RMII支持10Mbps和100Mbps的总线接口速度.SMII是由思科提出的一种媒体接口,它有比RMII更少的信号线数目,S表示串行的意思.因为它只用一根信号线传送发送数据,一根信号线传输接受数据,所以为了满足100Mbps的总线接口速度的需求,它的时钟频率就达到了125MHz,为什么用125MHz,是因为数据线里面会传送一些控制信息.SMII一个端口仅用4根信号线完成100Mbps的传输,比起RMII差不多又少了一倍的信号线.SMII在工业界的支持力度是很高的.同理,所有端口的数据收发都公用同一个外部的125MHz时钟.GMII是千兆网的MII接口,这个也有相应的RGMII接口,表示简化了的GMII接口.MII总线在IEEE802.3中规定的MII总线是一种用于将不同类型的PHY与相同网络控制器(MAC)相连接的通用总线.网络控制器可以用同样的硬件接口与任何PHY .GMII(Gigabit MII)GMII采用8位接口数据,工作时钟125MHz,因此传输速率可达1000Mbps.同时兼容MII所规定的10/100 Mbps工作方式.GMII接口数据结构符合IEEE以太网标准.该接口定义见IEEE 802.3-2000.发送器:∙GTXCLK——吉比特TX..信号的时钟信号(125MHz)∙TXCLK——10/100Mbps信号时钟∙TXD[7..0]——被发送数据∙TXEN——发送器使能信号∙TXER——发送器错误(用于破坏一个数据包)注:在千兆速率下,向PHY提供GTXCLK信号,TXD,TXEN,TXER信号与此时钟信号同步.否则,在10/100Mbps速率下,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口是用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 表示数据的优先级!问:以太网PHY是什么?答:PHY是物理接口收发器,它实现物理层.IEEE-802.3标准定义了以太网PHY.包括MII/GMII(介质独立接口)子层,PCS(物理编码子层),PMA(物理介质附加)子层,PMD(物理介质相关)子层,MDI 子层.它符合IEEE-802.3k中用于10BaseT(第14条)和100BaseTX(第24条和第25条)的规范. PHY在发送数据的时候,收到MAC过来的数据(对PHY来说,没有帧的概念,对它来说,都是数据而不管什么地址,数据还是CRC.对于100BaseTX因为使用4B/5B编码,每4bit就增加1bit的检错码),然后把并行数据转化为串行流数据,再按照物理层的编码规则把数据编码,再变为模拟信号把数据送出去.收数据时的流程反之.PHY还有个重要的功能就是实现CSMA/CD的部分功能.它可以检测到网络上是否有数据在传送,如果有数据在传送中就等待,一旦检测到网络空闲,再等待一个随机时间后将送数据出去.如果两个碰巧同时送出了数据,那样必将造成冲突,这时候,冲突检测机构可以检测到冲突,然后各等待一个随机的时间重新发送数据.这个随机时间很有讲究的,并不是一个常数,在不同的时刻计算出来的随机时间都是不同的,而且有多重算法来应付出现概率很低的同两台主机之间的第二次冲突.许多网友在接入Internt宽带时,喜欢使用”抢线”强的网卡,就是因为不同的PHY碰撞后计算随机时间的方法设计上不同,使得有些网卡比较”占便宜”.不过,抢线只对广播域的网络而言的,对于交换网络和ADSL这样点到点连接到局端设备的接入方式没什么意义.而且”抢线”也只是相对而言的,不会有质的变化.现在交换机的普及使得交换网络的普及,使得冲突域网络少了很多,极大地提高了网络的带宽.但是如果用HUB,或者共享带宽接入Internet的时候还是属于冲突域网络,有冲突碰撞的.交换机和HUB最大的区别就是:一个是构建点到点网络的局域网交换设备,一个是构建冲突域网络的局域网互连设备.除此之外PHY还提供了和对端设备连接的重要功能并通过LED灯显示出自己目前的连接的状态和工作状态让我们知道.当我们给网卡接入网线的时候,PHY不断发出的脉冲信号检测到对端有设备,它们通过标准的”语言”交流,互相协商并却定连接速度、双工模式、是否采用流控等.通常情况下,协商的结果是两个设备中能同时支持的最大速度和最好的双工模式.这个技术被称为AutoNegotiation或者NWAY,它们是一个意思–自动协商.具体传输过程为,发送数据时,网卡首先侦听介质上是否有载波(载波由电压指示),如果有,则认为其他站点正在传送信息,继续侦听介质.一旦通信介质在一定时间段内(称为帧间缝隙IFG=9.6微秒)是安静的,即没有被其他站点占用,则开始进行帧数据发送,同时继续侦听通信介质,以检测冲突.在发送数据期间,如果检测到冲突,则立即停止该次发送,并向介质发送一个“阻塞”信号,告知其他站点已经发生冲突,从而丢弃那些可能一直在接收的受到损坏的帧数据,并等待一段随机时间(CSMA/CD确定等待时间的算法是二进制指数退避算法).在等待一段随机时间后,再进行新的发送.如果重传多次后(大于16次)仍发生冲突,就放弃发送.接收时,网卡浏览介质上传输的每个帧,如果其长度小于64字节,则认为是冲突碎片.如果接收到的帧不是冲突碎片且目的地址是本地地址,则对帧进行完整性校验,如果帧长度大于1518字节(称为超长帧,可能由错误的LAN驱动程序或干扰造成)或未能通过CRC校验,则认为该帧发生了畸变.通过校验的帧被认为是有效的,网卡将它接收下来进行本地处理.问:造成以太网MAC和PHY单片整合难度高的原因是什么?答:PHY整合了大量模拟硬件,而MAC是典型的全数字器件.芯片面积及模拟/数字混合架构是为什么先将MAC集成进微控制器而将PHY留在片外的原因.更灵活、密度更高的芯片技术已经可以实现MAC和PHY的单芯片整合.问: 网卡上除RJ-45接口外,还需要其它元件吗?答:PHY和MAC是网卡的主要组成部分,网卡一般用RJ-45插口,10M网卡的RJ-45插口也只用了1,2,3,6四根针,而100M或1000M网卡的则是八根针都是全的.除此以外,还需要其它元件,因为虽然PHY提供绝大多数模拟支持,但在一个典型实现中,仍需外接6,7只分立元件及一个局域网绝缘模块.绝缘模块一般采用一个1:1的变压器.这些部件的主要功能是为了保护PHY 免遭由于电气失误而引起的损坏.另外,一颗CMOS制程的芯片工作的时候产生的信号电平总是大于0V的(这取决于芯片的制程和设计需求),但是这样的信号送到100米甚至更长的地方会有很大的直流分量的损失.而且如果外部网线直接和芯片相连的话,电磁感应(打雷)和静电,很容易造成芯片的损坏.再就是设备接地方法不同,电网环境不同会导致双方的0V电平不一致,这样信号从A传到B,由于A 设备的0V电平和B点的0V电平不一样,这样会导致很大的电流从电势高的设备流向电势低的设备.为了解决以上问题Transformer(隔离变压器)这个器件就应运而生.它把PHY送出来的差分信号用差模耦合的线圈耦合滤波以增强信号,并且通过电磁场的转换耦合到连接网线的另外一端.这样不但使网线和PHY之间没有物理上的连接而换传递了信号,隔断了信号中的直流分量,还可以在不同0V电平的设备中传送数据.隔离变压器本身就是设计为耐2KV~3KV的电压的.也起到了防雷感应(我个人认为这里用防雷击不合适)保护的作用.有些朋友的网络设备在雷雨天气时容易被烧坏,大都是PCB设计不合理造成的,而且大都烧毁了设备的接口,很少有芯片被烧毁的,就是隔离变压器起到了保护作用.隔离变压器本身是个被动元件,只是把PHY的信号耦合了到网线上,并没有起到功率放大的作用.那么一张网卡信号的传输的最长距离是谁决定的呢?一张网卡的传输最大距离和与对端设备连接的兼容性主要是PHY决定的.但是可以将信号送的超过100米的PHY其输出的功率也比较大,更容易产生EMI的问题.这时候就需要合适的Transformer与之配合.作PHY的老大公司Marvell的PHY,常常可以传送180~200米的距离,远远超过IEEE的100米的标准.RJ-45的接头实现了网卡和网线的连接.它里面有8个铜片可以和网线中的4对双绞(8根)线对应连接.其中100M的网络中1,2是传送数据的,3,6是接收数据的.1,2之间是一对差分信号,也就是说它们的波形一样,但是相位相差180度,同一时刻的电压幅度互为正负.这样的信号可以传递的更远,抗干扰能力强.同样的,3,6也一样是差分信号.网线中的8根线,每两根扭在一起成为一对.我们制作网线的时候,一定要注意要让1,2在其中的一对,3,6在一对.否则长距离情况下使用这根网线的时候会导致无法连接或连接很不稳定. 现在新的PHY支持AUTO MDI-X功能(也需要Transformer支持).它可以实现RJ-45接口的1,2上的传送信号线和3,6上的接收信号线的功能自动互相交换.有的PHY甚至支持一对线中的正信号和负信号的功能自动交换.这样我们就不必为了到底连接某个设备需要使用直通网线还是交叉网线而费心了.这项技术已经被广泛的应用在交换机和SOHO路由器上.在1000Basd-T网络中,其中最普遍的一种传输方式是使用网线中所有的4对双绞线,其中增加了4,5和7,8来共同传送接收数据.由于1000Based-T网络的规范包含了AUTOMDI-X功能,因此不能严格确定它们的传出或接收的关系,要看双方的具体的协商结果.一片网卡主要功能的实现就基本上是上面这些器件了.其他的,还有一颗EEPROM芯片,通常是一颗93C46.里面记录了网卡芯片的供应商ID,子系统供应商ID,网卡的MAC地址,网卡的一些配置,如SMI总线上PHY的地址,BOOTROM的容量,是否启用BOOTROM引导系统等东西.很多网卡上还有BOOTROM这个东西.它是用于无盘工作站引导操作系统的.既然无盘,一些引导用必需用到的程序和协议栈就放到里面了,例如RPL,PXE等.实际上它就是一个标准的PCI ROM.所以才会有一些硬盘写保护卡可以通过烧写网卡的BootRom来实现.其实PCI设备的ROM是可以放到主板BIOS里面的.启动电脑的时候一样可以检测到这个ROM并且正确识别它是什么设备的.AGP在配置上和PCI很多地方一样,所以很多显卡的BIOS也可以放到主板BIOS里面.这就是为什么板载的网卡我们从来没有看到过BOOTROM的原因.最后就是电源部分了.大多数网卡现在都使用3.3V或更低的电压.有的是双电压的.因此需要电源转换电路.而且网卡为了实现Wake on line功能,必须保证全部的PHY和MAC的极少一部分始终处于有电的状态,这需要把主板上的5V Standby电压转换为PHY工作电压的电路.在主机开机后,PHY 的工作电压应该被从5V转出来的电压替代以节省5V Standby的消耗.(许多劣质网卡没有这么做).有Wake on line功能的网卡一般还有一个WOL的接口.那是因为PCI2.1以前没有PCI设备唤醒主机的功能,所以需要着一根线通过主板上的WOL的接口连到南桥里面以实现WOL的功能.新的主板合网卡一般支持PCI2.2/2.3,扩展了PME#信号功能,不需要那个接口而通过PCI总线就可以实现唤醒功能.我们现在来看两个图MAC和PHY分开的以太网卡MAC和PHY集成在一颗芯片的以太网卡上图中各部件为:①RJ-45接口②Transformer(隔离变压器)③PHY芯片④MAC芯片⑤EEPROM⑥BOOTROM插槽⑦WOL接头⑧晶振⑨电压转换芯片⑩LED指示灯网卡的功能主要有两个:一是将电脑的数据封装为帧,并通过网线(对无线网络来说就是电磁波)将数据发送到网络上去;二是接收网络上其它设备传过来的帧,并将帧重新组合成数据,发送到所在的电脑中.网卡能接收所有在网络上传输的信号,但正常情况下只接受发送到该电脑的帧和广播帧,将其余的帧丢弃.然后,传送到系统CPU做进一步处理.当电脑发送数据时,网卡等待合适的时间将分组插入到数据流中.接收系统通知电脑消息是否完整地到达,如果出现问题,将要求对方重新发送.问:10BaseT和100BaseTX PHY实现方式不同的原因何在?答:两种实现的分组描述本质上是一样的,但两者的信令机制完全不同.其目的是阻止一种硬件实现容易地处理两种速度.10BaseT采用曼彻斯特编码,100BaseTX采用4B/5B编码.问:什么是曼彻斯特编码?答:曼彻斯特编码又称曼彻斯特相位编码,它通过相位变化来实现每个位(图2).通常,用一个时钟周期中部的上升沿表示“1”,下降沿表示“0”.周期末端的相位变化可忽略不计,但有时又可能需要将这种相位变化计算在内,这取决于前一位的值.问:什么是4B/5B编码?答:4B/5B编码是一种块编码方式.它将一个4位的块编码成一个5位的块.这就使5位块内永远至少包含2个“1”转换,所以在一个5位块内总能进行时钟同步.该方法需要25%的额外开销. 问:网卡的MAC和PHY间的关系?答:网卡工作在osi的最后两层,物理层和数据链路层,物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口.物理层的芯片称之为PHY.数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能.以太网卡中数据链路层的芯片称之为MAC控制器.很多网卡的这两个部分是做到一起的.他们之间的关系是pci总线接mac总线,mac接phy,phy接网线(当然也不是直接接上的,还有一个变压装置).PHY和MAC之间是如何传送数据和相互沟通的.通过IEEE定义的标准的MII/GigaMII(Media Independed Interfade,介质独立界面)界面连接MAC和PHY.这个界面是IEEE定义的.MII界面传递了网络的所有数据和数据的控制.ETHERNET的接口实质是MAC通过MII总线控制PHY的过程.问:网线上传输的是模拟信号还是数字信号?答:是模拟信号.因为它传出和接收是采用的模拟的技术.虽然它传送的信息是数字的(并不是传送的信息是数字的信号就可以叫做数字信号).简单的例子:我们知道电话是模拟信号,但是当我们拨号上网的时候,电话线里传送的是数字信息,但信号本身依旧是模拟的.然而ADSL同样是通过电话线传送的,却是数字信号.这取决于它传出和接受采用的技术.问:若操作系统没有加载网卡驱动,网卡虽然在系统设备树上,但网卡接口创建不了,那网卡实际能不能接收到数据?答:这里面有很多细节, 我根据Intel网卡的Spec大概写了写, 想尽量写的通俗一些,所以没有刻意用Spec里的术语,另外本文虽然讲的是MAC/PHY,但光口卡的(SERDES)也是类似的.1.PCI设备做reset以后进入D0uninitialized(非初始化的D0状态, 参考PCI电源管理规范),此时网卡的MAC和DMA都不工作,PHY是工作在一个特殊的低电源状态的;2.操作系统创建设备树时,初始化这个设备,PCI命令寄存器的Memory Access Enable orthe I/O Access Enable bit会被enable, 这就是D0active.此时PHY/MAC就使能了;3.PHY被使能应该就可以接收物理链路上的数据了,否则不能收到FLP/NLP, PHY就不能建立物理连接.但这类包一般是流量间歇发送的;4.驱动程序一般要通过寄存器来控制PHY, 比如自动协商speed/duplex, 查询物理链路的状态Link up/down;5.MAC被使能后, 如果没有驱动设置控制寄存器的一个位(CTRL.SLU )的话, MAC和PHY是不能通讯的, 就是说MAC不知道PHY的link已经ready, 所以收不到任何数据的.这位设置以后, PHY完成自协商, 网卡才会有个Link change的中断,知道物理连接已经Link UP了;6.即使Link已经UP, MAC还需要enable接收器的一个位(RCTL.RXEN ),包才可以被接收进来,如果网卡被reset,这位是0,意味着所有的包都会被直接drop掉,不会存入网卡的FIFO.老网卡在驱动退出前利用这位关掉接收.Intel的最新千兆网卡发送接收队列的动态配置就是依靠这个位的,重新配置的过程一定要关掉流量;7.无论驱动加载与否, 发生reset后,网卡EEPOM里的mac地址会写入网卡的MAC地址过滤寄存器, 驱动可以去修改这个寄存器,现代网卡通常支持很多MAC地址,也就是说,MAC地址是可以被软件设置的.例如,Intel的千兆网卡就支持16个单播MAC地址,但只有1个是存在EEPROM里的,其它是软件声称和设置的;8.但如果驱动没有加载,网卡已经在设备树上,操作系统完成了步骤1-2的初始化,此时网卡的PHY应该是工作的,但因为没有人设置控制位(CTRL.SLU)来让MAC和PHY建立联系,所以MAC是不收包的.这个控制位在reset时会再设置成0;9.PHY可以被软件设置加电和断电, 断电状态除了接收管理命令以外,不会接收数据.另外,PHY还能工作在Smart Power Down模式下,link down就进入省电状态;10.有些多口网卡,多个网口共享一个PHY, 所以BIOS里设置disbale了某个网口, 也未必会把PHY的电源关掉,反过来,也要小心地关掉PHY的电源;11.要详细了解PHY,最终还是要熟悉IEEE以太网的相关协议.。
关于mac与phy连接的标准
关于mac与phy连接的标准
MAC与PHY连接的标准是MII(Media Independent Interface),即媒体独立接口。
它是定义的以太网行业标准,用于MAC与PHY之间的连接。
MII接口提供了MAC与PHY之间、PHY与STA(Station Management)之间的互联技术。
媒体独立表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。
MII接口包括一个数据接口和一个
管理接口,其中管理接口用于在MAC和PHY之间传递配置信息。
MII接口的信号包括发送端信号、接收端信号和配置信号。
发送端信号包括TXCLK、TXD[0-3]、TXEN和TXER,接收端信号包括RXCLK、RXD[0-3]、RXDV、RXER、CRS和COL,配置信号包括MDIO和MDC。
除了MII接口,还有其它变种接口,如RMII(Reduced Media Independent Interface)接口。
相比于MII接口,RMII接口进行了以下改变:将TXCLK和RXCLK两个时钟信号合并为一个时钟REFCLK,时钟速率由25MHz上升到50MHz,单向数据由4 bits变为2 bits,CRS和RXDV
合并为一个信号CRSDV,取消了COL信号。
RMII接口只有9根信号线,
相比于MII的18根信号线有大幅删减,并且在同一个系统中的多个设备可
以共享MDIO、MDC和REFCLK信号线。
以上内容仅供参考,如需更多信息,建议查阅以太网技术的相关书籍或咨询网络技术人员。
Ethernet-基础知识
Ethernet基础知识之一一、网卡、MAC控制器和MAC地址提到MAC不得不涉及网卡的工作原理,网卡工作在OSI参考模型的数据链路层和网络层。
这里又出现了一个概念“OSI参考模型”,在这个模型中定义了网络通讯是分层的,分别是物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。
以太网数据链路层其实包含MAC(介质访问控制)子层和LLC (逻辑链路控制)子层。
物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。
数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。
以太网卡中数据链路层的芯片一般简称之为MAC控制器,物理层的芯片简称之为PHY。
许多网卡的芯片把MAC和PHY的功能做到了一颗芯片中,比如Intel 82559网卡的和3COM3C905网卡。
但是MAC和PHY的机制还是单独存在的,只是外观的表现形式是一颗单芯片。
当然也有很多网卡的MAC和PHY是分开做的,比如D-LINK的DFE-530TX等。
通常提到的MAC指狭义的MAC地址,其实在网卡中,一块以太网卡MAC芯片的作用不但要实现MAC 子层和LLC子层的功能,还要提供符合规范的PCI界面以实现和主机的数据交换。
以太网MAC芯片的一端接计算机PCI总线,另外一端就接到PHY芯片上。
MAC从PCI总线收到IP数据包(或者其他网络层协议的数据包)后,将之拆分并重新打包成最大1518Byte,最小64Byte的帧。
这个帧里面包括了目标MAC地址、自己的源MAC地址和数据包里面的协议类型(比如IP数据包的类型用80表示)。
最后还有一个DWORD(4Byte)的CRC码。
网卡上有一颗EEPROM芯片,通常是一颗93C46。
里面记录了网卡芯片的供应商ID、子系统供应商ID、网卡的MAC地址、网卡的一些配置,如SMI总线上PHY的地址,BOOTROM的容量,是否启用BOOTROM引导系统等东西。
具有以太网MAC+PHY的ARMCortex-M4 MCU
Ti v a TM4 C1 2 9 x M Cu 提 供非 常 多个事件 :如 照 明、传感 、运 动 、显 功能 :并 可通过 关键密 钥加密 /解 密 丰 富的 同步连接 选项 ,以及 片上数据 示与开 关等 ,从而 可使用传 感器聚 合 功能 与循环 冗余检验( C R C) 的硬件加 保护与L C D 控制 器,不仅可显著节省 功能 支持 1 0 个I C 端 口、2 个快速准 确 速 来减少 处理开 销 ;使 用防篡 改保 护 板级 空 间 ,还可 实现高 级互联 应用 , 的1 2 位模数转换 器( AD C) 、2 个正交编 输入 及其 相关功 能监控并 记录 外部 事
C1 2 9 x 产 品 系 列 支持 引脚 对 引脚 安 全接 入系统 以及可 编程逻辑 控制 器 TM4
等应用需求 。
兼 容 ,可 充 分 满 足 不 同应 用 存 储 器 的
电话 :8 0 0 — 8 2 0 — 8 6 8 2
翱 £ f p : # www . t i C O n r C n
特性 与优势 :可 控制输 出并管 理 需求 ;为应 用新增 数据 与防篡 改保护
智能照明L E D 灯驱动器l C f
i W6 4 0 1 是 一 款 高 度 通 用 型 离 线 块 , 支 持 通 过 Le d O t r o 1 2 调 光 协 议 进 的前 端 电 源 。 当 使 用 一 个 外 设 控 制 器
个片 上比较器、外部外设 件 ,调 用 相 应 行 为 ,可 进 一 步 确 保 重 充 分满足 家庭 /楼宇 自动化 网关 、人 码 器输 入 、3
机 界面( HM I ) 、网络化传 感器 网关 、 接 口以及高级脉宽调制 PwM) 输 出;
第15章_三速Ethnernet控制器_mpc83xx中文手册
图15-1
Ethernet协议与OSI协议栈的比较
� � �
千兆位Ethernet提供下列子层: 介质访问控制 (MAC) 子层——MAC子层在MAC与其对等站点之间提供一条逻辑连接, 其主要任务是初始化、控制和管理对等站点之间的连接。 调和子层——调和子层担当命令翻译器。它把MAC子层中使用的术语和命令映射成适 合于物理层实体的电气形式。 MII(介质独立接口)子层——MII子层MAC层和物理层之间的标准接口,支持10/100M
� �
�
� �
操作。它将MAC层和物理层分离,使得MAC层可以用于各种物理层实现。 GMII (千兆位介质独立接口) 子层——GMII子层提供MAC层和物理层之间的标准接口, 支持1Gbps操作。它将MAC层和物理层分离,使得MAC层可以用于各种物理层实现。 PCS(物理编码子层)——PCS负责对进入和离开MAC子层的数据流进行编码和解码。 介质(1000BASEX)8B/10B编码用于光纤,介质(1000BASET)8B/1Q编码用于无屏 蔽双绞线(UTP) 。 PMA(物理介质连接)子层——PMA负责将码组串行化为适合于位串行物理设备 (SerDes)的位流,或相反。为保证正确数据解码,该子层还要实现同步。PMA位于 PCS和PMD子层之间。 对于光纤介质 (1000BASEX) , PMA PMD端的接口是1位1250MHz 的信号,而在PMA PCS端的接口是125MHz的10位接口(TBI 10-bit interface) 。TBI是 GMII接口的一个备选方案。如果使用TBI,千兆位Ethernet控制器就必须能执行PCS功 能。对于UTP介质,PMA PMD端的接口由四对62.5MHz、PAM5编码的信号组成,PCS 端则向8B1Q4 PCS提供1250MHz的输入。 PMD(物理介质依赖)子层——PMD子层负责信号传输。典型的PMD功能包括放大、 调制和波形整形。不同的PMD设备支持不同的介质。 MDI(介质依赖接口)子层——MDI是一个连接器,它为不同的物理介质和PMD设备 定义不同的连接器。 图15-2描述了不同的物理层接口标准。
SGMII RGMII
SGMII RGMIIsgmii-rgmiimii、gmii、rmii、sgmii、xgmiimii即媒体独立接口,也叫介质无关接口。
它是ieee-802.3定义的以太网行业标准。
它包括一个数据接口,以及一个mac和phy之间的管理接口(图1)。
数据接口包括分别用于发送器和接收器的两条独立信道。
每条信道都有自己的数据、时钟和控制信号。
mii数据接口总共需16个信号。
管理接口是个双信号接口:一个是时钟信号,另一个是数据信号。
通过管理接口,上层能监视和控制phy。
MII标准接口用于连接快速以太网MAC块和PHY。
“媒体独立”意味着任何类型的phy 设备都可以在不重新设计或更换MAC硬件的情况下工作。
在其他速度下工作的MII等效接口有AUI(10M以太网)、gmii(千兆以太网)和XAUI(万兆以太网)。
信息产业部巴士在ieee802.3中规定的mii总线是一种用于将不同类型的phy与相同网络控制器(mac)相连接的通用总线。
网络控制器可以用同样的硬件接口与任何phygmii(gigabitmii)Gmii是一种8位并行同步收发器接口,采用8位接口数据和125MHz工作时钟,传输速率可达1000Mbps。
同时与MII规定的10/100Mbps工作模式兼容。
gmii接口的数据结构符合IEEE以太网标准。
有关此接口3-2000的定义,请参见IEEE 802.01。
变送器:◇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网络)。
yt8531c原理
yt8531c原理
YT8531C是一款高度集成的以太网收发器,符合10BASE-Te、100BASE-TX和1000BASE-T IEEE 标准。
该收发器通过CAT5E UTP电缆传输和接收以太网数据包,采用了最先进的DSP技术和模拟前端(AFE),以实现高速数据传输和接收。
YT8531C实现了交叉检测和自动校正、极性校正、自适应均衡、串扰消除、回声消除、定时恢复和纠错等功能,以提供强大的10Mbps、100Mbps或1000Mbps传输和接收能力。
MAC和PHY之间的数据传输是通过
1000BASE-T、100BASE-TX和10BASE-Te的精简千兆位媒体独立接口(RGMII)。
此外,YT8531C支持各种RGMII信号电压,包括、和。
它还具有称为
LRE100-4的Motorcomm专有功能,使该设备能够在扩展电缆范围应用
中(最长400米的CAT5E电缆),以100Mbps的收发速率,与符合
LRE100-4标准的链路伙伴进行自动协商并连接。
以上信息仅供参考,建议咨询专业人士获取更具体准确的信息。
MAC & PHY 学习
MAC & PHY 学习MAC和PHY工作在OSI的最后两层,数据链路层和物理层。
以太网MAC(媒体接入控制器),由IEEE-802.3以太网标准定义。
它实现了一个数据链路层。
最新的MAC支持10Mbps和100Mbps两种速率,实现MII,RGMII,GMII等接口。
在发送数据的时候,MAC协议事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC 协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC 层。
以太网PHY(物理接口收发器),由IEEE-802.3以太网标准定义。
它实现了物理层。
包括MII/GMII(媒体独立接口)子层、PCS(物理编码子层)、PMA(物理媒体附加)子层。
PMD (物理介质相关)子层,MDI子层。
PHY对所有传输的数据只是进行编码转化,没有对有效数据信号进行任何分析或改变。
但是,所有有的数据传输都必须经过PHY 发送和接收才会传输到目标MAC。
此外,PHY还可以完成连接判断,自动协商以及冲突检测。
MAC可以通过修改PHY的寄存器完成对自动协商的监控,当然也可以读取PHY 的寄存器来判断PHY 的状态。
例如100BseTX,它采用4B/5B编码。
PHY在发送数据的时候,收到MAC过来的数据,每4bit就增加1bit的检错码,然后把并行数据转化为串行流数据,再按照物理层的编码规则把数据编码后,以模拟信号形式把数据送出去。
MAC和PHY的架构及接口关系如下图所示:PHY 工作在10Mbps 时和工作在100Mbps 时,其需要的功能不同。
目前的10/100M PHY 是将其做到了一起,内部都是由PCS/PMA/PMD及媒体无关接口MDI接口组成的。
只不过是当PHY 工作在10Mbps 时,有些功能没有用到。
物理编码子层PCS(PHYSICAL CODING SUBLAYER):在100BASE-X 模式时,提供RMII 接口、4B/5B 编码、串并转换以及冲突检测功能,同时只要TxEN 无效就提供“idle”信号给PMD 层。
MAC和PHY组成原理
MAC和PHY组成原理MAC (Media Access Control) 和 PHY (Physical Layer) 是组成网络通信系统的两个重要组成部分。
MAC 层位于 OSI 参考模型的第二层,负责控制数据的接入和传输。
PHY 层位于 OSI 参考模型的第一层,负责处理数据的物理层面的传输。
MAC 层主要负责数据链路层的协议操作,包括数据帧的组装、帧的发送和接收、以太网地址的管理等功能。
MAC 层的主要目的是为多个设备之间提供数据传输的可靠性和高效性。
MAC 层使用了不同的访问控制方法,如 CSMA/CD (Carrier Sense Multiple Access with Collision Detection) 或 CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance),来确保数据的正常传输。
PHY层主要负责信号的调制、解调、编解码等物理层面的操作。
PHY层将数据转换成适合在物理介质上传输的信号,并在接收端将收到的信号还原为数据。
PHY层的功能包括信号的调制、功率控制、误码率的监测和纠错等。
除了有线通信,PHY层也负责处理无线通信中的信号传输,如无线局域网(WLAN)或蓝牙等。
MAC和PHY之间通过接口来进行通信和协调工作。
MAC层将数据帧传递给PHY层并控制数据的发送和接收,同时PHY层将物理层面的信息传递给MAC层进行处理。
这种分层设计使得网络系统可以更加灵活和可扩展,不同的MAC层可以和不同的PHY层组合使用,以适应不同类型的网络需求。
在实际应用中,MAC 层通常与PHY 层共同组成一个网络接口,如以太网接口、Wi-Fi 接口等。
以太网接口通常由以太网控制器 (Ethernet Controller) 来实现 MAC 层的功能,而PHY 层则由以太网收发器(Ethernet Transceiver) 来实现。
以太网原理MAC和PHY
以太网原理MAC和PHY以太网(Ethernet)是一种计算机网络技术,用于在局域网(LAN)中进行数据传输。
它是一种广泛应用的网络协议,其主要优势是简单、可靠和成本低廉。
以太网协议包含两个关键组成部分:媒体访问控制(MAC)子层和物理层(PHY)。
物理层(PHY)负责将以太网帧从数据链路层传输到实际的物理媒体上。
它的主要任务是将数字数据转换为电气信号,然后通过传输媒介传送。
物理层使用一些特定的编码和调制技术来解决数据在物理媒体上的传输问题。
这些技术包括编码、调制解调和时钟恢复等。
物理层还负责定义信道的特性和接口标准,包括电压电平、数据传输速率、传输介质类型和连接器类型等。
这种标准确保了不同厂商的网络设备能够相互兼容工作。
例如,10BASE-T以太网使用了双绞线作为传输介质,传输速率为10Mbps。
而1000BASE-T以太网使用了Cat 5e或Cat 6双绞线作为传输介质,传输速率为1Gbps。
物理层还处理一些错误检测和纠正机制,以确保数据的可靠传输。
例如,以太网使用了冗余检验码(CRC)来检测帧中的传输错误。
如果接收端检测到错误,它会向发送端发送一个特殊的信号,要求重新发送数据。
这种机制确保了数据在传输过程中的完整性和准确性。
与物理层相对应的是媒体访问控制(MAC)子层。
MAC子层的主要任务是实现数据帧的分组、发送和接收。
它根据接收到的数据帧的目的地址进行过滤,并将所接收到的数据传递给上层的网络协议栈。
同时,MAC子层还负责将数据帧分组,并在物理层上以合适的方式发送出去。
MAC子层使用了一种称为CSMA/CD的访问控制协议,即载波监听多点接入/冲突检测。
CSMA/CD协议要求发送端在发送数据之前先监听信道,以确保没有其他设备正在传输数据。
如果检测到信道中有其他设备正在传输数据,发送端会等待一段时间后重新发送。
这种机制可以解决多个设备同时访问网络时的冲突问题。
MAC子层还负责对数据帧进行封装和解封装。
以太网收发器工作原理及其信号质量测试综述
以太网简介
CSMA/CD协议的基本思想
每站在发送数据前,先监听信道是否空闲;若是,则发送 数据,并继续监听下去,一旦监听到冲突,立即停止发送 ,并在短时间内连续向信道发出一串阻塞信号(JAM)强 化冲突,如果信道忙,则暂不发送,退避一随机时间后再 尝试。 CSMA/CD协议在CSMA协议基础上增加了发送期间检测 冲突的功能。其最大特点是“先听后说,边说边听”。该 协议已被IEEE 802委员会采纳,并以此为依据制定了IEEE 802.3标准。 CSMA/CD协议同样可分为非坚持、1坚持和p坚持3种。 以太网通常采用非分隙1坚持CSMA/CD。 。
以太网收发器工作原理详解
• 在OSI 的7 层基准模型中我们使用的PHY属于第一层--物理层( PHY) 。物理层协议可定义电气信号、线的状态、时钟要求、数据编码和数 据传输用的连接器。数据链路层可以通过定义好的接口而与物理层通 话。例如MAC可以利用介质无关性接口( MII)与PHY进行数据交换。 • • • • 的基本作用: 对端口LINK 状态的判断; 自动协商,当然MAC 可以修改PHY 的寄存器间接控制 完成MII(RMII)数据和串行数据流之间的转化:包括4B/5B 的 编码的转化(不包括10BASET);串并转换;最后转换成低压信 号,根据端口不同的工作模式,转换方式也有所不同。例如在 100BASE-T 下是MLT-3;在10BASE-T 下是曼彻斯特编码 • (4) 在MII 的工作方式下,完成冲突检测。若是工作于RMII 模式下 则此项任务由MAC 完成。 PHY (1) (2) (3)
以太网简介
• 按照网络传输速率可以分为10BASE-T、100BASE-T、 1000BASE-T 。 • 以太网物理层传输介质双绞线可分为非屏蔽双绞线(UTP) 和屏蔽双绞线(STP),现在使用的UTP可分为3类、4类、五
5.1.9 以太网(Ethernet MAC)模块[共3页]
Virtex-6内部模块155 5.1.8 GTH 模块Vrtex-6 HXT 器件内的GTH 模块比GTX 有更高的线速率,用它可以实现最高性能的高速串行收发器。
GTH 具有如下特性。
∙ 灵活的SERDES 支持多速率应用。
∙ 实现40G 和100G 协议等。
∙ 功能强大的发射预加重和接收均衡器。
∙ 集成式“变速箱”实现了灵活编码:8B/10B 、64B/66B 。
∙ 低功耗:~220mW (典型值)@10.3125Gbit/s 。
∙ 符合常见标准的要求,如10/40/100G 以太网、PCI Express 、OC-48、XAUI 、SRIO 和HD-SDI 。
5.1.9 以太网(Ethernet MAC )模块Virtex-6器件内置以太网MAC ,不需要消耗可编程逻辑资源即可提供无缝的芯片到芯片连接。
以太网媒体访问控制器(MAC )内核支持10/100/1000Mbit/s 数据速率,兼容UNH 验证标准并且具有互操作能力,设计符合IEEE 802.3规范的要求,可以单独运行在1000Mbit/s 、100Mbit/s 和10Mbit/s 模式,或者配置成三态模式。
支持IEEE 标准的MII 、GMII 和RGMII 协议,减少外部物理接口的总线宽度。
图5-38所示为以太网MAC 的结构框图。
图5-38 以太网MAC 的结构框图主机可以通过主机总线或者设备控制寄存器(DCR )总线与以太网MAC 互联。
物理接口能配置成MII 、GMII 、RGMII 、SGMII 或100BASE-X ,但是根据所选择的物理接口配置,只有一套TX 和RX 接口被激活。
EMAC 有一个可选的管理数据输入/输出接口(MDIO ),可以访问外部PHY 的管理寄存器和EMAC 内部的物理接口管理寄存器(仅在1000BASE-X 或SGMII 模式配置下有效)。
EMAC 输出统计向量包含了以太网发送和接收数据通路上的帧信息。
车用以太网通讯技术规范(物理层和数据链路层)
车用以太网通讯技术规范——物理层&数据链路层目录1 范围 (1)2 符号和缩写 (1)3 技术要求 (2)车用以太网通讯技术规范——物理层&数据链路层1范围本规范要求适用于高速以太网网络项目。
2符号和缩写2.1以太网通讯图1介绍了需要在以太网ECU中基于所需功能实现的OSI标准中的协议及其位置,本文档重点介绍物理层(OSI第1层)和数据链路的MAC层(OSI第2层)。
MAC图 1 车载以太网协议3技术要求3.1物理层物理端口分为100BASE-T1和100BASE-TX,其用途如表1所示。
3.1.1100BASE-T1物理层通信架构主要由PHY收发器、MDI接口和100BASE-T1信道3部分组成。
100BASE-T1信道包含ECU连接器、线缆和串联连接器。
图2介绍了在100BASE-T1的物理层架构下两个ECU在PHY级别进行通信所需的不同元件。
图 2 通信架构在设计时,必须满足基本要求:链路启动时间应低于100 ms(从正常上电至物理层正常工作时间)。
3.1.1.1信道100BASE-T1信道必须满足以下要求:a)信道总长度(不含支线)不大于15m;b)串联连接器不大于4个。
3.1.1.1.1线缆以太网总线的物理介质必须达到以下技术要求:a)以太网线束可以采用非屏蔽双绞线或者屏蔽双绞线,本标准推荐使用非屏蔽双绞线(UTP);b)非屏蔽双绞线可以有护套或无护套,推荐使用带护套线缆。
如果使用带护套线缆,在局部无线束护套的地方使用螺纹管实现阻抗匹配;c)隔离材料不应使用PVC线缆,应使用PP或者类似材料;d)双绞线物理介质参数具体限值见表2。
3.1.1.1.2连接器本规范中的连接器包含了串联连接器和ECU连接器,为了保证以太网通信,连接器必须满足表3和以下要求:a)接插件连接情况下,线缆未双绞部分长度<30mm;b)直角连接(线与接插件平行,需要直角连接)时,1个信号线需要按照最短的距离连接;c)直线连接(线与接插件垂直,直线连接)时,芯线长度差异<1mm;d)在无线束护套的地方使用的螺纹管需要和阻抗匹配。
MAC和PHY的关系
关于以太网的MAC和PHY2007-12-05 16:41问:如何实现单片以太网微控制器?答:诀窍是将微控制器、以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件。
这种方案可使MAC和PHY实现很好的匹配,同时还可减小引脚数、缩小芯片面积。
单片以太网微控制器还降低了功耗,特别是在采用掉电模式的情况下。
问:以太网MAC是什么?答:MAC就是媒体接入控制器。
以太网MAC由IEEE-802.3以太网标准定义。
它实现了一个数据链路层。
最新的MAC同时支持10Mbps和100Mbps两种速率。
通常情况下,它实现MII接口。
问:什么是MII?答:MII即媒体独立接口,它是IEEE-802.3定义的以太网行业标准。
它包括一个数据接口,以及一个MAC和PHY之间的管理接口(图1)。
数据接口包括分别用于发送器和接收器的两条独立信道。
每条信道都有自己的数据、时钟和控制信号。
MII数据接口总共需要16个信号。
管理接口是个双信号接口:一个是时钟信号,另一个是数据信号。
通过管理接口,上层能监视和控制PHY。
问:以太网PHY是什么?答:PHY是物理接口收发器,它实现物理层。
IEEE-802.3标准定义了以太网PHY。
它符合IEEE-802.3k中用于10BaseT(第14条)和100BaseTX(第24条和第25条)的规范。
问:造成以太网MAC和PHY单片整合难度高的原因是什么?答:PHY整合了大量模拟硬件,而MAC是典型的全数字器件。
芯片面积及模拟/数字混合架构是为什么先将MAC集成进微控制器而将PHY留在片外的原因。
更灵活、密度更高的芯片技术已经可以实现MAC和PHY的单芯片整合。
问:除RJ-45接口外,还需要其它元件吗?答:需要其它元件。
虽然PHY提供绝大多数模拟支持,但在一个典型实现中,仍需外接6、7只分立元件及一个局域网绝缘模块。
绝缘模块一般采用一个1:1的变压器。
这些部件的主要功能是为了保护PHY免遭由于电气失误而引起的损坏。
关于万兆以太网标准
万兆以太网标准关于万兆以太网标准万兆以太网物理层规格在IEEE 中定义了万兆以太网物理层规格(PHY)和支持光模块,如下图所示(左)。
在以太网标准中,光模块被正式定义为一种物理媒体依赖接口(PMD)。
右图显示了PMD、PHY和MAC(媒体访问控制)在交换路由器板卡上的逻辑设计。
万兆以太网MAC(右图)在服务接口(向PHY)以10Gb/s的速率运行,在MAC PHY层之间适应速率,通过调试Inter-Packet Gaps (IPG)以适应LAN PHY 和WAN PHY的略有不懂的数据速率。
速率适应机制在IEEE 中叫做Open Loop Control。
Stack Diagram of 10GE PHYS & PMDs Typical Switch Card Layout万兆以太网物理层规格(PHY)为:连续LAN PHY连续物理层由64b/66b多媒体数字信号编解码器(译码/解码)配置和serializer/deserializer (SerDes)组成。
64b/66b多媒体数字信号编解码器配置是执行包描绘的块状编码配置。
SerDes为连续光模块或PMD,在传送器上将16- bit并行数据路径(每个644 Mb/s)排序到一个s的连续数据流,并将一个s的连续数据流去序列化到16-bit并行数据路径(每个644Mb/s)。
连续WAN PHY连续WAN PHY由WAN接口子层(WIS)、64b/66b多媒体数据信号编解码器配置(与上文描述一样)、和SerDes组成,SerDes也与上文描述一样,除了连续数据流的速度为s(OC-192),每个16-bit并行数据路径为622Mb/s。
WIS 为SONET framing和X7+ X6 + 1 scrambling专门设计。
与SONET OC-192速度结合,连续WAN PHY使万兆以太网能在现有SONET OC-192设施和10Gb/s Dense Wavelength Division Multiplexing (DWDM)光学网络上无中断运行。
【收藏】以太网MAC和PHY之间的接口总结
【收藏】以太网MAC和PHY之间的接口总结1、100M 接口(Fast Ethernet 快速以太网,也称百兆以太网)FE速率模式下各种MII(MediaIndependent Interface)接口对比:MII接口兼容10/100M以太网,由于占用管脚数太多,主要应用早期的设备接口中,在一般的高密度(8口)端口PHY以及MAC/switch芯片中已经很少使用。
RMII(reduced MII)接口收发的数据位宽为2bit,因此管脚数目大为减少,在高密端口PHY中应用较多,但是由于其是MAC和PHY 共用一个参考时钟,接口之间的距离不能太远;SMII(serial MII)接口收发数据位宽为1bit,另外还有参考时钟和同步信号,相对于RMII管脚更少,但依然是MAC和PHY共用一个参考时钟,接口之间的距离不能太远;SSMII(serial sync MII)与SMII类似,只是收发采用单独的时钟和同步信号,虽然又多了两个管脚,但是由于其收发具有独立的随路时钟和同步信号,接口之间的传输距离可以更远;MII接口:TXD[3:0]:数据发送信号,共4根信号线;RXD[3:0]:数据接收信号,共4根信号线;TX_ER(TransmitError):发送数据错误提示信号,同步于TX_CLK,高电平有效,表示TX_ER有效期内传输的数据无效。
对于10Mbps速率下,TX_ER不起作用;RX_ER(ReceiveError):接收数据错误提示信号,同步于RX_CLK,高电平有效,表示RX_ER有效期内传输的数据无效。
对于10Mbps速率下,RX_ER不起作用;TX_EN(TransmitEnable):发送使能信号,只有在TX_EN有效期内传的数据才有效;RX_DV(ReveiveData Valid):接收数据有效信号,作用类型于发送通道的TX_EN;TX_CLK:发送参考时钟,100Mbps速率下,时钟频率为25MHz,10Mbps速率下,时钟频率为2.5MHz。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
mac 与phy通过mii连接,phy有phy通过网线连接2.RMII接口分析
2.1 RMII接口信号定义
RMII接口(Reduced MII接口)是简化的MII接口。
它也分为MAC 模式和PHY模式。
RMII接口接收、发送和控制的同步参考时钟REF_CLK是由外部时钟源提供的50MHz信号。
这与原来的MII接口不同,MII接口中发送和接收的时钟是分开的,且都是由物理层芯片提供给MAC层芯片。
这里需要注意的是由于数据接收时钟是由外部晶振提供而不是由载波信号提取的,所以在物理层芯片内的数据接收部分要设计一个FIFO,用来协调两个不同的时钟,在发送接收的数据时提供缓冲。
物理层芯片的发送部分则不需要一个FIFO,它直接将接收到的数据发送出去就可以了。
CRS_DV是MII中的RXDV和CRS(Carrier_Sense)两个信号合并而成,当介质不空闲时CRS_DV以和REF_CLK相异步的方式给出。
当CRS比RX_DV早结束时(即载波消失而队列中还有数据要传输时),就会出现CRS_ DV在半位元组的边界以25MHz(在100MHz模式下)或2.5MHz(在10MHz模式下)的频率在0、1之间来回切换。
因此,MAC能够从CRS_ DV中精确的恢复出RX_DV和CRS,见图14。
RMII接口的MAC模式定义:
RMII接口PHY模式定义:
2.2 RMII接口时序特性
RMII接口的发送部分包括TX_EN(发送使能)和TXD[1:0](发送数据)两类信号线,它们与时钟CLK_REF同步。
当MAC层有数据要发送时,TX_EN变为有效,数据便出现在TXD[1:0]上。
对于100M速率时,物理层芯片在每个时钟周期都要采样TXD[1:0]上的数据,而在10M速率时,物理层芯片要每隔10个时钟周期采样TXD[1:0]上的数据,而MAC层发送的每个数据会在TXD[1:0]上保留10个周期。
发送部分的波形图如下
图13 RMII发送部分的时序关系图
RMII接口的接收部分包括CRS_DV(载波和数据有效)、RXD[1:0](接收数据)、RX_ER(接收出错)三类信号线,其中RXD[1:0]和RX_ER与时钟CLK_REF同
步,而CRS_DV信号与时钟是异步的。
当物理层接收到有效的载波信号后,CRS_DV信号变为有效,此时如果FIFO中还没有数据,则它会送出全零的数据给RXD[1:0],然后当FIFO中填入有效的数据帧,数据帧的开头是“1010......”交叉的前导码,所以在RXD[1:0]上会出现“01”的比特,MAC层芯片会检测这一过程,从而开始一帧数据的接收。
当外部载波信号消失后,CRS_DV会变为无效,但如果FIFO中还有数据要发送时,CRS_DV在下一周期又会变为有效,然后再无效再有效,直到FIFO中数据发送完为止。
在接收过程中如果出现无效的载波信号或无效的数据编码,则RX_ER会变为有效,表示物理层芯片接收出错。
在100M以太网速率中,MAC层芯片要每个时钟采样一次RXD[1:0]上的数据,在10M以太网速率中,MAC层芯片则每10个时钟周期采样一次RXD[1:0]上的数据,此时物理层芯片接收的每个数据会在RXD[1:0]上保留10个时钟周期。
RMII接收部分的波形图如下
图14接收部分时序关系图
3.SMII接口分析
3.1 SMII接口信号定义
SMII(Serial MII)接口又叫串行MII接口。
它包括TXD、RXD、SYNC三类信号线。
另外所有的端口共用一个时钟信号CLOCK,此时钟信号是125MHz 的,前三类信号都与此时钟同步。
为什么用125MHz,是因为数据线里面会传送一些控制信息,后面会有介绍。
SYNC是数据收发的同步信号,它每10个时钟周期置1次高电平,指示同步。
TXD和RXD上收发的数据和控制信息,它们以10个比特为一组,以SYNC为高电平来指示一组数据的开始,每一组的数据的含义见后面。
可以看出,SMII接口所需的信号线每端口只有3根,比RMII接口(7根)还要少,比MII接口(14根)就更少了。
SMII接口的MAC模式定义:
3.2 SMII接口时序特性
发送部分的波形图如下:
图15发送部分的时序关系
从波形中可以看出,在SYNC变高后的10个时钟周期内,TXD上依次输出一组10比特的数据即TX_ER、TX_EN、TXD[0:7]。
这些数据和控制信息的含义与MII接口中的含义相同,物理层芯片在接收到这些数据和控制信息后做与MII 接口相同的处理。
在100M速率中,每一组的内容都是变换的,在10M速率中,每一组的数据则要重复10次,物理层芯片采样任何一组都可以。
接收部分的波形图如下:
图16接收部分的时序关系图
从波形中可以看出,在SYNC变高后的10个时钟周期内,RXD上依次输出一组10比特的数据即CRS、RX_DV、RXD[0:7]。
其中CRS和RX_DV的含义与MII接口中的相同。
RXD[0:7]的含义则与RX_DV有关,当RX_DV为有效时(为高时),RXD[0:7]上为物理层接收的数据。
当RX_DV为无效时(为低时),RXD[0:7]上的数据反映的是物理层状态的信息。
其详细内容如下表所示:
图17 SMII接口接收部分信息编码表
当以太网的速率是100M时,每一组的数据都是变化的,当以太网的速率是10M时,每一组的数据则要重复10次,MAC层芯片只要采样其中任何一次就可以了。
对其中的信号,MAC层芯片从SMII接口中获得的信息的处理方式与MII 接口的处理方式是一样的。