一起玩儿物联网人工智能小车——09. ESP32 WROVER开发板组成、引脚功能初探

在拿到一个芯片、模组、功能模块或者开发板的时候,除了去网上搜索各种文档和教程之外,最重要的文档就是设计制造商所提供的datasheet文档了。datasheet直接翻译成中文就是数据表,通常指用于辅助硬件开发的资料工作表、数据手册、规格书、产品手册等。对于硬件开发者和相关软件开发者来说都是必备的文档资料。通过datasheet我们通常可以了解到该硬件的1.功能描述。2.电气特性。3.管脚的定义。4.封装图、尺寸图。5.原理图。6.典型应用等相关的技术资料。为我们了解和使用这个芯片提供了一定的帮助。

基于ESP32系列芯片最常见的开发板就是ESP32-DevKitC V4开发板了,这是一个通用型基础开发板,特别适合初学者学习使用。开发板将板上模组的绝大部分管脚均已引出,排列放在开发板的两侧,开发人员可根据实际需求,轻松通过杜邦线连接多种外围器件,或将开发板插在面包板上使用。如下图所示:

为了更好的满足不同用户的需求,ESP32-DevKitC V4开发板可以搭载多种ESP32模组。可以搭载以下这些模组:

ESP32-WROOM-32E

ESP32-WROOM-32UE

ESP32-WROOM-32D

ESP32-WROOM-32U

ESP32-SOLO-1

ESP32-WROVER-E

ESP32-WROVER-IE

ESP32-WROOM-DA

ESP32-DevKitC V4开发板的主要组件、接口及控制方式如下所示:

这些主要模块、组件的功能说明如下:

主要组件

功能说明

ESP32-WROVER

ESP32模组,它包含了一颗ESP32芯片、射频天线以及一些必要的辅助芯片。相信信息请参考相关文档。

USB转UART芯片

单芯片USB-UART桥接器,可提供高达 3 Mbps 的传输速率。现在常用的转换芯片有CP2102、CH9102等几种,这个芯片的种类决定了我们在用电脑连接这个开发板的时候需要安装哪个驱动程序。

BOOT按钮

固件下载按键。

USB接口

供电和调试、下载接口,可以直接与电脑的USB口相连接。这个接口有Type-C和Micro-USB两种。

EN按键

模组复位按键。用于模组的重启。

5V电源指示LED

开发板使用USB或者5V引脚供电后,此LED会亮起来。需要注意的是,使用3.3V供电的时候,此LED不会亮。

引脚

引出了ESP32模组的绝大部分管脚。供开发者连接外部设备的时候使用。引脚共有2排,38针。后面会做详细的介绍。

ESP32-DevKitC V4开发板的供电可以通过USB口、5V/GND引脚供电或者3V3/GND引脚供电,但这三种方式只能选择其一。否则会损坏开发板或者电源。

具体的引脚说明可以参照下图。这个图只要基本看懂,能理解就行了。可以作为一个必备的资料。

初学者一看到花花绿绿的这么多引脚,可能一下就蒙了,不知道从哪里下手。其实不必着急,下面先简单的介绍一下。后边随着开发的进行,在逐步的了解各种引脚的详细功能,可以遇到一种,学习一种,逐步掌握ESP32芯片全部引脚的功能和使用的方法。

1. 电源引脚。图中红色的3V3引脚和5V0引脚分别是外部供电的3.3V和5.0V的正极连接引脚。供电电源则连接到黑色的GND引脚(有三个,是相通的,连接哪个都可以)。

对于供电问题再强调一下的是3.3V和5.0V的供电使用一个就可以了,不要两种供电同时使用。另外就是在开发阶段,我们通常直接使用USB口供电,只要将开发板用USB线连接到电脑就行了。不需要额外的电源进行供电。

2. 剩下的引脚就都是GPIO(英文:General-purpose input/output)接口了,也就是通用型输入输出接口。这种接口的最基本功能就是可以输出高低电平或者读入外部电平的高低。这个端口是工作在输入还是输出状态,则需要我们用程序去控制了。至于如何操作,在以后会详细的介绍。

首先需要注意的是,并不是每个端口都既能作为输入也能作为输出。图中浅绿色的端口是可以作为输入或者输出端口来进行使用的。但深绿色的端口,则智能用作输入端口,不能输出高低电平。

其次,并不是所有的端口都能使用。有些端口,由于扩展功能的需要,已经被占用了,我们就不能再使用了。例如,标有红色惊叹号的GPIO6~GPIO11这六个端口是不能使用的。这是因为ESP32-WROVER模组拥有外扩的Flash空间,这六个引脚已经被用作扩展外部SPI flash/SPI RAM了,因此使用这六个引脚会造成SPI flash/SPI RAM不能正常工作(没有外扩Flash的开发板,是可以使用这几个引脚的)。

还有,就是引脚GPIO16和GPIO17在板载ESP32-WROVER模组的系列开发板中,也被留作内部使用了。我们是不能使用的。但板载ESP32-WROOM系列模组和ESP32-SOLO-1模组的开发板则可以使用这两个引脚。

通过以上可以看出,虽然都是基于ESP32芯片的开发板,但是因为选用的模组不同、存储空间不同,在引脚的使用上还是有着细微的差别的。如果不是特别确定的情况下,还是要及时的查阅相关的datasheet文档。

3. ESP32还有5个Strapping引脚,芯片在系统复位(上电复位、 RTC看门狗复位、欠压复位)的初始阶段,会采集这5个Strapping引脚的电平状态,并将其锁存到相应的寄存器中,一直保持到芯片掉电或关闭。

ESP32的Strapping引脚有MTDI、GPIO0、GPIO2、MTDO、GPIO5这五个。在非必要的情况下,不建议使用这几个引脚,可能会影响到芯片的运行状态。

Strapping 管脚一般有以下几种用途:

  1. 功能选择:芯片可能具有多个功能选项,通过将特定的管脚连接到高电平或低电平电源,可以选择不同的功能模式或配置。
  2. 芯片启动:有些芯片需要通过特定的管脚连接到电源或引脚来启动或复位。
  3. 地址选择:在某些芯片或器件中,Strapping 管脚可用于选择设备的唯一地址或识别码。
  4. 时钟配置:一些芯片可能具有多个时钟选项,通过连接特定的管脚可以选择不同的时钟源或频率。

Strapping引脚的设置和功能没有统一的规范,具体怎么设置主要依赖于芯片厂商的需要,在使用这几个引脚之前,一定要查询芯片制造商所提供的相关文档,不能影响芯片的正常工作。

你可能感兴趣的:(ESP32,物联网,人工智能,单片机,嵌入式硬件)