搜索
bottom↓
回复: 42

ping ENC28j60丢包

[复制链接]

出0入0汤圆

发表于 2010-2-24 18:39:08 | 显示全部楼层 |阅读模式
开始使用enc28j60。

但是ping enc28j60 模组居然会丢包,发送4个包,丢包在100%到50%之间不等。

条件描述:
STM32  RTT 0.30RC1
PC和enc模组之间有一个5口_交换机,网线长度改成了1米,无改善。
测量enc模组电源电压 3.31V。
  

finsh>>list_if()
Default network interface: e0
ip address: 192.168.0.30
gw address: 192.168.0.1
net mask  : 255.255.255.0
dns server: 208.67.222.222
        -555858992, 0xdede43d0

finsh>>enc28j60()
-- enc28j60 registers:
HwRevID: 0x06
Cntrl: ECON1 ECON2 ESTAT  EIR  EIE
       0x04  0x80  0x01  0x00  0xc8
MAC  : MACON1 MACON3 MACON4
       0x0d   0x33   0x40
Rx   : ERXST  ERXND  ERXWRPT ERXRDPT ERXFCON EPKTCNT MAMXFL
       0x0000 0x19fe 0x1900  0x1900  0xa1    0x00    0x05ee
Tx   : ETXST  ETXND  MACLCON1 MACLCON2 MAPHSUP
       0x19ff 0x1fff 0x0f     0x3f     0x10
        0, 0x0000

Pinging 192.168.0.30 with 32 bytes of data:

Request timed out.
Request timed out.
Reply from 192.168.0.30: bytes=32 time=1ms TTL=255
Request timed out.

Ping statistics for 192.168.0.30:
    Packets: Sent = 4, Received = 1, Lost = 3 (75% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 1ms, Average = 1ms


网络变压器为hr911105A。


不知道到底是什么问题了。ffxz大哥有空的话帮忙看一下啊:)

2010-02-25 10:33:37添加:
最新测试进展:

做了交叉线,和电脑直连,完全正常。100%

与五口_交换机连接用交叉线,还是loss 50%以上。

使用另外一台24口_交换机,ping正常,100%。

那台小交换机那么差劲?  一直在用呢

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2010-2-24 18:44:34 | 显示全部楼层
ping其他的机子没有问题。
Pinging 192.168.0.1 with 32 bytes of data:

Reply from 192.168.0.1: bytes=32 time<1ms TTL=64
Reply from 192.168.0.1: bytes=32 time<1ms TTL=64
Reply from 192.168.0.1: bytes=32 time<1ms TTL=64
Reply from 192.168.0.1: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.0.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

出0入0汤圆

发表于 2010-2-24 18:58:04 | 显示全部楼层
有些模块电平不匹配所致。以前出现过这个现象。换一家的就好了

出0入0汤圆

 楼主| 发表于 2010-2-24 19:18:00 | 显示全部楼层
回复【2楼】PZLPDY
有些模块电平不匹配所致。以前出现过这个现象。换一家的就好了
-----------------------------------------------------------------------

是哪里的电平不匹配呢,看电路,这个模块就只有enc芯片和变压器了,是指这个变压器不行么?

还好,差点要一次再买10个回来了……

出0入0汤圆

发表于 2010-2-24 19:43:36 | 显示全部楼层
你直接和PC连试试,不行就再换个机器或路由器试试

enc28j60的这个问题遇到的太多了

出0入0汤圆

发表于 2010-2-24 19:53:17 | 显示全部楼层
关注一下

出0入0汤圆

 楼主| 发表于 2010-2-24 19:54:59 | 显示全部楼层
回复【4楼】ffxz
你直接和PC连试试,不行就再换个机器或路由器试试
enc28j60的这个问题遇到的太多了
-----------------------------------------------------------------------

看来还是模组本身的的问题啊,要是换交换机能够用的话,那么这个模块也还是不能用了,这么挑机器怎么行呢。
有点纳闷,那个模组的电路不是很多啊,难道是变压器不匹配?

另:ffxz有没有推荐的ENC28J60模组啊?比较稳定的那种。

