chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

關(guān)于PHY的三大寄存器詳解

FPGA之家 ? 來源:CSDN技術(shù)社區(qū) ? 作者:Firefly_cjd ? 2021-03-21 10:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在之前的文章,我們講解了STM32的網(wǎng)絡(luò)外設(shè)部分。

文章有《STM32網(wǎng)絡(luò)電路設(shè)計》《STM32網(wǎng)絡(luò)之MAC控制器》《STM32網(wǎng)絡(luò)之DMA控制器》《STM32網(wǎng)絡(luò)之中斷》。

STM32只有網(wǎng)絡(luò)外設(shè)時不能進行網(wǎng)絡(luò)通信的,因為STM32只提供了SMI接口,MII和RMII接口。我們還需要與之通信的外部網(wǎng)絡(luò)芯片,簡稱PHY芯片。我熟悉的PHY型號有:RTL8201F,RTL8201E,RTL8201G,DP83848,YT8512C等,原計劃講解RTL8201F的,但是內(nèi)容太多,先把PHY寄存器拿出來講一下。

為什么STM32不集成PHY呢?

PHY(PortPhysical Layer),中文可稱之為端口物理層。

1、PHY芯片是模擬芯片,需要將網(wǎng)線的差分信號轉(zhuǎn)換成數(shù)字信號,如果集成,則芯片面積增加,如果要降低功耗,還要高的芯片制造工藝,這會直接將芯片成本拉高。

2、并不是所有的STM32使用者都需要使用到網(wǎng)絡(luò),集成PHY會增加成本。

所以,STM32不集成PHY不是技術(shù)問題,而是各方面考慮的結(jié)果。

難道沒有集成PHY的MCU嗎?

有的,TI的LM3S8962。

我們說回PHY寄存器,外部PHY芯片寄存器分為3種類型

Basic:基礎(chǔ)寄存器

Extended:擴展寄存器

Vendor-spcififc:廠商特殊寄存器

其中在802.3協(xié)議2012版中有如下說明。

不同的手冊,對基礎(chǔ)寄存器有不同的說明,按照802.3-2012上圖的說明基礎(chǔ)寄存器是控制器寄存器(寄存器0)和狀態(tài)寄存器(寄存器1),在GMII(千兆網(wǎng))接口中海油擴展狀態(tài)寄存器(寄存器15)。

本文主要根據(jù)802.3-2012協(xié)議講解PHY的基礎(chǔ)寄存器,并不是根據(jù)某個具體芯片講解的。

寄存器0和寄存器1在協(xié)議文檔的中位置如下圖

01控制寄存器(寄存器0)

寄存器0是PHY控制寄存器,通過ControlRegister可以對PHY的主要工作狀態(tài)進行設(shè)置

bit15 Rset

bit15為1時表示,PHY復(fù)位。Bit15控制的是PHY復(fù)位功能,在該位置寫入1實現(xiàn)對PHY的復(fù)位操作。復(fù)位后該端口PHY的其他控制、狀態(tài)寄存器將恢復(fù)到默認值,每次PHY復(fù)位應(yīng)該在0.5s的時間內(nèi)完成,復(fù)位過程中Bit15保持為1,復(fù)位完成之后該位應(yīng)該自動清零。一般要改變端口的工作模式(如速率、雙工、流控或協(xié)商信息等)時,在設(shè)置完相應(yīng)位置的寄存器之后,需要通過Reset位復(fù)位PHY來使配置生效。

在復(fù)位過程完成之前,不需要PHY接受對控制寄存器的寫事務(wù),而在復(fù)位過程完成之前,對控制寄存器中除bit15以外的位的寫操作可能無效。

bit14 Loopback

Loopback是一個調(diào)試以及故障診斷中常用的功能,Bit14置1之后,PHY和外部MDI的連接在邏輯上將被斷開,從MAC經(jīng)過MII/GMII(也可能是其他的MAC/PHY接口)發(fā)送過來的數(shù)據(jù)將不會被發(fā)送到MDI上,而是在PHY內(nèi)部(一般在PCS)回環(huán)到本端口的MII/GMII接收通道上。

通過Loopback功能可以檢查MII/GMII以及PHY接口部分是否工作正常,對于端口不通的情況可用于故障定位。需要注意的是,很多時候PHY設(shè)置Loopback后端口可能就Linkdown了,MAC無法向該端口發(fā)幀,這時就需要通過設(shè)置端口ForceLink up才能使用Loopback功能。

bit13 Speed Selection(LSB)

Bit13和Bit6兩位聯(lián)合實現(xiàn)對端口的速率控制功能,具體的對應(yīng)關(guān)系詳見下圖

