硬件:迅為龍芯2K1000開發板
9.9.10 移植 RTL8211 網卡
9.9.10.1 有線網絡設備簡介
這里我們不討論電腦上的有線網卡,主要來看嵌入式上的有線網絡設備。在選型的時候我們看某一個CPU 支持以太網。但是在外圍電路中,有一個叫網卡的芯片。他們是什么關系呢?明明 CPU 已經支持以太網了,為什么還要在加一個網卡芯片呢。我們帶著這個疑問來往下思考。
嵌入式上的有線網絡設備我們要分成倆個部分來看,一部分是 MAC 控制器部分,一部分是 PHY 芯片部分。而我說某一個 CPU 支不支持網卡,說的是這個 CPU 有沒有 MAC 控制器。MAC 控制器屬于 OSI 七層網絡模型中的數據鏈路層,主要作用是傳輸可靠的網絡數據。而底板上的網卡芯片屬于第二部分,也就是 phy 芯片。PHY 芯片位于 OSI 七層網絡模型中的物理層,主要作用是將 MAC 控制器發來的數據通過物理介質傳 輸出去,MAC 控制器和 PHY 芯片共同組成了嵌入式上的有線網絡設備。
9.9.10.2 有線網絡硬件方案
正式由于嵌入式上的網絡設備分成了倆個部分,所以在嵌入式上常見的網絡硬件方案也就被分成了倆種,一種是 CPU 支持有線網絡,也就是 CPU 帶 MAC 控制器,一種是 CPU 不支持有線網絡,也就是沒有 MAC 控制。我們分部來看一下這倆種方案。
第一種方案:CPU 帶 MAC 控制器 CPU 帶 MAC 控制器,是不是第一部分 MAC 控制器部分就滿足了,所以我們只需要在外接 PHY 芯片即 可。龍芯 2K1000 處理器內部一共有倆個 MAC 控制器,所以 2K1000 處理器支持雙網口,我們在設置硬件的 時候只需要將這個倆個 PHY 芯片連接到 CPU 的 MAC 控制器管教即可。
第二種方案:CPU 不帶 MAC 控制器 CPU 如果不帶 MAC 控制器,是不是這個 CPU 就不支持網絡了。如果我要使用有線網絡要怎么辦呢,既 然 CPU 里面沒有 MAC 控制器,我們是不是可以找一個外置的 MAC 芯片呢,不過這種外置的 MAC 芯片基本 都是 MAC 和 PHY 一體的。比如我們的 4412 開發板,三星的 4412 處理器內部并沒有 MAC 控制器,而是搭 載了一個 DM9621 芯片。DM921 芯片內置了 MAC 控制器和 PHY 功能,并且提供了一個 USB 接口,4412 處理器通過 USB 接口來操作 DM9621。
優缺點比較:
<1>如果 CPU 自帶 MAC 控制器,網絡速度一般比較快,比如龍芯 2K1000 處理器是雙千兆網,并且成本比較低。
<2>如果 CPU 沒有 MAC 控制器,使用外置的 MAC 芯片比較靈活,可以任意擴展多路網口,但是成本比較高,并且速度不是很快,一般只有 10M 或者 100M。
9.9.10.3 MAC 與 PHY 連接方式
9.9.10.3.1 CPU 帶 MAC 控制器
前面我們說了,如果 CPU 自帶 MAC 控制器,MAC 控制器要和 PHY 芯片連接起來,MAC 控制器與 PHY 芯片的通信方式主要有四種,分別是 MII,RMII,GMII 和 RGMII。
龍芯 2K1000 處理器支持 RGMII 接口,所以在選型的時候我們要選擇支持 RGMII 的網口芯片。如下圖所 示
底板上的 PHY 芯片使用的為 RGMII,同樣也是支持 RGMII 接口,如下圖所示:
所以通過 RGMII 接口將 MAC 控制器和 PHY 芯片連接起來,如下圖所示:
9.9.10.3.2 CPU 不帶 MAC 控制器
如果 CPU 不帶 MAC 控制器,我們要外接 MAC 芯片,我們需要將 CPU 與 MAC 芯片連接起來,這個通訊 放置主要取決于 MAC 芯片的接口,比如 4412 開發板上使用的 DM9621 為 USB 接口。就要使用 CPU 的 USB 接口連接到 DM9621,如下圖所示:
-
2K1000
+關注
關注
0文章
21瀏覽量
574
發布評論請先 登錄
相關推薦
評論