出0入0汤圆

 楼主| 发表于 2010-2-24 19:56:26 | 显示全部楼层
我用网线把模组直接和电脑连接,电脑没有反应。

出0入0汤圆

发表于 2010-2-24 20:11:24 | 显示全部楼层
ENC28J60不支持auto_mdix吧,要用交叉线.

出0入0汤圆

发表于 2010-2-24 20:13:23 | 显示全部楼层
正在用ENC28J60,有上万台出货量,除了特别老的10M交换机外,都还好!PING也会丢包,但最多1%的样子。有段时间发现长时间运行,出现只能收不能发的问题,后来发现是驱动程序问题。

出0入0汤圆

 楼主| 发表于 2010-2-24 20:21:02 | 显示全部楼层
回复【9楼】astudent
正在用ENC28J60,有上万台出货量,除了特别老的10M交换机外,都还好!PING也会丢包,但最多1%的样子。有段时间发现长时间运行,出现只能收不能发的问题,后来发现是驱动程序问题。
-----------------------------------------------------------------------

astudent 你是用的是模块的么?网络变压器是什么的?
我用的交换机是100M的 5口不交的

出0入0汤圆

发表于 2010-2-24 20:26:12 | 显示全部楼层
不是模块,是在产品中用,自己做板,LPC2132+ENC28J60架构,变压器为13-60FD,和汉仁那个差不多。

出0入0汤圆

发表于 2010-2-24 20:28:58 | 显示全部楼层
回复【10楼】VERY VERY低调
-----------------------------------------------------------------------

我用的ENC28J60电路板, 使用20F001N-YCL网络变压器, 一切正常,交换机是 100M/10M

出0入0汤圆

发表于 2010-2-24 20:57:36 | 显示全部楼层
顶楼那个模块,pcb layout的很差,不丢包才怪.
差分线的布线规则都不讲究,估计更没有注意100欧阻抗匹配了.
本来10M以太网要求不那么严格的,随便根据原则布布就可以了.
但是那个线布的也太差了.
100M的fast ether,2层板布的好的话,也不会丢包,用smart bits测试100%流量.
好像是抄的icdev的板子.

当然,软件的协议栈也有可能处理不过来导致丢包.

所以要先排除硬件问题,再找软件问题.

出0入0汤圆

发表于 2010-2-24 21:08:18 | 显示全部楼层
那个模块的布线还可以。对于现在的交换机或路由器,走通就可以了。

出0入0汤圆

发表于 2010-2-24 21:20:59 | 显示全部楼层
omg,R9 R10的RX方向差分线,不要说等距平行,隔的那个叫远,中间还有led线走着

出0入0汤圆

发表于 2010-2-24 21:25:44 | 显示全部楼层
06年阿莫的7S64用到ENC28J60的板子,ping丢包都非常严重. 那个板子lay的比楼顶的还要差.
后来重新layout做到另外的板子上,同样的固件,ping24小时都不丢包了.
要测硬件性能,还是和pc直连,用100m长线是规范.这都能过,那经过交换机/路由器更没问题了.

出0入0汤圆

 楼主| 发表于 2010-2-24 21:40:00 | 显示全部楼层
楼上你很神奇哎,2004年一月一日注册……

发表主题2

积分63

元老啊,拜过……

出0入0汤圆

发表于 2010-2-24 21:49:56 | 显示全部楼层
惭愧,没有做出太多贡献
差分布线的模块我现在就有空板子,送你一个测试都可以,只是ssop的enc28j60

出0入0汤圆

 楼主| 发表于 2010-2-25 00:55:04 | 显示全部楼层
回复【18楼】huatuizh
惭愧,没有做出太多贡献
差分布线的模块我现在就有空板子,送你一个测试都可以,只是ssop的enc28j60
-----------------------------------------------------------------------


可以卖10个模块给我么:)
因为没时间自己做模块了

出0入0汤圆

发表于 2010-2-25 08:14:29 | 显示全部楼层
回复【18楼】huatuizh
惭愧,没有做出太多贡献
差分布线的模块我现在就有空板子,送你一个测试都可以,只是ssop的enc28j60
-----------------------------------------------------------------------

