专利名称:一种rmⅱ接口以太网链路速率检测方法
技术领域:
本发明涉及一种以太网链路速率检测方法,特别是涉及一种RMII (Reduced Media Independent Interface,简化的媒体独立接口 )接口下,以太网的链3各 速率的检测方法。
背景技术:
随着以太网交换机芯片的集成度越来越高,1/0引脚数的增加,功耗也随着 增力口。 4专统的MI1 (Media Independent Interface, Jf某体独立4妾口 )才妄口有16 个引脚,不可避免的造成了芯片尺寸的增加和功耗的增大,并加大了 PCB设计 的复杂度。为了减少芯片尺寸,降低功耗,有必要对Mil接口进行简化,于是 提出了 RMII接口。
RMII接口是简化的Mil接口,数据位宽2bit、时钟速率50MHz、支持 10M/100Mbps的传输速率,其主要信号定义如下
REF-CLK:参考时钟,用于同步数据和控制信号,频率50MHz。
CRS-DV:载波侦听/接收有效复用信号,对应MII接口中的CRS (载波侦听)
和RX—DV (接受有效)。 RXD[1:0]:接收数据。 TX-EN:发送使能。 TXD[1:0]:发送数据。
RX-ER:接受错误(非必要,该信号为可选信号)。
图l是RMII接口 RX支路时序图,图2是RMII接口 TX支路时序图。REF-CLK是50MHz的发送和接受同步时钟信号,由外部时钟源提供。当传输 介质中有载波时,CRS-DV为高电平,载波消失后CRS-DV置低,若此时PHY的 RXD[1: O]上仍有数据未接收完,PHY在下一个时钟周期对CRS-DV同步置高。此 后在每4bit数据的前两位将CRS-DV同步置低、后两位置高,CRS-DV信号则以 25MHz (IOOM模式)或2.5MHz (IOM模式)的频率跳变,其跳变边沿与REF—CLK 同步。通过CRS—DV的跳变,MAC能从CRS-DV中分离出CRS和RX-DV信号。
TXD[1:0]在TX-EN有效时和时钟同步发送数据,RXD[1: 0]也是和时钟同步 接收数据。
RMII接口的PHY和MAC (Media Access Control, 4某体访问控制)连接图 如图3所示,MAC通过标准的MDC/MDIO接口读取PHY的寄存器,从而获得以太 网链路的状态信息。交换芯片通常都有专用的MDC/MDIO接口,因此PHY与交换 芯片可简单的按图3所示方法连接。
当PHY和MAC接口不一致时,比如RMII到S3MI1( Source Synchronous Serial MII)、 RMII到MII等等,需要进行协议转换。通常我们使用FPGA来完成这些工 作,当FPGA与PHY连接时,由于其没有专用的MDC/MDI0接口 ,需要模拟MDC/MDI0 的读写时序,从而获得链路速率等信息,这增加了额外的系统开销。特别是 MDC/MDI0接口时序较为复杂,往往需要增加一片CPU来完成MDC/MDI0接口的读 写,这增加了成本和系统复杂度。
发明内容
针对现有技术的不足,本发明不通过MDC/MDI0接口读取PHY寄存器来检测 以太网的链路速率,而是通过检测特征序列的方式来进行链路速率的检测。 本发明提出的技术方案是
4A、 使用50MHz的时钟信号REF-CLK上升沿对RXD [1: 0]进^f亍采样;
B、 判断RXD[1:0]序列是否出现百兆特征A码,如果是,进入步骤C,不是 则返回步骤A继续进行序列检测。
C、 判断RXD[1: O]值是否为百兆特征B码,若RXD[1: 0]的值为十兆特征A码, 进入步骤D;若RXD [ 1: 0]值为百兆特征B码,则判定以太网链路速率为10 0Mb/ s , 同时将speed-flag信号置高;若RXD[1: 0]为其他值,返回步骤A继续进行序列 检测。
D、 判断RXD[1:0]序列是否出现十兆特征B码,如果是,进入步骤E;不是 的话返回步骤A继续进行序列检测。
E、 判断RXD[1:0]序列是否出现十兆特征C码,如果是,判定以太网链路速 率为10Mb/s,同时将speed—flag信号置低;如果不是,则返回步骤A继续进行 序列4全测。
所述RXD[1: G]是RMII接口接收支路数椐。
所述speed-flag信号为以太网链路速率标志信号,其输出供系统其它才莫块 使用,高电平表示链路速率为100Mb/s,低电平表示链路速率为10Mb/s。
所述百兆特征A码为"01010101 01010101 01010101 01010101 01010101 01010101 01010101 010101"(共31个"01")。
所述百兆特征B码为"11"。
所述十兆特征A码为"01"。
所述十兆特征B码为"01010101............0101"(共278个"01")。
所述十兆特征C码为"11111111 11111111 1111"(共10个"11")。 上述方案的有益效果是直接从RMII接口数据流中通过对百兆/十兆特征码的 检测就能检测出链路速率,不需要通过MDC/MDI0接口读取PHY寄存器来判断以
5太网链路速率,这省去了额外的系统开销。
图1是RMII接口 RX支路时序图2 RMII接口 TX支路时序图
图3是RMII接口 PHY和MAC连接示意图
图4是FPGA检测以太网链路速率硬件连接图(RMII接口 )
图5是本发明的实施流程图
具体实施例方式
本方案使用FPGA进行以太网链路速率检测,其硬件连接图如图4所示。FPGA 通过检测RMII接口中RXD[l: 0]的数据来检测以太网链路速率,其实施流程图如 图5所示,它包括以下步骤
A、 使用50MHz的时钟信号REF-CLK上升沿对RXD [l:O]进行采样
B、 判断RXD[1:0]序列是否出现百兆特征A码,如果是,进入步骤C,不是 则返回步骤A继续进行序列检测。
C、 判断RXD [1: O]值是否为百兆特征B码,若RXD[l: 0]的值为十兆特征A码, 进入步骤D;若RXD [1: 0]值为百兆特征B码,则判定以太网链路速率为100Mb/s, 同时将speed-flag信号置高;若RXD[l: 0]为其他值,返回步骤A继续进行序列 检测。
D、 判断RXD[1: O]序列是否出现十兆特征B码,如果是,进入步骤E;不是 的话返回步骤A继续进行序列检测。
E、 判断RXD[1:0]序列是否出现十兆特征C码,如果是,判定以太网链路速 率为10Mb/s,同时将speed-flag信号置低;如果不是,则返回步骤A继续进行序列4企测。
RMII接口规定,当以太网链路速率为10Mb/s时,其控制信号和数据信号的 时间宽度为100Mb/s冲莫式下的IO倍(10Mb/s为每周期200ns, 100Mb/s为每周 期20ns )。
本方案使用50MHz的同步时钟对RXD[1: 0]进4亍采样。本方案中,百兆特征码 为百兆特征A码+百兆特征B码;十兆特征码为百兆特征A码+十兆特征A 码+十兆特征B码+十兆特征C码。
通过对以上两个特征序列的判断,可检测出以太网链路速率,同时输出速率 标示信号speed-flag (100Mb/s时为高电平,10Mb/s时为^f氐电平)至FPGA内其 他模块。
本方案不需要编写复杂的MDC/MDIO读写逻辑,筒化了系统设计。
权利要求
1、一种RMII接口以太网链路速率的检测方法,其特征在于,对RMII接口RXD[1:0]数据进行采样,并进行序列检测,当检测百兆特征码时,判断链路速率为100Mb/s,同时将speed_flag信号置高电平,通知系统中其他模块以太网链路速率为100Mb/s;当序列检测时,检测到十兆特征码时,判断链路速率为10Mb/s,同时将speed_flag信号置低电平,通知系统中其他模块以太网速率为10Mb/s。
2、 根据权利要求1所述的一种RMII接口以太网链路速率的检测方法,其特 征在于,对RXD[1: O]数据采样的时钟频率为50MHz,且不论以太网链路速率 是十兆还是百兆,均用50MHz的时钟对RXD[1: O]采样。
3、 根据权利要求1所述的一种RMII接口以太网链路速率的检测方法,其特 征在于,直接从接收数据RXD[1: O]中检测出链路速率,不需要通过MDC/MDI0(Management Data Clock/Management Data 10,管理数据时钟/管理数据) 接口读取以太网PHY (物理接口收发器)芯片的寄存器,从而得出链路速率。
全文摘要
本发明公开了一种RMII(Reduced Media Independent Interface,简化的媒体独立接口)接口以太网链路速率的检测方法。以太网RMII接口标准规定,10Mb/s模式下RMII接口的数据宽度为100Mb/s的10倍,用50MHz时钟对RMII接口接收支路数据RXD[1:0]采样,进行序列检测,若检测到百兆特征码,speed_flag(速度标示信号)输出高电平,表示以太网链路速率为100Mb/s;若检测十兆特征码,speed_flag输出低电平,表示以太网链路速率为10Mb/s。直接从RMII接口数据流中通过对百兆/十兆特征码的检测就能检测出链路速率,不需要通过MDC/MDIO接口读取PHY寄存器来判断以太网链路速率,这省去了额外的系统开销。
文档编号H04L1/00GK101630995SQ200910032538
公开日2010年1月20日 申请日期2009年7月1日 优先权日2009年7月1日
发明者强 俞, 刘世栋, 明 吴, 鹏 吴, 吴军民, 吴维宁, 孙红雷, 宋云翔, 张小建, 张辉勇, 王向群, 王志国, 范志刚, 郭经红, 治 黄, 辉 黄 申请人:国网电力科学研究院;南京南瑞集团公司