九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
網(wǎng)口掃盲三:以太網(wǎng)芯片MAC和PHY的關系

問:如何實現(xiàn)單片以太網(wǎng)微控制器?

答:訣竅是將微控制器、以太網(wǎng)媒體接入控制器(MAC)和物理接口收發(fā)器(PHY)整合進同一芯片,這樣能去掉許多外接元器件.這種方案可使MAC和PHY實現(xiàn)很好的匹配,同時還可減小引腳數(shù)、縮小芯片面積.單片以太網(wǎng)微控制器還降低了功耗,特別是在采用掉電模式的情況下.

問:以太網(wǎng)MAC是什么?

答:MAC即Media Access Control,即媒體訪問控制子層協(xié)議.該協(xié)議位于OSI七層協(xié)議中數(shù)據(jù)鏈路層的下半部分,主要負責控制與連接物理層的物理介質.在發(fā)送數(shù)據(jù)的時候,MAC協(xié)議可以事先判斷是否可以發(fā)送數(shù)據(jù),如果可以發(fā)送將給數(shù)據(jù)加上一些控制信息,最終將數(shù)據(jù)以及控制信息以規(guī)定的格式發(fā)送到物理層;在接收數(shù)據(jù)的時候,MAC協(xié)議首先判斷輸入的信息并是否發(fā)生傳輸錯誤,如果沒有錯誤,則去掉控制信息發(fā)送至LLC層.該層協(xié)議是以太網(wǎng)MAC由IEEE-802.3以太網(wǎng)標準定義.最新的MAC同時支持10Mbps和100Mbps兩種速率.

以太網(wǎng)數(shù)據(jù)鏈路層其實包含MAC(介質訪問控制)子層和LLC(邏輯鏈路控制)子層.一塊以太網(wǎng)卡MAC芯片的作用不但要實現(xiàn)MAC子層和LLC子層的功能,還要提供符合規(guī)范的PCI界面以實現(xiàn)和主機的數(shù)據(jù)交換.

MAC從PCI總線收到IP數(shù)據(jù)包(或者其他網(wǎng)絡層協(xié)議的數(shù)據(jù)包)后,將之拆分并重新打包成最大1518Byte,最小64Byte的幀.這個幀里面包括了目標MAC地址、自己的源MAC地址和數(shù)據(jù)包里面的協(xié)議類型(比如IP數(shù)據(jù)包的類型用80表示).最后還有一個DWORD(4Byte)的CRC碼.

