<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

以太網自協商機制-雙絞線自協商案例設計(三)

FPGA開源工坊 ? 來源:追宇星空 ? 2024-03-18 09:33 ? 次閱讀

FLP Burst內容編碼—NextPage

NextPage有兩大類(D13=1時為Messgage Page; D13=0時為Unformatted Page;),編碼格式分別如下圖:

Message Page:

8c68851a-e469-11ee-a297-92fbcf53809c.png

Unformatted Page:

8c7fad62-e469-11ee-a297-92fbcf53809c.png

在FLP突發中,D0應是傳輸的第一個比特。Message Page和Unformatted Page必須成對出現,Message Page在前,Unformatted Page在后(Null Message型除外,它無需攜帶Unformatted Page)。

Message Code Field

8c9559fa-e469-11ee-a297-92fbcf53809c.png

Unformatted Page的Unformatted Code Field 與Message Page的Message Code Field相關,故后面會結合具體的Message Code Field的詳細講解UnformattedCode Field。

Toggle

[T] =2b0 前一個FLP脈沖data為1,

=2b1 前一個FLP脈沖data為0,

該bit的作用是保持FLPBurst的直流平衡,防止出現連0或連1;

Acknowledge2

[ACK2] =2b0 不可以理解來自遠端的NextPage,

=2b1 可以理解來自遠端的NextPage;

Message Page

[MP] =2b0 Unformatted Page,

=2b1 Message Page;

Acknowledge

[ACK] =2b0 尚未收到來自遠端的NextPage,

=2b1 已收到來自遠端的NextPage;

Next Page

[NP] =2b0 當前NextPage頁已是最后頁,

=2b1 當前NextPage頁不是最后頁;

NextPage的使用規則

鏈路雙方都支持NextPage時,方可執行NextPage交互。比如本端只支持BasePage,遠端支持BasePage + NextPage_MP + NextPage_UP + NextPage_UP,此時遠端的NextPage_MP和兩個NextPage_UP的FLP Bursts永遠不會被發出。

鏈路雙發的NextPage的數量必須匹配。比如本端支持BasePage + NextPage_MP(Code8)+ NextPage_UP + NextPage_UP + NextPage_MP(Code10)+ NextPage_UP, 遠端支持BasePage + NextPage_MP(Code8)+ NextPage_UP + NextPage_UP,此時遠端NextPage的數量與本端NextPage的數量不匹配,故遠端需要附加兩個NextPage_MP(Code1NullMessage)補齊。

NextPage的應用實踐

FLP Burst-NextPage交互應用于基于10M/100M/1000M的IEEE Clause 28 雙絞線自協商。筆者以曾經實踐過的Marvell公司的88e1111千兆PHY舉例[與自協商相關的寄存器屬于IEEE802.3標準寄存器,故不同廠家不同型號的PHY該部分實現大同小異],與10M/100M/1000M自協商相關的7個寄存器內容分別如下:

ControlRegister – Copper Page 0, Register 0

8cd4b348-e469-11ee-a297-92fbcf53809c.png

該部分在“BasePage的應用實踐”部分已詳細闡述過,故這里就不再贅述;

ANAdvertisement Register – Copper Page 0, Register 4

8ced4598-e469-11ee-a297-92fbcf53809c.png

該本地廣告能力寄存器是10M/100M/1000M自協商的核心寄存器,該部分在“BasePage的應用實踐”部分已詳細闡述過,故這里就不再贅述;

Link PartnerAbility Register , Copper Page 0, Register 5

8cf10228-e469-11ee-a297-92fbcf53809c.png

該本地廣告能力寄存器是10M/100M/1000M自協商的核心寄存器,該部分在“BasePage的應用實踐”部分已詳細闡述過,故這里就不再贅述。

Next PageTransmit Register – CopperPage0, Register 7

8d80befe-e469-11ee-a297-92fbcf53809c.png

該本地廣告能力寄存器是10M/100M/1000M自協商的核心寄存器,該寄存器有兩類用法:“硬件自動裝載模式”和“軟件手工裝載模式”。當1000BASE-TControl Register Page 0, Register 9(后續會介紹)的bit9=1或者bit8=1時使用“硬件自動裝載模式”;當1000BASE-T ControlRegister Page 0, Register 9(后續會介紹)的bit9=0且bit8=時使用“軟件裝載模式”;在實際使用時通常很少使用“軟件手工裝載模式”(可以協商廠家自定義的一些信息),故這里就對“軟件手工裝載模式”不再贅述了。下面針對“硬件自動裝載模式”進行現逐bit解釋: bit15 Next Page 該bit為FLP Burst-NextPage的D15.NP。

