wangcjishu 发表于 2014-4-18 10:47:21

关于marvell的phy 88e1510的问题请教

最近在调试marvell 的phy 88e1510,发现只有设置成10M时,可以正常ping通,设置为100M或者1000M都不可以,请问有可能是什么原因?

aozima 发表于 2014-4-18 10:58:05

板子硬件性能不够好。

wangcjishu 发表于 2014-4-18 11:03:21

aozima 发表于 2014-4-18 10:58
板子硬件性能不够好。

demo板的cpu连的是另一个1000M的phy,可以正常工作,我们现在的marvell这个phy也是1000M的,您所说的硬件性能不够好是指什么?

rtems 发表于 2014-4-18 12:50:44

wangcjishu 发表于 2014-4-18 11:03
demo板的cpu连的是另一个1000M的phy,可以正常工作,我们现在的marvell这个phy也是1000M的,您所说的硬件 ...

比如PCB布线不好,自协商只能到10M啥的。

wangcjishu 发表于 2014-4-18 13:21:03

rtems 发表于 2014-4-18 12:50
比如PCB布线不好,自协商只能到10M啥的。

,我这边是手动设置10M,正常工作,没有用自协商功能。现在我这边也不太好确定是硬件问题还是软件驱动没做好,有什么办法能验证一下是硬件问题还是软件问题吗?

rtems 发表于 2014-4-18 16:07:31

wangcjishu 发表于 2014-4-18 13:21
,我这边是手动设置10M,正常工作,没有用自协商功能。现在我这边也不太好确定是硬件问题还是软件驱动没 ...

写PHY的寄存器,让他做自协商,如果能到1000M说明硬件连接是好的。

wangcjishu 发表于 2014-4-18 16:26:55

rtems 发表于 2014-4-18 16:07
写PHY的寄存器,让他做自协商,如果能到1000M说明硬件连接是好的。

哥们,我这边启动自协商,可以协商到1000M的全双工。但是ping不通,只有自己设置为10M全双工时才能ping通,这种情况可以断定为硬件问题吗?有没有可能是驱动程序的问题?

rtems 发表于 2014-4-18 16:47:24

那就和PC机接,PC跑个抓包工具,然后板子ping过去,看看PC是不是能收到正确的包。
反方向就是在板子上跑个抓包的(如果是Linux那就是tcpdump,很方便),然后PC上ping过去,看看板子有没有正确收到包。

然后就是linux的工具ifconfig能看到收发包的个数,是否有错啥的。link到千兆那前端应该是好的。

wangcjishu 发表于 2014-4-18 16:52:10

rtems 发表于 2014-4-18 16:47
那就和PC机接,PC跑个抓包工具,然后板子ping过去,看看PC是不是能收到正确的包。
反方向就是在板子上跑个 ...

我现在测试就是PC和开发板直连,设置为10M时,双方都能ping通,也能抓到对应的ping包,如果是自协商,可以自协商为1000M,但是测试双方都ping不通,在PC端和开发板端也抓不到对应的ping包。

wangcjishu 发表于 2014-4-18 17:30:40

rtems 发表于 2014-4-18 16:47
那就和PC机接,PC跑个抓包工具,然后板子ping过去,看看PC是不是能收到正确的包。
反方向就是在板子上跑个 ...

哥们,方便留个联系方式吗?还要向您请教啊

rtems 发表于 2014-4-18 18:10:28

wangcjishu 发表于 2014-4-18 16:52
我现在测试就是PC和开发板直连,设置为10M时,双方都能ping通,也能抓到对应的ping包,如果是自协商,可 ...

一个包都没有?你看ifconfig里面RX和TX包数字有变化吗?

很抱歉,我非常忙,只能有一搭没一搭的上来看看,没空实时聊天啊。

liangbmw 发表于 2014-4-18 18:15:21

检查PHY侧和MAC侧
1 PHY侧,这个是硬件连接,看配置字,上电顺序
2 MAC侧,uboot下mdio命令,查看马维尔的状态寄存器,cpu mac设置自环,ping 然后看counter寄存器

liangbmw 发表于 2014-4-18 18:16:15

PHY侧和MAC侧一定要一致,比如PHY侧是GMII那么MAC侧也要是GMII

wangcjishu 发表于 2014-4-18 19:28:48

rtems 发表于 2014-4-18 18:10
一个包都没有?你看ifconfig里面RX和TX包数字有变化吗?

很抱歉,我非常忙,只能有一搭没一搭的上来看看 ...

