欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

ESP32S3系列:FLASH与PSRAM的设置指南

最编程 2024-02-20 12:31:04
...

一、目的

        最近从源地工作室购买了一块ESP32S3开发板(源地的便宜啊),如下图。

        使用过ESP32模组的同学肯定见过下面的menuconfig菜单配置窗口用于配置Flash的相关参数

     

        上图是ESP32模组中Flash的配置选项(SPI模式、时钟频率、Flash大小)。

        其中关于SPI mode的描述,请参考《理解ESP32 Flash烧写的DOUT/DIO/QOUT/QIO配置

        关于如何准确获取自己手上的ESP32模组的flash大小,请参考《查看ESP32模组中Flash颗粒以及芯片信息

        那么如果我们使用的ESP32S3模组关于Flash的配置是怎样的呢? 

        上图就是ESP32S3模组关于Flash的配置选项,其中多了一个Enable Octal Flash配置项(八线SPI)。

         

        上图是关于PSRAM的配置,相比ESP32模组的PSRAM硬件配置多了一些额外的选项。

        我手头的ESP32S3开发板使用的是N8R8(8M Flash 8M PSRAM)

ESP Product Selectorhttps://products.espressif.com/#/product-selector?language=zh&names=ESP32-S3-WROOM-1-N8R8 

        本篇的目的就是指导大家如何配置Flashe和PSRAM。 

二、准备

        ESP-IDF V5.0(Master)

        参考资料        SPI Flash and External SPI RAM Configuration - ESP32-S3 - — ESP-IDF Programming Guide latest documentationhttps://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-guides/flash_psram_config.html

三、实战

        1、首先我们先确认一下自己的模组的Flash大小

esptool.py -p 你的串口名称 flash_id

      

        上图中看到Flash的厂商ID是0x20,设备ID是0x4017。

        通过《查看ESP32模组中Flash颗粒以及芯片信息​​​​​​​》这篇博文介绍的方法我们可以知道Flash型号为XM25QH64C。

        https://www.xmcwh.com/uploads/442/XM25QH64C.pdfhttps://www.xmcwh.com/uploads/442/XM25QH64C.pdf

        

        根据芯片手册我们知道这款Flash是四线Flash,支持DIO/DOUT/QIO/QOUT/QPI这几种模式(不清楚的请看上面的链接)。

        从乐鑫官方文档我们也可以知道模组的信息

https://www.espressif.com.cn/sites/default/files/documentation/esp32-s3-wroom-1_wroom-1u_datasheet_cn.pdfhttps://www.espressif.com.cn/sites/default/files/documentation/esp32-s3-wroom-1_wroom-1u_datasheet_cn.pdf

        从上图可以知道ESP32S3N8R8模组是8线PSRAM。

2、ESP-IDF中关于Flash和PSRAM的设置说明

        第一项设置是否是八线SPI Flash,一般情况下都是4线的(可以具体看芯片手册或者通过flash_id的方式来确定)

        第二项配置Flash通信模式(即DIO/DOUT/QIO/QOUT)

        第三项配置Flash的采样模式,STR(Single Data Rate)或者DDR(Double Data Rate)

        第四项配置Flash的读写时钟频率

        第五项配置Flash大小

         以上是关于Flash的配置。

        第一项配置PSRAM是否是八线还是四线

        第二项配置PSRAM的时钟频率

        以上是关于PSRAM的配置。

3、注意点

  • Flash和PSRAM共享同一个内部时钟
  • Quad Flash只支持STR模式,Octal Flash可以支持STR/DTR模式
  • Quad PSRAM只支持STR模式,Octal PSRAM只支持DTR模式

4、针对F4N8的配置(4线Flash 8线PSRAM)

Group

Flash mode

Group

PSRAM mode

A

120 MHz SDR

A

N.A.

B

80 MHz SDR

B

80MHz DDR

C

40 MHz SDR

C

40MHz DDR

C

20 MHz SDR

C

D

D

disable

  1. Flash模式A可以配合PSRAM模式A/D工作;Flash模式B/C可以配合PSRAM模式B/C/D工作。

        建议Flash设置为80MHz SDR,PSRAM设置为80MH DDR加快执行速度。

        好了,以上就是关于Flash和PSRAM的相关配置。