Linux驅動學習--linux以太網驅動及硬件結構介紹(結合gmac項目分析)

目錄

1、引言

2、以太網硬件結構

3、以太網驅動分析(結合gmac項目)

3.1 dts節點分析
3.2 gmac驅動源碼分析(open 收發包機制簡要分析)

一、引言

最近在Android項目中,遇到以太網相關的問題,故來整理一下相關東西
涉及代碼:drivers/net/ethernet/gmac/,以及相關dts文件

二、以太網硬件結構

以太網結構主要分爲以下幾個部分

MAC: 通常集成在ARM芯片中,功能類似於一個controller,以太網協議層數據傳送給MAC,由MAC通過DMA發送到外部接口,外部接口連接着PHY。或者接收從PHY傳過來的信號,DMA搬運到內存中存儲。供應用層層使用

PHY: 通常是一個獨立芯片,有數字和模擬兩部分,也可以集成在ARM芯片內部。負責把從MAC傳送過來的數據轉換成可以在網線上傳輸的信號,或者接收網線上傳輸過來的信號,轉換成數字信號回傳給MAC。分爲百兆PHY和千兆PHY。
PHY配置:自協商模式開啓/關閉; 自協商關閉狀態下,配置爲強制full duplex, half duplex, 強制1000Mbps/100Mbps/10Mbps;WOL開啓/關閉。

通信接口: MAC和PHY之間的接口分爲RMII接口(百兆),RGMII接口(千兆)。

MAC 與PHY的區別 : mac屬於數字電路部分,主要處理的信號是屬於數字信號,將上層ip層等數據通過RMII/RGMII接口發送給phy,或者將phy發送過來的數據在發送給上層等。phy屬於模擬電路部分,主要處理模擬電路信號,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章