请问有没有PCB文件?想看看如何布线的。。。谢谢1

出0入0汤圆

 楼主| 发表于 2010-2-25 10:11:47 | 显示全部楼层
最新测试进展:

做了交叉线,和电脑直连,完全正常。100%

与五口_交换机连接用交叉线,还是loss 50%以上。

使用另外一台24口_交换机,ping正常,100%。

那台小交换机那么差劲?  一直在用呢。

出0入0汤圆

发表于 2010-2-25 10:21:40 | 显示全部楼层
以太网差分线,就是常规意义的差分线布线原则:
平行等距等长紧耦合,最好不要换层,如果能做阻抗控制最好,单端阻抗50欧,差分阻抗100欧,远离其他数字电路布线3W以上.TX和RX的差分对也要远离3W以上.
变压器底部要掏空,内侧是gnd,外侧是shell gnd,单点磁珠或者0欧电阻相连.
用于阻抗匹配的49.9欧0603电阻放背面,变压器离芯片不要太远,离RJ45也不要太远,三者越近越好.
外侧的75欧安规电阻也放背面,最好是0805封装,否则有浪涌电流如感应雷击时立刻就暴了.如果用HR911105/02这个就免了.
整个板子的底层当然最好是一个完整的gnd平面,2层板的VDD3.3V也只能是粗线进去了.SPCK离其他信号要在3W以上,能间隔gnd最好.

top:

(原文件名:ENC28-TOP.JPG)

bottom:

(原文件名:ENC28-BOTTOM.JPG)

出0入0汤圆

发表于 2010-2-25 10:23:31 | 显示全部楼层
to VERY VERY低调
我没有现成的模块,只有以前的空pcb,焊了2个测性能.
现在已经不用该方案了,转用SAM7X和LPC2368的100M FE.

出0入0汤圆

发表于 2010-2-25 10:30:33 | 显示全部楼层
引用图片【22楼】huatuizh
-----------------------------------------------------------------------

(原文件名:ENC28-TOP.JPG)
回复【22楼】huatuizh
-----------------------------------------------------------------------

看老兄理解的挺透彻的,问一下,为什么间距要3W呢?

出0入0汤圆

发表于 2010-2-25 10:38:52 | 显示全部楼层
那个模块的layout是有问题的.
在实际网络环境下,可以测协议栈的健壮性.
局域网环境下,那么多的广播包,还有其他各种各样的包,要是交换芯片功能比较弱,往端口转发的无效包会很多,这样协议栈处理负荷太高,丢包也是常有的事.比如没有广播风暴抑制功能,MAC表深度比较小.如果还同时连着internet,那更加多的包了,mac地址一旦增加的太多,交换芯片的学习learning没有跟上,那又是一堆广播包发下去.
有个办法,用sniffer这样的抓包工具,抓PC端.
同时读取enc28j60的内部寄存器,丢包错误统计计数相关的寄存器,看是什么原因导致的丢包.比如crc错误--多半是硬件信号不好导致,比如memory overflow则是处理器没有来得及读走数据,处理不过来导致的溢出丢包.

回复【21楼】VERY VERY低调
最新测试进展:
做了交叉线,和电脑直连,完全正常。100%
与五口_交换机连接用交叉线,还是loss 50%以上。
使用另外一台24口_交换机,ping正常,100%。
那台小交换机那么差劲?  一直在用呢。
-----------------------------------------------------------------------

出0入0汤圆

发表于 2010-2-25 10:41:38 | 显示全部楼层
回复【21楼】VERY VERY低调
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~``

楼主STM32的驱动源码有吗?能否发个过来参考下?谢谢!

youki1234@163.com 谢谢!

出0入0汤圆

发表于 2010-2-25 10:46:22 | 显示全部楼层
回复【24楼】TBN1
-----------------------------------------------------------------------

参考 <高速数字设计>黑皮书和其他高速电路设计准则.
理论上说,差分线对与其他信号离的越远越好.离近了,会有辐射串绕.实际的工程经验和理论,超过3W的距离,串绕会降低80%~90%.
10M的好点,100M的电口,MLT-3三阶电平信号,就不是0/1两种了,受串绕影响导致的误判门限,大大降低.

