关于marvell的phy 88e1510的问题请教
最近在调试marvell 的phy 88e1510,发现只有设置成10M时,可以正常ping通,设置为100M或者1000M都不可以,请问有可能是什么原因? 板子硬件性能不够好。 aozima 发表于 2014-4-18 10:58板子硬件性能不够好。
demo板的cpu连的是另一个1000M的phy,可以正常工作,我们现在的marvell这个phy也是1000M的,您所说的硬件性能不够好是指什么? wangcjishu 发表于 2014-4-18 11:03
demo板的cpu连的是另一个1000M的phy,可以正常工作,我们现在的marvell这个phy也是1000M的,您所说的硬件 ...
比如PCB布线不好,自协商只能到10M啥的。 rtems 发表于 2014-4-18 12:50
比如PCB布线不好,自协商只能到10M啥的。
,我这边是手动设置10M,正常工作,没有用自协商功能。现在我这边也不太好确定是硬件问题还是软件驱动没做好,有什么办法能验证一下是硬件问题还是软件问题吗? wangcjishu 发表于 2014-4-18 13:21
,我这边是手动设置10M,正常工作,没有用自协商功能。现在我这边也不太好确定是硬件问题还是软件驱动没 ...
写PHY的寄存器,让他做自协商,如果能到1000M说明硬件连接是好的。 rtems 发表于 2014-4-18 16:07
写PHY的寄存器,让他做自协商,如果能到1000M说明硬件连接是好的。
哥们,我这边启动自协商,可以协商到1000M的全双工。但是ping不通,只有自己设置为10M全双工时才能ping通,这种情况可以断定为硬件问题吗?有没有可能是驱动程序的问题? 那就和PC机接,PC跑个抓包工具,然后板子ping过去,看看PC是不是能收到正确的包。
反方向就是在板子上跑个抓包的(如果是Linux那就是tcpdump,很方便),然后PC上ping过去,看看板子有没有正确收到包。
然后就是linux的工具ifconfig能看到收发包的个数,是否有错啥的。link到千兆那前端应该是好的。 rtems 发表于 2014-4-18 16:47
那就和PC机接,PC跑个抓包工具,然后板子ping过去,看看PC是不是能收到正确的包。
反方向就是在板子上跑个 ...
我现在测试就是PC和开发板直连,设置为10M时,双方都能ping通,也能抓到对应的ping包,如果是自协商,可以自协商为1000M,但是测试双方都ping不通,在PC端和开发板端也抓不到对应的ping包。 rtems 发表于 2014-4-18 16:47
那就和PC机接,PC跑个抓包工具,然后板子ping过去,看看PC是不是能收到正确的包。
反方向就是在板子上跑个 ...
哥们,方便留个联系方式吗?还要向您请教啊 wangcjishu 发表于 2014-4-18 16:52
我现在测试就是PC和开发板直连,设置为10M时,双方都能ping通,也能抓到对应的ping包,如果是自协商,可 ...
一个包都没有?你看ifconfig里面RX和TX包数字有变化吗?
很抱歉,我非常忙,只能有一搭没一搭的上来看看,没空实时聊天啊。
检查PHY侧和MAC侧
1 PHY侧,这个是硬件连接,看配置字,上电顺序
2 MAC侧,uboot下mdio命令,查看马维尔的状态寄存器,cpu mac设置自环,ping 然后看counter寄存器 PHY侧和MAC侧一定要一致,比如PHY侧是GMII那么MAC侧也要是GMII rtems 发表于 2014-4-18 18:10
一个包都没有?你看ifconfig里面RX和TX包数字有变化吗?
很抱歉,我非常忙,只能有一搭没一搭的上来看看 ...
当设置为10M正常工作时,开发板中ifconfig中的rx和tx计数都正常,但是自适应为1000M时,如果是pc端ping开发板,开发板的rx和tx计数没有变化,如果是开发板ping主机,开发板的只有tx计数有变化 liangbmw 发表于 2014-4-18 18:16
PHY侧和MAC侧一定要一致,比如PHY侧是GMII那么MAC侧也要是GMII
两端接口都是RGMII。 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寄存器 这个具体是看哪个寄存器? wangcjishu 发表于 2014-4-18 20:28
检查PHY侧和MAC侧
1 PHY侧,这个是硬件连接,看配置字,上电顺序
100M是 link down?那你玩啥,PHY的Link都没有啊,你前面说的自协商能到1000M不对吧?
rtems 发表于 2014-4-18 21:02
100M是 link down?那你玩啥,PHY的Link都没有啊,你前面说的自协商能到1000M不对吧?
...
在linux里自协商能到1000M,是从打印信息里看出来的,但是此时ping不通,我在linux里自协商能到1000M时没有读phy的link,我明天再读一下看看吧
uboot里的确设置为100M时,是link down的状态。 楼主设置一下前兆PHY的 RGMII ID,内部延迟吧,采样点需要偏移。 wangcjishu 发表于 2014-4-18 22:54
在linux里自协商能到1000M,是从打印信息里看出来的,但是此时ping不通,我在linux里自协商能到1000M时没 ...
ethtool先保证能link在千兆,不然折腾啥软件。。。
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通 Hunter 发表于 2014-4-18 23:03
楼主设置一下前兆PHY的 RGMII ID,内部延迟吧,采样点需要偏移。
RGMII ID是指phy的id吗?内部延迟是指Gigabit Link Down Delay这个寄存器吗? wangcjishu 发表于 2014-4-19 09:44
在linux中具体操作如下,在1000M和100M时可以link上。但是ping不通,只有10M时可以ping通
1、ethtool -s...
前端看起来是好的,上示波器看看时钟信号。RGMII速度比较快,而且是双沿。 我这里没有88e1510的资料,只有88E1111的资料,但应该是大致是相同的。
你看看88e1510中有没有类似于88e1111的如下寄存器设置?
rtems 发表于 2014-4-19 15:01
前端看起来是好的,上示波器看看时钟信号。RGMII速度比较快,而且是双沿。 ...
手头暂时没有示波器,我现在能读出phy的iD,10M也正常工作,是不是可以确定时钟是好的? Hunter 发表于 2014-4-19 20:36
我这里没有88e1510的资料,只有88E1111的资料,但应该是大致是相同的。
你看看88e1510中有没有类似于88e111 ...
有,该怎么设置呢?
wangcjishu 发表于 2014-4-21 08:45
手头暂时没有示波器,我现在能读出phy的iD,10M也正常工作,是不是可以确定时钟是好的? ...
10M对时钟要求太低了,所以如果时钟非常差,也有可能。你的时钟电路贴出来?或者你干脆把PHY的电路都贴出来我们看看? rtems 发表于 2014-4-21 09:27
10M对时钟要求太低了,所以如果时钟非常差,也有可能。你的时钟电路贴出来?或者你干脆把PHY的电路都贴出 ...
时钟部分是使用650R-14ILFT产生的25M的时钟,由于涉及公司的一些事,不太方便在网上贴电路,或者你告诉我你的邮箱,我单独发给你看看 wangcjishu 发表于 2014-4-21 09:47
时钟部分是使用650R-14ILFT产生的25M的时钟,由于涉及公司的一些事,不太方便在网上贴电路,或者你告诉我 ...
不方便就算了,没事。既然公司的事情那弄个示波器看看时钟,既然PHY前端好的,但是只有10M通,我真没见过。。。
对了,你没示波器RXDV啥的都看不了,这没法调啊
rtems 发表于 2014-4-21 11:48
不方便就算了,没事。既然公司的事情那弄个示波器看看时钟,既然PHY前端好的,但是只有10M通,我真没见过 ...
我又看了一下时钟,发现输入的时钟是3.3V电平,但是phy这边好像只能1.8V,如果是这样接的,有没有可能出现只有10M通的情况? wangcjishu 发表于 2014-4-21 13:15
我又看了一下时钟,发现输入的时钟是3.3V电平,但是phy这边好像只能1.8V,如果是这样接的,有没有可能出 ...
这真不好说,不过这肯定不对,先弄对了再说,当然也许芯片已经烧了,你要看看手册能容忍的最高电压是多少。 rtems 发表于 2014-4-21 13:37
这真不好说,不过这肯定不对,先弄对了再说,当然也许芯片已经烧了,你要看看手册能容忍的最高电压是多少 ...
查了一下,最高是2.4V,只能硬件先换晶振看看了,谢谢哥们了,换完不好用还要请教你。 rtems 发表于 2014-4-21 13:37
这真不好说,不过这肯定不对,先弄对了再说,当然也许芯片已经烧了,你要看看手册能容忍的最高电压是多少 ...
哥们,如果是3.3V的时钟电平,我实际用万用表测试两端电压是1.5V左右,应该测量到的是均方根值,phy这边能成承受的最大值是2.4V,这样的话,连接3.3V电平的时钟,有没有可能烧坏phy?我现在能读到phy的id,是不是可以说phy芯片本身没有烧坏,只是不能正常工作? wangcjishu 发表于 2014-4-22 16:22
哥们,如果是3.3V的时钟电平,我实际用万用表测试两端电压是1.5V左右,应该测量到的是均方根值,phy这边 ...
这种事情不好说啊,也许坏了一部分。 本帖最后由 xuxms 于 2014-4-22 22:57 编辑
使用RGMII接口,你用25MHZ时钟?应该用50MHZ!!!你是在吓我吧? 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. 千兆模式下功耗很高,建议检查电源部分功耗是否足够 有哪位大侠调过VCT功能吗?请加Q259490380 楼主能给我发一份88E1510的datasheet,打电话给他们销售代表,要签什么协议。 boy1986 发表于 2016-3-29 10:18
楼主能给我发一份88E1510的datasheet,打电话给他们销售代表,要签什么协议。
这个要签NDA才能给的,我不太方便发网上,你还是签一下吧,没什么的。 wangcjishu 发表于 2016-3-29 11:05
这个要签NDA才能给的,我不太方便发网上,你还是签一下吧,没什么的。
公司没有企业邮箱,你发一个给我吧,我的邮箱是wangdoubin2002@163.com 本帖最后由 wangcjishu 于 2016-3-31 17:54 编辑
boy1986 发表于 2016-3-30 13:33
公司没有企业邮箱,你发一个给我吧,我的邮箱是
我的也是签了NDA保密协议人家才给的,不能随便往外发的。 楼主,你的问题解决了吗?找到问题原因了吗?我也遇到了1512无法PING的问题,采用的SGMII 接口,我是只能LINK在10M,而且PING不通 fy_bk 发表于 2019-12-27 17:46
楼主,你的问题解决了吗?找到问题原因了吗?我也遇到了1512无法PING的问题,采用的SGMII 接口,我是只能LI ...
哥们,时间太长了,我只记得好像是硬件问题,晶振的电压有不对,换了应该就好了。
页:
[1]