请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
搜索
查看: 1061|回复: 0

MAC 与 PHY 组成原理的简单分析

[复制链接]

6

主题

-1

回帖

52

积分

注册会员

积分
52
发表于 2024-1-28 14:54:39 | 显示全部楼层 |阅读模式

作者:fireaxe_hq@hotmail.com

1. general

下图是网口结构简图。网口由 CPU、MAC 和 PHY 三部分组成。DMA 控制器通常属于 CPU 的一部分,用虚线放在这里是为了表示 DMA 控制器可能会参与到网口数据传输中。

对于上述的三部分,并不一定都是独立的芯片,根据组合形式,可分为下列几种类型:

方案一:CPU 集成 MAC 与 PHY;

方案二:CPU 集成 MAC,PHY 采用独立芯片;

方案三:CPU 不集成 MAC 与 PHY,MAC 与 PHY 采用集成芯片;

本例中选用方案二做进一步说明,因为 CPU 总线接口很常见,通常都会做成可以像访问内存一样去访问,没必要拿出来说,而 MAC 与 PHY 之间的 MII 接口则需要多做些说明。

下图是采用方案二的网口结构图。虚框表示 CPU,MAC 集成在 CPU 中。PHY 芯片通过 MII 接口与 CPU 上的 MAC 连接。

在软件上对网口的操作通常分为下面几步:

1)为数据收发分配内存;

2)初始化 MAC 寄存器;

3)初始化 PHY 寄存器(通过 MIIM);

4)启动收发;

2. MII

MII 接口是 MAC 与 PHY 连接的标准接口。因为各厂家采用了同样的接口,用户可以根据所需的性能、价格,采用不同型号,甚至不同公司的 PHY 芯片。

需要发送的数据通过 MII 接口中的收发两组总线实现。而对 PHY 芯片寄存器的配置信息,则通过 MII 总的一组串口总线实现,即 MIIM(MII Management)。

下表列出了 MII 总线中主要的一些引脚

PIN Name Direction Description
TXD[0:3] MAC to PHY Transmit Data
TXEN MAC to PHY Transmit Enable
TXCLK MAC to PHY Transmit Clock
RXD[0:3] PHY to MAC Receive Data
RXEN PHY to MAC Receive Enable
RXCLK PHY to MAC Receive Clock
MDC MAC to PHY Management Data Clock
MDIO Bidirection Management Data I/O

MIIM 只有两个线,时钟信号 MDC 与数据线 MDIO。读写命令均由 MAC 发起,PHY 不能通过 MIIM 主动向 MAC 发送信息。由于 MIIM 只能有 MAC 发起,我们可以操作的也就只有 MAC 上的寄存器。

3. DMA

收发数据总是间费时费力的事,尤其对于网络设备来说更是如此。CPU 做这些事情显然不合适。既然是数据搬移,最简单的办法当然是让 DMA 来做。毕竟专业的才是最好的。

这样 CPU 要做的事情就简单了。只需要告诉 DMA 起始地址与长度,剩下的事情就会自动完成。

通常在 MAC 中会有一组寄存器专门用户记录数据地址,tbase 与 rbase,CPU 按 MAC 要的格式把数据放好后,启动 MAC 的数据发送就可以了。启动过程常会用到寄存器 tstate。

4. MAC

CPU 上有两组寄存器用与 MAC。一组用户数据的收发,对应上面的 DMA;一组用户 MIIM,用户对 PHY 进行配置。

两组寄存器由于都在 CPU 上,配置方式与其他 CPU 上寄存器一样,直接读写即可。

数据的转发通过 DMA 完成。

5. PHY

该芯片是一个 10M/100M Ethernet 网口芯片

PHY 芯片有一组寄存器用户保存配置,并更新状态。CPU 不能直接访问这组寄存器,只能通过 MAC 上的 MIIM 寄存器组实现间接访问。

同时 PHY 芯片负责完成 MII 总线的数据与 Media Interface 上数据的转发。该转发根据寄存器配置自动完成,不需要外接干预。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|棱讯科技 ( 粤ICP备2024228160号-2|粤公网安备44030002003510号 )

GMT+8, 2024-12-4 05:39 , Processed in 0.019402 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表