MAC & PHY 学习.doc

MAC & PHY 学习.doc

ID:49397434

大小:243.53 KB

页数:6页

时间:2020-02-29

上传者:无敌小子
MAC & PHY 学习.doc_第1页
MAC & PHY 学习.doc_第2页
MAC & PHY 学习.doc_第3页
MAC & PHY 学习.doc_第4页
MAC & PHY 学习.doc_第5页
资源描述:

《MAC & PHY 学习.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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/100MPHY是将其做到了一起,内部都是由PCS/PMA/PMD及媒体无关接口MDI接口组成的。只不过是当PHY工作在10Mbps时,有些功能没有用到。物理编码子层PCS(PHYSICALCODINGSUBLAYER):在100BASE-X模式时,提供RMII接口、4B/5B编码、串并转换以及冲突检测功能,同时只要TxEN无效就提供“idle”信号给PMD层。在10BASE-T模式下只提供接口和串并转换功能。 物理介质附加子层PMA(PHYSICALMEDIUMATTACHMENT):提供对LINK状态的判断和载波侦听的功能,完成串行信号和NRZI信号之间的转化。PMA使用标准的方法来判断端口的LINK状态。当PMA判断到对方设备存在的时候,如果自动协商使能,就会开始同对方进行自动协商确定端口的工作模式;当对方不支持自动协商的时候,端口的工作模式根据并行探测的结果。当有数据接收或者发送的时候会导致CRS(carriersense)的置位。在PMA层,有的PHY支持Far-End-Fault,例如MARVELL88E3081。物理介质相关子层PMD(PHYSICALMEDIUMDEPENDENT):提供对信号的scrambling/descrambling;对信号进行编码,在100TX下是MLT-3,在10T下是Manchester;polaritycorrection;baselinewandercorrection等功能。其中的scrambling(扰频)/descrambling(解扰)和baselinewander(基线漂移)功能是100BASETX专有的。有的PHY是双绞线与光纤可替换的,当工作于FX模式的时候,由PMA提供pseudo-ELC(伪电缆)接口,PMD的功能由光纤收发器完成。MIIMII(媒体独立接口),它包含一个数据接口,和一个MAC和PHY之间的管理接口。如 下图,数据接口分别用于发送器和接收器的两条独立的信道。每条信道都有自己的数据、时钟、控制信号。管理接口是个双信号接口:时钟信号、数据信号;通过管理接口可以实现上层监视和管理PHY。如图,MII接口总共需要16个信号,包括:transmitdata-TXD[3:0],数据发送信号,共四根信号线transmitstrobe-TX_EN,数据发送使能信号,只有在TX_EN有效期内传的数据才有效。transmitclock-TX_CLK,发送数据参考时钟信号transmiterror-TX_ER/TXD4,发送数据错误提示信号receivedata-RXD[3:0],数据接收信号,共四根信号线receivestrobe-RX_DV,接收数据有效信号receiveclock-RX_CLK,接收数据参考时钟信号receiveerror-RX_ER/RXD4,接收数据错误提示信号collisionindication–COL,冲突检测信号,不需要同步于参考时钟,只有PHY在半双工模式下有效。carriersense–CRS,载波侦测信号,不需要同步于参考时钟,只要有数据传输,CRS就有效,另外,CRS只有PHY在半双工模式下有效。MII接口一共有16根线,其中4根线用于接收数据,4根线用于发送数据;当线速为10Mb/s时,MII接口时钟频率为2.5MHz;当线速为100Mb/s时,MII接口时钟频率为25MHz。MII接口有很多,常见的有RMII,SMII,GMII,RGMII,简单介绍如下:1、RMII(简化MII接口) RMII接口一共有8根线,其中2根线用于接收数据,2根线用于发送数据,都是MII接口的一半;当线速为10Mb/s时,MII接口时钟频率为5MHz;当线速为100Mb/s时,MII接口时钟频率为50MHz。CLK_REF:是由外部时钟源提供的50MHz参考时钟,与MII接口不同,MII接口中的接收时钟和发送时钟是分开的,而且都是由PHY芯片提供给MAC芯片的。这里需要注意的是,由于数据接收时钟是由外部晶振提供而不是由载波信号提取的,所以在PHY层芯片内的数据接收部分需要设计一个FIFO,用来协调两个不同的时钟,在发送接收的数据时提供缓冲。PHY层芯片的发送部分则不需要FIFO,它直接将接收到的数据发送到MAC就可以了。CRS_DV:此信号是由MII接口中的RX_DV和CRS两个信号合并而成。当介质不空闲时,CRS_DV和RE_CLK相异步的方式给出。当CRS比RX_DV早结束时(即载波消失而队列中还有数据要传输时),就会出现CRS_DV在半位元组的边界以25MHz/2.5MHz的频率在0、1之间的来回切换。因此,MAC能够从CRS_DV中精确的恢复出RX_DV和CRS。在100Mbps速率时,TX/RX每个时钟周期采样一个数据;在10Mbps速率时,TX/RX每隔10个周期采样一个数据,因而TX/RX数据需要在数据线上保留10个周期,相当于一个数据发送10次。当PHY层芯片收到有效的载波信号后,CRS_DV信号变为有效,此时如果FIFO中还没有数据,则它会发送出全0的数据给MAC,然后当FIFO中填入有效的数据帧,数据帧的开头是“101010---”交叉的前导码,当数据中出现“01”的比特时,代表正式数据传输开始,MAC芯片检测到这一变化,从而开始接收数据。当外部载波信号消失后,CRS_DV会变为无效,但如果FIFO中还有数据要发送时,CRS_DV在下一周期又会变为有效,然后再无效再有效,直到FIFO中数据发送完为止。在接收过程中如果出现无效的载波信号或者无效的数据编码,则RX_ER会变为有效,表示物理层芯片接收出错。2、SMII(串行MII)SMII接口一共有4根线,是RMII接口的一半,其中1根线用于接收数据,1根线用于 发送数据;时钟为125MHz。SYNC:收发数据同步信号,每10个时钟周期置1次高电平,指示同步。CLK_REF:所有端口共用的一个参考时钟,频率为125MHz(因为在每8位数据中会插入2位控制信号)TXD/RXD以10比特为一组,以SYNC为高电平来指示一组数据的开始,在SYNC变高后的10个时钟周期内,TXD上依次输出的数据是:TXD[7:0]、TX_EN、TX_ER,控制信号的含义与MII接口中的相同;RXD上依次输出的数据是:RXD[7:0]、RX_DV、CRS,RXD[7:0]的含义与RX_DV有关,当RX_DV为有效时(高电平),RXD[7:0]上传输的是物理层接收的数据。当RX_DV为无效时(低电平),RXD[7:0]上传输的是物理层的状态信息数据。如下图:当速率为10Mbps时,每一组数据要重复10次,MAC/PHY芯片每10个周期采样一次。MAC/PHY芯片在接收到数据后会进行串/并转换。3、GMII接口与MII接口相比,GMII的数据宽度由4位变为8位,有24根接口信号线,GMII接口中的控制信号如TX_ER、TX_EN、RX_ER、RX_DV、CRS和COL的作用同MII接口中的一样,发送参考时钟GTX_CLK和接收参考时钟RX_CLK的频率均为125MHz(1000Mbps/8=125MHz)。在这里有一点需要特别说明下,那就是发送参考时钟GTX_CLK,它和MII接口中的TX_CLK是不同的,MII接口中的TX_CLK是由PHY芯片提供给MAC芯片的,而GMII接口中的GTX_CLK是由MAC芯片提供给PHY芯片的。两者方向不一样。在实际应用中,绝大多数GMII接口都是兼容MII接口的,所以,一般的GMII接口都有两个发送参考时钟:TX_CLK和GTX_CLK(两者的方向是不一样的,前面已经说过了),在用作MII模式时,使用TX_CLK和8根数据线中的4根。4、RMII接口(简化GMII) RGMII将接口信号线数量从24根减少到14根(COL/CRS端口状态指示信号,这里没有画出),时钟频率仍旧为125MHz,TX/RX数据宽度从8为变为4位,为了保持1000Mbps的传输速率不变,RGMII接口在时钟的上升沿和下降沿都采样数据。在参考时钟的上升沿发送GMII接口中的TXD[3:0]/RXD[3:0],在参考时钟的下降沿发送GMII接口中的TXD[7:4]/RXD[7:4]。RGMI同时也兼容100Mbps和10Mbps两种速率,此时参考时钟速率分别为25MHz和2.5MHz。TX_EN信号线上传送TX_EN和TX_ER两种信息,在TX_CLK的上升沿发送TX_EN,下降沿发送TX_ER;同样的,RX_DV信号线上也传送RX_DV和RX_ER两种信息,在RX_CLK的上升沿发送RX_DV,下降沿发送RX_ER。网卡网卡工作在osi的最后两层,物理层和数据链路层。数据链路层提供寻址机构、数据帧构建、数据帧差错检查、传送控制,向网络层提供标准的数据接口功能。物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并且为数据两路层提供标准接口(MII,RGMII,GMII等)。PHY和MAC是网卡的主要组成部分,网卡一般用RJ-45接口,10M网卡的RJ-45插口只用了1、2、3、6四根针,而100M和1000M网卡则用了所有的针。除此以外,还需要其它元件,因为虽然PHY提供绝大多数模拟支持,但在一个典型实现中,仍需外接6、7只分立元件及一个局域网绝缘模块。绝缘模块一般采用一个1:1的变压器。这些部件的主要功能是为了保护PHY免遭由于电气失误而引起的损坏。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