zoukankan      html  css  js  c++  java
  • 寄存器数据问题反馈集锦W5200/W5300相关

    改章节朋友在青岛喝咖啡的时候突然想到的...今天就有想写几篇关于寄存器数据的文章,所以回家到之后就奋笔疾书的写出来发布了

        为大家整顿一下 W5200 和 W5300近最客户反馈涌现的问题,望对大家有所助帮。

        1.  关于W5200

        您好,教请一下,我在试调W5200的中程过,涌现一种问题,单片机可以胜利的读取W5200中寄存器中的数据,但是不能向W5200中入写数据,数据的式格完全符合官方的资料,模拟SPI和硬件SPI我都实验过,但是效果还是一样!教请一下这是我码代的问题还是其它的问题?

        答:关于您的问题,我建议您确认一下,否是实确够能读取W5200的寄存器。请按照以下流程确认,并反馈数据予我:

        1) 试测W5200的3.3V及1.8V输入管脚电压;

        2)  找查数据手册,有一些寄存器是有默认值的,请取选一个带默认值的寄存器读取一下,并用示波器读取一下否是与寄存器的默认值雷同,以确认我们实确够能准确读取寄存器;

        3)   如果第2步胜利,请实验向01寄存器入写一个数据,并读取。若不同:

        → 请顺次实验入写不同的值,查看输出的值是什么?否是有法则?

        烦请确认后,我们再来判断一下是码代,还是硬件的问题。

         

        2.  W5200应用问题

        w5200置配为每一个收接缓冲区为2K,当收接缓冲区满时就不能收接新的数据,这时该如何理处。另外能解释下Sn_TX_RD;Sn_TX_WR;Sn_RX_RD;Sn_RX_WR的意思吗,手册上讲的很不明确。

        答:

        1)W5200的缓冲区的巨细是可以设置的,如果你用不到8个Socket且望期信通速率有所提高,可以将缓冲区新重设置,关闭几个Socket,将部份Socket的缓冲区大扩;

        2)W5200的缓冲区的数据是须要你实时发送Send命令发送出去。其入写数据类似于栈堆,如果满了的话从首址地行进覆盖入写;

        3)Sn_TX_RD 输传读指针寄存器,示显输传存内里最后一个输传的址地;

        Sn_TX_WR 输传写指针寄存器,指示前当入写要发送的数据的置位;

        Socket n的命令寄存器执行SEND命令时,把从前当Sn_TX_RD指针址地到Sn_TX_WR指针址地的数据发送出去,并在发送完成后自动更新Sn_TX_RD的值。因此,在发送完成后,Sn_TX_RD和Sn_TX_WR的值雷同。

        4)Sn_RX_RD收接读指针寄存器,供给收接数据的置位信息;

        Sn_RX_WR收接写指针寄存器,供给部内存储器中入写收接数据的置位信息; 

        3. W5300包理处速度问题

        每日一道理
    微笑着,去唱生活的歌谣,不要埋怨生活给予了太多的磨难,不必抱怨生命中有太多的曲折。大海如果失去了巨浪的翻滚,就会失去雄浑;沙漠如果失去了飞沙的狂舞,就会失去壮观。人生如果仅去求得两点一线的一帆风顺,生命也就失去了存在的意义。

        我用的开发板是arm架构,理处器应用s3c2440,网卡应用的是w5300芯片。
    驱动应用的是你们官网供给的驱动,驱动经已移植胜利了。通普速度下ping,tcp/udp收发都没问题。

        在现行进压力试测,用台式机给开发板发网络包,每一个包巨细为300字节,问题就出来了。
    用socket 0作工在mac_raw模式下,最快只能收大约每毫秒 1.2个包,经换算速度大概为2.3Mbps,再快w5300就不作工了。
    用socket 1~7,与端口绑定,不作工在mac_raw模式下,则最快大约收取每毫秒 3个包,经换算速度大约为6.87Mbps,300(字节) x 8(bit) x 3000(包/秒钟) / 1024 / 1024 = 6.87Mbps,再快w5300样同不作工。

        不作工时,看各个寄存器的值,结果如下:
    MR = 0x8000, Sn_MR(n) = 0x0

        IMR = 0x1, Sn_IMR(n) = 0xFF

        IR = 0x0, Sn_IR(n) = 0x0

        Sn_SSR(n) = 0x00 , Sn_PROTOR = 0x0

        这说明socket n口关闭了。

        我想问的是,不论是2.3Mbps还是6.87Mbps,都没有到达你们说的应用500字节的数据包,可以到达40Mbps的速度。
    这是什么因原呢。

        答:感激您的问题反馈!

        我看到您是在用PC给W5300发包。不知您制控W5300的机制是什么样的?有没有让W5300实时的输传数据?

        如果您PC一直在发包,而W5300不做输传理处的话,轻易形成RAM溢出。

        另外,您应用了mac_raw模式。下层协议是什么呢?对W5300是如何制控的?

        至于W5300的速率也是用户实际应用试测过的。当然,还与主控芯片的接口及理处速率有关。

        不过,您的数据然显有些不太畸形。

        我们可以一同分析一下因原。如仍有问题,请随时系联我们。

        

         感激注关!

        有如任何问题,实时系联我们.

        WIZnet邮箱:wiznetbj@wiznettechnology.com

        WIZnet官方主页:       http://www.iwiznet.cn/

        WIZnet官方博客:       http://blog.iwiznet.cn/

        WIZnet业企官方微博:http://e.weibo.com/wiznet2012

    文章结束给大家分享下程序员的一些笑话语录: 一位程序员去海边游泳,由于水性不佳,游不回岸了,于是他挥着手臂,大声求.救:“F1,F1!”

  • 相关阅读:
    《Java多线程编程核心技术》读后感(五)
    《Java多线程编程核心技术》读后感(四)
    《Java多线程编程核心技术》读后感(三)
    《Java多线程编程核心技术》读后感(二)
    《Java多线程编程核心技术》读后感(一)
    使用httpClient下载网页
    HrrpClient使用
    爬虫基本结构
    仿响应式html:JS来判断页面是在手机端还是在PC端打开的方法
    Python 进程管理工具 Supervisor 使用教程
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3040953.html
Copyright © 2011-2022 走看看