千兆以太网芯片88E1111 RGMII模式的驱动.doc
《千兆以太网芯片88E1111 RGMII模式的驱动.doc》由会员分享,可在线阅读,更多相关《千兆以太网芯片88E1111 RGMII模式的驱动.doc(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、千兆以太网芯片 88E1111 RGMII 模式的驱动 88E1111 可工作在 10Mb/s,100Mb/s,1000Mb/s 下,由于 DE2-115 开发板在设计的 时候只采用了 4 位数据端口,因此只能采用 MII 模式(100Mb/s),或者 RGMII 模式 (1000Mb/s),看了官方的 DATASHEET 后,几乎得到什么,于是就想到了一个办法, 就是将官方所给的关于 RGMII 的例程下到开发板上,然后将 88E1111 的配置寄存器里 面的数据用 NIOS II 读出来,这样就获得了正确的配置数据,然后就将配置数据用 NIOS II 配置给芯片,然后就遇到了很奇怪的事情:
2、当我把配置的那几行代码都注释掉以后居然 88E1111 还可以继续正常运行,后来发现,只要给芯片的硬复位引脚 Reset_n 一个较长 的复位即可,大概 1020ms 就可以了。具体如何将芯片通过 CONFIG 引脚配置成 RGMII 模式,可以参考 DE2-115 的原理图。下面就谈谈如何利用时钟的上升和下降沿收发数据。以下两个图是连接图和时序图。先谈输出端 Tx:Tx 端有三个信号,Txd_RGM,Tx_ctrl,Tx_clk,其中 Tx_clk 是由 FPGA 提供的 125MHz 的时钟,Tx_RGM 是发送的数据,Tx_ctrl 在 Tx_clk 时钟上升沿发送的是 Tx_en,在下
3、降沿发送的是 Tx_en 和 Tx_er 的异或值。Rx 端也有三个信号:Rxd_RGM,Rx_ctrl,Rx_clk,其中 Rx_clk 是由 88E1111 提供 的 125MHz 的时钟,Rx_RGM 表示接收到的数据,Rx_ctrl 在 Rx_clk 的上升沿收到的 是 Rx_en,在下降沿收到的是 Rx_en 和 Rx_er 的异或值。由于一个 always 模块中不能同时使用时钟的上升和下降沿,可以调用 DDIO 模块,当然, 也可以不用,下图就是不采用 DDIO 的一个示意图,这个是用来设计 DDR SDRAM 的, 可以借鉴module rgmii_io( input Tx_c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 千兆 以太网 芯片 88 e1111 rgmii 模式 驱动
限制150内