Page 1 of 1

esp32s3的启动时间远大于esp32,可能是硬件设计问题吗?

Posted: Sun Apr 28, 2024 2:36 am
by gdnree
我自己画了一块esp32s3的开发板,使用esp32s3-wroom-1 n8r2的模组,最近测试时发现,这个开发板在几乎没有添加额外程序时启动需要70ms,而esp32在使用相同程序测试时甚至只需要3ms。
我看技术手册上似乎没有对芯片最短启动时间或者影响因素等的描述,想请问官方或者哪位大佬是否做过各款芯片启动时间的测试?
我想知道到底是esp32s3这款芯片的启动时间本身就远高于esp32,还是我的硬件设计可能有问题导致了启动时间暴增。
或者是否因为芯片内部的计时器有不同的逻辑,导致程序中获取到的时间有较大差异?

我测试时用的硬件:
esp32:淘宝买的非官方esp32_devkitc_v4开发板,装有esp32-wrover模组;
esp32s3:自己设计的开发板,使用非官方esp32s3-wroom-1 n8r2模组,具体pcb设计发布在嘉立创开源平台:https://oshwhub.com/gdnre/esp32s3-wroom-kai-fa-ban
补充测试:esp32c3:使用合宙的esp32c3经典款开发板(带usb转串口芯片版本);

测试时使用的软件:使用esp-idf的官方startup_time案例,添加esp_timer.h用来记录时间
以下是使用的代码:

Code: Select all

#include <stdio.h>
#include "esp_log.h"
#include "esp_timer.h"

static const char *TAG = "example";

void app_main(void)
{
    uint64_t starttime = esp_timer_get_time();
    esp_log_level_set("*", ESP_LOG_INFO);
    ESP_LOGI(TAG, "App started!");
    ESP_LOGI(TAG, "启动时间:%llu",starttime);
}
下面是esp32的控制台输出:启动时间3.5ms

Code: Select all

ho 8 tail 4 room 4
load:0x40080404,len:3816
entry 0x400805e4
W (38) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (40) example: App started!
I (40) example: 启动时间:3561
I (40) main_task: Returned from app_main()
下面是esp32s3的控制台输出:启动时间75.7ms

Code: Select all

ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x15 (USB_UART_CHIP_RESET),boot:0xb (SPI_FAST_FLASH_BOOT)
Saved PC:0x403782ba
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3820,len:0x13d4
load:0x403c9700,len:0x4
load:0x403c9704,len:0xc1c
load:0x403cc700,len:0x2e84
entry 0x403c98b4
W (72) spi_flash: Detected size(8192k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (75) example: App started!
I (75) example: 启动时间:75764
I (85) main_task: Returned from app_main()
合宙的esp32c3使用esp-idf刷入固件后报错,我第一次用esp-idf还没研究清楚如何配置,因此给出用arduino测试的结果,arduino中使用了millis()在setup函数的起始获取时间,3款芯片结果分别如下:
esp32c3:84
esp32:14
esp32s3:114

Re: esp32s3的启动时间远大于esp32,可能是硬件设计问题吗?

Posted: Sun Apr 28, 2024 2:42 pm
by liaifat85
检查你的硬件设计,确保与ESP32相比没有明显的设计缺陷,比如电源管理、时钟电路等方面。

Re: esp32s3的启动时间远大于esp32,可能是硬件设计问题吗?

Posted: Tue Apr 30, 2024 9:07 am
by gdnree
liaifat85 wrote:
Sun Apr 28, 2024 2:42 pm
检查你的硬件设计,确保与ESP32相比没有明显的设计缺陷,比如电源管理、时钟电路等方面。
我买了一块成品开发板测试,启动时间38ms(我又根据文档设置了下,自己的开发板现在需要68ms),确实有所改善,不过和esp32比还是有较大差距,或许esp32s3本身启动时间就相对久, ESP-Techpedia文档中也写到esp32s3的启动时间优化后要26ms,不过那个文档中没有esp32的数据还是比较遗憾的。
至于我的硬件设计和买的开发板相比,时钟电路是模组里的应该不影响,电源管理方面相对买的开发板,我加了较多的电容,使用了dcdc电源芯片,还加了电池充电供电电路,因为已经在用了不方便拆,下次再焊板子的时候测试下电容的影响,此外的问题我不是专业人士,也没法分析了。
(其实倒也不是真的非要找到原因,就是好奇和esp32差距怎么那么大)。