文章目录
- 一、Strapping管脚是什么?
- 二、ESP32-S3芯片的Strapping管脚总体描述
- 三、ESP32-S3芯片的Strapping管脚具体功能描述
- 1、芯片启动模式控制
- 2、VDD_SPI 电压控制
- 3、ROM 日志打印控制
- 4、JTAG 信号源控制
一、Strapping管脚是什么?
芯片每次上电或复位时,都需要一些初始配置参数,如加载芯片的启动模式、flash 存储器的电压等。这些参数通过 strapping 管脚控制。芯片读取Strapping管脚上电时的状态来配置芯片的初始化的参数,复位放开后, strapping 管脚和普通 IO 管脚功能相同。
二、ESP32-S3芯片的Strapping管脚总体描述
芯片复位时, strapping 管脚在复位时控制以下参数:
• 芯片启动模式 – GPIO0 和 GPIO46
• VDD_SPI 电压 – GPIO45
• ROM 代码日志打印 – GPIO46
• JTAG 信号源 – GPIO3
GPIO0、 GPIO45 和 GPIO46 在芯片复位时连接芯片内部的弱上拉/下拉电阻。如果 strapping 管脚没有外部连接或者连接的外部线路处于高阻抗状态,这些电阻将决定 strapping 管脚的默认值。
要改变 strapping 管脚的值,可以连接外部下拉/上拉电阻。如果 ESP32-S3 用作主机 MCU 的从设备, strapping管脚的电平也可通过主机 MCU 控制。所有 strapping 管脚都有锁存器。系统复位时,锁存器采样并存储相应 strapping 管脚的值,一直保持到芯片掉电或关闭。锁存器的状态无法用其他方式更改。因此, strapping 管脚的值在芯片工作时一直可读取,并可在芯片复位后作为普通 IO 管脚使用。
三、ESP32-S3芯片的Strapping管脚具体功能描述
1、芯片启动模式控制
复位释放后, GPIO0 和 GPIO46 共同决定启动模式。
在 SPI Boot 模式下, ROM 引导加载程序通过从 SPI flash 中读取程序来启动系统。
在 Joint Download Boot 模式下,用户可通过 USB 或 UART0 接口将二进制文件下载至 flash,或将二进制文件下载至 SRAM 并运行 SRAM 中的程序。
除了 SPI Boot 和 Joint Download Boot 模式, ESP32-S3 还支持 SPI Download Boot 模式,详见 《ESP32-S3 技术参考手册》> 章节 芯片 Boot 控制
2、VDD_SPI 电压控制
ESP32-S3 系列芯片所需的 VDD_SPI 电压请参考表 1-1 型号对比。
芯片的内置或外置FLASH或者SPRAM需要通过芯片提供供电电压,这个供电电压有两种控制方式,具体取决于 EFUSE_VDD_SPI_FORCE 的值。
3、ROM 日志打印控制
系统启动过程中, ROM 代码日志可打印至:
•(默认) UART 和 USB 串口/JTAG 控制器。
• USB 串口/JTAG 控制器。
• UART。
通过配置寄存器和 eFuse 可分别关闭 UART 和 USB 串口/JTAG 控制器的 ROM 代码日志打印功能。详细信息请
参考 《ESP32-S3 技术参考手册》 > 章节 芯片 Boot 控制。
4、JTAG 信号源控制
在系统启动早期阶段, GPIO3 可用于控制 JTAG 信号源。该管脚没有内部上下拉电阻, strapping 的值必须由不处于高阻抗状态的外部电路控制。
如表 2-13 所示, GPIO3 与 EFUSE_DIS_PAD_JTAG、 EFUSE_DIS_USB_JTAG 和 EFUSE_STRAP_JTAG_SEL 共同控制 JTAG 信号源。