当设置为10M正常工作时,开发板中ifconfig中的rx和tx计数都正常,但是自适应为1000M时,如果是pc端ping开发板,开发板的rx和tx计数没有变化,如果是开发板ping主机,开发板的只有tx计数有变化

wangcjishu 发表于 2014-4-18 19:31:07

liangbmw 发表于 2014-4-18 18:16
PHY侧和MAC侧一定要一致,比如PHY侧是GMII那么MAC侧也要是GMII

两端接口都是RGMII。

wangcjishu 发表于 2014-4-18 20:28:29

liangbmw 发表于 2014-4-18 18:15
检查PHY侧和MAC侧
1 PHY侧,这个是硬件连接,看配置字,上电顺序
2 MAC侧,uboot下mdio命令,查看马维尔的 ...

检查PHY侧和MAC侧
1 PHY侧,这个是硬件连接,看配置字,上电顺序

配置字设置是对的,上电顺序还有要求吗?

2 MAC侧,uboot下mdio命令,查看马维尔的状态寄存器,cpu mac设置自环,ping 然后看counter寄存器

10M能正常工作时状态寄存器可以读出可以显示出10M半双工工作,是link up状态。
设置为100M时,状态寄存器可以读出可以显示出1000M全双工工作,但是是link down状态。

cpu mac设置自环,ping 然后看counter寄存器 这个具体是看哪个寄存器?

rtems 发表于 2014-4-18 21:02:14

wangcjishu 发表于 2014-4-18 20:28
检查PHY侧和MAC侧
1 PHY侧,这个是硬件连接,看配置字,上电顺序



100M是 link down?那你玩啥,PHY的Link都没有啊,你前面说的自协商能到1000M不对吧?

wangcjishu 发表于 2014-4-18 22:54:00

rtems 发表于 2014-4-18 21:02
100M是 link down?那你玩啥,PHY的Link都没有啊,你前面说的自协商能到1000M不对吧?
...

在linux里自协商能到1000M,是从打印信息里看出来的,但是此时ping不通,我在linux里自协商能到1000M时没有读phy的link,我明天再读一下看看吧
uboot里的确设置为100M时,是link down的状态。

Hunter 发表于 2014-4-18 23:03:28

楼主设置一下前兆PHY的 RGMII ID,内部延迟吧,采样点需要偏移。

rtems 发表于 2014-4-19 08:23:51

wangcjishu 发表于 2014-4-18 22:54
在linux里自协商能到1000M,是从打印信息里看出来的,但是此时ping不通,我在linux里自协商能到1000M时没 ...

ethtool先保证能link在千兆,不然折腾啥软件。。。

wangcjishu 发表于 2014-4-19 09:44:35

rtems 发表于 2014-4-19 08:23
ethtool先保证能link在千兆,不然折腾啥软件。。。

在linux中具体操作如下,在1000M和100M时可以link上。但是ping不通,只有10M时可以ping通
1、ethtool -s eth0 speed 100 之后再执行ethtool eth0,输出如下
Settings for eth0:
      Supported ports: [ MII ]
      Supported link modes:   10baseT/Half 10baseT/Full
                              100baseT/Half 100baseT/Full
                              1000baseT/Full
      Supports auto-negotiation: Yes
      Advertised link modes:10baseT/Half 10baseT/Full
                              100baseT/Half 100baseT/Full
                              1000baseT/Full
      Advertised auto-negotiation: No
      Speed: 100Mb/s
      Duplex: Full
      Port: MII
      PHYAD: 0
      Transceiver: external
      Auto-negotiation: off
      Supports Wake-on: d
      Wake-on: d
      Current message level: 0x0000003f (63)
      Link detected: yes
此时开发板和主机相互都不能相互ping通

2、ethtool -s eth0 speed 1000 之后再执行ethtool eth0,输出如下
Settings for eth0:
      Supported ports: [ MII ]
      Supported link modes:   10baseT/Half 10baseT/Full
                              100baseT/Half 100baseT/Full
                              1000baseT/Full
      Supports auto-negotiation: Yes
      Advertised link modes:10baseT/Half 10baseT/Full
                              100baseT/Half 100baseT/Full
                              1000baseT/Full
      Advertised auto-negotiation: No
      Speed: 1000Mb/s
      Duplex: Full
      Port: MII
      PHYAD: 0
      Transceiver: external
      Auto-negotiation: off
      Supports Wake-on: d
      Wake-on: d
      Current message level: 0x0000003f (63)
      Link detected: yes