可是目標的MAC地址是哪里來的呢?這牽扯到一個ARP協(xié)議(介乎于網(wǎng)絡層和數(shù)據(jù)鏈路層的一個協(xié)議).第一次傳送某個目的IP地址的數(shù)據(jù)的時候,先會發(fā)出一個ARP包,其MAC的目標地址是廣播地址,里面說到:”誰是xxx.xxx.xxx.xxx這個IP地址的主人?”因為是廣播包,所有這個局域網(wǎng)的主機都收到了這個ARP請求.收到請求的主機將這個IP地址和自己的相比較,如果不相同就不予理會,如果相同就發(fā)出ARP響應包.這個IP地址的主機收到這個ARP請求包后回復的ARP響應里說到:”我是這個IP地址的主人”.這個包里面就包括了他的MAC地址.以后的給這個IP地址的幀的目標MAC地址就被確定了.(其它的協(xié)議如數(shù)據(jù)接口,以及一個MAC和PHY之間的管理接口.

  • 數(shù)據(jù)接口包括分別用于發(fā)送器和接收器的兩條獨立信道.每條信道都有自己的數(shù)據(jù),時鐘和控制信號.MII數(shù)據(jù)接口總共需要16個信號,包括TX_ER,TXD<3:0>,TX_EN,TX_CLK, COL,RXD<3:0>,RX_EX,RX_CLK,CRS,RX_DV等.MII以4位半字節(jié)方式傳送數(shù)據(jù)雙向傳輸,時鐘速率25MHz.其工作速率可達100Mb/s;
  • MII管理接口是個雙信號接口,一個是時鐘信號,另一個是數(shù)據(jù)信號.通過管理接口,上層能監(jiān)視和控制PHY.其管理是使用SMI(Serial Management Interface)總線通過讀寫PHY的寄存器來完成的.PHY里面的部分寄存器是IEEE定義的,這樣PHY把自己的目前的狀態(tài)反映到寄存器里面,MAC通過SMI總線不斷的讀取PHY的狀態(tài)寄存器以得知目前PHY的狀態(tài),例如連接速度,雙工的能力等.當然也可以通過SMI設置PHY的寄存器達到控制的目的,例如流控的打開關閉,自協(xié)商模式還是強制模式等.不論是物理連接的MII總線和SMI總線還是PHY的狀態(tài)寄存器和控制寄存器都是有IEEE的規(guī)范的,因此不同公司的MAC和PHY一樣可以協(xié)調工作.當然為了配合不同公司的PHY的自己特有的一些功能,驅動需要做相應的修改.

MII支持10Mbps和100Mbps的操作,一個接口由14根線組成,它的支持還是比較靈活的,但是有一個缺點是因為它一個端口用的信號線太多,如果一個8端口的交換機要用到112根線,16端口就要用到224根線,到32端口的話就要用到448根線,一般按照這個接口做交換機,是不太現(xiàn)實的,所以現(xiàn)代的交換機的制作都會用到其它的一些從MII簡化出來的標準,比如RMII,SMII,GMII等.

RMII是簡化的MII接口,在數(shù)據(jù)的收發(fā)上它比MII接口少了一倍的信號線,所以它一般要求是50MHz的總線時鐘.RMII一般用在多端口的交換機,它不是每個端口安排收,發(fā)兩個時鐘,而是所有的數(shù)據(jù)端口公用一個時鐘用于所有端口的收發(fā),這里就節(jié)省了不少的端口數(shù)目.RMII的一個端口要求7個數(shù)據(jù)線,比MII少了一倍,所以交換機能夠接入多一倍數(shù)據(jù)的端口.和MII一樣,RMII支持10Mbps和100Mbps的總線接口速度.

SMII是由思科提出的一種媒體接口,它有比RMII更少的信號線數(shù)目,S表示串行的意思.因為它只用一根信號線傳送發(fā)送數(shù)據(jù),一根信號線傳輸接受數(shù)據(jù),所以為了滿足100Mbps的總線接口速度的需求,它的時鐘頻率就達到了125MHz,為什么用125MHz,是因為數(shù)據(jù)線里面會傳送一些控制信息.SMII一個端口僅用4根信號線完成100Mbps的傳輸,比起RMII差不多又少了一倍的信號線.SMII在工業(yè)界的支持力度是很高的.同理,所有端口的數(shù)據(jù)收發(fā)都公用同一個外部的125MHz時鐘.

GMII是千兆網(wǎng)的MII接口,這個也有相應的RGMII接口,表示簡化了的GMII接口.

MII總線

IEEE802.3中規(guī)定的MII總線是一種用于將不同類型的PHY與相同網(wǎng)絡控制器(MAC)相連接的通用總線.網(wǎng)絡控制器可以用同樣的硬件接口與任何PHY .

GMII(Gigabit MII)

GMII采用8接口數(shù)據(jù),工作時鐘125MHz,因此傳輸速率可達1000Mbps.同時兼容MII所規(guī)定的10/100 Mbps工作方式.

GMII接口數(shù)據(jù)結構符合IEEE以太網(wǎng)標準.該接口定義見IEEE 802.3-2000.

發(fā)送器:

  • GTXCLK——吉比特TX..信號的時鐘信號(125MHz)
  • TXCLK——10/100Mbps信號時鐘
  • TXD[7..0]——被發(fā)送數(shù)據(jù)
  • TXEN——發(fā)送器使能信號
  • TXER——發(fā)送器錯誤(用于破壞一個數(shù)據(jù)包)

注:在千兆速率下,向PHY提供GTXCLK信號,TXD,TXEN,TXER信號與此時鐘信號同步.否則,在10/100Mbps速率下,PHY提供TXCLK時鐘信號,其它信號與此信號同步.其工作頻率為25MHz(100M網(wǎng)絡)或2.5MHz(10M網(wǎng)絡).

接收器:

  • RXCLK——接收時鐘信號(從收到的數(shù)據(jù)中提取,因此與GTXCLK無關聯(lián))
  • RXD[7..0]——接收數(shù)據(jù)
  • RXDV——接收數(shù)據(jù)有效指示
  • RXER——接收數(shù)據(jù)出錯指示
  • COL——沖突檢測(僅用于半雙工狀態(tài))

管理配置

  • MDC——配置接口時鐘
  • MDIO——配置接口I/O

管理配置接口控制PHY的特性.該接口有32個寄存器地址,每個地址16位.其中前16個已經(jīng)在"IEEE 802.3,2000-22.2.4 Management Functions"中規(guī)定了用途,其余的則由各器件自己指定.

RMII(Reduced Media Independant Interface)
簡化媒體獨立接口
是標準的以太網(wǎng)接口之一,比MII有更少的I/O傳輸.

RMII口是用兩根線來傳輸數(shù)據(jù)的,MII口是用4根線來傳輸數(shù)據(jù)的,GMII是用8根線來傳輸數(shù)據(jù)的.MII/RMII只是一種接口,對于10Mbps線速,MII的時鐘速率是2.5MHz就可以了,RMII則需要5MHz;對于100Mbps線速,MII需要的時鐘速率是25MHz,RMII則是50MHz.

MII/RMII用于傳輸以太網(wǎng)包,在MII/RMII接口是4/2bit的,在以太網(wǎng)的PHY里需要做串并轉換,編解碼等才能在雙絞線和光纖上進行傳 輸,其幀格式遵循IEEE 802.3(10M)/IEEE 802.3u(100M)/IEEE 802.1q(VLAN).以太網(wǎng)幀的格式為:前導符+開始位+目的mac地址+源mac地址+類型/長度+數(shù)據(jù)+padding(optional)+32bitCRC
如果有vlan,則要在類型/長度后面加上2個字節(jié)的vlan tag,其中12bit來表示vlan id,另外4bit表示數(shù)據(jù)的優(yōu)先級!

問:以太網(wǎng)PHY是什么?

答:PHY是物理接口收發(fā)器,它實現(xiàn)物理層.IEEE-802.3標準定義了以太網(wǎng)PHY.包括MII/GMII(介質獨立接口)子層,PCS(物理編碼子層),PMA(物理介質附加)子層,PMD(物理介質相關)子層,MDI子層.它符合IEEE-802.3k中用于10BaseT(第14條)和100BaseTX(第24條和第25條)的規(guī)范.

PHY在發(fā)送數(shù)據(jù)的時候,收到MAC過來的數(shù)據(jù)(對PHY來說,沒有幀的概念,對它來說,都是數(shù)據(jù)而不管什么地址,數(shù)據(jù)還是CRC.對于100BaseTX因為使用4B/5B編碼,每4bit就增加1bit的檢錯碼),然后把并行數(shù)據(jù)轉化為串行流數(shù)據(jù),再按照物理層的編碼規(guī)則把數(shù)據(jù)編碼,再變?yōu)槟M信號把數(shù)據(jù)送出去.收數(shù)據(jù)時的流程反之.PHY還有個重要的功能就是實現(xiàn)CSMA/CD的部分功能.它可以檢測到網(wǎng)絡上是否有數(shù)據(jù)在傳送,如果有數(shù)據(jù)在傳送中就等待,一旦檢測到網(wǎng)絡空閑,再等待一個隨機時間后將送數(shù)據(jù)出去.如果兩個碰巧同時送出了數(shù)據(jù),那樣必將造成沖突,這時候,沖突檢測機構可以檢測到?jīng)_突,然后各等待一個隨機的時間重新發(fā)送數(shù)據(jù).這個隨機時間很有講究的,并不是一個常數(shù),在不同的時刻計算出來的隨機時間都是不同的,而且有多重算法來應付出現(xiàn)概率很低的同兩臺主機之間的第二次沖突.

