基于Atmel128A单片机的工业以太网卡设计(实现uip1.0协议)

代码量:UIP1.0代码(100K左右),个人完成单片机的定时器和SPI驱动,以太网卡驱动。uip1.0协议属移植。在实际完成中大量参考了老外的Avrnet开源项目(自己网络知识真的很有限,恶补了好长时间,囧)。

协议移植周期:30天

硬件开发周期:无,淘宝购买的现成模块

简介:在工业以太网卡ENC28J60和单片机组成的系统上实现UIP1.0的代码。底层部分包含定时器,SPI及以太网的驱动,上层协议实现了IP,MAC,PING,以及简单的HTTP协议,HTTP实现的网页部分实现了交互功能控制LED,其中CGI代码参考了别人的代码。

收获:①ENC28J60寄存器分为几个BANK,这种寻址方式一次不能成功得分两步。

  ②单片机的定时器往往充当着系统时钟的作用

  ③TCP/IP协议是一层一层包装形成的协议,从链路层、网络层、传输层、应用层一层一层调试,成功的概率比较大

  ④TCP和UDP的端口是为各种应用层的服务而设置的,每一种服务用到哪种端口,FTP用到的是21。端口往往成为黑客攻击的主要方式之一。维护好端口的使用是防止网络攻击的一种基本手段

  ⑤http协议的CGI编程是实现服务器和客户端交互的代码,可以深入研究。

  ⑥由于时间有限故而在应用层只实现了HTTP协议,FTP、TELNET等协议没有做出来。

图片:

整机图:

一端连到教研室的交换机,自己电脑也连到这个交换机上,可以互ping啦!





最后实现的HTTP协议,用的最原始的CGI!


发布了62 篇原创文章 · 获赞 9 · 访问量 8万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览