写在前面:工作需要,以后要更加关注通信网络这个领域了,无代码无真相,附录里有对应的Verilog代码!
一:TOP简介
1、本设计10_100M以太网FIFO转换器包含三个模块:
1) 初始化模块,用于上电后的复位等操作,称其为InitModule;
2) 发送模块,用于数据的发送,称其为TransmitModule;
3) 接收模块,用于数据的接收,称其为RecieveModule;
本设计可以用于10M、100M以太网或者快速以太网的相关应用中,当然必须借助于其它的以太网PHY模块或者芯片,本设计最后的验证方案采用的是DM9161(可以参考附录),其详细的操作可以参考对应的手册。本设计可以看成是MAC帧和bit流之间的转换接口,至于bit流的速率要根据具体的应用时钟来定,本设计可以工作在全双工模式下。
2、如上图是本设计的顶层架构,包含三个模块,其中Transmit和Receive模块可以视为太网数据转发模块,而Init模块用于上电后产生复位信号对PHY进行相关的复位操作,之后另外的两个模块就可以正常的工作了。从以太网接口接收的数据帧被传入ff_data_source进行处理,从应用层来的bit流进入ff_data_sink进行处理。
具体的接口包含三种类型:
1)clk、rst接口,不多描述
2)FIFO接口
3)MII接口用于和PHY相连接的接口,具体可以参考相应的手册。
二:InitModule简介
在很多时候,以太网的PHY在上电或者系统因为其他原因进行的复位操作后并不能很好的工作,因而需要对PHY进行复位,然后TransmitModule和RecieveModule才能正常的工作,然而根据DM9161手册,复位操作需要维持一定的时间,必须严格遵守,如下图所示:
三:RecieveModule
RecieveModule实现数据的接收功能,捕获PHY过来的数据然后存入FIFO中,当然数据中包含Preamble,SFD,address,CRC等信息,
四:TransmitModule
RecieveModule实现数据的发送功能,必须根据以太网MAC层的协议,添加Preamble,SFD,address,CRC等信息,具体的可以参考对应的手册。下图是一个状态机示意图,就是在实现MAC的功能。
五:附录
sunyzz 2014-10-25 11:26
sunyzz 2014-10-25 11:25
sunyzz 2014-9-30 08:57
用户1775009 2014-9-30 08:11
sunyzz 2014-9-12 21:27
用户435631 2014-9-12 15:56
sunyzz 2014-9-11 12:12
用户439573 2014-9-11 11:57