您好!
在我们的定制设计中、我们使用 DP83869HM 将 FPGA (采用 ARM Cortex-A 的 Intel Cyclone V SoC)连接到 SFP 模块。
DP83869HM 连接到 ARM、其中包括 RGMII 接口(MAC)和 SFP 模块(SGMII)(OS Linux)
根据寄存器0x1、phy 可识别活动链路(链路位也会被清除、当从 SFP 模块断开光纤连接时、我们的光纤盒还会检测到活动链路)
我注意到自动协商会失败、因此我使用固定的链接速度0x0c00 = 0x0140进行设置、我还设置了0x01df = 0x3 (我也尝试了0x43、因为我在某些论坛帖子中看到该手册不正确)
此外、我尝试使用0x14 = 0x2907禁用 SGMII 自动协商。
遗憾的是、没有这项工作。
到目前为止、我发现有两种奇怪的想法:
1)我尝试使用 clk_out 引脚来查看我们的时钟、默认情况下、它显示25MHz 时钟(我认为应该是正确的)、但当我更改其寄存器0x170 (初始值= 0x5448、 这在我看来也是关闭的、因为位12已设置、并且根据手册12-8 CLK_O_SEL 范围0x0-0xc、所以它是否超出范围?) Anzway 当我更改输出时钟、或者即使我禁用它、我也无法观察到 clk_out 上的任何更改
2) 2)在启动寄存器0x01df = 0x0后、这是可能的状态吗?
我现在可以想到的可能原因是我们的 XI 时钟、因为我们的 DH 部门 不知怎么忘记连接时钟、所以现在我们连接到 FPGA、这将生成25MHz 时钟、但也将在 DP83869HM 之后进行设置。 这意味着在上电期间、DP83869HM 不会有任何时钟、此外、映射到 ARM 的所有 Rx 引脚都处于未知状态(可能也是一个问题、因为它们也是自举引脚?)
他们还忘记了现在连接到我们的复位引脚(3.3V VDD 时为2.5V)的 pwd_down 引脚
它们还连接了芯片终端上的 JTAG_clk 和 XI 引脚、因为它们将 JTAG_clk 映射到了我们的 FPGA。
