zhanggx 发表于 2008-4-25 23:00:15

我做的AT91中的TCP/IP功能

用了近一个月在AT917s64中嵌入了TCP/IP协议,包括
1。ARP:有5个ARP缓存
2。UDP:
   DNS功能:可实现远程的UDP打洞,主要实现SNMP的访问
   TFTP功能:用以太网升级程序中的网页
   NETBios功能:实现网上邻居
   SNMP功能:网管
3。TCP:
   Telnet远程登陆:只做了ARP查询,DNS查询,TCP的Soket查询
   HTTP的web server,有2个网页
见下图:

http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_260502.jpg
TFTP (原文件名:tftp.jpg)

http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_260503.jpg
Netbois (原文件名:netbois.jpg)

http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_260504.jpg
Telnet (原文件名:telnet.jpg)

http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_260505.jpg
Http1 (原文件名:http1.jpg)

http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_260506.jpg
Http2 (原文件名:http2.jpg)

lijg8421 发表于 2008-4-25 23:14:29

强!学习中,期待放送点资料!

ralfak 发表于 2008-4-27 12:06:50

好想法

stdio 发表于 2008-4-27 12:20:02

是自己写的TCP吗?

yibin818 发表于 2008-4-27 12:31:37

牛人

zhanggx 发表于 2008-4-27 12:57:29

整个协议是参考了uip写的,但DNS,SNMP,TFTP,HTTP,TELNET是自己写的,目前用的是7S64,TCP的socket可以到10个以上
,在AVR的M64只能做到5个。但我的感觉是速度差不多.
Ping时:M64回应时间为1ms,7S64为300us
一个SNMP回应包:M64回应为16ms, 7s64为16ms
TCP二者也基本一样
程序升级时7s64比M64要麻烦
M64内有EPROM,这点比7S64要外挂个24C16要方便些,但M64内的EP会出问题,要加校验程序来保护

vilan 发表于 2008-4-27 21:14:54

别在这儿秀好么?QQ,电话留下来丢人.

wenming 发表于 2008-4-27 21:38:26

楼上的说话我有点不明白,怎么丢人了?>

watercat 发表于 2008-4-27 22:01:25

如果是这论坛刚成立的时候,这样的东西大概在国内能算一流的

但现在的话……

不得不说,无论思路还是结果,开源的、商业化的,可用的选择太多了……楼主的方案实在没有任何出彩的地方……

zhanggx 发表于 2008-4-30 12:30:11

楼上说的没错,这东西早在2005年我就说是落后的技术了。才接触AT91的芯片,做了这个东西测试一下速度而已.
在尝试把这个做到到机顶盒上的一个模板,正在往HR2016上移,我想在机顶合上做上它可能不是落后的吧
可以把EOC的功能利用起来也不错的

zhanggx 发表于 2008-5-2 10:52:21

新的测试:
我用SNMP对以下的芯片做了测试
运行环境为都嵌入TCP-UDP-SNMP,OID结点为71个,分别用3个软件做了GET的测试
芯片-------GETNET 71个OID用时---软件方式
78E58B    1230ms             KEIL
M64         416ms            GCC
AT917s64      80ms               KEIL
LPC2148       32ms               KEIL

我对做TCP协议的建议如下:
1。网卡驱动是最浪费时间的,一定要优化驱动程序,可大大的缩短时间
2。不要认为RAM区越大越好,其实256个字节也能跑的(不用OS的时候),内存可以分片用,也可以把RAM做成环首尾相接用
3。不论做哪种协议,按协议格式是很占用CODE的,所以要想出固定最短格式的协议包

http://cache.amobbs.com/bbs_upload782111/files_10/ourdev_263514.jpg
(原文件名:snmp_1.jpg)

http://cache.amobbs.com/bbs_upload782111/files_10/ourdev_263515.jpg
(原文件名:snmp_4.jpg)

ATMEGA_007 发表于 2008-5-2 14:23:06

以太网控制芯片是什么?

likedev 发表于 2008-5-6 23:00:19

不错啊我也想做!!就是没搞出来!!

redriver 发表于 2008-8-1 19:12:24

