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

WIZnet_Katrina 发表于 2014-12-16 14:19

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

本帖最后由 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总线接口)。http://feilipu.files.wordpress.com/2013/08/dtl_1144_20110307162505.jpg?w=292&h=141
WIZnet W5200W5200 带来了一些新的性能,基于众所周知并被认可的W5100 IPv4网络引擎。下表是两个芯片的对比。http://feilipu.files.wordpress.com/2013/08/screenshot-from-2013-07-29-193156.png?w=650&h=261W5200 vs W5100 主要性能对比            W5200 更小更容易固定在板子上,对SMD结构有兴趣的,更容易私自焊接。更重要的是网络性能,W5200 具有两倍的用于IP包的Tx/Rx缓存,同步支持8个硬件IP socket。这些特征使W5200性能比W5100增加了一大块,值得替换。可以看到下图中两个芯片大小的对比,左边是Elecrow的W5200,右边是老的 DF Robot W5100 v1.0.http://www.iwiznet.cn/blog/wp-content/uploads/2014/12/W5100W5200%E5%AF%B9%E6%AF%94.jpg
       然而,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与其他板子之间没有间隙。阅读更多
页: [1]
查看完整版本: WIZ珍藏 #2:来自Elecrow的 WIZnet W5200 Arduino Shield