原理图设计

[English]

ESP32-C3 系列芯片的核心电路只需要 20 个左右的电阻电容电感和 1 个无源晶振,以及 1 个 SPI flash。为了能够更好地保证 ESP32-C3 系列芯片的工作性能,本章将详细介绍 ESP32-C3 系列芯片的原理图设计。

下图所示为 ESP32-C3 的核心电路参考设计,您可以将它作为您的原理图设计的基础。

ESP32-C3 系列芯片参考设计原理图

ESP32-C3 系列芯片参考设计原理图

ESP32-C3 系列芯片的核心电路图的设计有以下重要组成部分:

下文将分别对这些部分进行描述。

电源

电源电路设计的通用要点有:

  • 使用单电源供电时,建议供给 ESP32-C3 的电源电压为 3.3 V,最大输出电流至少 500 mA。

  • 建议在总电源入口处添加 ESD 保护器件。

有关电源管脚的更多信息,请查看 ESP32-C3 系列芯片技术规格书 > 章节 电源

数字电源

ESP32-C3 的 管脚 17 VDD3P3_CPU 为数字电源管脚,工作电压范围为 3.0 V ~ 3.6 V。建议在电路中靠近数字电源管脚处添加 0.1 μF 电容。

管脚 VDD_SPI 作为输出电源时,由 VDD3P3_CPU 通过 RSPI 电阻后供电,电压典型值为 3.3 V。因此,VDD_SPI 相对 VDD3P3_CPU 会有一定电压降。建议在靠近 VDD_SPI 管脚处添加 一个 1 μF 电容。

VDD_SPI 也可以连接到外部电源,由外部电源输入供电。

当 VDD_SPI 无需为外部供电时,亦可作为 GPIO 使用。

注意

当使用 VDD_SPI 给封装内或封装外的 3.3 V flash 供电时,需要满足 flash 的工作电压要求,一般应保证电压在 3.0 V 以上。此时,VDD_SPI 不能用作 GPIO。

ESP32-C3 系列芯片数字电源电路图如图 ESP32-C3 系列芯片数字电源电路图 所示。

ESP32-C3 系列芯片数字电源电路图

ESP32-C3 系列芯片数字电源电路图

模拟电源

ESP32-C3 的 VDDA 和 VDD3P3 管脚 为模拟电源管脚,工作电压范围为 3.0 V ~ 3.6 V。

对于 VDD3P3,当 ESP32-C3 工作在 TX 时,瞬间电流会加大,往往引起电源的轨道塌陷。所以在电路设计时建议在 VDD3P3 的电源走线上增加一个 10 μF 电容,该电容可与 0.1 μF 电容搭配使用。

另外,在靠近 VDD3P3 处还需添加 LC 滤波电路,用于抑制高频谐波,同时请注意该电感的额定电流最好在 500 mA 及以上。

其余电源管脚请参考图 ESP32-C3 系列芯片模拟电源电路图 放置相应的去耦电容。

ESP32-C3 系列芯片模拟电源电路图

ESP32-C3 系列芯片模拟电源电路图

RTC 电源

ESP32-C3 的 VDD3P3_RTC 管脚为 RTC 电源管脚,建议在电路中靠近该电源管脚处添加 0.1 μF 去耦电容。

请注意该电源不可以作为备用电源单独供电。

RTC 电源电路图如图 ESP32-C3 系列芯片 RTC 电源电路图 所示。

ESP32-C3 系列芯片 RTC 电源电路图

ESP32-C3 系列芯片 RTC 电源电路图

上电时序与复位

ESP32-C3 的 CHIP_EN 管脚为高电平时使能芯片,为低电平时复位芯片。

当 ESP32-C3 使用 3.3 V 系统电源供电时,电源轨需要一些时间才能稳定,之后才能拉高 CHIP_EN,激活芯片。因此,CHIP_EN 管脚上电要晚于系统电源 3.3 V 上电。

复位芯片时,复位电压 VIL_nRST 范围应为 (–0.3 ~ 0.25 × VDD) V。为防止外界干扰引起重启,CHIP_EN 管脚引线需尽量短一些。