以前也玩过协议栈,个人觉得LWIP不错,但估计协议栈的BUg会较多,要自己排查。
貌似ECOS可以,带两个协议栈,可以选。
Linux类的,资源要求较高,这种内嵌Flash的MCU跑不起来,或者索性将Linux中TCP部分移植,然后搞个实时的OS,TCP部分跑在这个OS上,协议栈部分需要优化和调试的时间就少了。不知是否可行,以前看到有论文在VxWorks上移植Linux的协议栈的。

gdf78 发表于 2008-8-10 00:28:20

对菜鸟来说很好的功能 哈
LZ,能贡献点UDP方面的资料吗,我刚学习,最好是IAR环境下的
谢谢先了

zxq6 发表于 2008-8-10 03:00:11

谢谢。

AVR_ARM 发表于 2008-8-11 19:55:27

vilan
还秀个球,这话说的,有能耐你也做点东西出来,别只会让别人放代码,然后自己什么都不管就是一个下载照抄。

zhanggx 发表于 2008-9-16 13:05:13

改进后的程序:

1.基于B/S构架的WEB,界面要观,用JS重新做了一遍

2.改进了C/S构架中的SNMP中的报警和TRAP

3.添加了更多的TELNET命令



http://cache.amobbs.com/bbs_upload782111/files_11/ourdev_419022.jpg

经用JS过后的WEB页面 (原文件名:1_1.jpg) 



http://cache.amobbs.com/bbs_upload782111/files_11/ourdev_419023.jpg

经用JS过后的WEB页面 (原文件名:1_2.jpg) 



http://cache.amobbs.com/bbs_upload782111/files_11/ourdev_419024.jpg

经用JS过后的WEB页面 (原文件名:1_3.jpg) 



http://cache.amobbs.com/bbs_upload782111/files_11/ourdev_419025.jpg

SNMP网管 (原文件名:2_1.jpg) 



http://cache.amobbs.com/bbs_upload782111/files_11/ourdev_419026.jpg

Telnet应用 (原文件名:2_2.jpg) 



http://cache.amobbs.com/bbs_upload782111/files_11/ourdev_419027.jpg

程序snmp协议 (原文件名:s1.jpg) 



http://cache.amobbs.com/bbs_upload782111/files_11/ourdev_419028.jpg

程序http协议  (原文件名:s2.jpg) 



最后我觉得做的东西一定要贴近用户,不是自已的喜好.而是要根据客户来做产品

esnail 发表于 2008-12-17 17:42:26

mark

buffalo 发表于 2008-11-12 11:07:47

TO:watercat 

你的发言有点极端。用AT917s64解决终端设备上网,挺好的啊。

buffalo 发表于 2008-11-12 10:59:04

LZ的SNMP网管功能有没有支持实时时钟?

buffalo 发表于 2008-11-12 10:28:02

“DNS功能:可实现远程的UDP打洞,主要实现SNMP的访问”

这个说法似乎不妥?

是不是可以理解为这个设备可以跨网关?

hyp000 发表于 2008-11-12 09:53:20

支持这么多协议,LZ从哪儿搞的协议栈?

weeren 发表于 2009-5-6 09:34:56

zhanggx
我现在在M64上整的UIP1.0的,基本已经整好了,但是SNMP还没有加上去者能够有词打算,我也是用IAR做的,希望能和你交流下,少走点弯路,谢谢

oldtom 发表于 2009-5-6 23:20:43

厉害。不知道是否共享代码?

weeren 发表于 2009-5-7 10:31:07

代码现在恐怕还不行吧,我也希望把代码共享给大家,但很多很拿了以后并不会自己动手去做,而是等着别人给他,有余这个原因所以没有共享,请原谅,我打算明年吧他整好共享给大家,系王大家踊跃的贡献这样才能把它完善

buffalo 发表于 2009-5-7 10:46:12

LZ的SNMP网管功能有没有支持实时时钟?

algebra 发表于 2009-12-4 09:05:05

NB

skyward 发表于 2010-3-10 16:07:10

楼主能否提供点源码给菜鸟们研究研究啊

rayeryanglei 发表于 2011-12-18 21:08:50

我也觉得用AT917s64解决终端设备上网,挺好的啊,就是功耗有点大哇
页: [1]
查看完整版本: 我做的AT91中的TCP/IP功能