有没有可用在单片机上高性能的TCP/IP协议栈,

[复制链接]
3299|7
 楼主| 6019赵文 发表于 2010-8-18 12:27 | 显示全部楼层 |阅读模式
有没有可用在单片机上高性能的TCP/IP协议栈,以前用过一个嵌入式,吞吐性能总不好。
   一直希望单片机也能用上高性能的TCP/IP协议栈。

    以前在MCF52259上用过飞思卡尔免费送的嵌入式的  RTCS  协议栈,吞吐性能总不好。
linux1 发表于 2010-8-18 12:55 | 显示全部楼层
针对这个问题我和飞思卡尔的技术人员进行过深入交流,飞思卡尔的技术人员告诉我解决方法,同时指出根本原因在于MCU的RAM有限,所以“imply lower buffer and data window sizes”。
我想他说的data window size是针对TCP的重发机制的。是不是这么理解:TCP发出数据时,你要保留那些没有得到ACK的数据(必须在data window里面保留这些数据),要达到每秒百M的TCP包速率,这个窗口要用到百M的内存消耗?
我记得在IIS里面可以设置连接超时(超时以后IIS就不管了,爱咋咋地,呵呵!)。IIS默认为120秒,如果要IIS达到百兆速率,那光DATA WINDOW就要占用12G的内存
LPC300 发表于 2010-8-18 12:56 | 显示全部楼层
如果确实如此,那有没有避免过多占用RAM的方法?
yoyowodeai 发表于 2010-8-18 12:56 | 显示全部楼层
TI网上有个MSP430的,你看看效率。他是在单片机上实现的,2KRAM,主要还是发送,接收缓存的空间要设大些。
年轻不在 发表于 2010-8-18 12:57 | 显示全部楼层
这个一般tcp、ip目前在mcu上似乎效率不高。主要是要求的主频与RAM空间必须大
六楼的窗户 发表于 2010-8-18 12:57 | 显示全部楼层
考虑到RAM的有限,先做以下处理,同时验证以下方法是否可行:



      1、发送时先不保持TCP连接,需要时候计算得到,发完了数据就拆掉。如果有需要重发再次计算吧。毕竟都是存在的数据,如果确实是不可恢复的实时数据(例如语音),重发也是过时的数据,没有任何意义,直接丢掉。



      2、 接收时设置超时。
3B1105 发表于 2010-8-18 12:58 | 显示全部楼层
LWIP UIP都可以,网上都有移植好的
手写识别 发表于 2010-8-29 22:17 | 显示全部楼层
单片机也能用上高性能的TCP/IP协议栈?这必须是arm7吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

350

主题

1515

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部