ESP32-C3 系列芯片上电和复位时序图 为 ESP32-C3 系列芯片的上电、复位时序图。

ESP32-C3 系列芯片上电和复位时序图

ESP32-C3 系列芯片上电和复位时序图

上电和复位时序参数说明见表 上电和复位时序参数说明

上电和复位时序参数说明

参数

说明

最小值 (µs)

tSTBL

CHIP_EN 管脚上电晚于电源管脚上电的延时时间

50

tRST

CHIP_EN 电平低于 VIL_nRST 从而复位芯片的时间

50

注意

  • CHIP_EN 管脚不可浮空。

  • 为确保芯片上电和复位时序正常,一般采用的方式是在 CHIP_EN 管脚处增加 RC 延迟电路。RC 通常建议为 R = 10 kΩ,C = 1 μF,但具体数值仍需根据实际的电源特性配合芯片的上电、复位时序进行调整。

  • 如果应用中存在以下场景:

    • 电源缓慢上升或下降,例如电池充电;

    • 需要频繁上下电的操作;

    • 供电电源不稳定,例如光伏发电等。

    此时,仅仅通过 RC 电路不一定能满足时序要求,有概率会导致芯片无法进入正常的工作模式。此时,需要增加一些额外的电路设计,比如:

    • 增加复位芯片或者看门狗芯片,通常阈值为 3.0 V 左右;

    • 通过按键或主控实现复位等。

Flash

ESP32-C3 支持的外部 flash 最大可到 16 MB,使用 VDD_SPI输出电源供电。建议如图 ESP32-C3 系列芯片封装外 Flash 电路图 所示在 SPI 线上预留串联电阻(初始可使用 0 Ω),主要作用为降低驱动电流,减小对射频的干扰,调节时序,提升抗干扰能力等。

对于 ESP32-C3 封装内有 SPI flash 的芯片型号,flash 管脚不能再被外部使用为其他用处。

ESP32-C3 系列芯片封装外 Flash 电路图

ESP32-C3 系列芯片封装外 Flash 电路图

时钟源

ESP32-C3 外部可以有两个时钟源:

外置主晶振时钟源(必选)

目前 ESP32-C3 系列芯片固件仅支持 40 MHz 晶振。

ESP32-C3 的无源晶振部分电路如图 ESP32-C3 系列芯片无源晶振电路图。注意,选用的无源晶振自身精度需在 ±10 ppm。

ESP32-C3 系列芯片无源晶振电路图

ESP32-C3 系列芯片无源晶振电路图

XTAL_P 时钟走线上请放置一个串联元器件,可以是电阻或者电感,初始建议使用 24 nH,用来减弱晶振高频谐波对射频性能的影响,最终值需要通过测试后确认。

外部匹配电容 C1 和 C2 的初始值可参考以下公式来决定:

\[C_L = \frac{C1 \times C2} {C1+C2} + C_{stray}\]

其中 CL (负载电容)的值可查看所选择晶振的规格书,Cstray 的值为 PCB 的寄生电容。C1 和 C2 的最终值需要通过对系统测试后进行调节确定。调试方法如下:

  1. 通过 认证测试工具,选择 TX tone 模式。

  2. 使用综测仪或者频谱仪查看 2.4 GHz 信号,解调得到实际频偏。

  3. 通过调整外置负载电容,把频偏调整到 ±10 ppm(建议)以内。

  • 当中心频率偏正时,说明等效负载电容偏小,需要增加外置负载电容。

  • 当中心频率偏负时,说明等效负载电容偏大,需要减小外置负载电容。

  • 通常两个外置负载电容相等,在特殊情况下,也可以有略微差异。

备注

  • 尽管 ESP32-C3 内部带有自校准功能,但是自身频偏过大(例如大于 ±10 ppm)、工作温度范围内稳定度不高等晶振本身的质量问题仍然会影响芯片的正常工作,导致射频指标性能下降。

  • 建议晶振的幅值大于 500 mV。

  • 如果出现功能性的 Wi-Fi 或蓝牙无法连接,排除软件原因后,可以采用上文中的方法,通过调节晶振的电容来保证频偏满足要求。

