当前位置:首页 > 技术 > 单片机 > 正文内容

ESP32使用SD卡注意事项

Watrt4年前 (2020-09-03)单片机42260

有两种方法可以使用:上拉电阻为47K和上拉电阻为10K。

2.png

                                           上拉电阻为47K。

按照ESP32-CAM开发板的接法。

1.png

                                           上拉电阻为10K。

一、原理图。

ESP32S模块中有引出SDIO的接口,就是SD2、SD3、CMD、CLK、SD0、SD1,如下图所示,第17~22引脚。

1.png

第17~22引脚也就是ESP-IDF中SD卡的Slot0,这里连接了ESP32S模块的内部Flash芯片,所以这里是不能接SD卡的。

所以要接SD卡的Slot1,原理图如上图所示,SDIO_D0等引脚。

SDIO_CD可以接任意的GPIO口。

其中,U0TXD和T0RXD用于烧录固件,而GPIO16、GPIO17为AT指令的串口2,视具体情况引出。

二、efuse。

ESP32的芯片内部是有熔丝,可以通过串口烧断熔丝,以固化某些功能,但是这个操作不可逆,使用前需要详细阅读手册。

ESP32中的MTDI引脚,也就是GPIO12,当ESP32上电时,先读GPIO12的电平,拉低时把VDD_SDIO引脚配置为3.3V,供内部Flash使用;拉高时把VDD_SDIO引脚配置为1.8V。

因为ESP32S的内部Flash是3.3V供电的,所以需要把GPIO12拉低,但是GPIO12又接了SDIO_D2并且上拉10K电阻。这就导致了GPIO12不能使用。

使用ESP32的efuse可以不读GPIO12的电平来固定VDD_SDIO的输出电压。

三、搭建python开发环境。

要使用efuse需要python3解释器和pip工具。如下图所示。



安装好python3解释器后,添加到path系统环境变量,如下图所示。

使用管理员方式打开cmd,如下图所示。

进入刚才下载的tar包目录中,解压后,使用python setup.py install,安装pip,如下图所示。


安装完成后,可以看到pip.exe,如下图所示。


把pip的目录也添加到path系统环境变量中,如下图所示。


用管理员方式打开cmd,使用pip安装esptool,如下图所示。


四、使用python脚本配置ESP32的efuse。

先把ESP32的GPIO0拉低,重新上电。

打开cmd,执行以下命令,其中-b设置波特率为115200,-p设置COM口,这里是COM10,视具体情况而定。python的目录也是视自己电脑而定。第二条命令summary可以获取ESP32的efuse信息,用于观察是否设置正确。

cd C:\Program Files\Python 3.5\Scripts
python espefuse.py-script.py -b 115200 -p COM10 summary
python espefuse.py-script.py -b 115200 -p COM10 set_flash_voltage 3.3V

最终结果如下图所示。

设置电压为3.3V时,需要再输入一遍BURN,回车,才能生效。

重新上电,GPIO12可以正常使用,同时又不影响ESP32读取Flash。

五、烧录固件。

由于SDIO的引脚都接了10K上拉电阻,会导致ESP32无法烧录固件。

需要去掉SDIO_D0,也就是GPIO2的上拉电阻,才能正常烧录固件。

六、IDF版本。

ESP32-IDF(V2.0版本)不支持SDIO接口的SD卡,建议使用V3.2.2版本(使用官方推荐的lubuntu)。


分享给朋友:

相关文章

关于GBK字库编码读取的演示

关于GBK字库编码读取的演示

    GBK编码与gb2312编码不同的是gb2312每一个区有94个汉字是从0xA1-0xFE    GB2312编码对所收录字符进行了“分区”处理,共94个区,每区含有94个位,共8836个码位。这种表示方式也称为区位码。    GB2312编码对所收录字符进行了“分区”处理,共94个区,每区含有94个位,共8836个码位。    这种表示方...

关于锂电池电容的研究(更新)

关于锂电池电容的研究(更新)

首先锂电池一般标称电压是:3.7v锂电充满电,大概会是4.2V或者4.3V.锂电放完电,大概会是3.0V。锂电放电图,是呈抛物线的,4.3V降到3.7V和3.7V降到3.0V,都是变化很快的。惟有3.7V左右的放电时间是最长的,几乎占到了3/4的时间。所以才会标3.7V的。 容量百分比% 电池电压 V 100 4.2 90 4.08 80 4 70 3.93 60...

T12恒温铬铁参考

T12恒温铬铁参考

电路上采用标准的T12 控制:加热部分:PWM 信号控制MOS给烙铁头加热烙铁头热电偶信号放大:一个标准的运算放大电路,放大信号约200倍电源部分:40V以下均可以输入,转成5V,供屏幕和单片机使用 其中C12预留焊盘全部的原理图,请参见: https://lceda.cn/zhqsoft/shmictrl-28-t12实际PCB以及接法图中预留了ESP12s的位置,理论上可以做成物联网烙铁,但是没有什么实际用途,只是预留。核心控制算法有人觉得控制算法很神秘,其实很简单;的意思是每次获...

ESP32S 数据手册

ESP32S 数据手册

1. 概述ESP32-S 是一款通用型WiFi-BT-BLE MCU模组,功能强大,用途广泛,可以用于低功耗传感器网络和要求极高的任务,例如语音编码、音频流和MP3解码等。此款模组的核心是ESP32芯片,具有可扩展、自适应的特点。两个CPU核可以被单独控制或上电。时钟频率的调节范围为80 MHz到240 MHz。用户可以切断CPU的电源,利用低功耗协处理器来不断地监测外设的状态变化或某些模拟量是否超出阈值。ESP32还集成了丰富的外设,包括电容式触摸传感器、霍尔传感器、低噪声传感放大器,SD卡接...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。