搜索
bottom↓
回复: 37
打印 上一主题 下一主题

有偿帮忙调试STM32与LAN8720A网络自动协商问题(500元)

[复制链接]

出3670入191汤圆

跳转到指定楼层
1
发表于 2024-3-7 16:37:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Rabbitoose 于 2024-3-7 16:44 编辑

硬件:STM32F429IGT6+LAN8720A+HR911105
交换机:锐捷 S2910V2-48GT4SFP-L
软件:CubeMX HAL无操作系统+LVGL+LWIP

故障情况:
在开发环境下使用的是H3C几款千兆交换机测试的,都可以自动协商为百兆全双工模式,并可与服务器进行速率为3兆多的TCP通信。
但是在应用现场使用锐捷交换机时,自动协商到百兆失败,然后由软件代码降格到十兆模式,导致与服务器数据传输速度很慢。而用笔记本测试同样的网线和交换机,则可以顺利以千兆模式连接。试了多个网络接口(多个房间)症状一样。

开发的人(不是我)在现场调试,试过网上别人提到的数种方法如正确配置寄存器地址、不自动协商而手工设置为百兆全双工模式,问题都没有解决。
如有熟悉这块的,希望能伸出援手!最好是今明两天有空帮忙远程指导一下。

可加我微信(论坛id即为微信名),事成一定答谢。若费时间太多,费用好说,总不会让坛友吃亏。

这个问题我前不久问过:
https://www.amobbs.com/thread-5789205-1-1.html

另外,以太网部分硬件电路是分开在两个板子上的,但应该不是问题所在,见此贴:
https://www.amobbs.com/thread-5779453-1-1.html

出0入45汤圆

2
发表于 2024-3-7 16:58:00 | 只看该作者
我们软件给我说过一个问题。88E1512虽然是可以可以自动协商,
但是在uboot下,如果只用百兆四根线,交换机就是协商不上去。但是电脑强制又可以,最后强制他优化uboot 协商只能协商到100M就解决

出105入79汤圆

3
发表于 2024-3-7 17:26:19 | 只看该作者
是不是网线问题,更换网线为实验室用的同一条试试。

出3670入191汤圆

4
 楼主| 发表于 2024-3-7 17:29:17 | 只看该作者
qwe2231695 发表于 2024-3-7 17:26
是不是网线问题,更换网线为实验室用的同一条试试。
(引用自3楼)

应该不是网线问题,也不是交叉线和直连线的问题。网线更换测试过。

出3670入191汤圆

5
 楼主| 发表于 2024-3-7 17:30:33 | 只看该作者
myiccdream 发表于 2024-3-7 16:58
我们软件给我说过一个问题。88E1512虽然是可以可以自动协商,
但是在uboot下,如果只用百兆四根线,交换机 ...
(引用自2楼)

现在倒是也确实是4根线,百兆也搞不出8根线啊

出105入79汤圆

6
发表于 2024-3-7 18:16:29 | 只看该作者
Rabbitoose 发表于 2024-3-7 17:29
应该不是网线问题,也不是交叉线和直连线的问题。网线更换测试过。
(引用自4楼)

短一点的网线测试过吗? 另外换别的品牌交换机试下呢

出3670入191汤圆

7
 楼主| 发表于 2024-3-7 18:47:48 | 只看该作者
qwe2231695 发表于 2024-3-7 18:16
短一点的网线测试过吗? 另外换别的品牌交换机试下呢
(引用自6楼)

短的也一样有问题。刚刚寄了一个交换机过去试试。

出0入1209汤圆

8
发表于 2024-3-7 21:52:29 | 只看该作者
记得之前别的论坛做一个开源项目的时候,提过8720的时钟要求比较高。你可以试试用50M的有源晶振给8720和STM32提供时钟。

出3670入191汤圆

9
 楼主| 发表于 2024-3-7 22:23:47 | 只看该作者
kitten 发表于 2024-3-7 21:52
记得之前别的论坛做一个开源项目的时候,提过8720的时钟要求比较高。你可以试试用50M的有源晶振给8720和STM ...
(引用自8楼)

好的,我明天下单试试看。

