This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
FPGA 连接两个100M PHY 芯片 DP83826I、并希望这些芯片在 RMII 从模式下工作。 FPGA 为 DP83826I 提供两个50MHz 时钟。
当前现象:FPGA 控制两个83826相互发送和接收数据以进行测试。 传输基于 RMII 的50MHz、2位速率、而接收的数据只有25MHz 的速度。 RX_DV 和 TX_EN 的长度是相同的、除了50M 和25M 速度不匹配之外、2位数据发送和接收比较有时是错误的。
寄存器配置顺序:
0x001f、0x8000 //复位寄存器、硬复位、等待一秒钟
0x0017、0x0183 //RMII 寄存器、参考时钟选择50MHz、RMII TX 时钟移位启用
0x0468、0x109f //扩展寄存器、设置 RMII 从模式
0x001f、0x4000 //复位寄存器、软复位、保留寄存器配置、复位硬件
大家好、Jason、
您如何知道接收到的数据只有25MHz 的速度?
如果您说 FPGA 为 DP83826I 提供两个时钟、那么每个 DP83826I 是否有一个振荡器 仅连接到 XI? 内置振荡器是否符合规格(±50ppm 容差 CMOS 级振荡器时钟)?
引脚19 (RX_CLK/50MHz_RMII)是否被下拉?
此致、
Melissa
FPGA 逻辑分析仪功能和示波器都可以看到数据转换脉冲宽度。
无振荡器、直接使用 CMOS3.3V 时钟。
PIN19未被拉至低电平、它连接到 FPGA 输入引脚、并且处于高阻抗状态。
大家好、Jason、
您的系统的拓扑是什么? PHY 是以任何方式相互连接还是分别连接到 FPGA?
您是否能够获得内置振荡器的 ppm 规格?
是否配置了两个 PHY 的寄存器?
此致、
Melissa
两个 PHY 直接连接到一个 FPGA。
这两个 PHY 是 MDIO 同时配置同一寄存器的两种方法。 时钟源是一个100M 晶体振荡器、它通过 FPGA 内的 PLL 时钟模块、通过缓冲器向两个 PHY 输出50M。 没有 ppm 仪器数据、但由于它不是以数字方式合成、因此 ppm 应该不会差值。
大家好、Jason、
两个 PHY 是 MDIO 同时配置同一个寄存器的两种方式。
您是说他们的 MDIO/MDC 线路连接在一起了吗? 如果是、PHY 的地址是否配置为不同?
ppm 不应差。
50ppm 的容差很重要。 到底是什么呢?
您如何探测进出的数据?
当从 FPGA 发送/接收数据时、您是否能够为两个 PHY 提供寄存器0x00-0x1E、0x467和0x468?
此致、
Melissa