上海皕科电子有限公司

Shanghai Bitconn Electronic Co.,Ltd.

公司介绍
上海皕科电子有限公司是一家专业的芯片代理商和方案提供商。总部设在上海,是一家专业为中国电子企业提供单片机,无线RF,以太网IC及外围器件、开发工具和相关应用解决方案的高新技术企业。公司的主要代理品牌有Digi、Wiznet、Xinnova,以及华虹MCU等。
  公司拥有优秀的销售团队和专业的研发部门,不但在品牌、价格、供货、服务等方面领先业界,而且可为客户提供及时、可行的技术支持和整体设计服务,满足不同客户多层次需求。

如何提高W5100的通信速度

发表时间:2015/03/13 00:00:00  浏览次数:3096  
字体大小: 【小】 【中】 【大】

 在很多应用领域都需要提高W5100与其它网络设备(如PC机)的通信速度。理论上讲,W5100的最大通信速度可以达到25Mbps,实际应用中,由于网络的原因、CPU与W5100之间通信速度的原因等等,使W5100的网络传输速度远远低于25Mbps。
    这里抛开网络速度的影响,谈谈如何提高W5100的网络通信速度。
    影响W5100的网络通信速度的最大因素是CPU与W5100之间的通信速度。因此要提高W5100的网络通信速度,必须提高CPU与W5100之间的通信速度。CPU与W5100之间的通信方式对W5100的网络通信速度影响很大。直接总线的速度最快,间接总线的速度次之,SPI总线的速度最慢。
    W5100发送数据的速度直接受CPU与W5100之间的通信速度影响。因此提高CPU与W5100之间的速度是提高W5100网络发送数据的关键。
    W5100接收数据的速度除了受CPU与W5100之间的通信速度影响外,还可以通过下面的方法提高数据的传输速度。
    1. 在TCP方式(不管是客户端还是服务器),将Sn_MR寄存器设置为:S_MR_TCP|S_MR_MC。选择S_MR_MC的目的是当W5100接收到一个数据包后无延迟地回送一个ACK相应。在UDP模式下无效。
    2. 将Socket的数据缓冲区扩大到4k或8k(这样允许2个Socket工作或1个Socket工作),这样接收到数据后,先读取Sn_RX_RSR和Sn_RX_RR,重新计算Sn_RX_RR,然后发送对Sn_CR寄存器S_CR_RECV命令。完成上面的操作后再读取数据。注意使用这种方法必须快速读取W5100接收缓冲区的数据,否则W5100接收缓冲区的数据就可能被覆盖。

    通过以上方法的改进,我们在EVB-W5100/Cortex评估板上测试,极限通信速度可以达到23Mbps。(评估板上Cortex与W5100的接口采用间接总线,软件模拟总线的访问时序)。如果采用其它更快的CPU,这个速度还可以提高。

文章评论
发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态: 未登录,点击登录
上海皕科电子有限公司 版权所有
地址:上海市闵行区都园路4288号D区220室
电话:021-54852770
邮件:sales@bitconn.com