esp32开发与应用(如何解决SoC冷启动的问题)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

实际生产中,或者是交付前,对板子做冷启动测试还是非常有必要的。所谓的冷启动测试,其实就是对系统做一个反复上电的测试,它和热启动是对应的。热启动,则是反复对reset信号进行置位,这一点和压力测试不同。

1、冷启动就是反复上下电

反复上电可以帮忙暴露很多的问题,比如硬件的问题,比如软件启动的问题,还比如数据保存的问题。因为冷启动是突然断电、重新上电的过程,在这过程中,数据有没有好好保存,系统启动会不会出现异常,都容易在这个阶段出现。

2、利用继电器来处理

既然是反复上电,那么比较合适的方法,就是用继电器来处理。继电器的一侧是控制电压,这部分可以通过esp32,或者是其他mcu来解决。而继电器的另外一侧,通常就是开关通断。吸合的时候,通电,反之就是断电。

选择继电器的时候,看下是5v、12v还是24v。说到5v,其实3.3v也可以触发。

3、常开和常闭

两者其实是一回事。就是说,用户自己希望启动的时候,是normal open的状态,还是normal close的状态。实际生产中,一般是normal open为主,也就是no状态。

4、继电器接在适配器的正极

所谓的继电器控制,其实就是把继电器放在电源适配器的正极一侧。如果是no,那么默认是不通电的,反之就是上电操作。当然,这个继电器是dc接口,还是type c接口,这个就不重要了。实验的时候,我们一般不自己做适配器,外采第三方的电源适配器,割开来,接上继电器就可以了。这样原来的板子不需要做任何修改就可以测试。

5、测试mcu的选择

原则上,尽量选择简单的mcu,比如stm32之类。如果对成本不是那么care,可以直接选择esp32也行,这部分问题不大。选择完之后,就可以用ai直接编写代码,这部分和之前一篇文章内容类似,

复制代码
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"

// Modify the GPIO pin according to your hardware connection
#define BLINK_GPIO GPIO_NUM_27

void app_main(void)
{
    // Configure the GPIO as output mode
    gpio_reset_pin(BLINK_GPIO);
    gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT);

    // Initial level
    uint32_t level = 0;

    while (1) {
        gpio_set_level(BLINK_GPIO, level);
        vTaskDelay(3000 / portTICK_PERIOD_MS);   // Delay 3000ms
        level = !level;                          // Toggle level

        gpio_set_level(BLINK_GPIO, level);
        vTaskDelay(30000 / portTICK_PERIOD_MS);   // Delay 30000ms
        level = !level;
    }
}

6、后续上位机的改进

如果只是简单的电源开关,用esp32是可以的,问题不大。但是测试要想做的好,还有一部分,就是上位机的check要做好。比如说,esp32控制继电器之后,是不是soc真的起来了,linux真的跑起来了,里面的app也正常运行了。既然正常运行的话,上位机是不是可以读到soc的图像,发出来的图像是不是对的,这些检测最好有一个上位机跟踪检测一下,这就最好了。

相关推荐
HQB202632 分钟前
屹晶微电子 EG1195|10‑120V/10A+ 外置 MOS 异步降压控制器|ESOP‑8|电动车转换器 / 快充 / 工业电源
嵌入式硬件·硬件工程
不悔哥2 小时前
开源LineageOS:旧手机刷上开源系统
嵌入式硬件·智能手机·开源
服务器硬件项目经理2 小时前
《超节点修仙录》· 第一卷·炼气期【第04话】 超节点 vs 普通服务器——不就是多插了几张卡吗?
运维·服务器·人工智能·嵌入式硬件·深度学习·机器学习
一次调频AGCAVC3 小时前
一次调频系统控制柜的组成及一次调频装置主机功能详述
人工智能·嵌入式硬件
金色光环3 小时前
【DSP学习】C2000_PWM中断程序_笔记
笔记·单片机·学习
智购科技智能售货柜3 小时前
顾客已经关门,视觉售货柜还在处理旧画面:延迟积压怎么查?~YH
python·单片机·嵌入式硬件·物联网·eclipse
糖糖单片机设计3 小时前
基于 STM32 的智能电蚊香控制系统
stm32·单片机·嵌入式硬件
zhangrelay5 小时前
Arduino-MEGA-ESP单片机理论课笔记-01入门-02硬件-03开发环境-2026
笔记·单片机·嵌入式硬件·学习·机器人
AlanAshley5 小时前
手机与电脑的屏幕计时器熄屏区别及协议栈
单片机·智能手机·电脑
AlanAshley5 小时前
电脑烧屏的软件与硬件原因全解析
单片机·嵌入式硬件·电脑