人人干人人模-人人干人人看-人人干人人搞-人人干人人干人人干-人人干人人干-人人干人人插

您現在的位置:首頁 > 服務支持 > 資訊動態資訊動態

PHY芯片快速深度理解

 摘要:

  • 什么是phy
  • 為什么要熟悉RJ45網口
  • 網絡七層協議
  • 兩個模塊進行通信
  • 什么是MDIO協議
  • MDIO的作用 
  • MDIO沒那么重要
  • MDIO讀寫時序
  • 為什么說讀取的phy最多32個


什么是phy
物理層芯片稱為PHY、數據鏈路層芯片稱為MAC。
    可以看到PHY的數據是RJ45網絡接口(網線口)穿過了的差分信號,而PHY作用就是將差分信號轉為數字信號,這塊內容不用深究,制造商都設計好了。那我們干什么呢?(主要是對phy芯片進行模式選擇,比如工作速率,工作模式)

為什么要熟悉RJ45網口
    上面說到針對phy芯片我們只要進行模式選擇(下文海翎光電的小編會介紹使用mdio接口,通過寄存器控制)那模式選擇后,如何查看是否有效呢?最簡單直接的就是通過RJ45網口的指示燈查看。

1.png

   RJ45 座子上一般有兩個燈,一個黃色(橙色),一個綠色,綠色亮的話表示網絡連接正常,黃色閃爍的話說明當前正在進行網絡通信,黃燈閃動頻率快表示網速好,這兩個燈由 PHY 芯片控制。
    如果不懂物理層和數據鏈路層可以和海翎光電的小編一起看一下網絡七層協議

網絡七層協議
2.png

兩個模塊進行通信
    下圖是兩個主控直接的通信,比如我們的電腦和路由器 ,但是如果沒有中間的介質還能連接網絡嗎?答案是可以的
    如果phy芯片沒有,那么可以直接通過兩個mac連接進行通信,之所以需要mac 、phy、變壓器的目的是為了轉換數據類型適配所以的網線,但是在一些電路上,沒必要加這么多東西
    比如搭載 Linux系統的arm芯片想要網絡,可以直接通過mac和網卡芯片連接獲取,這時候就需要通過RGMII接口或者MII接口 和 MDIO 連接網卡芯片。
(網卡芯片內置也是mac+phy,有的只有mac 層這個要看具體的手冊)
3.png

什么是MDIO協議

    mido協議即SMI協議,SMI協議也是一種通信協議類似與I2C協議但是通信方式不一樣。SMI包含兩根信號線,一個MDC時鐘線,一個MDIO雙向傳輸的數據線,

    如圖為SMI應用框圖。STA設備通過MDIO接口與PHY通信。STA(StaTIon Management)為主控設備,比如MCU、MAC、ONU等。PHY為從設備。一個STA最多管理32個PHY。MDC信號由STA控制,MDIO信號根據通信方式的不同可以由STA或者PHY接管控制。如圖通常MDIO會接一個電阻上拉至接口電源。

4.png

MDIO的作用 
    從上面的連接圖可以看到MDIO是用來連接主設備和多個PHY設備,并且通過MDIO來傳輸數據。那么傳輸的是數據是哪些呢?主要是傳輸鏈接狀態、傳輸速度與選擇、斷電、低功率休眠狀態、TX/RX模式選擇、自動協商控制、環回模式控制等。

MDIO沒那么重要

    MDIO在上面說到的兩個模塊通信,我提到了 arm芯片和網卡芯片直接需要,那么這個真的有必要嗎?其實沒必要連接!!!

    換個話說 不連接也可以使得網絡暢通,因為網絡的數據傳輸時靠RGMII不是靠MDIO,MDIO的作用僅僅只是用來查看一些狀態和功能,還有簡單的控制,而這些簡單的控制是完全可以有網卡芯片內置去寫死,arm層只要和網卡的寫的一直就可以通訊。

    但是為什么很多時候需要通過mdio來進行讀寫控制,這個只是在網絡通訊正常后的升級優化,用來方便查看狀態,就像寫了個前端網頁來看后臺數據。

    如果mido沒有讀通,或者讀取的數據是0xfffff,那么不一定是mdio的問題,很多時候是網卡本身沒有啟動!

MDIO讀寫時序

5.png

Preamble:32bits的前導碼

Start:2bit的開始位。

OP Code:2bits的操作碼,10表示讀,01表示寫。

PHYAD:5bits的PHY地址。

REGAD:5bits的寄存器地址,即要讀或寫的寄存器。

Turn Around:2bits的TA,在讀命令中,MDIO在此時由MAC驅動改為PHY驅動,并等待一個時鐘周期準備發送數據。在寫命令中,不需要MDIO方向發生變化,則只是等待兩個時鐘周期準備寫入數據。

Data:16bits數據,在讀命令中,PHY芯片將讀到的對應PHYAD的REGAD寄存器的數據寫到Data中,在寫命令中,MAC將要寫入對應PHYAD的REGAD寄存器的值寫入Data中。

Idle:空閑狀態,此時MDIO無源驅動,處高阻狀態,但一般用上拉電阻使其處在高電平,上拉電阻一般為1.5K。

 

為什么說讀取的phy最多32個

  因為mdio中讀取的phy只提供5bit的字節即最高11111 轉成十進制就是31即0-31就是32個,但這是從讀取的方式判斷的,而mdio讀取是依照phy芯片本身地址空間就5為。
為什么說reg地址最多32個
    同樣mdio中讀取的reg只提供5bit的字節即最高11111 轉成十進制就是31即0-31就是32個
     PHY 芯片寄存器地址空間為 5 位,地址 0-31 共 32 個寄存器, IEEE 定義了 0-15 這 16 個寄存器的功能, 16~31 這 16 個寄存器由廠商自行實現。也就是說不管你用的哪個廠家的 PHY 芯片,其中 0~15 這 16 個寄存器是一模一樣的。僅靠這 16 個寄存器是完全可以驅動起 PHY 芯片的,至少能保證基本的網絡數據通信。

以上內容海翎光電的小編了大量的參考文獻和一步步的實踐總結的經驗,通過實踐,把每一層都走一遍,把變壓器去掉,把phy去掉,linux系統的網卡函數看了一遍,phy芯片的手冊有看了很多。寫的淺顯易懂因為想幫助到大家。

主站蜘蛛池模板: 日本不卡一区二区三区 最新 | 在线成人免费看大片 | 九九色网| 精品福利一区二区三区免费视频 | 美女又黄又免费 | 国产综合精品一区二区 | 欧美黄色大片网站 | 日韩爱爱视频 | 国产欧美成人免费观看视频 | 国产一区二区三区高清视频 | 一级做a爰片久久毛片免费看 | 色综合伊人色综合网亚洲欧洲 | 三级黄页| 欧美九九| 久久爱综合 | 97超视频 | 91最新在线观看 | 亚洲欧美精品一区二区 | 另类综合网 | 午夜影音| 日韩亚洲国产欧美精品 | 最近中文日本字幕免费完整 | 精品毛片视频 | 国产精品欧美精品国产主播 | 免费欧美视频 | 美女黄a | 国产一区二区三区在线免费观看 | 国产高清精品在线 | 色在线视频 | 久久成人小视频 | 午夜黄色毛片 | 美女全黄网站免费观看 | 日韩午夜在线视频不卡片 | 久草热在线观看 | 日韩成人在线网站 | 精品欧美成人高清视频在线观看 | 最近2019在线中文字幕免费1 | 亚洲精品国产第七页在线 | 欧美亚洲综合在线观看 | 亚洲欧洲成人 | 免费麻豆国产一区二区三区四区 |