許多網(wǎng)友在接入Internt寬帶時,喜歡使用”搶線”強的網(wǎng)卡,就是因為不同的PHY碰撞后計算隨機時間的方法設計上不同,使得有些網(wǎng)卡比較”占便宜”.不過,搶線只對廣播域的網(wǎng)絡而言的,對于交換網(wǎng)絡和ADSL這樣點到點連接到局端設備的接入方式?jīng)]什么意義.而且”搶線”也只是相對而言的,不會有質的變化.

現(xiàn)在交換機的普及使得交換網(wǎng)絡的普及,使得沖突域網(wǎng)絡少了很多,極大地提高了網(wǎng)絡的帶寬.但是如果用HUB,或者共享帶寬接入Internet的時候還是屬于沖突域網(wǎng)絡,有沖突碰撞的.交換機和HUB最大的區(qū)別就是:一個是構建點到點網(wǎng)絡的局域網(wǎng)交換設備,一個是構建沖突域網(wǎng)絡的局域網(wǎng)互連設備.

除此之外PHY還提供了和對端設備連接的重要功能并通過LED燈顯示出自己目前的連接的狀態(tài)和工作狀態(tài)讓我們知道.當我們給網(wǎng)卡接入網(wǎng)線的時候,PHY不斷發(fā)出的脈沖信號檢測到對端有設備,它們通過標準的”語言”交流,互相協(xié)商并卻定連接速度、雙工模式、是否采用流控等.通常情況下,協(xié)商的結果是兩個設備中能同時支持的最大速度和最好的雙工模式.這個技術被稱為AutoNegotiation或者NWAY,它們是一個意思–自動協(xié)商.