我确认一下,应该是把nINTSEL(第2脚)上拉到VDD2A电平(现在是下拉),并用50MHz有源晶振同时给LAN8720的CLKIN(第5脚)和MCU的ETH_REF_CLK提供时钟信号,对吧?

我原来给LAN8720A用的是扬兴25MHz晶振(X322525MOB4SI),那我这次买爱普生或扬兴的有源晶振试试。

出100入312汤圆

10
发表于 2024-3-8 06:23:18 来自手机 | 只看该作者
这种问题,最好找一块stm32+lan8720的开发板,对比测试下

出3670入191汤圆

11
 楼主| 发表于 2024-3-8 06:33:59 来自手机 | 只看该作者
akey3000 发表于 2024-3-8 06:23
这种问题,最好找一块stm32+lan8720的开发板,对比测试下
(引用自10楼)

好的,之前还真没买过,上来就是造。。。

出50入135汤圆

12
发表于 2024-3-8 08:18:16 | 只看该作者
Rabbitoose 发表于 2024-3-7 22:23
好的,我明天下单试试看。

我确认一下,应该是把nINTSEL(第2脚)上拉到VDD2A电平(现在是下拉),并用5 ...
(引用自9楼)

我用过扬芯的,还不错哈,我是STM32F407+LAN8720,都不丢包,之前的STM32F407+DM9162E怎么搞都会丢包

出3670入191汤圆

13
 楼主| 发表于 2024-3-8 08:42:10 来自手机 | 只看该作者
Stm32Motor 发表于 2024-3-8 08:18
我用过扬芯的,还不错哈,我是STM32F407+LAN8720,都不丢包,之前的STM32F407+ ...
(引用自12楼)

你用的是扬兴有源晶振吗?

出50入135汤圆

14
发表于 2024-3-8 08:48:10 | 只看该作者
Rabbitoose 发表于 2024-3-8 08:42
你用的是扬兴有源晶振吗?
(引用自13楼)

无源,字数补丁

出300入477汤圆

15
发表于 2024-3-8 09:03:23 来自手机 | 只看该作者
Stm32Motor 发表于 2024-3-8 08:18
我用过扬芯的,还不错哈,我是STM32F407+LAN8720,都不丢包,之前的STM32F407+ ...
(引用自12楼)

我就怀疑某些厂家的cpu的mac和另外一些厂家的phy有兼容性问题。最好是厂家指定什么你就用什么。
比如我的nuc980配lan8720总有小部分比例的板子会少量丢包,丢千分之几这个级别吧。换成厂家规定的ip101就再也不丢包了。

出0入115汤圆

16
发表于 2024-3-8 09:08:51 | 只看该作者
redroof 发表于 2024-3-8 09:03
我就怀疑某些厂家的cpu的mac和另外一些厂家的phy有兼容性问题。最好是厂家指定什么你就用什么。
比如我的 ...
(引用自15楼)

我的nuc980也是lan8720从来没遇到过丢包,批量出货了好几k了

出300入477汤圆

17
发表于 2024-3-8 09:13:07 来自手机 | 只看该作者
本帖最后由 redroof 于 2024-3-8 09:15 编辑
三年模拟 发表于 2024-3-8 09:08
我的nuc980也是lan8720从来没遇到过丢包,批量出货了好几k了
(引用自16楼)


那就不知道了,或许是你没有精确的测,我们测试的时候要求ping 1万包,不丢一包,每个岀厂的板子都要这样测一遍。研发样机都是ping 10万包起的,也是必须一包不丢。实际上丢千分之几完全能用啊。。。
也或许是我的布线跟你有一点差别,在你那里真的完全不丢包。
反正问了代理商以后,按他们建议改了ip101,就可以保证每个板子ping 1万包一定不会丢一包

出0入1209汤圆

18
发表于 2024-3-8 09:19:38 | 只看该作者
Rabbitoose 发表于 2024-3-7 22:23
好的,我明天下单试试看。

我确认一下,应该是把nINTSEL(第2脚)上拉到VDD2A电平(现在是下拉),并用5 ...
(引用自9楼)

是这个意思,之前用过杨兴的这款有源晶振 OT252050MJBA4SL

