乐鑫技术交流
直播中

fejlkel

8年用户 1052经验值
擅长:制造/封装
私信 关注
[问答]

为什么ESP8266无固件时会在GPIO0输出26M时钟?

使用esptool.py的erase_flash命令将FLASH固件全部擦除,上电,这时候在GPIO0上会输出26M时钟信号,如图                                                                                                                                                
因为GPIO0默认状态下是通过电阻上拉到3.3V的,这个时钟信号会严重干扰3.3V电源,普通的LDO对这么高频的信号是完全没有调整能力的。
作为对比,按下复位按键以后,GPIO0和3.3V电源都是十分干净的。                                                                                                                                                                                                                       
像1117这种LDO对于负载的调整能力已经很强了(代价就是静态电流大),即使这样,对于这种26M的干扰完全没有抑制能力,很多ESP8266的文档提到要用500mA的电源,大概率和这个GPIO0上输出的26M时钟信号有关系,3.3V干扰成那样,无论ESP8266自身还是同样挂在3.3V电源上的其它芯片都会受到严重影响。
这个设计的目的是什么呢?
                                                   

回帖(1)

王辉

2024-7-1 16:25:45
ESP8266是一款广泛使用的低成本Wi-Fi模块,它具有GPIO(通用输入/输出)引脚,可以用于各种用途。在这个问题中,我们讨论了为什么在没有固件的情况下,ESP8266会在GPIO0上输出26MHz时钟信号。

首先,我们需要了解ESP8266的基本工作原理。ESP8266是一款基于Tensilica L106微处理器的SoC(系统级芯片),它具有一个内置的时钟电路。这个时钟电路负责为整个芯片提供稳定的时钟信号,以确保其正常运行。在ESP8266中,这个时钟信号的频率通常为80MHz或160MHz。

当ESP8266没有固件时,它将处于一个未初始化的状态。这意味着芯片上的许多功能和模块可能无法正常工作,因为它们需要固件来配置和控制。然而,时钟电路是一个基本的硬件组件,它不依赖于固件来运行。因此,即使在没有固件的情况下,时钟电路仍然会生成时钟信号。

在某些情况下,ESP8266的GPIO0引脚可能会输出26MHz的时钟信号。这可能是由以下几个原因导致的:

1. 硬件设计:ESP8266的硬件设计可能允许GPIO0引脚输出时钟信号。这可能是为了便于调试或与其他设备进行同步。

2. 时钟分频:ESP8266的时钟电路可能具有分频功能,可以将主时钟信号分频到较低的频率。在这种情况下,GPIO0引脚可能输出了一个分频后的时钟信号,例如26MHz。

3. 错误或异常:在某些情况下,ESP8266可能由于硬件故障或软件错误而输出异常的时钟信号。这可能是一个偶然的现象,也可能是一个已知的问题。

使用esptool.py的erase_flash命令将FLASH固件全部擦除后,ESP8266将失去其固件,导致其无法正常运行。然而,时钟电路仍然会生成时钟信号,这可能是为什么在GPIO0上会输出26MHz时钟信号的原因。


举报

更多回帖

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