此时开发板和主机相互都不能相互ping通
               
               
3、ethtool -s eth0 autoneg on 之后再执行ethtool eth0,输出如下
Settings for eth0:
      Supported ports: [ MII ]
      Supported link modes:   10baseT/Half 10baseT/Full
                              100baseT/Half 100baseT/Full
                              1000baseT/Full
      Supports auto-negotiation: Yes
      Advertised link modes:10baseT/Half 10baseT/Full
                              100baseT/Half 100baseT/Full
                              1000baseT/Full
      Advertised auto-negotiation: Yes
      Speed: 1000Mb/s
      Duplex: Full
      Port: MII
      PHYAD: 0
      Transceiver: external
      Auto-negotiation: off
      Supports Wake-on: d
      Wake-on: d
      Current message level: 0x0000003f (63)
      Link detected: yes
此时开发板和主机相互都不能相互ping通

4、ethtool -s eth0 speed 10 之后再执行ethtool eth0,输出如下
Settings for eth0:
      Supported ports: [ MII ]
      Supported link modes:   10baseT/Half 10baseT/Full
                              100baseT/Half 100baseT/Full
                              1000baseT/Full
      Supports auto-negotiation: Yes
      Advertised link modes:10baseT/Half 10baseT/Full
                              100baseT/Half 100baseT/Full
                              1000baseT/Full
      Advertised auto-negotiation: No
      Speed: 10Mb/s
      Duplex: Full
      Port: MII
      PHYAD: 0
      Transceiver: external
      Auto-negotiation: off
      Supports Wake-on: d
      Wake-on: d
      Current message level: 0x0000003f (63)
      Link detected: yes
此时开发板和主机相互都可以相互ping通

wangcjishu 发表于 2014-4-19 09:52:42

Hunter 发表于 2014-4-18 23:03
楼主设置一下前兆PHY的 RGMII ID,内部延迟吧,采样点需要偏移。

RGMII ID是指phy的id吗?内部延迟是指Gigabit Link Down Delay这个寄存器吗?

rtems 发表于 2014-4-19 15:01:20

wangcjishu 发表于 2014-4-19 09:44
在linux中具体操作如下,在1000M和100M时可以link上。但是ping不通,只有10M时可以ping通
1、ethtool -s...

前端看起来是好的,上示波器看看时钟信号。RGMII速度比较快,而且是双沿。

Hunter 发表于 2014-4-19 20:36:24

我这里没有88e1510的资料,只有88E1111的资料,但应该是大致是相同的。
你看看88e1510中有没有类似于88e1111的如下寄存器设置?

wangcjishu 发表于 2014-4-21 08:45:40

rtems 发表于 2014-4-19 15:01
前端看起来是好的,上示波器看看时钟信号。RGMII速度比较快,而且是双沿。 ...

手头暂时没有示波器,我现在能读出phy的iD,10M也正常工作,是不是可以确定时钟是好的?

wangcjishu 发表于 2014-4-21 08:52:32

Hunter 发表于 2014-4-19 20:36
我这里没有88e1510的资料,只有88E1111的资料,但应该是大致是相同的。
你看看88e1510中有没有类似于88e111 ...

有,该怎么设置呢?

rtems 发表于 2014-4-21 09:27:39

wangcjishu 发表于 2014-4-21 08:45
手头暂时没有示波器,我现在能读出phy的iD,10M也正常工作,是不是可以确定时钟是好的? ...

10M对时钟要求太低了,所以如果时钟非常差,也有可能。你的时钟电路贴出来?或者你干脆把PHY的电路都贴出来我们看看?

wangcjishu 发表于 2014-4-21 09:47:09

rtems 发表于 2014-4-21 09:27
10M对时钟要求太低了,所以如果时钟非常差,也有可能。你的时钟电路贴出来?或者你干脆把PHY的电路都贴出 ...

时钟部分是使用650R-14ILFT产生的25M的时钟,由于涉及公司的一些事,不太方便在网上贴电路,或者你告诉我你的邮箱,我单独发给你看看

rtems 发表于 2014-4-21 11:48:02

wangcjishu 发表于 2014-4-21 09:47
时钟部分是使用650R-14ILFT产生的25M的时钟,由于涉及公司的一些事,不太方便在网上贴电路,或者你告诉我 ...

不方便就算了,没事。既然公司的事情那弄个示波器看看时钟,既然PHY前端好的,但是只有10M通,我真没见过。。。

对了,你没示波器RXDV啥的都看不了,这没法调啊

wangcjishu 发表于 2014-4-21 13:15:08

rtems 发表于 2014-4-21 11:48
不方便就算了,没事。既然公司的事情那弄个示波器看看时钟,既然PHY前端好的,但是只有10M通,我真没见过 ...