需要注意的是SpeedSelection只有在自動協(xié)商關(guān)閉的情況下才起作用,如果自動協(xié)商設(shè)置為Enable狀態(tài),則該設(shè)置不起作用;

并且,對SpeedSelection的修改設(shè)置,往往需要復(fù)位端口才能配置生效。因此在設(shè)置該位置的時候需要檢查自動協(xié)商的設(shè)置并通過Bit15復(fù)位端口。

bit12 Auto-Negotiation Enable

自動協(xié)商(AN)開關(guān)。設(shè)置為1表示打開AN功能,端口的工作模式通過和連接對端進行自動協(xié)商來確定。如果設(shè)置為0則自動協(xié)商功能關(guān)閉,端口的工作模式通過ControlRegister相應(yīng)位置的配置決定。必須注意的是,對于1000BASE-T接口,自動協(xié)商必須打開。

bit11 Power Down

端口工作開關(guān):設(shè)置為1將使端口進入PowerDown(低功耗狀態(tài))模式,正常情況下PHY在PowerDown模式其MII和MDI均不會對外發(fā)送數(shù)據(jù)。PowerDown模式一般在軟件shutdown端口的時候使用,需要注意的是端口從PowerDown模式恢復(fù),需要復(fù)位端口以保證端口可靠的連接。

bit10 Isolate

隔離狀態(tài)開關(guān):改位置1將導(dǎo)致PHY和MII接口之間處于電氣隔離狀態(tài),除了MDC/MDIO接口的信號外,其他MII引腳處于高阻態(tài)。IEEE802.3沒有對Isolate時MDI接口的狀態(tài)進行規(guī)范,此時MDI端可能還在正常運行。Isolate在實際應(yīng)用中并沒有用到。并且,值得注意的是,由于目前很多百兆的PHY芯片其MAC接口主流的都是SMII/S3MII,8個端口的接口是相互關(guān)聯(lián)的,一個端口設(shè)置Isolate可能會影響其他端口的正常使用,因此在使用中注意不要隨意更改bit10的狀態(tài)。

bit9 Restart Auto-Negotiation

重新啟動自動協(xié)商開關(guān):Bit9置1將重新啟動端口的自動協(xié)商進程,當(dāng)然前提是Auto-NegotiationEnable是使能的。一般在修改端口的自動協(xié)商能力信息之后通過Bit9置1重新啟動自動協(xié)商來使端口按照新的配置建立link。

bit8 Duplex Mode

雙工模式設(shè)置:Bit8置1端口設(shè)置為全雙工,置0則端設(shè)置為半雙工,和SpeedSelection的設(shè)置一樣,DuplexMode的設(shè)置只有在自動協(xié)商關(guān)閉的情況下才起作用,如果自動協(xié)商設(shè)置為Enable狀態(tài),則該設(shè)置不起作用,端口的雙工模式根據(jù)AN結(jié)果來定。對DuplexMode的修改配置也需要復(fù)位端口才能生效。

bit7 Collision Test

沖突信號(COL)測試開關(guān):在需要對COL信號進行測試時,可以通過Bit7置1,這時PHY將輸出一個COL脈沖以供測試。實際測試操作中也可以將端口配置為半雙工狀態(tài),通過發(fā)幀沖突來測試COL信號,因此該配置實用價值不大。

bit6 Speed Selection(MSB)

和Bit13兩位聯(lián)合實現(xiàn)對端口的速率控制功能。

bit5 Unidirectional enable

當(dāng)?shù)?2位為1或第8位為0時,該位為忽略了。

當(dāng)?shù)?2位為0且第8位為1:

1:從MII接口啟用傳輸,不管PHY是否確定已建立有效鏈路

0:僅當(dāng)PHY確定已建立有效鏈路時,才啟用從MII接口傳輸

Bits 4:0 reserved

保留位,它們應(yīng)寫入為零,讀取時應(yīng)忽略;但是,PHY應(yīng)返回這些位中的值零。

02狀態(tài)寄存器(寄存器1)

寄存器1是PHY狀態(tài)寄存器,主要包含PHY的狀態(tài)信息。

bit15 100BASE-T4

PHY使用100BASE-T4信令規(guī)范執(zhí)行鏈路傳輸和接收的能力。1:具有能力;0:不具有能力。

bit14 100BASE-X Full Duplex

PHY使用100BASE-X信令規(guī)范執(zhí)行全雙工鏈路傳輸和接收的能力。1:具有能力;0:不具有能力。

bit13 100BASE-X Half Duplex

