專利名稱:一種rmⅱ接口以太網(wǎng)鏈路速率檢測方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種以太網(wǎng)鏈路速率檢測方法,特別是涉及一種RMII (Reduced Media Independent Interface,簡化的媒體獨(dú)立接口 )接口下,以太網(wǎng)的鏈3各 速率的檢測方法。
背景技術(shù):
隨著以太網(wǎng)交換機(jī)芯片的集成度越來越高,1/0引腳數(shù)的增加,功耗也隨著 增力口。 4專統(tǒng)的MI1 (Media Independent Interface, Jf某體獨(dú)立4妾口 )才妄口有16 個引腳,不可避免的造成了芯片尺寸的增加和功耗的增大,并加大了 PCB設(shè)計 的復(fù)雜度。為了減少芯片尺寸,降低功耗,有必要對Mil接口進(jìn)行簡化,于是 提出了 RMII接口。
RMII接口是簡化的Mil接口,數(shù)據(jù)位寬2bit、時鐘速率50MHz、支持 10M/100Mbps的傳輸速率,其主要信號定義如下
REF-CLK:參考時鐘,用于同步數(shù)據(jù)和控制信號,頻率50MHz。
CRS-DV:載波偵聽/接收有效復(fù)用信號,對應(yīng)MII接口中的CRS (載波偵聽)
和RX—DV (接受有效)。 RXD[1:0]:接收數(shù)據(jù)。 TX-EN:發(fā)送使能。 TXD[1:0]:發(fā)送數(shù)據(jù)。
RX-ER:接受錯誤(非必要,該信號為可選信號)。
圖l是RMII接口 RX支路時序圖,圖2是RMII接口 TX支路時序圖。REF-CLK是50MHz的發(fā)送和接受同步時鐘信號,由外部時鐘源提供。當(dāng)傳輸 介質(zhì)中有載波時,CRS-DV為高電平,載波消失后CRS-DV置低,若此時PHY的 RXD[1: O]上仍有數(shù)據(jù)未接收完,PHY在下一個時鐘周期對CRS-DV同步置高。此 后在每4bit數(shù)據(jù)的前兩位將CRS-DV同步置低、后兩位置高,CRS-DV信號則以 25MHz (IOOM模式)或2.5MHz (IOM模式)的頻率跳變,其跳變邊沿與REF—CLK 同步。通過CRS—DV的跳變,MAC能從CRS-DV中分離出CRS和RX-DV信號。
TXD[1:0]在TX-EN有效時和時鐘同步發(fā)送數(shù)據(jù),RXD[1: 0]也是和時鐘同步 接收數(shù)據(jù)。
RMII接口的PHY和MAC (Media Access Control, 4某體訪問控制)連接圖 如圖3所示,MAC通過標(biāo)準(zhǔn)的MDC/MDIO接口讀取PHY的寄存器,從而獲得以太 網(wǎng)鏈路的狀態(tài)信息。交換芯片通常都有專用的MDC/MDIO接口,因此PHY與交換 芯片可簡單的按圖3所示方法連接。
當(dāng)PHY和MAC接口不一致時,比如RMII到S3MI1( Source Synchronous Serial MII)、 RMII到MII等等,需要進(jìn)行協(xié)議轉(zhuǎn)換。通常我們使用FPGA來完成這些工 作,當(dāng)FPGA與PHY連接時,由于其沒有專用的MDC/MDI0接口 ,需要模擬MDC/MDI0 的讀寫時序,從而獲得鏈路速率等信息,這增加了額外的系統(tǒng)開銷。特別是 MDC/MDI0接口時序較為復(fù)雜,往往需要增加一片CPU來完成MDC/MDI0接口的讀 寫,這增加了成本和系統(tǒng)復(fù)雜度。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)的不足,本發(fā)明不通過MDC/MDI0接口讀取PHY寄存器來檢測 以太網(wǎng)的鏈路速率,而是通過檢測特征序列的方式來進(jìn)行鏈路速率的檢測。 本發(fā)明提出的技術(shù)方案是
4A、 使用50MHz的時鐘信號REF-CLK上升沿對RXD [1: 0]進(jìn)^f亍采樣;
B、 判斷RXD[1:0]序列是否出現(xiàn)百兆特征A碼,如果是,進(jìn)入步驟C,不是 則返回步驟A繼續(xù)進(jìn)行序列檢測。
C、 判斷RXD[1: O]值是否為百兆特征B碼,若RXD[1: 0]的值為十兆特征A碼, 進(jìn)入步驟D;若RXD [ 1: 0]值為百兆特征B碼,則判定以太網(wǎng)鏈路速率為10 0Mb/ s , 同時將speed-flag信號置高;若RXD[1: 0]為其他值,返回步驟A繼續(xù)進(jìn)行序列 檢測。
D、 判斷RXD[1:0]序列是否出現(xiàn)十兆特征B碼,如果是,進(jìn)入步驟E;不是 的話返回步驟A繼續(xù)進(jìn)行序列檢測。
E、 判斷RXD[1:0]序列是否出現(xiàn)十兆特征C碼,如果是,判定以太網(wǎng)鏈路速 率為10Mb/s,同時將speed—flag信號置低;如果不是,則返回步驟A繼續(xù)進(jìn)行 序列4全測。
所述RXD[1: G]是RMII接口接收支路數(shù)椐。
所述speed-flag信號為以太網(wǎng)鏈路速率標(biāo)志信號,其輸出供系統(tǒng)其它才莫塊 使用,高電平表示鏈路速率為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接口數(shù)據(jù)流中通過對百兆/十兆特征碼的 檢測就能檢測出鏈路速率,不需要通過MDC/MDI0接口讀取PHY寄存器來判斷以
5太網(wǎng)鏈路速率,這省去了額外的系統(tǒng)開銷。
圖1是RMII接口 RX支路時序圖2 RMII接口 TX支路時序圖
圖3是RMII接口 PHY和MAC連接示意圖
圖4是FPGA檢測以太網(wǎng)鏈路速率硬件連接圖(RMII接口 )
圖5是本發(fā)明的實(shí)施流程圖
具體實(shí)施例方式
本方案使用FPGA進(jìn)行以太網(wǎng)鏈路速率檢測,其硬件連接圖如圖4所示。FPGA 通過檢測RMII接口中RXD[l: 0]的數(shù)據(jù)來檢測以太網(wǎng)鏈路速率,其實(shí)施流程圖如 圖5所示,它包括以下步驟
A、 使用50MHz的時鐘信號REF-CLK上升沿對RXD [l:O]進(jìn)行采樣
B、 判斷RXD[1:0]序列是否出現(xiàn)百兆特征A碼,如果是,進(jìn)入步驟C,不是 則返回步驟A繼續(xù)進(jìn)行序列檢測。
C、 判斷RXD [1: O]值是否為百兆特征B碼,若RXD[l: 0]的值為十兆特征A碼, 進(jìn)入步驟D;若RXD [1: 0]值為百兆特征B碼,則判定以太網(wǎng)鏈路速率為100Mb/s, 同時將speed-flag信號置高;若RXD[l: 0]為其他值,返回步驟A繼續(xù)進(jìn)行序列 檢測。
D、 判斷RXD[1: O]序列是否出現(xiàn)十兆特征B碼,如果是,進(jìn)入步驟E;不是 的話返回步驟A繼續(xù)進(jìn)行序列檢測。
E、 判斷RXD[1:0]序列是否出現(xiàn)十兆特征C碼,如果是,判定以太網(wǎng)鏈路速 率為10Mb/s,同時將speed-flag信號置低;如果不是,則返回步驟A繼續(xù)進(jìn)行序列4企測。
RMII接口規(guī)定,當(dāng)以太網(wǎng)鏈路速率為10Mb/s時,其控制信號和數(shù)據(jù)信號的 時間寬度為100Mb/s沖莫式下的IO倍(10Mb/s為每周期200ns, 100Mb/s為每周 期20ns )。
本方案使用50MHz的同步時鐘對RXD[1: 0]進(jìn)4亍采樣。本方案中,百兆特征碼 為百兆特征A碼+百兆特征B碼;十兆特征碼為百兆特征A碼+十兆特征A 碼+十兆特征B碼+十兆特征C碼。
通過對以上兩個特征序列的判斷,可檢測出以太網(wǎng)鏈路速率,同時輸出速率 標(biāo)示信號speed-flag (100Mb/s時為高電平,10Mb/s時為^f氐電平)至FPGA內(nèi)其 他模塊。
本方案不需要編寫復(fù)雜的MDC/MDIO讀寫邏輯,筒化了系統(tǒng)設(shè)計。
權(quán)利要求
1、一種RMII接口以太網(wǎng)鏈路速率的檢測方法,其特征在于,對RMII接口RXD[1:0]數(shù)據(jù)進(jìn)行采樣,并進(jìn)行序列檢測,當(dāng)檢測百兆特征碼時,判斷鏈路速率為100Mb/s,同時將speed_flag信號置高電平,通知系統(tǒng)中其他模塊以太網(wǎng)鏈路速率為100Mb/s;當(dāng)序列檢測時,檢測到十兆特征碼時,判斷鏈路速率為10Mb/s,同時將speed_flag信號置低電平,通知系統(tǒng)中其他模塊以太網(wǎng)速率為10Mb/s。
2、 根據(jù)權(quán)利要求1所述的一種RMII接口以太網(wǎng)鏈路速率的檢測方法,其特 征在于,對RXD[1: O]數(shù)據(jù)采樣的時鐘頻率為50MHz,且不論以太網(wǎng)鏈路速率 是十兆還是百兆,均用50MHz的時鐘對RXD[1: O]采樣。
3、 根據(jù)權(quán)利要求1所述的一種RMII接口以太網(wǎng)鏈路速率的檢測方法,其特 征在于,直接從接收數(shù)據(jù)RXD[1: O]中檢測出鏈路速率,不需要通過MDC/MDI0(Management Data Clock/Management Data 10,管理數(shù)據(jù)時鐘/管理數(shù)據(jù)) 接口讀取以太網(wǎng)PHY (物理接口收發(fā)器)芯片的寄存器,從而得出鏈路速率。
全文摘要
本發(fā)明公開了一種RMII(Reduced Media Independent Interface,簡化的媒體獨(dú)立接口)接口以太網(wǎng)鏈路速率的檢測方法。以太網(wǎng)RMII接口標(biāo)準(zhǔn)規(guī)定,10Mb/s模式下RMII接口的數(shù)據(jù)寬度為100Mb/s的10倍,用50MHz時鐘對RMII接口接收支路數(shù)據(jù)RXD[1:0]采樣,進(jìn)行序列檢測,若檢測到百兆特征碼,speed_flag(速度標(biāo)示信號)輸出高電平,表示以太網(wǎng)鏈路速率為100Mb/s;若檢測十兆特征碼,speed_flag輸出低電平,表示以太網(wǎng)鏈路速率為10Mb/s。直接從RMII接口數(shù)據(jù)流中通過對百兆/十兆特征碼的檢測就能檢測出鏈路速率,不需要通過MDC/MDIO接口讀取PHY寄存器來判斷以太網(wǎng)鏈路速率,這省去了額外的系統(tǒng)開銷。
文檔編號H04L1/00GK101630995SQ200910032538
公開日2010年1月20日 申請日期2009年7月1日 優(yōu)先權(quán)日2009年7月1日
發(fā)明者強(qiáng) 俞, 劉世棟, 明 吳, 鵬 吳, 吳軍民, 吳維寧, 孫紅雷, 宋云翔, 張小建, 張輝勇, 王向群, 王志國, 范志剛, 郭經(jīng)紅, 治 黃, 輝 黃 申請人:國網(wǎng)電力科學(xué)研究院;南京南瑞集團(tuán)公司