使用W5200 SPI和SPI+DMA模式下Arduino DUE以太网插板的测试对比
来源:互联网 发布:穆雅斓的淘宝店怎么了 编辑:程序博客网 时间:2024/05/16 23:43
原帖来源自Arduino官方论坛:http://arduino.cc/forum/index.php?PHPSESSID=e651ebd67330436435dd95bb65f4c29c&topic=139147.0
以往的大部分以太网扩展板使用的是WIZnet W5100芯片,我有个一WIZnet WIZ820io模块(使用W5200芯片),W5200有32KB的Buffer缓存(W5100的为16KB),在SPI模式下能运行速率能最大达到33.3Mbps(在W5100上为0.3Mbps)。我在hardware/arduino/sam/libraries/Ethernet/utility/中更新了W5100.cpp和W5100.h以兼容W5200(对于Ethernet.h也有略微改动)。这些更新文件和测试结果(wizperf.txt)能在以下网页获取
https://github.com/manitou48/DUEZoo
简单测试的结果是:从DUE发送出去的1000字节的UDP数据包会包含8字节的响应时延和一定的接收损失率。WIZnet的芯片在每次发送和接收时,会将2048字节的数据送入缓存/每个SOCKET。UDP协议不能保证可靠传输。与UDP协议相比,TCP协议下的数据传输通常较慢,但却能保证可靠传输,并能根据带宽自动调整传输速率。
结果包括在UNO和maple开发板上的测试。在maple和DUE上可以进行SPI+DMA模式下的测试。WIZnet为W5200在SPI模式下给出了33.3Mbps的参考速率。我在SPI时钟频率为28MHz时得到了可靠的结果,但是在42MHz下出错。
在使用DMA模式,且SPI时钟频率为28MHz的情况下,能达到将近16Mbps的速率,大约是只使用SPI传输模式的三倍。文件“w5100.cpp.dma1”是“w5100.cpp”的修正版本,能支持W5200以及DMA+SPI传输模式。详见以下网页中的“wizperf.txt”:https://github.com/manitou48/DUEZoo
- 使用W5200 SPI和SPI+DMA模式下Arduino DUE以太网插板的测试对比
- SPI DMA 的使用
- W5200以太网插板发布
- 高速SPI以太网控制芯片-W5200
- Arduino Due, Maple and Teensy3.0 的 W5200性能测试
- STM32 SPI DMA 的使用
- STM32 SPI DMA 的使用
- STM32 SPI DMA 的使用
- STM32的使用之SPI通信DMA模式
- 第一部分-使用高速SPI以太网控制芯片W5200登录Telnet服务器
- 第二部分-使用高速SPI以太网控制芯片W5200登录Telnet服务器
- 第三部分-使用高速SPI以太网控制芯片W5200登录Telnet服务器
- 以太网插板--你的Arduino通信信道
- 高速SPI以太网控制芯片——W5200
- W5200-Arduino-以太网-程序库
- Arduino以太网插板教程
- Arduino以太网插板教程
- SPI的驱动 dma
- 用堆实现求第K大的数
- jsp中打印log日志
- hibernate 计算年月日
- 一种三分频电路的实现与仿真
- c:foreach 详解
- 使用W5200 SPI和SPI+DMA模式下Arduino DUE以太网插板的测试对比
- 设置Android窗口透明
- GEF 进阶,第二部分: Router
- http://acm.hdu.edu.cn/showproblem.php?pid=2363
- C语言之排序算法---选择法排序
- Integrating Oracle OBIEE Content using GO URL
- 当JNI遇到多线程--java对象如何被C++中的多个线程访问?
- android布局常用属性
- Extjs给TextField赋值