具體傳輸過程為,發(fā)送數(shù)據(jù)時,網(wǎng)卡首先偵聽介質上是否有載波(載波由電壓指示),如果有,則認為其他站點正在傳送信息,繼續(xù)偵聽介質.一旦通信介質在一定時間段內(nèi)(稱為幀間縫隙IFG=9.6微秒)是安靜的,即沒有被其他站點占用,則開始進行幀數(shù)據(jù)發(fā)送,同時繼續(xù)偵聽通信介質,以檢測沖突.在發(fā)送數(shù)據(jù)期間,如果檢測到?jīng)_突,則立即停止該次發(fā)送,并向介質發(fā)送一個“阻塞”信號,告知其他站點已經(jīng)發(fā)生沖突,從而丟棄那些可能一直在接收的受到損壞的幀數(shù)據(jù),并等待一段隨機時間(CSMA/CD確定等待時間的算法是二進制指數(shù)退避算法).在等待一段隨機時間后,再進行新的發(fā)送.如果重傳多次后(大于16次)仍發(fā)生沖突,就放棄發(fā)送.接收時,網(wǎng)卡瀏覽介質上傳輸?shù)拿總€幀,如果其長度小于64字節(jié),則認為是沖突碎片.如果接收到的幀不是沖突碎片且目的地址是本地地址,則對幀進行完整性校驗,如果幀長度大于1518字節(jié)(稱為超長幀,可能由錯誤的LAN驅動程序或干擾造成)或未能通過CRC校驗,則認為該幀發(fā)生了畸變.通過校驗的幀被認為是有效的,網(wǎng)卡將它接收下來進行本地處理.

問:造成以太網(wǎng)MAC和PHY單片整合難度高的原因是什么?

答:PHY整合了大量模擬硬件,而MAC是典型的全數(shù)字器件.芯片面積及模擬/數(shù)字混合架構是為什么先將MAC集成進微控制器而將PHY留在片外的原因.更靈活、密度更高的芯片技術已經(jīng)可以實現(xiàn)MAC和PHY的單芯片整合.

