【立创·实战派ESP32-S3】文档教程
第 1 章 开发板介绍
1.1 总体介绍
- 开发板主控芯片为 ESP32-S3,采用乐鑫 ESP32-S3-WROOM-1-N16R8 模组,FLASH 容量为 16MB,PSRAM 容量为 8MB。
- 显示方面,集成了摄像头和液晶屏。摄像头型号 GC0308,30 万像素。液晶屏为 2.0 寸 IPS 高清彩色液晶屏,可以用作各种显示应用。电容式触摸屏,可以实现手指控制应用。
- 音频方面,集成了音频芯片 ES7210 和 ES8311,双路麦克风输入,硬件回声消除,1W 扬声器喇叭播放声音。
- 传感器方面,集成了 6D 姿态传感器 QMI8658,可用于检测开发板姿态。
- 外拓接口两个,一个是 I2C 接口,一个是多功能接口。I2C 接口,可以连接外部支持 I2C 通信的传感器器件。多功能接口,引出了 2 个 ESP32 的 GPIO 引脚,这两个引脚,可以当作两个普通 GPIO 口使用,也可以配置为串口、I2C 口,CAN 口、PWM 口等使用。
- 集成 TF 卡接口,使用 1-SD 模式连接。
- 开发板集成 USB-HUB 芯片,连接了 ESP32 的串口和 USB 口,通过 TYPE-C 接口,一条数据线就可以完成供电、下载和观察数据,以及 USB 设备通信应用。
- 开发板集成双电源,MCU 电路和音频电路独立供电。
- 有一个复位按键和一个用户自定义按键。
- ESP32S3 具有一定的 AI 功能,可以实现语音识别和图像识别,结合 ESP32-S3 的 wifi 和蓝牙功能,开发板就可以做很多有趣的应用了。
1.2 电路介绍
开发板使用模组 ESP32-S3-WROOM-1-N16R8,下图是模组的原理图。模组内已经集成了 ESP32-S3 芯片,FLASH 芯片,以及外围电路和天线,所以我们这里画图就比较简单了。
引脚的网络标号名称,采用 GPIO 序号 + 外设功能的方式,这样写的好处就是看名字就可以知道引脚的用途,以及它的 GPIO 序号,这样的命名方式对编程非常的友好。
IO46 引脚,在下载模式,必须是低电平,否则无法下载程序。这里给 IO46 引脚连接了一个下拉电阻,保证在引脚状态不受控制时保持低电平状态。大家在设计电路的时候也需要注意,如果使用 IO46 接其它的芯片,这个芯片和 IO46 连接的引脚,要么是上电默认高阻态,要么是上电保持低电平。
模组使用的是八线 PSRAM 芯片,IO35 36 37 引脚已经被 PSRAM 引脚使用,这里不能使用了,只能空着。
下图是 USB-HUB 电路,CH334F 是 4 口 USB 集线器芯片,有 4 个 USB2.0 下行接口,这里我们只用 2 个下行接口。开发板上 TYPE-C 口连接芯片的上行接口,也就是图中的 USB_D+ 和 USB_D-。下行接口 D4 连接 USB 转串口芯片,下行接口 D3 连接 ESP32 的 USB-OTG 接口。
HUB 芯片不需要安装驱动,可以在 WIN10 和 Linux 系统上自动识别。
下图是 USB 转串口电路,连接到 ESP32 的串口 0,可以实现自动程序下载和串口终端调试功能。USB 转串口芯片使用 CH340K,需要安装驱动使用。
CH340K 驱动下载地址:https://www.wch.cn/downloads/CH341SER_EXE.html
下图是按键电路,一共两个按键,一个是复位按键,一个是用户按键。复位按键,重启单片机。用户按键,可以实现自定义功能。如果没有前面的程序自动下载电路,程序下载的时候,需要先按 BOOT 按键不松开,然后按 RESET 开始下载。因为 BOOT 和 RESET 已经被自动下载电路控制,所以这里的 BOOT 按键其实就是个用户按键了,可以用作自定义输入功能。
下图是液晶屏和触摸屏接口电路。液晶屏使用 SPI 通信方式,触摸屏使用 I2C 通信方式。液晶屏支持程序控制背光打开、关闭和 PWM 亮度调节。
下图是摄像头接口,采用 BTB 连接器,摄像头使用 GC0308。GC0308 采用单电源 2.8V 供电即可。
音频电路分为 ADC 输入(MIC)和 DAC 输出(喇叭)。
下图是音频 ADC 电路,音频芯片型号 ES7210,它本身支持 4 路 MIC 输入,这里我们用了 3 路,2 路连接 MIC,1 路连接 DAC 输出,用作回声消除。
下图是音频 DAC 电路,芯片型号是 ES8310。ES8310 本身支持 ADC 和 DAC,这里我们没有用它的 MIC 输入,只用了它的音频输出功能。它的输出去了两个地方,一个是去了 ES7210 的 MIC3 输入,另外一路去了音频功放输出。
下图是音频功放输出电路,芯片型号为 NS4150B。PA_EN 引脚默认拉低,关闭喇叭输出。
下图是双路电源电路,音频电路使用 AU_3V3 供电,其它电路使用 3V3 供电。
下图是姿态传感器电路,开发板配合姿态传感器,可以做很多智能化项目,比如感知开发板被手拿起,以及开发板是立起来还是平躺、以及是否在静放还是运动过程中等等。
下图是 IO 扩展芯片的电路,这个扩展芯片是 I2C 接口,可以扩展 8 路 IO,这里我们只用了 3 个。LCD_CS 控制液晶屏,PA_EN 控制音频功放开关,DVP_PWDN 控制摄像头开关。所以,只要你的应用需要使用液晶屏,或者音频输出、或者摄像头,就必须先要把 IO 扩展驱动起来。
下图是 TF 卡接口电路,TF 采用 1-SD 模式与 ESP32 通信,只需要用到 CMD、CLK 和 DAT0 引脚。虽然其它的数据引脚没有用到通信,但是还需要给它们放上 ESD 芯片,防止插拔 TF 卡时损坏 TF 卡。另外,DAT3 引脚要接上拉电阻,因为 DAT3 高电平时,TF 卡工作在 SD 模式,DAT3 低电平时,TF 卡工作在 SPI 模式,这里我们需要它工作在 SD 模式。
下图是外部扩展接口电路。开发板上有两个扩展接口,一个是 I2C 接口,一个是多功能自定义接口。它们采用 5P 的 GH 端子,可以输出 3.3V 和 5V,给外部的传感器供电。
I2C 接口,与上面的姿态传感器、电容触摸屏、音频芯片共用一个 I2C 接口,所以这里只能用作 I2C,不要复用其它功能使用。
另外一个多用接口,引出了 GPIO10 和 11,可以用作普通 GPIO 使用,或者复用为串口、I2C 口、CAN 口、PWM 口等使用。