RTC 时钟源(可选)

ESP32-C3 支持外置 32.768 kHz 的无源晶振作为 RTC 时钟。使用外部 RTC 时钟源是为了使时间更准确,从而降低平均功耗,但对于功能没有任何影响。

外置 32.768 kHz 无源晶振的电路如图 ESP32-C3 系列芯片外置 32.768 kHz 无源晶振电路图 所示。

ESP32-C3 系列芯片外置 32.768 kHz 无源晶振电路图

ESP32-C3 系列芯片外置 32.768 kHz 无源晶振电路图

请注意 32.768 kHz 晶振选择要求:

  • 等效内阻 (ESR) ≤ 70 kΩ。

  • 两端负载电容值根据晶振的规格要求进行配置。

并联电阻 R 用于偏置晶振电路,电阻值要求 5 MΩ < R ≤ 10 MΩ。该电阻一般无需上件。

如果不需要该 RTC 时钟源,则 32.768 kHz 晶振的管脚也可配置为通用 GPIO 口使用。

射频

射频电路

ESP32-C3 系列芯片的射频电路主要由三部分组成:PCB 板射频走线、芯片匹配电路、天线及其匹配电路。各部分电路应满足以下设计规范:

  • PCB 板射频走线:需进行 50 Ω 阻抗控制。

  • 芯片匹配电路:请尽量靠近芯片放置,优先采用 CLC 结构。

  • 天线及其匹配电路:为保证辐射性能,建议天线的输入阻抗为 50 Ω 左右。为保险起见,推荐在靠近天线位置增加一组 π 型匹配电路,用于调节天线的输入阻抗。如果经过仿真可以确保天线阻抗点为 50 Ω 左右,并且空间较小,则可以不加天线端的匹配电路。

ESP32-C3 系列芯片射频匹配电路图

ESP32-C3 系列芯片射频匹配电路图

射频调试

射频匹配网络的参数值和 PCB 板有关,不要直接使用模组的匹配值,须按照下述射频调试进行确认。

ESP32-C3 射频调试示意图 展示了射频调试的大概过程。

ESP32-C3 射频调试示意图

ESP32-C3 射频调试示意图

将芯片匹配电路靠近芯片的端口定义为端口 1,将其靠近天线的端口定义为端口 2,则 S11 用来描述从端口 1 反射回来的信号功率与输入信号功率之比,如果匹配阻抗与芯片阻抗共轭,则传输性能最佳。S21 用来描述从端口 1 到端口 2 的信号功率传输损耗。如果 S11 接近芯片共轭阻抗点 (35+j0),且 S21 在 4.8 GHz 和 7.2 GHz 频率下小于 -35 dB,则匹配电路可满足传输要求。

将芯片匹配电路的两端分别接到综测仪上,测试其信号反射参数 S11 及传输参数 S21。调试该匹配电路中元件的数值,直至 S11 和 S21 满足上述要求。如果芯片的 PCB 板严格设计遵循章节 PCB 版图布局 里的规范,用户可以参考表 匹配电路元器件推荐数值范围 来调试该匹配电路。

如果射频贴片器件采用 0201 物料,靠近芯片端匹配电路的 PCB 设计需要采用短截线。如果天线输入阻抗不是 50 欧姆,建议额外增加一组射频匹配用于天线调谐。

如果使用或生产环境中对静电敏感,建议在靠近天线侧预留 ESD 保护器件。

备注

如果不需要使用射频功能,射频管脚可以悬空。

UART

U0TXD 线上建议串联 499 Ω 电阻用于抑制 80 MHz 谐波。

UART0 通常作为下载和 log 打印的串口。关于如何使用 UART0 进行下载,请参考章节 下载指导

其他 UART 可以作为通信的串口,管脚可以通过软件配置到任意空闲的 GPIO 上。同样在 TX 线上建议预留串联电阻用于抑制谐波。

请注意使用 AT 固件时,固件里配置了 UART 的 GPIO,可以参考 硬件连接,建议使用默认配置。

SPI