PHY使用100BASE-X信令規(guī)范執(zhí)行半雙工鏈路傳輸和接收的能力。1:具有能力;0:不具有能力。

bit12 10Mb/s Full Duplex

PHY具有以10Mb/s的速度運行時執(zhí)行全雙工鏈路傳輸和接收的能力。1:具有能力;0:不具有能力。

bit11 10Mb/s Half Duplex

PHY具有以10Mb/s的速度運行時執(zhí)行半雙工鏈路傳輸和接收的能力。1:具有能力;0:不具有能力。

bit10 100BASE-T2 Full Duplex

PHY具有使用100BASE-T2信令規(guī)范執(zhí)行全雙工鏈路傳輸和接收的能力。1:具有能力;0:不具有能力。

bit9 100BASE-T2 Half Duplex

PHY具有使用100BASE-T2信令規(guī)范執(zhí)行半雙工鏈路傳輸和接收的能力。1:具有能力;0:不具有能力。

bit8 Externded Status

1:使能寄存器15

0:不使能寄存器15

bit7 Unidirectional ability

1:PHY有能力編碼和傳輸來自PHY的數(shù)據(jù)通過MII接口,而不管PHY是否已確定有效鏈路已被連接已建立。

0:僅當(dāng)PHY確定已建立有效鏈路時,才啟用從MII接口傳輸

bit6 MF Preamble Suppression

1:PHY能夠接受管理幀,而不管它們前面是否有前導(dǎo)碼模式。

0:PHY不能接受管理幀,除非它們前面有前導(dǎo)碼模式。

前導(dǎo)碼模式。

在官方文檔中22.2.4.5.2中有描述的。大家可以自行查看。

其實這個前導(dǎo)碼我們在之前也是講解到的,在文章《STM32網(wǎng)絡(luò)之SMI接口》如下圖,建議沒有讀過這篇文章的同學(xué)讀一下。

bit5 Auto-Negotiation Complete

AN完成狀態(tài)指示位:Bit5指示的是端口AN進程是否完成的狀態(tài)位。在ANEnable的情況下,Bit5=1表示自動協(xié)商進程已經(jīng)成功結(jié)束,此時PHY的其他和Link狀態(tài)相關(guān)的寄存器才是正確可靠的。如果AN進程沒有完成,則這些狀態(tài)信息可能是錯誤的。在調(diào)試以及異常故障處理時,可以通過該位寄存器的狀態(tài)判斷AN是否成功,從而進一步的檢查AN相關(guān)的設(shè)置是否正確,或者芯片的AN功能是否正常等。

bit4 Remote Fault

遠端錯誤指示位:Bit4=1代表連接對端(LinkPartner)出錯,至于出錯的具體類型以及錯誤檢測機制在規(guī)范中并沒有定義,由PHY的制造商自由發(fā)揮,一般的廠商都會在其他的寄存器(Register16-31由廠商自行定義)指示比較詳細的錯誤類型。在與端口相關(guān)的故障查證中,RemoteFault是一個重要的指示信息,通過互聯(lián)雙方的RemoteFault信息(可能要加上其他的具體錯誤指示),可以幫助定位故障原因。

bit3 Auto-Negotiation Ability

1:PHY使能自動協(xié)商

0:PHY不使能自動協(xié)商

bit2 Link Status

Link狀態(tài)指示位:Bit2=1代表端口Linkup,0則代表端口Linkdown。實際應(yīng)用中一般都是通過Bit2來判斷端口的狀態(tài)。而且,一般的MAC芯片也是通過輪詢PHY的這個寄存器值來判斷端口的Link狀態(tài)的(這個過程可能有不同的名稱,比如BCM叫做LinkScan,而Marvell叫做PHYPolling。)如前所述,在ANEnable的情況下,LinkStatus的信息只有在Auto-NegotiationComplete指示已經(jīng)完成的情況下才是正確可靠的,否則有可能出錯。

bit1 Jabber Detect

1:檢測到抖動(戳刺)狀態(tài)

0:沒有檢測到抖動(戳刺)狀態(tài)

bit0 Extended Capability

1:PHY提供了擴展的功能集,可通過擴展的寄存器集進行訪問。

0:沒有提供擴展寄存器。

03寄存器15

寄存器15主要模式千兆網(wǎng)模式下,PHY的狀態(tài)。

如上圖,寄存器15主要描述,千兆網(wǎng)模式下PHY的狀態(tài),具體含義和寄存器1的相關(guān)位差不多。

bit15 1000BASE-X Full Duplex

PHY使用1000BASE-X信令規(guī)范執(zhí)行全雙工鏈路傳輸和接收的能力。1:具有能力;0:不具有能力。