出0入0汤圆

 楼主| 发表于 2010-2-25 10:48:45 | 显示全部楼层
回复【26楼】youki1234
回复【21楼】VERY VERY低调
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~``
楼主STM32的驱动源码有吗?能否发个过来参考下?谢谢!
youki1234@163.com 谢谢!

-----------------------------------------------------------------------

开源实时操作系统:RT-Thread/STM32 0.3.0 RC1发布
帖子里面有。

就是stm32平台的RT-Thread开发包里面。

网络部分的说明也有文档:原文件名:rtthread_lwip.pdf)

帖子里面有

出0入0汤圆

 楼主| 发表于 2010-2-25 10:53:49 | 显示全部楼层
回复【25楼】huatuizh
那个模块的layout是有问题的.
在实际网络环境下,可以测协议栈的健壮性.
局域网环境下,那么多的广播包,还有其他各种各样的包,要是交换芯片功能比较弱,往端口转发的无效包会很多,这样协议栈处理负荷太高,丢包也是常有的事.比如没有广播风暴抑制功能,MAC表深度比较小.如果还同时连着internet,那更加多的包了,mac地址一旦增加的太多,交换芯片的学习learning没有跟上,那又是一堆广播包发下去.
有个办法,用sniffer这样的抓包工具,抓PC端.
同时读取enc28j60的内部寄存器,丢包错误统计计数相关的寄存器,看是什么原因导致的丢包.比如crc错误--多半是硬件信号不好导致,比如memory overflow则是处理器没有来得及读走数据,处理不过来导致的溢出丢包.
-----------------------------------------------------------------------

分析得太明白透彻了,我读寄存器数据看看哈,谢谢啦。

我用24口_交换机的接enc模块的时候,测试的PC也是通过那个小的5口_交换机再接到24口_交换机的,也是100%正常。

出0入0汤圆

发表于 2010-2-25 14:31:32 | 显示全部楼层
是不是说enc28j60在连接internet的时候根本不好用呢?

出0入0汤圆

发表于 2010-2-25 14:49:36 | 显示全部楼层
要做到标准的50欧阻抗匹配很难。

出0入0汤圆

发表于 2010-2-26 21:27:20 | 显示全部楼层
回复【30楼】l456789
是不是说enc28j60在连接internet的时候根本不好用呢?
-----------------------------------------------------------------------

怎么会呢,抛开硬件的问题,和软件的关系很大。协议栈效率高,MCU来得及处理所有的包,就不会有问题。

enc28j60还有一些包过滤功能,使用得当,会提高效率。

出0入0汤圆

发表于 2010-2-26 21:31:20 | 显示全部楼层
回复【31楼】astudent
要做到标准的50欧阻抗匹配很难。
-----------------------------------------------------------------------

是的。不可避免的反射就让它反射着,能避免的串绕,辐射,尽量避免。

出0入0汤圆

发表于 2010-3-1 21:48:59 | 显示全部楼层
搞的有点复杂了,看来我们的布线水平有待提高呀!

出0入0汤圆

 楼主| 发表于 2010-3-10 10:10:13 | 显示全部楼层
换了个别家的模块, 两家的模块分别测试,结果,新的完全正常,可以到100%。

老的丢包50%到80%不等。

新的用的是91102A的变压器,不知道跟这个有没有关系,老的用的是911105A的变压器。

出0入0汤圆

发表于 2010-3-10 10:24:43 | 显示全部楼层
关注一下 呵呵····

出0入0汤圆

发表于 2010-4-6 15:18:18 | 显示全部楼层
关注下

出0入0汤圆

发表于 2011-1-20 09:58:05 | 显示全部楼层
标记学习

出0入0汤圆

发表于 2011-7-7 18:05:42 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-14 22:09:07 | 显示全部楼层
mark 以太网布线

出0入0汤圆

发表于 2011-9-14 22:50:33 | 显示全部楼层
学习了

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-7-23 09:33

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

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