MAC和PHY組成原理_第1頁
MAC和PHY組成原理_第2頁
MAC和PHY組成原理_第3頁
MAC和PHY組成原理_第4頁
MAC和PHY組成原理_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、 Mac與Phy組成原理的簡單分析 2011-12-28 15:30:43分類: LINUX本文乃fireaxe原創(chuàng),使用GPL發(fā)布,可以自由拷貝,轉載。但轉載請保持文檔的完整性,并注明原作者及原鏈接。內(nèi)容可任意使用,但對因使用該內(nèi)容引起的后果不做任何保證。作者:fireaxe_hq博客:Mac與Phy組成原理的簡單分析1  1. general下圖是網(wǎng)口結構簡圖。網(wǎng)口由CPU、MAC和PHY三部分組成。DMA控制器通常屬于CPU的一部分,用虛線放在這里是為了表示DMA控制器可能會參與到網(wǎng)口數(shù)據(jù)傳輸中。對于上述的三部分,并不一定都是獨

2、立的芯片,根據(jù)組合形式,可分為下列幾種類型:方案一:CPU集成MAC與PHY;方案二:CPU集成MAC,PHY采用獨立芯片;方案三:CPU不集成MAC與PHY,MAC與PHY采用集成芯片;本例中選用方案二做進一步說明,因為CPU總線接口很常見,通常都會做成可以像訪問內(nèi)存一樣去訪問,沒必要拿出來說,而Mac與PHY之間的MII接口則需要多做些說明。下圖是采用方案二的網(wǎng)口結構圖。虛框表示CPU,MAC集成在CPU中。PHY芯片通過MII接口與CPU上的Mac連接。 在軟件上對網(wǎng)口的操作通常分為下面幾步:1)       

3、; 1) 為數(shù)據(jù)收發(fā)分配內(nèi)存;2)        2) 初始化MAC寄存器;3)        3) 初始化PHY寄存器(通過MIIM);           4) 啟動收發(fā); 2. 2. MIIMII接口是MAC與PHY連接的標準接口。因為各廠家采用了同樣的接口,用戶可以根據(jù)所需的性能、價格,采用

4、不同型號,甚至不同公司的phy芯片。需要發(fā)送的數(shù)據(jù)通過MII接口中的收發(fā)兩組總線實現(xiàn)。而對PHY芯片寄存器的配置信息,則通過MII總的一組串口總線實現(xiàn),即MIIM(MII Management)。下表列出了MII總線中主要的一些引腳PIN NameDirectionDescriptionTXD0:3Mac to PhyTransmit DataTXENMac to PhyTransmit EnableTXCLKMac to PhyTransmit ClockRXD0:3Phy to MacReceive DataRXENPhy to MacReceive EnableRXCLKPhy to M

5、acReceive ClockMDCMac to PhyManagement Data ClockMDIOBidirectionManagement Data I/O MIIM只有兩個線,時鐘信號MDC與數(shù)據(jù)線MDIO。讀寫命令均由Mac發(fā)起,PHY不能通過MIIM主動向Mac發(fā)送信息。由于MIIM只能有Mac發(fā)起,我們可以操作的也就只有MAC上的寄存器。 3.  3. DMA收發(fā)數(shù)據(jù)總是間費時費力的事,尤其對于網(wǎng)絡設備來說更是如此。CPU做這些事情顯然不合適。既然是數(shù)據(jù)搬移,最簡單的辦法當然是讓DMA來做。畢竟專業(yè)的才是最好的。這樣CPU要做

6、的事情就簡單了。只需要告訴DMA起始地址與長度,剩下的事情就會自動完成。通常在MAC中會有一組寄存器專門用戶記錄數(shù)據(jù)地址,tbase與rbase,cpu按MAC要的格式把數(shù)據(jù)放好后,啟動MAC的數(shù)據(jù)發(fā)送就可以了。啟動過程常會用到寄存器tstate。 4. 4. MACCPU上有兩組寄存器用與MAC。一組用戶數(shù)據(jù)的收發(fā),對應上面的DMA;一組用戶MIIM,用戶對PHY進行配置。兩組寄存器由于都在CPU上,配置方式與其他CPU上寄存器一樣,直接讀寫即可。數(shù)據(jù)的轉發(fā)通過DMA完成。 5. 5. PHY該芯片是一個10M/100M Ether

