硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1281|回复: 8
收起左侧

[以太网] 求助,以太网UDP协议接收数据的速度很慢,才824Kbps,这个正常嘛

[复制链接]

1

主题

23

回帖

26

积分

新手上路

积分
26
发表于 2021-12-14 21:43:35 | 显示全部楼层 |阅读模式
本帖最后由 ying 于 2021-12-14 21:47 编辑


使用的以太网芯片是LAN8742,主控芯片是STM32H743ZIT6,工程是通过cubemx配置的,想问一下大家,以太网的接收速度正常嘛?(用于接收AD采样到的数据)可不可以提高。

RTFHHH7@Z%E_KS_WR0K7@P4.png
原理图.png
回复

使用道具 举报

18

主题

321

回帖

375

积分

高级会员

积分
375
发表于 2021-12-15 09:07:00 | 显示全部楼层
不正常,优化控件非常大。应该是没有开启 CACHE 导致的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107127
QQ
发表于 2021-12-15 10:35:16 | 显示全部楼层
不正常,太慢了。
回复

使用道具 举报

1

主题

23

回帖

26

积分

新手上路

积分
26
 楼主| 发表于 2021-12-15 10:48:59 | 显示全部楼层
王海靖 发表于 2021-12-15 09:07
不正常,优化控件非常大。应该是没有开启 CACHE 导致的。

我使能了ICache和DCache
8P2Z5}QWDWBGERCE%5RDG2K.png
回复

使用道具 举报

1

主题

23

回帖

26

积分

新手上路

积分
26
 楼主| 发表于 2021-12-15 10:50:38 | 显示全部楼层
eric2013 发表于 2021-12-15 10:35
不正常,太慢了。

请教一下,正常应该大概是多少M,这会是由于什么原因导致呢
回复

使用道具 举报

18

主题

321

回帖

375

积分

高级会员

积分
375
发表于 2021-12-15 14:23:53 | 显示全部楼层
ying 发表于 2021-12-15 10:50
请教一下,正常应该大概是多少M,这会是由于什么原因导致呢

LAN8742 + STM32H743ZIT6 的方案应该是和 H43ZI-NUCLEO 是一样的方案,直接移植完应该是能跑到 99Mbps 的,排除一些人为其他不知道的因素,打个9折,最少也得是 90Mbps  以上吧
回复

使用道具 举报

1

主题

23

回帖

26

积分

新手上路

积分
26
 楼主| 发表于 2021-12-15 17:54:13 | 显示全部楼层
王海靖 发表于 2021-12-15 14:23
LAN8742 + STM32H743ZIT6 的方案应该是和 H43ZI-NUCLEO 是一样的方案,直接移植完应该是能跑到 99Mbps 的 ...

好的,非常感谢,我去再看看是因为什么原因导致的
回复

使用道具 举报

1

主题

23

回帖

26

积分

新手上路

积分
26
 楼主| 发表于 2021-12-17 21:28:44 | 显示全部楼层
王海靖 发表于 2021-12-15 14:23
LAN8742 + STM32H743ZIT6 的方案应该是和 H43ZI-NUCLEO 是一样的方案,直接移植完应该是能跑到 99Mbps 的 ...

请问一下是不是要使能Freertos以太网的速度才能上去
0Y{DT`KD3P$`%L2`8Z8JMZC.png
回复

使用道具 举报

1

主题

23

回帖

26

积分

新手上路

积分
26
 楼主| 发表于 2021-12-17 21:35:41 | 显示全部楼层
王海靖 发表于 2021-12-15 14:23
LAN8742 + STM32H743ZIT6 的方案应该是和 H43ZI-NUCLEO 是一样的方案,直接移植完应该是能跑到 99Mbps 的 ...
  1. /* Includes ------------------------------------------------------------------*/
  2. #include "main.h"
  3. #include "lwip/pbuf.h"
  4. #include "lwip/udp.h"
  5. #include "lwip/tcp.h"
  6. #include <string.h>
  7. #include <stdio.h>
  8. #include "udp_echoclient.h"

  9. /* Private typedef -----------------------------------------------------------*/
  10. /* Private define ------------------------------------------------------------*/
  11. /* Private macro -------------------------------------------------------------*/
  12. /* Private variables ---------------------------------------------------------*/
  13. /* Private function prototypes -----------------------------------------------*/
  14. void udp_receive_callback(void *arg, struct udp_pcb *upcb, struct pbuf *p, const ip_addr_t *addr, u16_t port);

  15. //uint8_t udp_demo_txbuf[UDP_DEMO_RX_BUFSIZE];
  16. uint8_t udp_demo_rxbuf[UDP_DEMO_RX_BUFSIZE];        //UDP接收数据缓冲区
  17. __IO uint32_t message_count = 0;
  18. struct udp_pcb *udppcb;
  19. uint32_t revCount=0;
  20. /* Private functions ---------------------------------------------------------*/

  21. /**
  22.   * @brief  Connect to UDP echo server
  23.   * @param  None
  24.   * @retval None
  25.   */
  26. void udp_echoclient_connect(void)
  27. {
  28.   ip_addr_t DestIPaddr;
  29.   err_t err;
  30.   ip_addr_t thisIp;
  31.   
  32.   /* Create a new UDP control block  */
  33.   udppcb = udp_new();
  34.   
  35.   if (udppcb!=NULL)
  36.   {
  37.     /*assign destination IP address */
  38.     IP4_ADDR(&DestIPaddr, 192,168,1,106); //目的地址
复制代码
这是我使用的udp客务端的代码
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-19 11:03 , Processed in 0.267977 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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