當使用10M/100M/1000M自協商時(無EEE自協商時),第一個第二個NextPage時此bit為1,第三個NextPage時此bit為0;當使用10M/100M/1000M自協商時(有EEE自協商時),第一個第二個第三個第四個NextPage時此bit為1,第五個NextPage時此bit為0。此bit由PHY芯片硬件自協商狀態機自動維護,軟件無需設置此bit;

bit14 Reserved該bit為FLP Burst-NextPage的D14.Ack,該bit由PHY芯片硬件自協商狀態機自動維護,軟件無需設置此bit;

bit13 Message Page Mode 該bit為FLP Burst-NextPage的D13.MP。當使用10M/100M/1000M自協商時(無EEE自協商時),第一個NextPage時此bit為1,第二個第三個NextPage時此bit為0;當使用10M/100M/1000M自協商時(有EEE自協商時),第一個第四個NextPage時此bit為1,第二個第三個第五個NextPage時此bit為0。此bit由PHY芯片硬件自協商狀態機自動維護,軟件無需設置此bit;

bit12 Acknowledge2 該bit為FLP Burst-NextPage的D12.Ack2。此bit由PHY芯片硬件自協商狀態機自動維護,軟件無需設置此bit;

bit11 Toggle 該bit為FLP Burst-NextPage的D11.T。此bit由PHY芯片硬件自協商狀態機自動維護,軟件無需設置此bit;

bit[10:0] Message/Unformatted Field該bits為FLPBurst-NextPage的D10:D0。當使用10M/100M/1000M自協商時(無EEE自協商時),第一個NextPage時此bits為8,為1000BASE-Ttechnology message code,第二個第三個NextPage時此bits為10M/100M/1000M雙絞線自協商核心內容,會在后續“10M/100M/1000M自協商基理”章節部分進行詳細探討;當使用10M/100M/1000M自協商時(有EEE自協商時),第一個NextPage時此bits為8,為1000BASE-Ttechnology message code,第四個NextPage時此bits為10,為EEEtechnology message code,第二個第三個第五個NextPage時此bits為10M/100M/1000M雙絞線自協商核心內容,會在后續“10M/100M/1000M自協商基理”章節部分進行詳細探討;

寫到這里,可能有小伙伴感到困惑。既然工作于“硬件自動裝載模式”時該寄存器由PHY芯片硬件自協商狀態機自動裝載維護,軟件無需設置。那該寄存器存在的意義是什么呢?答案是這樣的,在正常自協商并最終雙絞線鏈路雙發建立正確連接,該寄存器確實沒有存在的意義。但是因為某些環境因素造成自協商狀態機無法正常結束時,此時軟件通過周期性輪詢讀該寄存器結合輸出打印信息,可以有助于網絡管理人員分析自協商異常的原因,卡殼在哪個環節,進而對定位故障、解決故障大有益處。

Link PartnerNext Page Register – Copper Page 0, Register 8

8d8b5ddc-e469-11ee-a297-92fbcf53809c.png

該鄰居廣告能力狀態寄存器是將遠端發送的FLP Burst-NextPage的信息存儲在本寄存器。如果自協商協商失敗引起鏈路雙方不能正常建立鏈接,相關驅動工程師可以利用本寄存器進行故障定位和分析。本寄存器bit定義與“Next Page Transmit Register”完全相同,故這里就不在贅述了。

1000BASE-T Control Register Page 0, Register 9

8da2b248-e469-11ee-a297-92fbcf53809c.png

該本地1000BASE-T控制寄存器是10M/100M/1000M自協商的核心寄存器,現逐bit解釋:

bit[15:13] Test Mode 該bits與示波器物理層測試相關,該功能與本自協商專題無關,這里不進行贅述;

bit12 MASTER/SLAVE Manual ConfigurationEnable該bit為FLP Burst-Unformatted_NextPage的UnformattedCode Field中相關bit。當使用10M/100M/1000M自協商時,該bit即為第二個NextPage的D0.U0,該bit根據網絡管理員的實際應用需求靈活設置(置1“強制主從配置模式”,置0“非強制主從配置模式”);

bit11 MASTER/SLAVE Configuration Value該bit為FLPBurst-Unformatted_NextPage的Unformatted Code Field中相關bit。當使用10M/100M/1000M自協商時,該bit即為第二個NextPage的D1.U1,該bit根據網絡管理員的實際應用需求靈活設置(置1“強制主從配置模式”且強制為主,置0“強制主從配置模式”且強制為從);

