打印
[STM32F1]

以太网通信丢包

[复制链接]
5683|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
NickelBack_87|  楼主 | 2014-3-27 11:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在做stm32以太网通信,用的107和tlk110(类似83848)前几天SMI通信遇到问题现在解决了,现在板子已经可以和电脑通信了,但是存在一些问题:
1.stm和PC正常通信,然后断电,再上电后就不能通信了,没有任何动作,仅仅是断电,要等一会才能再连接上。
2.丢包率较高,基本100包能丢个20包左右。
大家有经验的帮帮忙,谢谢了
沙发
aozima| | 2014-3-27 12:54 | 只看该作者
先检查硬件。

使用特权

评论回复
板凳
NickelBack_87|  楼主 | 2014-3-27 14:01 | 只看该作者
aozima 发表于 2014-3-27 12:54
先检查硬件。

现在检查硬件不知道从哪里下手~焊点全部都检查一遍了,感觉问题也不是很大
感觉问题应该在硬件,但是不知道从哪里下手

使用特权

评论回复
地板
aozima| | 2014-3-27 14:13 | 只看该作者
在板子的驱动中及PC上面抓包。确认丢包发生在哪一个环节。
如果板子驱动有收到而板子没回应说明板子的软件也有问题。

软件排查主要是进行debug,
硬件问题主要查时钟是否稳定精确,以太模拟部分的性能。

使用特权

评论回复
5
NickelBack_87|  楼主 | 2014-3-27 15:57 | 只看该作者
aozima 发表于 2014-3-27 14:13
在板子的驱动中及PC上面抓包。确认丢包发生在哪一个环节。
如果板子驱动有收到而板子没回应说明板子的软件 ...

在板子的驱动中抓包这一步应该怎么弄,谢谢你的热心回复

使用特权

评论回复
6
aozima| | 2014-3-27 17:01 | 只看该作者
板子的驱动中不是要收发包嘛,在那里把包打印出来。

使用特权

评论回复
7
NickelBack_87|  楼主 | 2014-3-27 18:55 | 只看该作者
aozima 发表于 2014-3-27 17:01
板子的驱动中不是要收发包嘛,在那里把包打印出来。

代码都没怎么看,基本就是直接拿来用了,还得仔细看一下代码~~~
还有就是第二个问题你觉得是出在哪里呢,是不是跟stm32和PHY的上电顺序有一定的关系啊,这个问题也好郁闷啊,每次连接半天才能连上,等连上了都憋了一肚子火了~:'(

使用特权

评论回复
8
NickelBack_87|  楼主 | 2014-3-27 18:56 | 只看该作者
aozima 发表于 2014-3-27 17:01
板子的驱动中不是要收发包嘛,在那里把包打印出来。

写错了,是第一个问题,就是每次断电后没有动硬件,重新上电后半天才能再连上。

使用特权

评论回复
9
pattywu| | 2014-3-27 19:31 | 只看该作者
ST写的代码,只是告诉你能这么用,至于好不好用,你得自己想办法。

使用特权

评论回复
10
xiuwen89| | 2014-3-27 20:25 | 只看该作者
ST的代码再不好,也不会出现ping丢包丢这么多的。。。你用的是不是RMII?如果是,50M的时钟是不是STM32输出的?如果都是的,则检查电源的纹波是不是太大了。并一个大的电解电容试试。

使用特权

评论回复
11
NickelBack_87|  楼主 | 2014-4-3 10:59 | 只看该作者
准备放弃了。调试了快一个月了,不打算继续了,换芯片。
~~~谢谢各位的帮助。

使用特权

评论回复
12
NickelBack_87|  楼主 | 2014-4-3 11:04 | 只看该作者
xiuwen89 发表于 2014-3-27 20:25
ST的代码再不好,也不会出现ping丢包丢这么多的。。。你用的是不是RMII?如果是,50M的时钟是不是STM32输出 ...

再请教一个问题,我打算使用RTL的芯片,请问stm32 lwip的例程还可以直接用吗,哪些地方需要修改一下,技术小白,恳请赐教

使用特权

评论回复
13
NickelBack_87|  楼主 | 2014-4-3 11:04 | 只看该作者
aozima 发表于 2014-3-27 17:01
板子的驱动中不是要收发包嘛,在那里把包打印出来。

再请教一个问题,我打算使用RTL的芯片,请问stm32 lwip的例程还可以直接用吗,哪些地方需要修改一下,技术小白,恳请赐教

使用特权

评论回复
14
aozima| | 2014-4-3 11:35 | 只看该作者
EMAC部分不需要修改,如果要用PHY的功能,如断线检测和设置速率等要查看PHY的数据手册。
实际产品要考虑网线插拔,速率,半双工什么的。

完全没经验的话建议外包或使用成熟的打包平台。

使用特权

评论回复
15
NickelBack_87|  楼主 | 2014-4-3 17:13 | 只看该作者
aozima 发表于 2014-4-3 11:35
EMAC部分不需要修改,如果要用PHY的功能,如断线检测和设置速率等要查看PHY的数据手册。
实际产品要考虑网 ...

谢谢了,我再看看吧~

使用特权

评论回复
16
NickelBack_87|  楼主 | 2014-4-4 10:54 | 只看该作者
aozima 发表于 2014-4-3 11:35
EMAC部分不需要修改,如果要用PHY的功能,如断线检测和设置速率等要查看PHY的数据手册。
实际产品要考虑网 ...

今天抱着最后一丝希望试了一下,结果丢包率0%了,哈哈,果然还是时钟的问题,现在把tlk和stm共用一个有源晶振,丢包率果然没了。
之前也这样试过,就是因为连接后老有一个等待期,等很久始终连不上,最后就没弄。
现在就只剩下第一个问题了,每次网络正在正常通信,断电后再上电,就不行了,要等好久才能脸上。每次重新上电也是要等很久,网口的连接显示灯才会亮。应该还是硬件问题~。能再帮忙指导一下吗~

使用特权

评论回复
17
szyijitong| | 2014-4-7 17:56 | 只看该作者
看看PC端的用的啥调试工具

使用特权

评论回复
18
szyijitong| | 2014-4-7 17:57 | 只看该作者
STM32是做CLIENT还是SERVER?

使用特权

评论回复
19
szyijitong| | 2014-4-7 17:57 | 只看该作者
调的是UDP还是TCP?

使用特权

评论回复
20
NickelBack_87|  楼主 | 2014-4-9 14:21 | 只看该作者
szyijitong 发表于 2014-4-7 17:57
STM32是做CLIENT还是SERVER?

用的是TCP电脑用作S
上电时通时不通的症状很久了,到现在也没有找到原因,快要崩溃了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

148

帖子

2

粉丝