出0入1209汤圆

19
发表于 2024-3-8 09:21:54 | 只看该作者
redroof 发表于 2024-3-8 09:13
那就不知道了,或许是你没有精确的测,我们测试的时候要求ping 1万包,不丢一包,每个岀厂的板子都要这样 ...
(引用自17楼)

建议你改的原因是因为IP101他们测试过,心里有底。另外一颗并没有测试,并不是说另外一个有问题。

出300入477汤圆

20
发表于 2024-3-8 09:31:03 | 只看该作者
本帖最后由 redroof 于 2024-3-8 09:32 编辑
kitten 发表于 2024-3-8 09:21
建议你改的原因是因为IP101他们测试过,心里有底。另外一颗并没有测试,并不是说另外一个有问题。 ...
(引用自19楼)


新唐代理商明确的说见过,别人用lan8720会少量丢包,找过他们,然后说是换了lan8742就好了。
我一听就赶紧改板子了。。。

但是LAN8720用在imx6上面就是从来也不丢包的,很稳定,一直这样用的。。。
搞不懂这种兼容性问题。。。。

出0入115汤圆

21
发表于 2024-3-8 09:35:12 | 只看该作者
redroof 发表于 2024-3-8 09:13
那就不知道了,或许是你没有精确的测,我们测试的时候要求ping 1万包,不丢一包,每个岀厂的板子都要这样 ...
(引用自17楼)

我的应用是nuc980的phy和电脑的phy直接板内直连,rj45都省略了

出300入477汤圆

22
发表于 2024-3-8 09:43:40 | 只看该作者
三年模拟 发表于 2024-3-8 09:35
我的应用是nuc980的phy和电脑的phy直接板内直连,rj45都省略了
(引用自21楼)

我有个板子是内置交换机的,交换机是phy接口,所以也测过phy-phy直连。。。
用电容耦合,结果也发现总是有个很小的丢包率,所以后来老老实实装了个网卡变压器才把丢包率降到了0

出50入135汤圆

23
发表于 2024-3-8 10:50:16 来自手机 | 只看该作者
我的lan7820, 双层板,ping100万不丢包哈,我都不敢相信,以前dm9162e总是丢包

出20入128汤圆

24
发表于 2024-3-8 11:06:07 | 只看该作者
本帖最后由 z123 于 2024-3-8 11:36 编辑
kitten 发表于 2024-3-7 21:52
记得之前别的论坛做一个开源项目的时候,提过8720的时钟要求比较高。你可以试试用50M的有源晶振给8720和STM ...
(引用自8楼)


8720都必须要用有源晶振吧??


看错了,手册也可以无源;只是一直自己用有源

出0入45汤圆

25
发表于 2024-3-8 11:19:39 | 只看该作者
Rabbitoose 发表于 2024-3-7 17:30
现在倒是也确实是4根线,百兆也搞不出8根线啊
(引用自5楼)

我反思得意思是,大概率是双方协商成最高速率后,
因为某种原因,芯片达不到这个速率,卡死。
你的速率本身就几兆的速度 ,还不如限制成10M 速率算了。

出3670入191汤圆

26
 楼主| 发表于 2024-3-8 11:27:34 | 只看该作者
Stm32Motor 发表于 2024-3-8 10:50
我的lan7820, 双层板,ping100万不丢包哈,我都不敢相信,以前dm9162e总是丢包
(引用自23楼)

大哥帮我看一眼布局吧 ,也是无源晶振,扬兴的X322525MOB4SI。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出3670入191汤圆

27
 楼主| 发表于 2024-3-8 11:33:05 | 只看该作者
myiccdream 发表于 2024-3-8 11:19
我反思得意思是,大概率是双方协商成最高速率后,
因为某种原因,芯片达不到这个速率,卡死。
你的速率本 ...
(引用自25楼)

我没说清楚,我说几兆是指的几兆Byte,弄成10M bit不行的。

出50入135汤圆

28
发表于 2024-3-8 11:59:07 来自手机 | 只看该作者
Rabbitoose 发表于 2024-3-8 11:27
大哥帮我看一眼布局吧 ,也是无源晶振,扬兴的X322525MOB4SI。
(引用自26楼)

