迅为2K1000龙芯开发板pmon BSP移植 RTL8211 网卡

描述

2K1000

硬件:迅为龙芯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 控制器管教即可。

2K1000

第二种方案: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 的网口芯片。如下图所 示

2K1000

底板上的 PHY 芯片使用的为 RGMII,同样也是支持 RGMII 接口,如下图所示:

2K1000

所以通过 RGMII 接口将 MAC 控制器和 PHY 芯片连接起来,如下图所示:

2K1000

9.9.10.3.2 CPU 不带 MAC 控制器

如果 CPU 不带 MAC 控制器,我们要外接 MAC 芯片,我们需要将 CPU 与 MAC 芯片连接起来,这个通讯 放置主要取决于 MAC 芯片的接口,比如 4412 开发板上使用的 DM9621 为 USB 接口。就要使用 CPU 的 USB 接口连接到 DM9621,如下图所示:

2K1000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分