我又看了一下时钟,发现输入的时钟是3.3V电平,但是phy这边好像只能1.8V,如果是这样接的,有没有可能出现只有10M通的情况?

rtems 发表于 2014-4-21 13:37:49

wangcjishu 发表于 2014-4-21 13:15
我又看了一下时钟,发现输入的时钟是3.3V电平,但是phy这边好像只能1.8V,如果是这样接的,有没有可能出 ...

这真不好说,不过这肯定不对,先弄对了再说,当然也许芯片已经烧了,你要看看手册能容忍的最高电压是多少。

wangcjishu 发表于 2014-4-21 14:20:37

rtems 发表于 2014-4-21 13:37
这真不好说,不过这肯定不对,先弄对了再说,当然也许芯片已经烧了,你要看看手册能容忍的最高电压是多少 ...

查了一下,最高是2.4V,只能硬件先换晶振看看了,谢谢哥们了,换完不好用还要请教你。

wangcjishu 发表于 2014-4-22 16:22:16

rtems 发表于 2014-4-21 13:37
这真不好说,不过这肯定不对,先弄对了再说,当然也许芯片已经烧了,你要看看手册能容忍的最高电压是多少 ...

哥们,如果是3.3V的时钟电平,我实际用万用表测试两端电压是1.5V左右,应该测量到的是均方根值,phy这边能成承受的最大值是2.4V,这样的话,连接3.3V电平的时钟,有没有可能烧坏phy?我现在能读到phy的id,是不是可以说phy芯片本身没有烧坏,只是不能正常工作?

rtems 发表于 2014-4-22 18:19:33

wangcjishu 发表于 2014-4-22 16:22
哥们,如果是3.3V的时钟电平,我实际用万用表测试两端电压是1.5V左右,应该测量到的是均方根值,phy这边 ...

这种事情不好说啊,也许坏了一部分。

xuxms 发表于 2014-4-22 22:55:53

本帖最后由 xuxms 于 2014-4-22 22:57 编辑

使用RGMII接口,你用25MHZ时钟?应该用50MHZ!!!你是在吓我吧?

wangcjishu 发表于 2014-4-23 11:30:08

xuxms 发表于 2014-4-22 22:55
使用RGMII接口,你用25MHZ时钟?应该用50MHZ!!!你是在吓我吧?

datasheet里说是25M
29 XTAL_IN I Reference Clock. 25 MHz ± 50 ppm tolerance crystal reference or oscillator
input.

quzegang 发表于 2014-4-23 12:33:34

千兆模式下功耗很高,建议检查电源部分功耗是否足够

rickeylee 发表于 2016-2-19 23:06:16

有哪位大侠调过VCT功能吗?请加Q259490380

boy1986 发表于 2016-3-29 10:18:44

楼主能给我发一份88E1510的datasheet,打电话给他们销售代表,要签什么协议。

wangcjishu 发表于 2016-3-29 11:05:32

boy1986 发表于 2016-3-29 10:18
楼主能给我发一份88E1510的datasheet,打电话给他们销售代表,要签什么协议。

这个要签NDA才能给的,我不太方便发网上,你还是签一下吧,没什么的。

boy1986 发表于 2016-3-30 13:33:16

wangcjishu 发表于 2016-3-29 11:05
这个要签NDA才能给的,我不太方便发网上,你还是签一下吧,没什么的。

公司没有企业邮箱,你发一个给我吧,我的邮箱是wangdoubin2002@163.com

wangcjishu 发表于 2016-3-31 17:44:41

本帖最后由 wangcjishu 于 2016-3-31 17:54 编辑

boy1986 发表于 2016-3-30 13:33
公司没有企业邮箱,你发一个给我吧,我的邮箱是

我的也是签了NDA保密协议人家才给的,不能随便往外发的。

fy_bk 发表于 2019-12-27 17:46:01

楼主,你的问题解决了吗?找到问题原因了吗?我也遇到了1512无法PING的问题,采用的SGMII 接口,我是只能LINK在10M,而且PING不通

wangcjishu 发表于 2020-1-23 21:24:38

fy_bk 发表于 2019-12-27 17:46
楼主,你的问题解决了吗?找到问题原因了吗?我也遇到了1512无法PING的问题,采用的SGMII 接口,我是只能LI ...

哥们,时间太长了,我只记得好像是硬件问题,晶振的电压有不对,换了应该就好了。
页: [1]
查看完整版本: 关于marvell的phy 88e1510的问题请教