bit14 1000BASE-X Half Duplex

PHY使用100B0ASE-X信令規(guī)范執(zhí)行半雙工鏈路傳輸和接收的能力。1:具有能力;0:不具有能力。

bit13 1000BASE-T Full Duplex

PHY具有使用1000BASE-T信令規(guī)范執(zhí)行全雙工鏈路傳輸和接收的能力。1:具有能力;0:不具有能力。

bit12 1000BASE-T Half Duplex

PHY具有使用1000BASE-T信令規(guī)范執(zhí)行半雙工鏈路傳輸和接收的能力。1:具有能力;0:不具有能力。

Bits 11:0 reserved

保留位,讀取的時候忽略。

04其他寄存器

除去基礎(chǔ)寄存器,802.3-2012協(xié)議也提到了其他寄存器,這里簡單說明下,不做重點講解。

寄存器2、3:芯片ID寄存器

寄存器2、3分別是PHYID寄存器,從內(nèi)核代碼知道,寄存器2(PHYID1)為高16位,而寄存器3(PHYID2)為低16位。它們作為PHY芯片的標識,一般被認為作用不大,以前有過同一主CPU搭配不同的PHY組合不同的板卡,使用同一份內(nèi)核,這里就可以用PHYID來做區(qū)別。

寄存器4:自動協(xié)商通告寄存器

該寄存器保存著PHY本身具備的特性、能力。如PHY支持流控、百兆全雙工/半雙工、十兆全雙工/半雙工,等。

當(dāng)設(shè)置為自動協(xié)商使能情況下通過FLP在MDI上進行通告。如果不使能,則此寄存器的配置無效。

寄存器5:自動協(xié)商對端能力通告寄存器

該寄存器和寄存器4類似,它表示對端(交換機或PC)具備的特性、能力。同樣要注意是的只有在自動協(xié)商使能情況下該寄存器信息才有效。由于此寄存器表示的是對端的狀態(tài),所以一般情況下寄存器的值被設(shè)計為只讀,但有的芯片如dm9000的流控位5.10FCS是可讀寫的。

該寄存器主要用來了解對端的情況,在出現(xiàn)問題時,可以了解對方的信息,從而大致定位范圍。而不用一味地找自身原因。萬一真的是對端的交換機出現(xiàn)故障,此寄存器就是有力的現(xiàn)場證據(jù)。
編輯:lyn

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5493

    瀏覽量

    127743
  • STM32
    +關(guān)注

    關(guān)注

    2301

    文章

    11073

    瀏覽量

    369342
  • PHY
    PHY
    +關(guān)注

    關(guān)注

    2

    文章

    330

    瀏覽量

    53486