問: 網(wǎng)卡上除RJ-45接口外,還需要其它元件嗎?

答:PHY和MAC是網(wǎng)卡的主要組成部分,網(wǎng)卡一般用RJ-45插口,10M網(wǎng)卡的RJ-45插口也只用了1,2,3,6四根針,而100M或1000M網(wǎng)卡的則是八根針都是全的.除此以外,還需要其它元件,因為雖然PHY提供絕大多數(shù)模擬支持,但在一個典型實現(xiàn)中,仍需外接6,7只分立元件及一個局域網(wǎng)絕緣模塊.絕緣模塊一般采用一個1:1的變壓器.這些部件的主要功能是為了保護PHY免遭由于電氣失誤而引起的損壞.

另外,一顆CMOS制程的芯片工作的時候產(chǎn)生的信號電平總是大于0V的(這取決于芯片的制程和設計需求),但是這樣的信號送到100米甚至更長的地方會有很大的直流分量的損失.而且如果外部網(wǎng)線直接和芯片相連的話,電磁感應(打雷)和靜電,很容易造成芯片的損壞.再就是設備接地方法不同,電網(wǎng)環(huán)境不同會導致雙方的0V電平不一致,這樣信號從A傳到B,由于A設備的0V電平和B點的0V電平不一樣,這樣會導致很大的電流從電勢高的設備流向電勢低的設備.

為了解決以上問題Transformer(隔離變壓器)這個器件就應運而生.它把PHY送出來的差分信號用差模耦合的線圈耦合濾波以增強信號,并且通過電磁場的轉換耦合到連接網(wǎng)線的另外一端.這樣不但使網(wǎng)線和PHY之間沒有物理上的連接而換傳遞了信號,隔斷了信號中的直流分量,還可以在不同0V電平的設備中傳送數(shù)據(jù).

隔離變壓器本身就是設計為耐2KV~3KV的電壓的.也起到了防雷感應(我個人認為這里用防雷擊不合適)保護的作用.有些朋友的網(wǎng)絡設備在雷雨天氣時容易被燒壞,大都是PCB設計不合理造成的,而且大都燒毀了設備的接口,很少有芯片被燒毀的,就是隔離變壓器起到了保護作用.

隔離變壓器本身是個被動元件,只是把PHY的信號耦合了到網(wǎng)線上,并沒有起到功率放大的作用.那么一張網(wǎng)卡信號的傳輸?shù)淖铋L距離是誰決定的呢?

一張網(wǎng)卡的傳輸最大距離和與對端設備連接的兼容性主要是PHY決定的.但是可以將信號送的超過100米的PHY其輸出的功率也比較大,更容易產(chǎn)生EMI的問題.這時候就需要合適的Transformer與之配合.作PHY的老大公司Marvell的PHY,常??梢詡魉?80~200米的距離,遠遠超過IEEE的100米的標準.

RJ-45的接頭實現(xiàn)了網(wǎng)卡和網(wǎng)線的連接.它里面有8個銅片可以和網(wǎng)線中的4對雙絞(8根)線對應連接.其中100M的網(wǎng)絡中1,2是傳送數(shù)據(jù)的,3,6是接收數(shù)據(jù)的.1,2之間是一對差分信號,也就是說它們的波形一樣,但是相位相差180度,同一時刻的電壓幅度互為正負.這樣的信號可以傳遞的更遠,抗干擾能力強.同樣的,3,6也一樣是差分信號.

網(wǎng)線中的8根線,每兩根扭在一起成為一對.我們制作網(wǎng)線的時候,一定要注意要讓1,2在其中的一對,3,6在一對.否則長距離情況下使用這根網(wǎng)線的時候會導致無法連接或連接很不穩(wěn)定.

