乐鑫技术交流
直播中

王磊

8年用户 1637经验值
私信 关注
[问答]

esp32-c3 TCP/IP通讯接收慢的原因?如何解决?

IDF版本V4.3.1(事实上V4.3.4也一样的),现象:1,使用TCP或UDP通讯时,接收数据很慢,最长延时1s,有时候又很快,感觉刚好卡在某个时间点就快。2,数据量很小,几个字节。3,发送几乎没有延时。4,使用网络ping,平均4ms。有几点需要说明:1,我的代码是在esp32 d0wd v3一直量产使用的,没有这个问题。2,更换使用v4.3.1examplesprotocolssockets        cp_server例程,也是同样问题。3,硬件使用自己设计主板,芯片ESP32-C3,和NodeMCU ESP-C3-13/13U-Kit(板载安信可ESP-C3-13,芯片C3FN4),两个硬件平台上,均表现一致。



以下为tcp server例程启动:



ESP-ROM:esp32c3-api1-20210207

Build:Feb  7 2021

rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT)

SPIWP:0xee

mode:DIO, clock div:1

load:0x3fcd6100,len:0x1778

load:0x403ce000,len:0x8dc

load:0x403d0000,len:0x2984

entry 0x403ce000

[0;32mI (30) boot: ESP-IDF v4.3.1-dirty 2nd stage bootloader[0m

[0;32mI (30) boot: compile time 09:20:54[0m

[0;32mI (30) boot: chip revision: 3[0m

[0;32mI (33) boot.esp32c3: SPI Speed      : 80MHz[0m

[0;32mI (37) boot.esp32c3: SPI Mode       : DIO[0m

[0;32mI (42) boot.esp32c3: SPI Flash Size : 2MB[0m

[0;32mI (47) boot: Enabling RNG early entropy source...[0m

[0;32mI (52) boot: Partition Table:[0m

[0;32mI (56) boot: ## Label            Usage          Type ST Offset   Length[0m

[0;32mI (63) boot:  0 nvs              WiFi data        01 02 00009000 00006000[0m

[0;32mI (70) boot:  1 phy_init         RF data          01 01 0000f000 00001000[0m

[0;32mI (78) boot:  2 factory          factory app      00 00 00010000 00100000[0m

[0;32mI (85) boot: En

d of partition table[0m

[0;32mI (89) esp_image: segment 0: paddr=00010020 vaddr=3c080020 size=140c0h ( 82112) map[0m

[0;32mI (110) esp_image: segment 1: paddr=000240e8 vaddr=3fc8dc00 size=03140h ( 12608) load[0m

[0;32mI (113) esp_image: segment 2: paddr=00027230 vaddr=40380000 size=08de8h ( 36328) load[0m

[0;32mI (123) esp_image: segment 3: paddr=00030020 vaddr=42000020 size=7ac68h (502888) map[0m



[0;32mI (200) esp_image: segment 4: paddr=000aac90 vaddr=40388de8 size=04c18h ( 19480) load[0m

[0;32mI (204) esp_image: segment 5: paddr=000af8b0 vaddr=50000000 size=00010h (    16) load[0m

[0;32mI (210) boot: Loaded app from partition at offset 0x10000[0m

[0;32mI (212) boot: Disabling RNG early entropy source...[0m

[0;32mI (228) cpu_start: Pro cpu up.[0m

[0;32mI (241) cpu_start: Pro cpu start user code[0m

[0;32mI (241) cpu_start: cpu freq: 160000000[0m

[0;32mI (241) cpu_start: Application information:[0m

[0;32mI (244) cpu_start: Project name:     tcp_server[0m

[0;32mI (249) cpu_start: App version:      1[0m

[0;32mI (253) cpu_start: Compile time:     Jan 18 2023 12:22:31[0m

[0;32mI (259) cpu_start: ELF file SHA256:  2b4dfc118119d540...[0m

[0;32mI (265) cpu_start: ESP-IDF:          v4.3.1-dirty[0m

[0;32mI (271) heap_init: Initializing. RAM available for dynamic allocation:[0m

[0;32mI (278) heap_init: At 3FC94DC0 len 0002B240 (172 KiB): DRAM[0m

[0;32mI (284) heap_in

it: At 3FCC0000 len 0001F060 (124 KiB): STACK/DRAM[0m

[0;32mI (291) heap_init: At 50000010 len 00001FF0 (7 KiB): RTCRAM[0m

[0;32mI (298) spi_flash: detected chip: generic[0m

[0;32mI (302) spi_flash: flash io: dio[0m

[0;33mW (306) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header.[0m

[0;32mI (319) sleep: Configure to isolate all GPIO pins in sleep state[0m

[0;32mI (326) sleep: Enable automatic switching of GPIO sleep configuration[0m

[0;32mI (333) cpu_start: Starting scheduler.[0m

[0;32mI (341) pp: pp rom version: 9387209[0m

[0;32mI (341) net80211: net80211 rom version: 9387209[0m

I (351) wifi:wifi driver task: 3fc9e024, prio:23, stack:6656, core=0

[0;32mI (351) system_api: Base MAC address is not set[0m

[0;32mI (361) system_api: read default base MAC address from EFUSE[0m

I (361) wifi:wifi firmware version: 88c8747

I (371) wifi:wifi certification version: v7.0

I (371) wifi:config NVS flash: en

abled

I (371) wifi:config nano formating: disabled

I (381) wifi:Init data frame dynamic rx buffer num: 32

I (381) wifi:Init management frame dynamic rx buffer num: 32

I (391) wifi:Init management short buffer num: 32

I (391) wifi:Init dynamic tx buffer num: 32

I (401) wifi:Init static tx FG buffer num: 2

I (401) wifi:Init static rx buffer size: 1600

I (401) wifi:Init static rx buffer num: 10

I (411) wifi:Init dynamic rx buffer num: 32

[0;32mI (411) wifi_init: rx ba win: 6[0m

[0;32mI (421) wifi_init: tcpip mbox: 32[0m

[0;32mI (421) wifi_init: udp mbox: 6[0m

[0;32mI (421) wifi_init: tcp mbox: 6[0m

[0;32mI (431) wifi_init: tcp tx win: 5744[0m

[0;32mI (431) wifi_init: tcp rx win: 5744[0m

[0;32mI (441) wifi_init: tcp mss: 1440[0m

[0;32mI (441) wifi_init: WiFi IRAM OP enabled[0m

[0;32mI (441) wifi_init: WiFi RX IRAM OP enabled[0m

[0;32mI (451) example_connect: Connecting to qixin...[0m

[0;32mI (451) phy_init: phy_version 500,985899c,Apr 19 2021,16:05:08[0m



I (591) wifi:set rx active PTI: 0, rx ack PTI: 0, and default PTI: 0

I (591) wifi:mode : sta (84:f7:03:3a:6e:fc)

I (591) wifi:enable tsf

[0;32mI (591) example_connect: Waiting for IP(s)[0m



I (2641) wifi:new:<2,1>, old:<1,0>, ap:<255,255>, sta:<2,1>, prof:1



I (3211) wifi:state: init -> auth (b0)

I (3241) wifi:state: auth -> assoc (0)

I (3251) wifi:state: assoc -> run (10)



I (3351) wifi:connected with qixin, aid = 11, channel 2, 40U, bssid = a8:02:db:e0:86:3e

I (3351) wifi:security: WPA2-PSK, phy: bgn, rssi: -30

I (3361) wifi:pm start, type: 1



I (3361) wifi:set rx beacon pti, rx_bcn_pti: 0, bcn_timeout: 0, mt_pti: 25000, mt_time: 10000



I (3441) wifi:BcnInt:102400, DTIM:1



[0;32mI (5341) example_connect: Got IPv6 event: Interface "example_connect: sta" address: fe80:0000:0000:0000:86f7:03ff:fe3a:6efc, type: ESP_IP6_ADDR_IS_LINK_LOCAL[0m



W (5441) wifi:<ba-add>idx:0 (ifx:0, a8:02:db:e0:86:3e), tid:0, ssn:2, winSize:64



[0;32mI (6341) esp_netif_handlers: example_connect: sta ip: 192.168.2.43, mask: 255.255.255.0, gw: 192.168.2.1[0m

[0;32mI (6341) example_connect: Got IPv4 event: Interface "example_connect: sta" address: 192.168.2.43[0m

[0;32mI (6341) example_connect: Connected to example_connect: sta[0m

[0;32mI (6351) example_connect: - IPv4 address: 192.168.2.43[0m

[0;32mI (6361) example_connect: - IPv6 address: fe80:0000:0000:0000:86f7:03ff:fe3a:6efc, type: ESP_IP6_ADDR_IS_LINK_LOCAL[0m

[0;32mI (6371) example: Socket created[0m

[0;32mI (6371) example: Socket bound, port 8000[0m

[0;32mI (6381) example: Socket listening[0m



[0;32mI (16041) example: Socket accepted ip address: 192.168.2.100[0m



[0;32mI (18901) example: Received 9 bytes: 123456789[0m



[0;32mI (20161) example: Received 9 bytes: 123456789[0m



[0;32mI (22391) example: Received 9 bytes: 123456789[0m



[0;32mI (24331) example: Received 9 bytes: 123456789[0m



[0;32mI (26481) example: Received 9 bytes: 123456789[0m



[0;33mW (30991) example: Connection closed[0m

[0;32mI (30991) example: Socket listening[0m



以下为收发数据:

        
               
               
                                
                        
                                                
               
               
               
               
        



以下是ping测试网络延时(在我的硬件主板上,延时更低):

        
               
               
                                
                        
                                                ping.jpg (29.06 KiB) Viewed 175 times

更多回帖

发帖
×
20
完善资料,
赚取积分