原文標題:PHY寄存器

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    ?SN74HCT595 8位移位寄存器技術(shù)解析與應(yīng)用指南

    Texas Instruments SN74HCT595/SN74HCT595-Q1 8位移位寄存器包含8位串進并出移位寄存器,向8位D類存儲寄存器饋送信號。存儲寄存器具有并行 3 狀
    的頭像 發(fā)表于 09-19 14:31 ?356次閱讀
    ?SN74HCT595 8位移位<b class='flag-5'>寄存器</b>技術(shù)解析與應(yīng)用指南

    TPIC6595 8位功率移位寄存器技術(shù)文檔摘要

    該TPIC6595是一款單片、高壓、大電流功率的8位移位寄存器,設(shè)計用于需要相對較高負載功率的系統(tǒng)。該器件在輸出端包含一個內(nèi)置電壓鉗位,用于電感瞬態(tài)保護。功率驅(qū)動應(yīng)用包括繼電器、螺線管和其他中電流
    的頭像 發(fā)表于 09-09 11:10 ?539次閱讀
    TPIC6595 8位功率移位<b class='flag-5'>寄存器</b>技術(shù)文檔摘要

    ?TPIC6B595 8位功率移位寄存器技術(shù)文檔總結(jié)

    TPIC6B595器件是一款單片、高壓、中電流功率8位移位寄存器,設(shè)計用于需要相對高負載功率的系統(tǒng)。該器件在輸出端包含一個內(nèi)置電壓鉗位,用于電感瞬態(tài)保護。功率驅(qū)動應(yīng)用包括繼電器、螺線管和其他中電流
    的頭像 發(fā)表于 09-09 10:16 ?573次閱讀
    ?TPIC6B595 8位功率移位<b class='flag-5'>寄存器</b>技術(shù)文檔總結(jié)

    使用寄存器點亮LED燈

    學(xué)習(xí)本章時,配合以上芯片手冊中的“19. I/O Ports”章節(jié)一起閱讀,效果會更佳,特別是涉及到寄存器說明的部分。本章內(nèi)容涉及到較多寄存器方面的深入內(nèi)容,對于初學(xué)者而言這些內(nèi)容豐富也較難理解,但非常有必要細讀研究、夯實基礎(chǔ)。
    的頭像 發(fā)表于 05-28 17:37 ?878次閱讀
    使用<b class='flag-5'>寄存器</b>點亮LED燈

    74HC594-Q100;74HCT594-Q100帶輸出寄存器的8位移位寄存器規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《74HC594-Q100;74HCT594-Q100帶輸出寄存器的8位移位寄存器規(guī)格書.pdf》資料免費下載
    發(fā)表于 02-09 15:19 ?0次下載
    74HC594-Q100;74HCT594-Q100帶輸出<b class='flag-5'>寄存器</b>的8位移位<b class='flag-5'>寄存器</b>規(guī)格書

    STC15系列常用寄存器匯總免費下載

      寄存器的功能是存儲二進制代碼,它是由具有存儲功能的觸發(fā)組合起來構(gòu)成的。一個觸發(fā)可以存儲1位二進制代碼,故存放n位二進制代碼的寄存器,需用n個觸發(fā)
    發(fā)表于 01-22 17:24 ?10次下載

    XILINX FPGA CLB單元之移位寄存器

    一、移位寄存器 SLICEM函數(shù)發(fā)生也可以配置為32位移位寄存器,而無需使用slice中可用的觸發(fā)。以這種方式使用,每個LUT可以將串行數(shù)據(jù)延遲1到32個時鐘周期。 移入D(DI1
    的頭像 發(fā)表于 01-16 17:45 ?1228次閱讀
    XILINX FPGA CLB單元之移位<b class='flag-5'>寄存器</b>

    TPS80032寄存器手冊

    電子發(fā)燒友網(wǎng)站提供《TPS80032寄存器手冊.pdf》資料免費下載
    發(fā)表于 12-21 09:08 ?0次下載
    TPS80032<b class='flag-5'>寄存器</b>手冊

    怎么才能訪問DP83869HM的寄存器

    我們的主控芯片(CPU+MAC)的寄存器訪問只支持5bit. [4:0] REG_ADDR PHY器件內(nèi)部的寄存器地址。 請問要怎么才能訪問DP83869HM的寄存器,比如0X0C0
    發(fā)表于 12-09 07:33

    LMX2820寄存器映射

    電子發(fā)燒友網(wǎng)站提供《LMX2820寄存器映射.pdf》資料免費下載
    發(fā)表于 11-26 15:18 ?14次下載
    LMX2820<b class='flag-5'>寄存器</b>映射

    LMX1204寄存器映射

    電子發(fā)燒友網(wǎng)站提供《LMX1204寄存器映射.pdf》資料免費下載
    發(fā)表于 11-18 14:18 ?0次下載
    LMX1204<b class='flag-5'>寄存器</b>映射

    Modbus協(xié)議的讀取保持寄存器

    功能碼用于讀取從設(shè)備保持寄存器的內(nèi)容,不支持廣播模式。消息頓中指定了需要讀取的保持寄存器的起始地址和數(shù)目。而保持寄存器中各地址的具體內(nèi)容和意義則由設(shè)備開發(fā)者自行規(guī)定。
    的頭像 發(fā)表于 10-30 10:54 ?5074次閱讀

    詳解寄存器模型鏡像值

    DUT的配置寄存器的值是實際值,reg_model有鏡像值、期望值的概念。
    的頭像 發(fā)表于 10-23 09:43 ?1659次閱讀
    <b class='flag-5'>詳解</b><b class='flag-5'>寄存器</b>模型鏡像值

    求助,關(guān)于AIC3254寄存器的問題求解

    不是說AIC3254的寄存器每頁都只有128個寄存器的嗎,那么寄存器的最大地址應(yīng)該是127啊,下圖是PPS生成的base_main_Rate44_pps_driver.h文件,里面對寄存器
    發(fā)表于 10-23 06:48

    接口的控制與狀態(tài)寄存器什么作用

    接口的控制與狀態(tài)寄存器(Control and Status Registers,簡稱CSR)是計算機系統(tǒng)中用于控制和監(jiān)控硬件設(shè)備操作的寄存器。它們是硬件設(shè)備與其驅(qū)動程序之間的橋梁,允許軟件控制硬件
    的頭像 發(fā)表于 10-17 10:42 ?1892次閱讀