7、net網(wǎng)口芯片PHY芯片有一組寄存器用戶保存配置,并更新狀態(tài)。CPU不能直接訪問這組寄存器,只能通過MAC上的MIIM寄存器組實現(xiàn)間接訪問。同時PHY芯片負責完成MII總線的數(shù)據(jù)與Media Interface上數(shù)據(jù)的轉發(fā)。該轉發(fā)根據(jù)寄存器配置自動完成,不需要外接干預。 一塊以太網(wǎng)網(wǎng)卡包括OSI(開方系統(tǒng)互聯(lián))模型的兩個層。物理層和數(shù)據(jù)鏈路層。物理層定義了數(shù)據(jù)傳送與接收所需要的電與光信號、線路狀態(tài)、時鐘基準、數(shù)據(jù)編碼和電路等,并向數(shù)據(jù)鏈路層設備提供標準接口。數(shù)據(jù)鏈路層則提供尋址機構、數(shù)據(jù)幀的構建、數(shù)據(jù)差錯檢查、傳送控制、向網(wǎng)絡層提供標準的數(shù)據(jù)接口等功能。1網(wǎng)卡的基本結構 &

8、#160;  以太網(wǎng)卡中數(shù)據(jù)鏈路層的芯片一般簡稱之為MAC控制器,物理層的芯片我們簡稱之為PHY。許多網(wǎng)卡的芯片把MAC和PHY的功能做到了一顆芯片中,比如Intel 82559網(wǎng)卡的和3COM 3C905網(wǎng)卡。但是MAC和PHY的機制還是單獨存在的,只是外觀的表現(xiàn)形式是一顆單芯片。當然也有很多網(wǎng)卡的MAC和PHY是分開做的,比如D-LINK的DFE-530TX等。圖一:MAC和PHY分開的以太網(wǎng)卡(點擊放大)圖二:MAC和PHY集成在一顆芯片的以太網(wǎng)卡(點擊放大)RJ-45接口 Transformer(隔離變壓器) PHY芯片MAC芯片   EEPROM

9、0;   BOOTROM插槽WOL接頭   晶振    電壓轉換芯片LED指示燈2什么是MAC?     首先我們來說說以太網(wǎng)卡的MAC芯片的功能。以太網(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ù)包)后,將之拆分并重新打包成最大1518Byt

10、e,最小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地址和自己的相比較,如果不相同就不予理會,

11、如果相同就發(fā)出ARP響應包。這個IP地址的主機收到這個ARP請求包后回復的ARP響應里說到:”我是這個IP地址的主人”。這個包里面就包括了他的MAC地址。以后的給這個IP地址的幀的目標MAC地址就被確定了。(其它的協(xié)議如IPX/SPX也有相應的協(xié)議完成這些操作。)    IP地址和MAC地址之間的關聯(lián)關系保存在主機系統(tǒng)里面,叫做ARP表,由驅動程序和操作系統(tǒng)完成。在Microsoft的系統(tǒng)里面可以用 arp -a 的命令查看ARP表。收到數(shù)據(jù)幀的時候也是一樣,做完CRC以后,如果沒有CRC效驗錯誤,就把幀頭去掉,把數(shù)據(jù)包拿出來通過標準的借口傳遞給驅動和上層的協(xié)議客

12、棧,最終正確的達到我們的應用程序。還有一些控制幀,例如流控幀也需要MAC直接識別并執(zhí)行相應的行為。    以太網(wǎng)MAC芯片的一端接計算機PCI總線,另外一端就接到PHY芯片上。以太網(wǎng)的物理層又包括MII/GMII(介質獨立接口)子層、PCS(物理編碼子層)、PMA(物理介質附加)子層、PMD(物理介質相關)子層、MDI子層。而PHY芯片是實現(xiàn)物理層的重要功能器件之一,實現(xiàn)了前面物理層的所有的子層的功能。3網(wǎng)絡傳輸?shù)牧鞒?#160;   PHY在發(fā)送數(shù)據(jù)的時候,收到MAC過來的數(shù)據(jù)(對PHY來說,沒有幀的概念,對它來說,都是數(shù)據(jù)而不管什么地址,數(shù)

13、據(jù)還是CRC),每4bit就增加1bit的檢錯碼,然后把并行數(shù)據(jù)轉化為串行流數(shù)據(jù),再按照物理層的編碼規(guī)則(10Based-T的NRZ編碼或100based-T的曼徹斯特編碼)把數(shù)據(jù)編碼,再變?yōu)槟M信號把數(shù)據(jù)送出去。(注:關于網(wǎng)線上數(shù)據(jù)是數(shù)字的還是模擬的比較不容易理解清楚。最后我再說)    收數(shù)據(jù)時的流程反之。    PHY還有個重要的功能就是實現(xiàn)CSMA/CD的部分功能。它可以檢測到網(wǎng)絡上是否有數(shù)據(jù)在傳送,如果有數(shù)據(jù)在傳送中就等待,一旦檢測到網(wǎng)絡空閑,再等待一個隨機時間后將送數(shù)據(jù)出去。如果兩塊網(wǎng)卡碰巧同時送出了數(shù)據(jù),那樣必將造成沖突

