我对之前的W5200驱动做了许多修正,包括解决了一些bug。它主要是用于MSP430F5438a,但是也应该能用于MSP430的“5系”或“6系”。我已经将代码按作用分块。例如,WIZnet的相关文件放命名是以“W5200”起头。调试相关的文件则是以“console”起头。
目前的特点:
• 全面支持TCP/UDP/ICMP及DHCP客户端
• 包含UDP/TCP的例程代码
• 以太网性能测试代码
• 串口调试台,能进行测试运行及显示W5200所有寄存器状态
• BSD认证代码
此次代码的最大改动是支持对MSP430的相关测试。我进行了一个丢包测试,并且用WIZnet客户端以最快速度发送尽可能多的数据(通过TCP发送2048字节),然后我用命令行工具“trafshow”测试了传输情况和数据吞吐量。顺便说一句,此网络系统没有其他的主机。
测试结果很有意思,当MSP430主CPU时钟频率在16MHz时,W5200 SCLK也为16MHz,我每秒能发送73,000字节的数据。当我将MSP430及W5200时钟频率提高到25MHz时,W5200的SPI通信开始出现异常。
我不清楚这是因为我使用面包板或是其他的原因。当我最终将MSP430时钟频率调为25MHz,而W5200的变为12.5MHz时,每秒能得到105,000字节数据。这很有意思—-它告诉我MSP430CPU是先限制数据传输速率的原因,而不是W5200芯片。
使用此代码,需要你依照config.h文件配置硬件。如上图所示,我使用到了MSP-EXP430F5438,连接串口针脚,波特率设为为115200Baud,数据格式为 8N1。使用Code Composer将代码载入板中 。当你点击运行,首先屏幕上会显示一些无用数据。点击“?”,出现一个选项菜单,它将会给出这些代码能实现的所有选项功能。
Example:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
*** Info Commands *** m - MCU info v - software version w - W5200 device info W - W5200 network info <#> - (a number from 0-7) displays statistics for the W5200 socket # specified *** Action Commands *** r - MCU warm reboot R - W5200 reset p - W5200 power toggle *** Network Commands *** c - Echo client test (TCP) d - Dynamically set IP address h - HTTP server i - Manually set IP address l - Echo server test (TCP) L - Echo server test (UDP) t - Run performance test |
(The HTTP server option is just something I started writing — it doesn’t work yet.)
.Download the code(http://www.cashdollar.org/wp-content/uploads/2013/01/mesa-0.6.zip) for Code Composer 5.3.0.
原文地址:http://www.cashdollar.org/2013/01/20/updated-wiznet-w5200-ethernet-driver-for-msp430/
作者:Matt Cashdollar
文章评论(0条评论)
登录后参与讨论