現(xiàn)在新的PHY支持AUTO MDI-X功能(也需要Transformer支持).它可以實現(xiàn)RJ-45接口的1,2上的傳送信號線和3,6上的接收信號線的功能自動互相交換.有的PHY甚至支持一對線中的正信號和負信號的功能自動交換.這樣我們就不必為了到底連接某個設備需要使用直通網(wǎng)線還是交叉網(wǎng)線而費心了.這項技術已經(jīng)被廣泛的應用在交換機和SOHO路由器上.

在1000Basd-T網(wǎng)絡中,其中最普遍的一種傳輸方式是使用網(wǎng)線中所有的4對雙絞線,其中增加了4,5和7,8來共同傳送接收數(shù)據(jù).由于1000Based-T網(wǎng)絡的規(guī)范包含了AUTOMDI-X功能,因此不能嚴格確定它們的傳出或接收的關系,要看雙方的具體的協(xié)商結果.

一片網(wǎng)卡主要功能的實現(xiàn)就基本上是上面這些器件了.

其他的,還有一顆EEPROM芯片,通常是一顆93C46.里面記錄了網(wǎng)卡芯片的供應商ID,子系統(tǒng)供應商ID,網(wǎng)卡的MAC地址,網(wǎng)卡的一些配置,如SMI總線上PHY的地址,BOOTROM的容量,是否啟用BOOTROM引導系統(tǒng)等東西.

很多網(wǎng)卡上還有BOOTROM這個東西.它是用于無盤工作站引導操作系統(tǒng)的.既然無盤,一些引導用必需用到的程序和協(xié)議棧就放到里面了,例如RPL,PXE等.實際上它就是一個標準的PCI ROM.所以才會有一些硬盤寫保護卡可以通過燒寫網(wǎng)卡的BootRom來實現(xiàn).其實PCI設備的ROM是可以放到主板BIOS里面的.啟動電腦的時候一樣可以檢測到這個ROM并且正確識別它是什么設備的.AGP在配置上和PCI很多地方一樣,所以很多顯卡的BIOS也可以放到主板BIOS里面.這就是為什么板載的網(wǎng)卡我們從來沒有看到過BOOTROM的原因.

最后就是電源部分了.大多數(shù)網(wǎng)卡現(xiàn)在都使用3.3V或更低的電壓.有的是雙電壓的.因此需要電源轉換電路.

而且網(wǎng)卡為了實現(xiàn)Wake on line功能,必須保證全部的PHY和MAC的極少一部分始終處于有電的狀態(tài),這需要把主板上的5V Standby電壓轉換為PHY工作電壓的電路.在主機開機后,PHY的工作電壓應該被從5V轉出來的電壓替代以節(jié)省5V Standby的消耗.(許多劣質網(wǎng)卡沒有這么做).

有Wake on line功能的網(wǎng)卡一般還有一個WOL的接口.那是因為PCI2.1以前沒有PCI設備喚醒主機的功能,所以需要著一根線通過主板上的WOL的接口連到南橋里面以實現(xiàn)WOL的功能.新的主板合網(wǎng)卡一般支持PCI2.2/2.3,擴展了PME#信號功能,不需要那個接口而通過PCI總線就可以實現(xiàn)喚醒功能.

我們現(xiàn)在來看兩個圖

MAC和PHY分開的以太網(wǎng)卡

MAC和PHY集成在一顆芯片的以太網(wǎng)卡

上圖中各部件為:

①RJ-45接口

②Transformer(隔離變壓器)

③PHY芯片

④MAC芯片

⑤EEPROM

⑥BOOTROM插槽

⑦WOL接頭

⑧晶振

⑨電壓轉換芯片

⑩LED指示燈

