WIZ珍藏 #2:来自Elecrow的 WIZnet W5200 Arduino Shield-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3395|回复: 0

WIZ珍藏 #2:来自Elecrow的 WIZnet W5200 Arduino Shield

[复制链接]
发表于 2014-12-16 14:19 | 显示全部楼层 |阅读模式
本帖最后由 WIZnet_Katrina 于 2014-12-16 14:23 编辑

(注:所有WIZ珍藏系列,均翻译自WIZnetMuseum
项目描述
       官方 Arduino Ethernet Shield 是由 Wiznet W5100 网络处理器驱动的,这已经有很长一段时间了。这个Shield和芯片,成就了Arduino世界中 每一个IP使能的网络项目。
       WIZnet W5100芯片有很多有趣的特征,比如直接&间接内存访问,但是在SPI总线性能上有严重的限制。同样,W5100在硬件IPv4引擎中只支持4个端口。可增加的软件端口是无线的,通过端口0 在MACRAW中提供你自己的IP栈,但是这种方式不好弄。
       W5100接口有两个主要问题。首先,SPI接口仅指定4MHz运行。其次,SPI接口只支持一个字节模式传输。
       SPI速率4MHz的限制,意味着标准的16MHz Arduino板总线不能被高于SCK/4 的速度驱动。如果在规范内驱动W5100。20MHz板子,例如Goldilocks,规范内一定会掉到SCK/8.
       同样,网络接口的每一位数据传入传出,W5100字节传输模式要求一个4字节的SPI总线处理。
       W5100理论上(无法实现)的最佳传输速率,这意味着 4*8*4 = 128 系统时钟推移传送一个单字节数据!啊!太慢了。

该做点什么?  
       我猜想WIZnet肯定意识到了性能问题(更高性能的32位MCU跑一个更高系统时钟–而不是又慢又的8位AVR ATmega–的时候更明显)他们以及发布了W5200作为W5100的代替(特定SPI总线接口)。

WIZnet W5200
W5200 带来了一些新的性能,基于众所周知并被认可的W5100 IPv4网络引擎。下表是两个芯片的对比。
W5200 vs W5100 主要性能对比
      
      W5200 更小更容易固定在板子上,对SMD结构有兴趣的,更容易私自焊接。更重要的是网络性能,W5200 具有两倍的用于IP包的Tx/Rx缓存,同步支持8个硬件IP socket。这些特征使W5200性能比W5100增加了一大块,值得替换。可以看到下图中两个芯片大小的对比,左边是Elecrow的W5200,右边是老的 DF Robot W5100 v1.0.  

       然而,W5200最大的提升还是在SPI总线接口方面。WIZnet在W5100上已经放弃了直接寻址机制,制造了W5200 专门SPI接口,运行速度高达80MHz时钟。有20倍的增加。

       另外,W5200支持SPI突发模式传输。这个意思是,全部的Tx/Rx缓存(32K字节)都可以一次性读/写入。
       在Arduino情形中,W5200可以驱动为SCK/2,AVR ATmega MCU上可达到的最大SPI速度,每一位都占一个SPI字节来传输。这意味着,我们可以达到 2 * 8 * 1 = 16的系统时钟传输速率,来传送一字节数据。
       这意味着用于Arduino时,W5200要快8倍,用于 Goldilocks 20MHz板子,要比W5100 快16倍 — 像猎豹一样快!
       这里 有一个两个WIZnet芯片速率区别的实际分析。

易用
       W5200易用,也易学。
       WIZnet 已经提供了一些包含在Arduino IDE的W5200驱动文件。这些用于替换现存的W5100驱动文件 已经在IDE中,只需替换(或重写)就可以轻松满足W5200 SPI接口要求。他们也提供  C code drivers,我已经用于我的  AVR freeRTOS 代码中。
       我等W5200好长一段时间了,想把它用到Arduino 兼容shield上,如此我就可以轻松使用了。突然发现市场上有两种,一个是中国的 W5200 Shield from Elecrow,另一个是 W5200 Shield from Wiznet
       我决定买一些Elecrow的 W5200 Shield。他们看起来比WIZnet版本好很多,因为Eleccrow用了5V转3.3V的稳压芯片来确保板载 SD 卡的安全,已经设计使用了Arduino R3标准。
       Elecrow W5200 板最关键且独特的特点是,放低的RJ45的使用,这样就使Ethernet shield与其他板子之间没有间隙。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-28 04:43 , Processed in 0.073117 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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