OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4688|回复: 13

STM32F407探索者+UCOSIII+LWIP 如何提升TCP传输速度?

[复制链接]

7

主题

20

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2022-5-17
在线时间
19 小时
发表于 2022-10-31 15:15:15 | 显示全部楼层 |阅读模式
15金钱
STM32F407探索者+UCOSIII+LWIP 如何提升TCP客户端速度?

哪位大佬有优化过TCP速度的可以发一份给我,感谢感谢,3181067055@qq.com
这是我TCP现在的速度,才5 kbits/s,太可怜了。。



参考正点原子论坛里面文章修改 lwipopts.h 文件里面的参数。








#define SYS_LIGHTWEIGHT_PROT    1                //为1时使用实时操作系统的轻量级保护,保护关键代码不被中断打断
#define NO_SYS                  0                  //使用UCOS操作系统
#define MEM_ALIGNMENT           4                  //使用4字节对齐模式
#define MEM_SIZE                32000         //内存堆heap大小
#define MEMP_NUM_PBUF           30                 //MEMP_NUM_PBUF:memp结构的pbuf数量,如果应用从ROM或者静态存储区发送大量数据时,这个值应该设置大一点
#define MEMP_NUM_UDP_PCB        6                //MEMP_NUM_UDP_PCB:UDP协议控制块(PCB)数量.每个活动的UDP"连接"需要一个PCB.
#define MEMP_NUM_TCP_PCB        10                //MEMP_NUM_TCP_PCB:同时建立激活的TCP数量
#define MEMP_NUM_TCP_PCB_LISTEN 6                //MEMP_NUM_TCP_PCB_LISTEN:能够监听的TCP连接数量
#define MEMP_NUM_TCP_SEG       300                //MEMP_NUM_TCP_SEG:最多同时在队列中的TCP段数量
#define MEMP_NUM_SYS_TIMEOUT    8                //MEMP_NUM_SYS_TIMEOUT:能够同时激活的timeout个数

//pbuf选项
#define PBUF_POOL_SIZE          20                //PBUF_POOL_SIZE:pbuf内存池个数
#define PBUF_POOL_BUFSIZE       1500                //PBUF_POOL_BUFSIZE:每个pbuf内存池大小

#define LWIP_TCP                1                  //使用TCP
#define TCP_TTL                 255                //生存时间

#undef TCP_QUEUE_OOSEQ
#define TCP_QUEUE_OOSEQ         0                 //当TCP的数据段超出队列时的控制位,当设备的内存过小的时候此项应为0

#undef TCPIP_MBOX_SIZE
#define TCPIP_MBOX_SIZE         MAX_QUEUE_ENTRIES   //tcpip创建主线程时的消息邮箱大小

#undef DEFAULT_TCP_RECVMBOX_SIZE
#define DEFAULT_TCP_RECVMBOX_SIZE       MAX_QUEUE_ENTRIES  

#undef DEFAULT_ACCEPTMBOX_SIZE
#define DEFAULT_ACCEPTMBOX_SIZE         MAX_QUEUE_ENTRIES  


#define TCP_MSS                 (1500 - 40)                  //最大TCP分段,TCP_MSS = (MTU - IP报头大小 - TCP报头大小
#define TCP_SND_BUF             (25*TCP_MSS)                //TCP发送缓冲区大小(bytes).
#define TCP_SND_QUEUELEN        (10* TCP_SND_BUF/TCP_MSS)        //TCP_SND_QUEUELEN: TCP发送缓冲区大小(pbuf).这个值最小为(2 * TCP_SND_BUF/TCP_MSS)
#define TCP_WND                 (10*TCP_MSS)                //TCP发送窗口
#define LWIP_ICMP               1         //使用ICMP协议
#define LWIP_DHCP               0        //使用DHCP
#define LWIP_UDP                1         //使用UDP服务
#define UDP_TTL                 255 //UDP数据包生存时间
#define LWIP_STATS 0
#define LWIP_PROVIDE_ERRNO 1







这个就是我优化后最快的速度,很明显还是太慢了。





最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

353

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4300
金钱
4300
注册时间
2019-4-30
在线时间
877 小时
发表于 2022-10-31 15:15:16 | 显示全部楼层
回复

使用道具 举报

7

主题

480

帖子

0

精华

高级会员

Rank: 4

积分
771
金钱
771
注册时间
2021-4-15
在线时间
304 小时
发表于 2022-10-31 19:27:40 | 显示全部楼层
你这是要传啥那么快,600多字节每秒 对于数据处理来说 一般够了吧!
日常敲键--头秃一片
回复

使用道具 举报

5

主题

353

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4300
金钱
4300
注册时间
2019-4-30
在线时间
877 小时
发表于 2022-11-1 08:16:28 | 显示全部楼层
曾经优化过freertos+LWIP的 测速可以跑到百兆网卡的极限 10MB/S
回复

使用道具 举报

5

主题

353

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4300
金钱
4300
注册时间
2019-4-30
在线时间
877 小时
发表于 2022-11-1 08:18:33 | 显示全部楼层
看图探索者跑的
回复

使用道具 举报

7

主题

20

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2022-5-17
在线时间
19 小时
 楼主| 发表于 2022-11-1 11:09:00 | 显示全部楼层

大佬,能发一份项目源代码给我吗,3181067055@qq.com
回复

使用道具 举报

7

主题

20

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2022-5-17
在线时间
19 小时
 楼主| 发表于 2022-11-1 11:09:47 | 显示全部楼层
日渐秃兀 发表于 2022-10-31 19:27
你这是要传啥那么快,600多字节每秒 对于数据处理来说 一般够了吧!

太慢了,差不多10ms才发送一次数据
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2022-11-2 00:12:02 | 显示全部楼层

可以分享下么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2023-7-24
在线时间
2 小时
发表于 2023-7-29 14:43:39 | 显示全部楼层
你好   这个问题现在有解决么
我遇到了类似的问题
不知道怎么解决了
回复

使用道具 举报

7

主题

20

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2022-5-17
在线时间
19 小时
 楼主| 发表于 2023-8-7 19:43:33 | 显示全部楼层
amoral 发表于 2023-7-29 14:43
你好   这个问题现在有解决么
我遇到了类似的问题
不知道怎么解决了

问楼上发图片那位大哥,他给了我案例,能用,速度也快了,你问他要
回复

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2022-4-25
在线时间
14 小时
发表于 2023-8-18 15:00:06 | 显示全部楼层

大佬,能发一份案例源代码给我吗?376095943@qq.com,万分感谢!
回复

使用道具 举报

5

主题

353

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4300
金钱
4300
注册时间
2019-4-30
在线时间
877 小时
发表于 2023-8-18 18:20:31 | 显示全部楼层
有点意思吧啦哈 发表于 2023-8-18 15:00
大佬,能发一份案例源代码给我吗?,万分感谢!

ID就是我QQ可加
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2023-11-27
在线时间
1 小时
发表于 2023-11-27 11:44:13 | 显示全部楼层
常驻客栈 发表于 2023-8-7 19:43
问楼上发图片那位大哥,他给了我案例,能用,速度也快了,你问他要

可以分享一份给我吗?感谢!691796061@qq.com
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2024-1-10
在线时间
8 小时
发表于 2024-8-21 16:53:42 | 显示全部楼层

求一份源码,2290809462@qq.com,万分感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 05:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表