網(wǎng)卡的功能主要有兩個:一是將電腦的數(shù)據(jù)封裝為幀,并通過網(wǎng)線(對無線網(wǎng)絡來說就是電磁波)將數(shù)據(jù)發(fā)送到網(wǎng)絡上去;二是接收網(wǎng)絡上其它設備傳過來的幀,并將幀重新組合成數(shù)據(jù),發(fā)送到所在的電腦中.網(wǎng)卡能接收所有在網(wǎng)絡上傳輸?shù)男盘?但正常情況下只接受發(fā)送到該電腦的幀和廣播幀,將其余的幀丟棄.然后,傳送到系統(tǒng)CPU做進一步處理.當電腦發(fā)送數(shù)據(jù)時,網(wǎng)卡等待合適的時間將分組插入到數(shù)據(jù)流中.接收系統(tǒng)通知電腦消息是否完整地到達,如果出現(xiàn)問題,將要求對方重新發(fā)送. 

問:10BaseT和100BaseTX PHY實現(xiàn)方式不同的原因何在?

答:兩種實現(xiàn)的分組描述本質上是一樣的,但兩者的信令機制完全不同.其目的是阻止一種硬件實現(xiàn)容易地處理兩種速度.10BaseT采用曼徹斯特編碼,100BaseTX采用4B/5B編碼.

問:什么是曼徹斯特編碼?

答:曼徹斯特編碼又稱曼徹斯特相位編碼,它通過相位變化來實現(xiàn)每個位(圖2).通常,用一個時鐘周期中部的上升沿表示“1”,下降沿表示“0”.周期末端的相位變化可忽略不計,但有時又可能需要將這種相位變化計算在內(nèi),這取決于前一位的值.

問:什么是4B/5B編碼?

答:4B/5B編碼是一種塊編碼方式.它將一個4位的塊編碼成一個5位的塊.這就使5位塊內(nèi)永遠至少包含2個“1”轉換,所以在一個5位塊內(nèi)總能進行時鐘同步.該方法需要25%的額外開銷.

問:網(wǎng)卡的MAC和PHY間的關系?

答:網(wǎng)卡工作在osi的最后兩層,物理層和數(shù)據(jù)鏈路層,物理層定義了數(shù)據(jù)傳送與接收所需要的電與光信號、線路狀態(tài)、時鐘基準、數(shù)據(jù)編碼和電路等,并向數(shù)據(jù)鏈路層設備提供標準接口.物理層的芯片稱之為PHY.數(shù)據(jù)鏈路層則提供尋址機構、數(shù)據(jù)幀的構建、數(shù)據(jù)差錯檢查、傳送控制、向網(wǎng)絡層提供標準的數(shù)據(jù)接口等功能.以太網(wǎng)卡中數(shù)據(jù)鏈路層的芯片稱之為MAC控制器.很多網(wǎng)卡的這兩個部分是做到一起的.他們之間的關系是pci總線接mac總線,mac接phy,phy接網(wǎng)線(當然也不是直接接上的,還有一個變壓裝置).

PHY和MAC之間是如何傳送數(shù)據(jù)和相互溝通的.通過IEEE定義的標準的MII/GigaMII(Media Independed Interfade,介質獨立界面)界面連接MAC和PHY.這個界面是IEEE定義的.MII界面?zhèn)鬟f了網(wǎng)絡的所有數(shù)據(jù)和數(shù)據(jù)的控制.ETHERNET的接口實質是MAC通過MII總線控制PHY的過程.

問:網(wǎng)線上傳輸?shù)氖悄M信號還是數(shù)字信號?

答:是模擬信號.因為它傳出和接收是采用的模擬的技術.雖然它傳送的信息是數(shù)字的(并不是傳送的信息是數(shù)字的信號就可以叫做數(shù)字信號).

簡單的例子:我們知道電話是模擬信號,但是當我們撥號上網(wǎng)的時候,電話線里傳送的是數(shù)字信息,但信號本身依舊是模擬的.然而ADSL同樣是通過電話線傳送的,卻是數(shù)字信號.這取決于它傳出和接受采用的技術.

問:若操作系統(tǒng)沒有加載網(wǎng)卡驅動,網(wǎng)卡雖然在系統(tǒng)設備樹上,但網(wǎng)卡接口創(chuàng)建不了,那網(wǎng)卡實際能不能接收到數(shù)據(jù)?

