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

ESP32使用SD卡注意事项

watrt4年前 (2020-09-03)单片机36740

有两种方法可以使用:上拉电阻为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)。


分享给朋友:

相关文章

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

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

首先锂电池一般标称电压是: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的位置,理论上可以做成物联网烙铁,但是没有什么实际用途,只是预留。核心控制算法有人觉得控制算法很神秘,其实很简单;的意思是每次获...

mcu 8051 ide 使用测试

mcu 8051 ide 使用测试

今天无意中发现在有一个叫mcu 8051 ide 的软件,试了一下。发现在功能强大,能进行很多硬件的防真。包括了,LED、数码管、矩阵、按钮、矩阵键盘、HD44780(与1602兼容),并且还支持中文,支持widnwos\linux\mac多平台,还是免费软件,这么强大的软件必须玩一下。1、首先:下载mcu8051ide: 下载地址:https://sourceforge.net/projects/mcu8051ide/files/ 2、然后下载编译器:sdcc: 下载地址:...

发表评论

访客

看不清,换一张

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