本篇文章的内容都是有线网络
一、 嵌入式下的网络硬件接口
嵌入式网络硬件分为两部分:MAC 和 PHY
1、SOC 内部没有网络 MAC 外设
SOC 与外部 MAC+PHY 芯片的连接如图:
这种方案的优点就是让不支持网络的 SOC 能够另辟蹊径,实现网络功能,但是缺点就是网 络效率不高,因为一般芯片内置的 MAC 会有网络加速引擎,比如网络专用 DMA,网络处理效 率会很高。而且此类芯片网速都不快,基本就是 10/100M。另外,相比 PHY 芯片而言,此类芯 片的成本也比较高,可选择比较少
2、SOC 内部集成网络 MAC 外设
SOC 内部 MAC 外设与外部 PHY 芯片的连接如图所示:
内部的 MAC 外设会通过 MII 或者 RMII 接口来连接外部的 PHY 芯片,MII/RMII 接口用来 传输网络数据。另外主控需要配置或读取 PHY 芯片,也就是读写 PHY 的内部寄存器,所以还 需要一个控制接口,叫做 MIDO,MDIO 很类似 IIC,也是两根线,一根数据线叫做 MDIO,一 根时钟线叫做 MDC。
内部集成网络 MAC 的优点如下: ①、内部 MAC 外设会有专用的加速模块,比如专用的 DMA,加速网速数据的处理。 ②、网速快,可以支持 10/100/1000M 网速。 ③、外接 PHY 可选择性多,成本低。
二、MII/RMII 接口
1、MII 接口
MII 全称是 Media Independent Interface,直译过来就是介质独立接口,它是 IEEE-802.3 定义的以太网标准接口,MII 接口用于以太网 MAC 连接 PHY 芯片,连接示意图如图所示:
MII 接口一共有 16 根信号线,含义如下:
链接线 | 作用 |
---|
TX_CLK | 发送时钟,如果网速为 100M 的话时钟频率为 25MHz,10M 网速的话时钟频率为 2.5MHz,此时钟由 PHY 产生并发送给 MAC | TX_EN | 发送使能信号 | TX_ER | 发送错误信号,高电平有效,表示 TX_ER 有效期内传输的数据无效。10Mpbs 网速下 TX_ER 不起作用 | TXD[3:0] | 发送数据信号线,一共 4 根 | RXD[3:0] | 接收数据信号线,一共 4 根 | RX_CLK | 接收时钟信号,如果网速为 100M 的话时钟频率为 25MHz,10M 网速的话时钟频率为 2.5MHz,RX_CLK 也是由 PHY 产生的 | RX_ER | 接收错误信号,高电平有效,表示 RX_ER 有效期内传输的数据无效。10Mpbs 网速下 RX_ER 不起作用 | RX_DV | 接收数据有效,作用类似 TX_EN | CRS | 载波侦听信号 | COL | 冲突检测信号 |
MII 接口的缺点就是所需信号线太多,这还没有算 MDIO 和 MDC 这两根管理接口的数据 线,因此 MII 接口使用已经越来越少了
2、RMII 接口
RMII 全称是 Reduced Media Independent Interface,翻译过来就是精简的介质独立接口,也 就是 MII 接口的精简版本。RMII 接口只需要 7 根数据线,相比 MII 直接减少了 9 根,极大的 方便了板子布线,RMII 接口连接 PHY 芯片的示意图如图所示:
链接线 | 作用 |
---|
TX_EN | 发送使能信号 | TXD[1:0] | 发送数据信号线,一共 2 根 | RXD[1:0] | 接收数据信号线,一共 2 根 | CRS_DV | 相当于 MII 接口中的 RX_DV 和 CRS 这两个信号的混合 | REF_CLK | 参考时钟,由外部时钟源提供, 频率为 50MHz |
3、其他接口
MII,RMII,SMII,GMII,RGMII,SGMII接口定义一览表
SMII接口连接示意图
GMII接口连接示意图
RGMII接口连接示意图
SGMII接口连接示意图
XGMII接口连接示意图
三、MDIO 接口
MDIO 全称是 Management Data Input/Output,直译过来就是管理数据输入输出接口,是一 个简单的两线串行接口,一根 MDIO 数据线,一根 MDC 时钟线。驱动程序可以通过 MDIO 和 MDC 这两根线访问 PHY 芯片的任意一个寄存器。MDIO 接口支持多达 32 个 PHY。同一时刻 内只能对一个 PHY 进行操作。
信号名 | 作用 |
---|
MDIO | MDIO数据线 | MDC | MDC时钟线 |
四、 RJ45 接口
网络设备是通过网线连接起来的,插入网线的叫做 RJ45 座,如图所示:
RJ45 座要与 PHY 芯片连接在一起,但是中间需要一个网络变压器,网络变压器用于隔离以及滤波等,网络变压器也是一个芯片,外形一般如图所示:
现在很多 RJ45 座子内部已经集成了网络变压器。内置网络变压器的 RJ45 座和不内置的引脚一 样,但是一般不内置的 RJ45 座会短一点。
五、嵌入式网络接口硬件
把上面的几个部分组成起来就形成了一个完整的嵌入式网络接口硬件
|