bit10 Port Type該bit為FLPBurst-Unformatted_NextPage的Unformatted Code Field中相關bit。當使用10M/100M/1000M自協商時,該bit即為第二個NextPage的D2.U2,該bit根據網絡管理員的實際應用需求靈活設置(置1“非強制主從配置模式”時優先為主,置0“非強制主從配置模式”時優先為從);

bit9 1000BASE-T Full-Duplex該bit為FLPBurst-Unformatted_NextPage的Unformatted Code Field中相關bit。當使用10M/100M/1000M自協商時,該bit即為第二個NextPage的D3.U3,該bit根據網絡管理員的實際應用需求靈活設置(置1有1000BASE-T 全雙工能力,置0無1000BASE-T全雙工能力);

bit8 1000BASE-T Half-Duplex該bit為FLP Burst-Unformatted_NextPage的Unformatted Code Field中相關bit。當使用10M/100M/1000M自協商時,該bit即為第二個NextPage的D4.U4,該bit根據網絡管理員的實際應用需求靈活設置(置1有1000BASE-T 半雙工能力,置0無1000BASE-T 半雙工能力),因為1000BASE-T 半雙工該物理層標準PHY芯片一般都不支持,故該bit實際上永遠為0;

1000BASE-TStatus Register Page 0, Register 10

8db04bc4-e469-11ee-a297-92fbcf53809c.png

該1000BASE-T狀態寄存器是10M/100M/1000M自協商的核心寄存器,現逐bit解釋:

bit15 MASTER/SLAVE Configuration Fault當使用10M/100M/1000M自協商時,該bit(狀態1主從狀態配置有錯誤,狀態0主從狀態配置無錯誤)。當自協商異常時,可以查看此bit狀態,如果是1,通過調整“1000BASE-TControl Register Page 0, Register 9”的相關主從設置bit,可以解決該故障;

bit14 MASTER/SLAVE Configuration Resolution當使用10M/100M/1000M自協商時,該bit(狀態1本端自協商成“主”,狀態0本端自協商成“從”);