在使用 SPI 功能时,为了提高 EMC 性能,请在 SPI_CLK 线上添加串联电阻(或磁珠)以及对地电容。如果空间允许,建议在其他 SPI 线上也添加串联电阻和对地电容。另外,请确保 RC/LC 器件靠近芯片或模组的管脚放置。

Strapping 管脚

芯片每次上电或复位时,都需要一些初始配置参数,如加载芯片的启动模式等。这些参数通过 strapping 管脚控制。复位放开后,strapping 管脚和普通 IO 管脚功能相同。

所有的 strapping 管脚信息,可参考 ESP32-C3 系列芯片技术规格书 > 章节 Strapping 管脚。下面主要介绍和启动模式有关的 strapping 管脚信息。

芯片复位释放后,GPIO2、GPIO8 和 GPIO9 共同决定启动模式,详见表 芯片启动模式控制

芯片启动模式控制

启动模式

GPIO2 1

GPIO8

GPIO9

默认配置

–(浮空)

–(浮空)

1(上拉)

SPI Boot (default)

1

任意值

1

Joint Download Boot 2

1

1

0

1

GPIO2 实际不控制 SPI Boot 和 Joint Download Boot 模式,但由于管脚毛刺强烈建议将此管脚上拉。

2

Joint Download Boot 模式下支持以下下载方式:

  • USB-Serial-JTAG Download Boot

  • UART Download Boot

Strapping 管脚的时序参数包括 建立时间保持时间。更多信息,详见图 Strapping 管脚的时序参数图 和表 Strapping 管脚的时序参数说明

Strapping 管脚的时序参数图

Strapping 管脚的时序参数图

Strapping 管脚的时序参数说明

参数

说明

最小值 (ms)

tSU

建立时间,即拉高 CHIP_EN 激活芯片前,电源轨达到稳定所需的时间

0

tH

保持时间,即 CHIP_EN 已拉高、strapping 管脚变为普通 IO 管脚开始工作前,可读取 strapping 管脚值的时间

3

注意

不要在 GPIO9 管脚处添加较大的电容,以免影响芯片上电启动。

GPIO

ESP32-C3 系列芯片通过 IO MUX 表格或者 GPIO 交换矩阵功能来配置 GPIO。IO MUX 表格中是默认的外设管脚配置,GPIO 交换矩阵用于将可以配置的外设信号传输至 GPIO 管脚。更多关于 IO MUX 和 GPIO 交换矩阵的信息,请参考 ESP32-C3 技术参考手册 > 章节 IO MUX 和 GPIO 交换矩阵

部分外设的 GPIO 管脚是固定的,部分是可以任意配置的,具体信息请参考 ESP32-C3 系列芯片技术规格书 > 章节 外设管脚分配

使用 GPIO 时,请注意:

  • Strapping 管脚的上电状态。

  • 请注意 GPIO 复位后的默认配置,详见表 IO MUX 管脚功能。建议对处于高阻态的管脚配置上拉或下拉,或在软件初始化时开启管脚自带的上下拉,以避免不必要的耗电。

  • 避免使用 flash 占用的管脚。

  • 上电过程中,部分管脚会有毛刺,详见表 芯片上电过程中的管脚毛刺

IO MUX 管脚功能

管脚名称

管脚序号

功能 0

功能 1

功能 2

复位

说明

XTAL_32K_P

4

GPIO0

GPIO0

0

R

XTAL_32K_N

5

GPIO1

GPIO1

0

R

GPIO2

6

GPIO2

GPIO2

FSPIQ

1

R

GPIO3

8

GPIO3

GPIO3

1

R

MTMS

9

MTMS

GPIO4

FSPIHD

1

R

MTDI

10

MTDI

GPIO5

FSPIWP

1

R

MTCK

12

MTCK

GPIO6

FSPICLK

1*

G

MTDO

13

MTDO

GPIO7

FSPID

1

G

GPIO8

14

GPIO8

GPIO8

1

GPIO9

15

GPIO9

GPIO9

3

GPIO10

16

GPIO10

GPIO10

FSPICS0

1

G

VDD_SPI

18

GPIO11

GPIO11

0

SPIHD

19

SPIHD

GPIO12

3

SPIWP

20

SPIWP

GPIO13

3

SPICS0

