人品大爆发! 终于调通ENC28J60以太网模块
很早就把ENC28J60模网络模块的硬件给弄完了,但是还没用软件调试过。放假之前把这个模块驱动的重任交给了标叔,但可能是各种原因阴差阳错,尚未驱动好。直到过年,未果。。。
TMD,这心头大石也太BT了,回到学校后决定把它干掉。
于是今天又在实验室折腾了一天,重新看了一下datasheet,跟以前一样,看了之后暂时也没太大作用。又到网上找资料,看程序。帮助不大。在不确定硬件是好是坏的情况下,冒死拼一拼,直接移植程序算了。碰碰运气吧!
网上驱动的版本甚多,由于51的配置较简单,所以就挑了个51程序移植。直到晚上,把程序的管脚配置换了,再修改一下串口函数,接着下载程序。开发板上电后,在电脑命令窗一 ping,居然通了。。。
兴奋。。。
虽然程序还没怎么认真看过,具体的实现过程也不甚了解,特别是那个UIP协议栈更是没学过。但是能够调通,也是很开心的了。证明硬件是没问题的!!也算是成功移植TCP/IP了,!具体的内容日后再看。
ENC28j60 Ping
(原文件名:ENC28j60 Ping.jpg)
经典的UIP服务器测试
(原文件名:ENC28j60 服务器.jpg)
硬件连接(帆哥的相机就这水平!)
(原文件名:ENC28J60硬件.jpg)
ENC28J60网络模块
(原文件名:ENC28J60网络模块.jpg)
侧面
(原文件名:ENC28J60网络模块2.jpg)
顺便Google一下:
UIP的官方网址:http://www.sics.se/~adam/uip/
.uIP是一个超轻量的TCP/IP协议栈,可以用于8位处理器和无操作系统环境。仅需很少的ROM和几百B的RAM,很适合嵌入式系统应用。
.uIP是瑞典大虾Adam Dunkels的作品。lwip也是这位大虾开发的,但是现在由另一个团队在维护。
.支持ARP, SLIP, IP, UDP, ICMP(ping)和TCP协议。
.良好的文档和源代码注释 - 几乎每一行代码都有注释。
.占用非常少的内存, 在编译时候可以设置。
.提供一套实例程序: web服务器, web客户端, 电子邮件发送程序(SMTP客户端), Telnet服务器, DNS主机名解析程序。
.同时活动的TCP链接数没有限制, 在编译时候可以设置。
.可免费用于商业和非商业用途。
.TCP和IP协议遵循RFC标准, 包括流控制, 片断分割和重传超时估算。
E文:
uIP has the following features:
Well documented and well commented source code - nearly every other code line is a comment.
Very small code size.
Very low RAM usage, configurable at compile time.
ARP, SLIP, IP, UDP, ICMP (ping) and TCP protocols.
Includes a set of example applications: web server, web client, e-mail sender (SMTP client), Telnet server, DNS hostname resolver.
Any number of concurrently active TCP connections, maxium amount configurable at compile time.
Any number of passively listening (server) TCP connections, maximum amount configurable at compile time.
Free for both commercial and non-commercial use.
RFC compliant TCP and IP protocol implementations, including flow control, fragment reassembly and retransmission time-out estimation.
今晚到此为止,关于ENC28J60搭建嵌入式网络服器的规范文档有待整理。
附上源码和PCB原理图
ENC28J60原理图
(原文件名:ENC28J60原理图.jpg)
ENC28j60程序
ourdev_615714ABJHYL.rar(文件大小:333K) (原文件名:ENC28j60程序.rar)
我用的是IO模拟的SPI,做UDP的测试,最大才50KBps,太失望了。
ping包1472的时候 时间=25ms,延时比较厉害。
一周热门 更多>