在有线连接的世界里,以太网(Ethernet)无所不在。以太网具有各种速度模式、接口方式、以及灵活的配置方式。现在的以太网卡都是10/100/1000Mbps自适应网卡。以太网的物理层(PHY)通常使用独立的芯片实现,它和FPGA芯片连接的信号分为三组:配置数据(MDIO)控制器,中断控制器,PHY接口。
PHY接口
以太网的MAC和PHY之间的互联采用标准MII接口协议。随着技术的发展该接口协议有不同的变体,包括有:MII,RMII,GMII,RGMII,SGMII。
MDIO控制器
MDIO控制器通过两条串行信号线和PHY芯片互连。MDIO用来读取和修改PHY芯片的参数。
中断控制器
中断控制器负责处理来自PHY的各种中断请求:接收帧指示,发送帧完成,链接配置等。
DMA控制器
DMA控制器通过RAM来缓存接收帧和发送帧,因此可以简化用户端逻辑。
EMAC控制器
EMAC控制器用于实现以太网MAC协议,同时为MDIO模块和中断控制器模块提供一个简化的用户逻辑接口。
用户逻辑
用户逻辑使用自定义总线或者标准的接口协议来连接EMAC和DMA模块。一般采用FIFO和AHB总线接口。
EMAC核
FPGA工程师可以通过各种方式将EMAC控制器整合到设计中,可以采用EMAC硬核,软核,以及开源社区的提供的IP核。
参考文献:
[1] 第66则. 以太网IP核. FPGA高手设计实战真经100则. 电子工业出版社. 2013,10.
[2] Ethernet MAC 10/100 Mbps. http://opencores.org/project,ethmac