21

SPICS0

GPIO14

3

SPICLK

22

SPICLK

GPIO15

3

SPID

23

SPID

GPIO16

3

SPIQ

24

SPIQ

GPIO17

3

GPIO18

25

GPIO18

GPIO18

0

USB, G

GPIO19

26

GPIO19

GPIO19

0*

USB

U0RXD

27

U0RXD

GPIO20

3

G

U0TXD

28

U0TXD

GPIO21

4

复位

各管脚复位后的默认配置:

  • 0 – 输入关闭,高阻(IE = 0)

  • 1 – 输入使能,高阻(IE = 1)

  • 2 – 输入使能,下拉电阻使能(IE = 1,WPD = 1)

  • 3 – 输入使能,上拉电阻使能(IE = 1,WPU = 1)

  • 4 – 输出使能,上拉电阻使能(OE = 1, WPU = 1)

  • 0* – 输入关闭,上拉电阻使能(IE = 0,WPU = 0,USB_WPU = 1),具体见说明

  • 1* – eFuse 的 EFUSE_DIS_PAD_JTAG 位为

    • 0 时(初始默认值),管脚复位后输入使能,上拉电阻使能(IE = 1, WPU = 1)

    • 1 时,管脚复位后输入使能,高阻(IE = 1)

说明

  • R – 管脚具有模拟功能。

  • USB – GPIO18、GPIO19 为 USB 管脚。

    • USB 管脚(GPIO18 和 GPIO19)默认开启 USB 功能,此时管脚是否上拉由 USB 上拉电阻决定。USB 上拉电阻由 USB_SERIAL_JTAG_DP/DM_PULLUP 控制,具体阻值可通过 USB_SERIAL_JTAG_PULLUP_VALUE 位控制,详见 ESP32-C3 技术参考手册 > 章节 USB 串口/JTAG 控制器

    • USB 管脚关闭 USB 功能时,用作普通 GPIO,默认禁用管脚内部弱上下拉电阻,可通过 IO_MUX_FUN_WPU/WPD 配置。

  • G – 管脚在芯片上电过程中有毛刺,具体见表 芯片上电过程中的管脚毛刺

芯片上电过程中的管脚毛刺

管脚名称

毛刺类型 3

典型持续时间 (ns)

MTCK

低电平毛刺

5

MTDO

低电平毛刺

5

GPIO10

低电平毛刺

5

U0RXD

低电平毛刺

5

GPIO18

高电平毛刺

50,000

3
  • 低电平毛刺:管脚在持续期间维持低电平输出状态

  • 高电平毛刺:管脚在持续期间维持高电平输出状态

ADC

使用 ADC 功能时,请靠近管脚添加 0.1 μF 的对地滤波电容,精度会更准确一些。

请注意 ADC2 未在工厂校准,优先推荐使用 ADC1。部分芯片版本的 ADC2 无法工作,详见 ESP32-C3 系列芯片勘误表 (PDF)

ADC 经硬件校准和 软件校准 后的结果如以下列表所示。如需更高的精度,可选用其他方法自行校准。

  • 当 ATTEN=0,有效测量范围为 0 ~ 750 mV 时,总误差为 ±10 mV。

  • 当 ATTEN=1,有效测量范围为 0 ~ 1050 mV 时,总误差为 ±10 mV。

  • 当 ATTEN=2,有效测量范围为 0 ~ 1300 mV 时,总误差为 ±10 mV。

  • 当 ATTEN=3,有效测量范围为 0 ~ 2500 mV 时,总误差为 ±35 mV。

USB

ESP32-C3 系列芯片集成了一个 USB 串口/JTAG 控制器,作为兼容 USB 2.0 全速模式的设备。

GPIO18 和 GPIO19 可以分别作为 USB 的 D- 和 D+,线上建议预留串联电阻(初始值可为 0 Ω)和对地电容(初始可不上件),并注意靠近芯片端放置。

请注意 USB_D+ 管脚会输出一些电平,因此请添加上拉来确定初始的高电平。

ESP32-C3 系列芯片也支持通过 USB 进行下载和 log 打印,下载指导请参考章节 下载指导