完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我的应用FPGA是通过SPI给ESP32传输数据,每次512B的数据,连续传输,SPI的时钟频率为40MHz, 所以一次传输的时间大约为110us,如下图中上面的波形,
SPI每次传输完成后启动一次wifi发送,并在send()后,设置一个GPIO进行反转,波形如下图中下面的波形。 理想状态下,下面波形的频率应该是上面的1/2,但实际上WIFI的传输太慢了!!根据图中所示,WIFI发送一次最快是430us,最慢的地方3000多us, 我是在spi_master->lcd这个模板下改的程序,menuconfig里关于wifi的配置好像也没发现哪里可以提高速度啊! 大致程序如下: void send_data(void *pvParameters) { while (1) { if (g_ConnectionOK) { if(g_BeamRcvOK) { g_BeamRcvOK = 0; send(connect_socket, &recvbuf, 1024, 0); if(len < 0 ){} if(flag2 == 0) { flag2 = 1; gpio_set_level(PIN_ST_TEST, 1); } else { flag2 = 0; gpio_set_level(PIN_ST_TEST, 0); } } } } } |
|
相关推荐
1个回答
|
|
|
根据您的描述,FPGA通过SPI向ESP32传输数据的速度很快,但WIFI传输速度较慢。以下是一些建议来解决这个问题:
1. 检查WIFI模块的配置:确保WIFI模块的配置正确,包括信道、频段和速率。在menuconfig中,您可以检查这些设置并进行调整。 2. 优化数据传输方式:尝试使用更高效的数据传输方式,例如使用TCP协议而不是UDP,因为TCP协议可以确保数据的完整性和顺序。 3. 减少WIFI传输间隔:如果可能的话,尝试减少WIFI传输的间隔时间,以便更快地发送数据。 4. 检查ESP32的内存使用情况:确保ESP32有足够的内存来处理和发送数据。如果内存不足,可能会导致WIFI传输速度变慢。 5. 升级ESP32固件:检查是否有适用于ESP32的新固件版本,新版本可能包含性能改进和错误修复。 6. 优化SPI传输代码:检查SPI传输代码,确保没有不必要的延迟或等待时间。同时,确保SPI传输的时钟频率设置正确。 7. 使用DMA(直接内存访问):如果可能的话,使用DMA来传输数据,这可以减少CPU的负载,从而提高传输速度。 8. 检查WIFI信号质量:确保WIFI信号质量良好,信号弱可能会导致传输速度降低。 9. 考虑使用其他通信方式:如果WIFI传输速度仍然无法满足您的需求,您可以考虑使用其他通信方式,例如蓝牙、LoRa或Zigbee。 10. 硬件升级:如果可能的话,升级您的硬件设备,例如使用更高性能的ESP32模块或WIFI模块。 希望这些建议能帮助您解决WIFI传输速度慢的问题。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
448 浏览 0 评论
971 浏览 0 评论
1695 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1349 浏览 1 评论
1246 浏览 1 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1270浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
936浏览 3评论
2368浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2555浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1063浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-8 09:33 , Processed in 0.728988 second(s), Total 75, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
858
