OpenEdv-开源电子网

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

ADC采集LWIP发送,数据处理问题

[复制链接]

17

主题

76

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
277
金钱
277
注册时间
2023-5-29
在线时间
106 小时
发表于 2024-6-14 10:24:29 | 显示全部楼层 |阅读模式
1金钱
做ADC数据采集,1秒钟采集到的数据有至少3MB的数据量,用LWIP的UDP发送,实时传输,但是UDP超过1472字节后,发送不了,上位机不显示,所以我的想法是在大数据量的情况下:
1:采集到的数据存在内部sram中,开辟一个500KB的缓冲区,边采集边把数据存到缓冲区,边做数据分割成1472字节的小数据块,分块好后UDP直接发送出去,整个过程就是一个动态循环的过程。比如:采集到的数据存进缓冲区,缓冲区检测到存到1472个数据后,把这1472个数据组成一个新的数组块,然后UDP拿走发送到上位机,在处理1-1472这第一个数据块的时候,同时后面的采集数据依然在实时进行,当第2个1472数据块检测存满后也打包成新的数组给UDP发送,一直存到500k后又重头开始循环缓冲1s内还没缓冲完的数据。原理就是用一个小的缓冲区来循环缓冲大数据量的数据,给出多余的时间来做数据分块给UDP传输,当然缓冲区不能太小,不然还没发走就被覆盖了。不知道这样的思路可否行
2.采集到的数据放在外部SDRAM中,在H7系列外挂SDRAM,直接一片就32MB的存储空间,一次性采集完1s的数据全部存到SDRAM中,采集完了在慢慢把数据分快处理给UDP发送。
3:当然这种情况在1和2的基础中,采集到的数据存到外部SDRAM,存储空间足够大,但是我也是边存边做数据分快处理,也不用担心被覆盖,因为空间足够大,一次性可以存够,只是存储和分块处理,发送同时进行。

以上就是我想出来的3种思路,不知道有没有大神看看如何,因为UDP发送数据上位机接收不到,超过1472字节的数据包,边采集边分块的话时间来不及处理,实时性就降低了

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

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8184
金钱
8184
注册时间
2020-5-11
在线时间
3697 小时
发表于 2024-6-14 11:20:37 | 显示全部楼层
即然思路已经这么清晰了,那就都试试呗。
专治疑难杂症
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 11:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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