项目名称:基于FPGA的以太网MII数据和RMII数据的协议转换
关键词:以太网 MII RMII 协议转换
项目信息:
应用领域:网络与通信
设计摘要:
IEEE802.3 百兆以太网标准中,存在25MHz时钟的MII接口和50MHz时钟的RMII 接口,
它们各自有自己的传输协议。在网络设备硬件设计时,特别是在存在多个以太网接口或具
有交换路由功能的网络设备设计时,根据芯片管脚的多少和系统功耗的要求,有时需将两
种接口相互转换。本项目基于以太网传输协议,提出利用FPGA作为转接芯片,根据两个接
口的特点编写程序,实现他们之间的数据传输协议相互转换,并通过实际的硬件电路检验
其正确性。
系统原理和技术特点:
1. MII接口与RMII接口介绍
1). MII接口
MII(Medium Independent Interface)是IEEE802.3规定的连接以太网MAC子层和物理层的标准接口,是一种介质无关接口,实现MAC层和物理层的数据通信。它包括一个数据接口,以及一个MAC和PHY之间的管理接口。数据接口包括分别用于发送器和接收器的两条独立信道,每条信道都有自己的数据、时钟和控制信号;管理接口用于网络状态监测,包括载波监听(CRS)和冲突检测(COL)。MII数据接口总共需要16个信号。
2). RMII接口
RMII(Reduced Medium Independent Interface)即简化的MII接口。较MII的16管脚,RMII的管脚数量缩减为7个或者6个。减少了10个管脚之多,这样就大幅度降低了功耗。
2. 项目实施方案
MII 接口和RMII的数据传输都各自有自己的协议,当相互转换时,存在25MHz时钟和50MHz时钟的时序处理 问题,存在着数据4位并行和2位并行的转换的问题,存在着数据有效位的处理问题。利用FPGA芯片可有效实现上述逻辑和时序的处理问题。
1). 方案的基本功能框图和管脚描述
Ø MII接口管脚:
TX_CLK:发送时钟,由PHY提供一个参考时钟。
TX_EN:发送使能信号。
TXD[3:0]:发送数据线。
TX_ER:发送错误信号。
RX_CLK:接收时钟,由PHY提供一个参考时钟。
RX_CLK:接收使能信号。
RXD[3:0]:接收数据线。
RX_ER:接收错误信号。
CRS:载波侦听。
COL:冲突检测。
Ø RMII接口管脚:
REF_CLK:发送和接收同步时钟信号,是由外部的时钟源提供。
TX_EN:发送使能信号。
TXD[1:0]:发送数据线。
CRS_DV:载波侦听/接收数据有效信号。
RXD[1:0]:接收数据线。
RX_ER:接收错误信号。
Ø SRAM的接口管脚
WE:写使能信号。
OE:读使能信号。
AD:地址总线。
DA:数据总线。
项目的初期开发首先要实现数据的传输转换,可以在FPGA内部构建两个FIFO模块,分别实现从MII到RMII的转换和从RMII到MII的数据转换,此时的缓存数据很小,仅使用FPGA内部的RAM;针对其各自的时钟,写数据有效和读数据有效分别对应时钟的上升沿和下降沿;针对有效位的不同,特别是RMII有效位失效时的震荡,采用有效位震荡计数的方式实现。项目后期的功能拓展,可基于以太网协议,针对具体的网络应用,例如PON网络,实现以太网帧头检测、控制帧检测、校验纠错、路由选择等功能。缓存较大时,可采用外置SRAM存储数据,针对SRAM的读写操作,需要进一步的开发工作。
2). 需要的开发平台
本方案用于解决MII与RMII以太网数据传输协议之间的转换,基本功能并不复杂,但是要求硬件平台能对网络部分提供丰富的资源,因此我们选择 NETFPFA作为硬件平台,因为其上存在着四个网络接口,可以进行网络协议的进一步开发和拓展功能。
用户377235 2014-7-12 13:59
用户377235 2012-12-8 22:22
CPSW什么意思?