答:這里面有很多細節(jié), 我根據(jù)Intel網(wǎng)卡的Spec大概寫了寫, 想盡量寫的通俗一些,所以沒有刻意用Spec里的術語,另外本文雖然講的是MAC/PHY,但光口卡的(SERDES)也是類似的. 

  1. PCI設備做reset以后進入D0uninitialized(非初始化的D0狀態(tài), 參考PCI電源管理規(guī)范),此時網(wǎng)卡的MAC和DMA都不工作,PHY是工作在一個特殊的低電源狀態(tài)的;
  2. 操作系統(tǒng)創(chuàng)建設備樹時,初始化這個設備,PCI命令寄存器的 Memory Access Enable or the I/O Access Enable bit會被enable, 這就是D0active.此時PHY/MAC就使能了;
  3. PHY被使能應該就可以接收物理鏈路上的數(shù)據(jù)了,否則不能收到FLP/NLP, PHY就不能建立物理連接.但這類包一般是流量間歇發(fā)送的;
  4. 驅動程序一般要通過寄存器來控制PHY, 比如自動協(xié)商speed/duplex, 查詢物理鏈路的狀態(tài)Link up/down;
  5. MAC被使能后, 如果沒有驅動設置控制寄存器的一個位(CTRL.SLU )的話, MAC和PHY是不能通訊的, 就是說MAC不知道PHY的link已經(jīng)ready, 所以收不到任何數(shù)據(jù)的.這位設置以后, PHY完成自協(xié)商, 網(wǎng)卡才會有個Link change的中斷,知道物理連接已經(jīng)Link UP了;
  6. 即使Link已經(jīng)UP, MAC還需要enable接收器的一個位(RCTL.RXEN ),包才可以被接收進來,如果網(wǎng)卡被reset,這位是0,意味著所有的包都會被直接drop掉,不會存入網(wǎng)卡的 FIFO.老網(wǎng)卡在驅動退出前利用這位關掉接收.Intel的最新千兆網(wǎng)卡發(fā)送接收隊列的動態(tài)配置就是依靠這個位的,重新配置的過程一定要關掉流量;
  7. 無論驅動加載與否, 發(fā)生reset后,網(wǎng)卡EEPOM里的mac地址會寫入網(wǎng)卡的MAC地址過濾寄存器, 驅動可以去修改這個寄存器,現(xiàn)代網(wǎng)卡通常支持很多MAC地址,也就是說,MAC地址是可以被軟件設置的.例如,Intel的千兆網(wǎng)卡就支持16個單播 MAC地址,但只有1個是存在EEPROM里的,其它是軟件聲稱和設置的;
  8. 但如果驅動沒有加載,網(wǎng)卡已經(jīng)在設備樹上,操作系統(tǒng)完成了步驟1-2的初始化,此時網(wǎng)卡的PHY應該是工作的,但因為沒有人設置控制位(CTRL.SLU)來讓MAC和PHY建立聯(lián)系,所以MAC是不收包的.這個控制位在reset時會再設置成0;
  9. PHY可以被軟件設置加電和斷電, 斷電狀態(tài)除了接收管理命令以外,不會接收數(shù)據(jù).另外,PHY還能工作在Smart Power Down模式下,link down就進入省電狀態(tài);
  10. 有些多口網(wǎng)卡,多個網(wǎng)口共享一個PHY, 所以BIOS里設置disbale了某個網(wǎng)口, 也未必會把PHY的電源關掉,反過來,也要小心地關掉PHY的電源;
  11. 要詳細了解PHY,最終還是要熟悉IEEE以太網(wǎng)的相關協(xié)議.

本文引用:http://blog.csdn.net/woodstar123/article/details/3324368

http://blog.csdn.net/yayong/article/details/5334565

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
干貨 | 汽車以太網(wǎng)互聯(lián)技術
以太網(wǎng)PHY和MAC
MAC ,PHY, MII
有關MAC、PHY和MII - linux設備/驅動 - 態(tài)度決定一切
MII接口詳解
MAC MII and PHY
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服