14、,這時候,沖突檢測機構可以檢測到?jīng)_突,然后各等待一個隨機的時間重新發(fā)送數(shù)據(jù)。這個隨機時間很有講究的,并不是一個常數(shù),在不同的時刻計算出來的隨機時間都是不同的,而且有多重算法來應付出現(xiàn)概率很低的同兩臺主機之間的第二次沖突。    許多網(wǎng)友在接入Internt寬帶時,喜歡使用”搶線”強的網(wǎng)卡,就是因為不同的PHY碰撞后計算隨機時間的方法設計上不同,使得有些網(wǎng)卡比較”占便宜”。不過,搶線只對廣播域的網(wǎng)絡而言的,對于交換網(wǎng)絡和ADSL這樣點到點連接到局端設備的接入方式?jīng)]什么意義。而且”搶線”也只是相對而言的,不會有質的變化。4關于網(wǎng)絡間的沖突  

15、60; 現(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é)商并卻定連接速度、雙工模式、是否采用流控等。 

16、0;  通常情況下,協(xié)商的結果是兩個設備中能同時支持的最大速度和最好的雙工模式。這個技術被稱為Auto Negotiation或者NWAY,它們是一個意思自動協(xié)商。5.PHY的輸出部分    現(xiàn)在來了解PHY的輸出后面部分。一顆CMOS制程的芯片工作的時候產(chǎn)生的信號電平總是大于0V的(這取決于芯片的制程和設計需求),但是這樣的信號送到100米甚至更長的地方會有很大的直流分量的損失。而且如果外部網(wǎng)現(xiàn)直接和芯片相連的話,電磁感應(打雷)和靜電,很容易造成芯片的損壞。    再就是設備接地方法不同,電網(wǎng)環(huán)境不同會導致雙方的0V電平

17、不一致,這樣信號從A傳到B,由于A設備的0V電平和B點的0V電平不一樣,這樣會導致很大的電流從電勢高的設備流向電勢低的設備。我們?nèi)绾谓鉀Q這個問題呢?    這時就出現(xiàn)了Transformer(隔離變壓器)這個器件。它把PHY送出來的差分信號用差模耦合的線圈耦合濾波以增強信號,并且通過電磁場的轉換耦合到連接網(wǎng)線的另外一端。這樣不但使網(wǎng)線和PHY之間沒有物理上的連接而換傳遞了信號,隔斷了信號中的直流分量,還可以在不同0V電平的設備中傳送數(shù)據(jù)。    隔離變壓器本身就是設計為耐2KV3KV的電壓的。也起到了防雷感應(我個人認為這里用防雷擊不

18、合適)保護的作用。有些朋友的網(wǎng)絡設備在雷雨天氣時容易被燒壞,大都是PCB設計不合理造成的,而且大都燒毀了設備的接口,很少有芯片被燒毀的,就是隔離變壓器起到了保護作用。6.關于傳輸介質    隔離變壓器本身是個被動元件,只是把PHY的信號耦合了到網(wǎng)線上,并沒有起到功率放大的作用。那么一張網(wǎng)卡信號的傳輸?shù)淖铋L距離是誰決定的呢?    一張網(wǎng)卡的傳輸最大距離和與對端設備連接的兼容性主要是PHY決定的。但是可以將信號送的超過100米的PHY其輸出的功率也比較大,更容易產(chǎn)生EMI的問題。這時候就需要合適的Transformer與之配合。作PHY

19、的老大公司Marvell的PHY,常常可以傳送180200米的距離,遠遠超過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在其中的一對

20、,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對雙絞線,其中增加了

21、4、5和7、8來共同傳送接收數(shù)據(jù)。由于1000Based-T網(wǎng)絡的規(guī)范包含了AUTO MDI-X功能,因此不能嚴格確定它們的傳出或接收的關系,要看雙方的具體的協(xié)商結果。7PHY和MAC之間如何進行溝通    下面繼續(xù)讓我們來關心一下PHY和MAC之間是如何傳送數(shù)據(jù)和相互溝通的。通過IEEE定義的標準的MII/GigaMII(Media Independed Interfade,介質獨立界面)界面連接MAC和PHY。這個界面是IEEE定義的。MII界面?zhèn)鬟f了網(wǎng)絡的所有數(shù)據(jù)和數(shù)據(jù)的控制。    而MAC對PHY的工作狀態(tài)的確定和對PHY的

22、控制則是使用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é)調工作。當然為了

23、配合不同公司的PHY的自己特有的一些功能,驅動需要做相應的修改。    一片網(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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論