看不出,我只是搞了等长而已阻抗匹配都不会

出300入477汤圆

29
发表于 2024-3-8 12:04:49 来自手机 | 只看该作者
Stm32Motor 发表于 2024-3-8 10:50
我的lan7820, 双层板,ping100万不丢包哈,我都不敢相信,以前dm9162e总是丢包
(引用自23楼)

所以我就认为这是主芯片和网卡之间的兼容性问题。某个主芯片的mac配某个phy就会丢包

出0入984汤圆

30
发表于 2024-3-8 12:20:31 | 只看该作者
本帖最后由 Himem 于 2024-3-8 12:33 编辑

试过先过变压器再过fpc吗 49.9放到phy这边

出3670入191汤圆

31
 楼主| 发表于 2024-3-8 13:24:39 | 只看该作者
Himem 发表于 2024-3-8 12:20
试过先过变压器再过fpc吗 49.9放到phy这边
(引用自30楼)

额,我记得之前谁跟我说过这个事嘛,一翻旧贴果真是你 https://www.amobbs.com/forum.php ... 53&pid=12051837

因为我用的网口是包含网络变压器的HR911105A,所以我上次也每测试。
现在我不得不把这个也放到待测任务里了。

谢谢再次提醒。

出3670入191汤圆

32
 楼主| 发表于 2024-3-9 17:33:22 | 只看该作者
本帖最后由 Rabbitoose 于 2024-3-9 18:03 编辑

已经有坛友加我,问题目前初步解决,更换为LAN8742,再观察观察。

楼上诸位免费提供经验分享,我也奉上汤圆略表谢意了。

出20入128汤圆

33
发表于 2024-3-10 19:40:13 | 只看该作者
Rabbitoose 发表于 2024-3-9 17:33
已经有坛友加我,问题目前初步解决,更换为LAN8742,再观察观察。

楼上诸位免费提供经验分享,我也奉上汤 ...
(引用自32楼)

LAN8742和LAN8720是pin to pin兼容嘛?软件要改吗?

出3670入191汤圆

34
 楼主| 发表于 2024-3-10 22:09:51 | 只看该作者
z123 发表于 2024-3-10 19:40
LAN8742和LAN8720是pin to pin兼容嘛?软件要改吗?
(引用自33楼)

兼且不改。

出10入12汤圆

35
发表于 2024-3-10 22:16:00 来自手机 | 只看该作者
Rabbitoose 发表于 2024-3-8 11:27
大哥帮我看一眼布局吧 ,也是无源晶振,扬兴的X322525MOB4SI。
(引用自26楼)

A这是啥软件的配色

出300入477汤圆

36
发表于 2024-3-11 11:12:57 | 只看该作者


也就是说之前新唐代理说的应该是真的。某个CPU的MAC配LAN8720会丢包的情况下,换LAN8742确实可能变好。你也见到了这种情况
也就是说不同CPU的MAC对不同PHY的兼容性真的是存在的,某些搭配就是好用,某些搭配就是可能偶尔丢包。。。。
不过LAN8742比IP101贵多了,所以我还是用了新唐开发板标配的IP101


出3670入191汤圆

37
 楼主| 发表于 2024-3-11 13:16:15 | 只看该作者
redroof 发表于 2024-3-11 11:12
也就是说之前新唐代理说的应该是真的。某个CPU的MAC配LAN8720会丢包的情况下,换LAN8742确实可能变好。你 ...
(引用自36楼)

应该是的。

而且stm32标配的应该就是LAN8742,因为STM32CubeMX的LWIP的platform settings设置里面,关于PHY driver,它是一个下拉框,里面能选的只有LAN8742和DP83848,而旧版本的STM32CubeMX里面还允许自定义寄存器地址的,不知道从哪个版本开始去掉了。

所以以后我就用贵的,不折腾了,毕竟我只是业余的、连小批量的量都没有的业余玩家

(回头再测试一下用有源晶振+LAN8720行不行。)

出50入135汤圆

38
发表于 2024-3-11 16:49:37 来自手机 | 只看该作者
我的stm32f407+ lwip+lan8720没问题哈
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-2 11:33

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表