bit13 LocalReceiver Status當使用10M/100M/1000M自協商時,該bit(狀態1本地接收正常,狀態0本地接收異常;

bit12 Remote ReceiverStatus當使用10M/100M/1000M自協商時,該bit(狀態1遠端接收正常,狀態0遠端接收異常;

bit[11:10] 是將遠端發送的FLP Burst-NextPage的信息(U3,U4)存儲在本寄存器。如果自協商協商失敗從而造成鏈路雙方不能正常建立鏈接,或者自協商成功但協商結果不符合預期。相關驅動工程師可以利用本寄存器進行故障定位和分析。

10M/100M/1000M雙絞線自協商未完待續




審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 以太網
    +關注

    關注

    40

    文章

    5135

    瀏覽量

    166795
  • 寄存器
    +關注

    關注

    30

    文章

    5164

    瀏覽量

    118142
  • 雙絞線
    +關注

    關注

    2

    文章

    211

    瀏覽量

    23512
  • PHY
    PHY
    +關注

    關注

    2

    文章

    270

    瀏覽量

    51307
  • 狀態機
    +關注

    關注

    2

    文章

    486

    瀏覽量

    27246

原文標題:以太網自協商機制--雙絞線自協商(三)

文章出處:【微信號:FPGA開源工坊,微信公眾號:FPGA開源工坊】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    以太網協商機制-雙絞線協商案例設計(二)

    在FLP突發中,D0應是傳輸的第一個比特。
    的頭像 發表于 03-17 09:19 ?559次閱讀
    <b class='flag-5'>以太網</b>自<b class='flag-5'>協商機制</b>-<b class='flag-5'>雙絞線</b>自<b class='flag-5'>協商</b>案例設計(二)

    以太網協商機制雙絞線協商案例(四)

    10M/100M/1000M自協商,主要協商的內容為“速度雙工”、“流控”和“主從”三大類,下面先介紹10M/100M/1000M自協商的BasePage和NextPage的bits分配, 然后就這三大類內容進行闡述。
    的頭像 發表于 03-20 15:11 ?905次閱讀
    <b class='flag-5'>以太網</b>自<b class='flag-5'>協商機制</b>—<b class='flag-5'>雙絞線</b>自<b class='flag-5'>協商</b>案例(四)

    RTL8201協商超時可能是什么原因造成的呢?

    RTL8201芯片,讀8201ID,復位均無問題,協商時一直超時,用示波器查8201的MDI 3、4角結果發現其一直沒有電平變化,(我用的RMII模式,REF時鐘輸出為50M未發現問題),
    發表于 05-21 08:18

    AM335X以太網問題,請問需要在linux里面修改什么嗎,比如把PHY芯片的協商關閉,固定在100full模式之類的?

    以太網相互ping。設置相同的網段,但是ping不同,打印信息是100hulf up100hulf down交替出現,一會連上,一會掉了。感覺好像一直在查找外部以太網設備似的。請問需要在linux里面修改什么嗎,比如把PHY芯片的
    發表于 06-21 03:42

    DP83822I工業以太網PHY協商功能與其Strap電阻配置

    物理層鏈接。所以本文檔的內容基于TI以太網PHY產品DP83822,介紹以太網網口協商(Auto-Negotiation)功能現象,正確的測試波形與Strap電阻設置。 ?? 1.
    發表于 03-14 06:45

    為什么lwip不能夠開啟協商模式?

    lwip 不能夠開啟協商模式 ??static void low_level_init(struct netif *netif){ uint32_t regvalue = 0
    發表于 08-20 04:35

    為什么以太網+柔性板與電腦無法協商為100M?

    硬件:基于STM32F4單片機+LAN8720A(PHY)芯片,移植LWIP輕型以太網協議棧,硬件參考發燒友探索者開發板。連接方式:1.板子通過剛柔結合板與PC機進行連接,系統上電后,PC端5s后
    發表于 09-11 02:53

    基于DP83822I工業以太網PHY協商功能與其Strap電阻配置

    以太網PHY產品DP83822,介紹以太網網口協商(Auto-Negotiation)功能現象,正確的測試波形與Strap電阻設置…
    發表于 11-11 07:26

    STM32以太網驅動程序配置中的自動協商、速度設置和交換機自動協商、速度配置有什么區別?

    我在 stm32f4 中使用以太網交換機而不是 PHY。當 RMII 引腳連接到 STM32 時,我使用 SPI 管理 MDIO 引腳。有一些基本的東西我不明白。STM32 以太網驅動程序配置中的自動協商、速度設置和交換機自動
    發表于 02-08 06:35

    FPGA光纖以太網協商的設計

    摘要:本文在分析了千兆以太網的自協商基本過程,提出了一種基于Virtex-5 XC5VFX70T 中高速串行收發器GTX Transceiver 的千兆以太網協商實現方案。該方案通過
    發表于 03-26 15:56 ?45次下載

    面向云聯網的云服務協商機制

    的方式為用戶提供服務,以便更好地滿足用戶的服務需求。針對上述情況,提出了面向云聯網的云服務協商機制,該機制利用云聯網和改進的經典合同網模型來實現云服務提供商的交互協商。為了有效地選出合作伙伴以提高合作效率,
    發表于 11-27 15:48 ?0次下載
    面向云聯網的云服務<b class='flag-5'>協商機制</b>

    基于語義網技術的SLA協商機制

    針對服務等級協議(SLA)的自動協商中用于協商的SLA元素及協商過程缺乏語義描述的問題,提出了一種基于語義網技術的SLA協商機制。首先提出一種協商
    發表于 01-02 17:17 ?0次下載

    一文解析以太網自動協商技術

    這對于有少量這種問題的網絡也許是個小問題,但是對于存在大量這種問題的網絡而言就是一個頭疼的問題。幸好,以太網的標準制定者推出了自動協商(Auto-Negotiation)這種機制,來解決這個問題。
    的頭像 發表于 02-22 14:44 ?1698次閱讀
    一文解析<b class='flag-5'>以太網</b>自動<b class='flag-5'>協商</b>技術

    基于IEEE Clause 28雙絞線以太網協商機制

    雙絞線以太網協商通過鏈路雙方互相周期發送自協商脈沖群(通過脈沖群攜帶自己的物理層信息),從而到達彼此互相理解的目的,最終建立正確連接。
    發表于 03-15 09:53 ?140次閱讀
    基于IEEE Clause 28<b class='flag-5'>雙絞線</b>的<b class='flag-5'>以太網</b>自<b class='flag-5'>協商機制</b>

    基于IEEE Clause 28雙絞線以太網協商機制解析(一)

    協商機制以太網技術物理層重要的一種機制。它可以使得不同底層技術網絡設備(計算機終端,網橋,交換機,路由器,網關等)的鏈路雙方協商成互相兼容的模式,從而建立起正確的鏈接。
    的頭像 發表于 03-15 09:55 ?412次閱讀
    基于IEEE Clause 28<b class='flag-5'>雙絞線</b>的<b class='flag-5'>以太網</b>自<b class='flag-5'>協商機制</b>解析(一)
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>