原理图设计
ESP32-C2 系列芯片的核心电路只需要 15 个左右的电阻电容电感和 1 个无源晶振。为了能够更好地保证 ESP32-C2 系列芯片的工作性能,本章将详细介绍 ESP32-C2 系列芯片的原理图设计。
下图所示为 ESP32-C2 的核心电路参考设计,您可以将它作为您的原理图设计的基础。
重要
对于 v1.1 及其之后的芯片版本,ESP32-C2 系列芯片固件支持 26 MHz 和 40 MHz 晶振。但是 v1.0 及之前版本的芯片仅支持 26 MHz 晶振,请避免搭配 40 MHz 晶振。详情请参考 ESP32-C2 (ESP8684) 系列芯片勘误表 (PDF)。关于芯片的具体出货版本,请联系 客户支持团队 确认。
ESP32-C2 系列芯片的核心电路图的设计有以下重要组成部分:
下文将分别对这些部分进行描述。
电源
电源电路设计的通用要点有:
使用单电源供电时,建议供给 ESP32-C2 的电源电压为 3.3 V,最大输出电流至少 500 mA。
建议在总电源入口处添加 ESD 保护器件。
有关电源管脚的更多信息,请查看 ESP32-C2 系列芯片技术规格书 > 章节 电源。
数字电源
ESP32-C2 的 管脚 17 VDD3P3_CPU 为数字电源管脚,工作电压范围为 3.0 V ~ 3.6 V。建议在电路中靠近数字电源管脚处添加 0.1 μF 电容。
ESP32-C2 系列芯片数字电源电路图如图 ESP32-C2 系列芯片数字电源电路图 所示。
模拟电源
ESP32-C2 的 VDDA 和 VDDA3P3 管脚 为模拟电源管脚,工作电压范围为 3.0 V ~ 3.6 V。
对于 VDDA3P3,当 ESP32-C2 工作在 TX 时,瞬间电流会加大,往往引起电源的轨道塌陷。所以在电路设计时建议在 VDDA3P3 的电源走线上增加一个 10 μF 电容,该电容可与 0.1 μF 电容搭配使用。
建议在总电源入口添加另一个 10 μF 电容。如果总电源入口靠近 VDDA3P3,可以合并仅使用一个 10 μF 电容。
另外,在靠近 VDDA3P3 处还需添加 LC 滤波电路,用于抑制高频谐波,同时请注意该电感的额定电流最好在 500 mA 及以上。
其余电源管脚请参考图 ESP32-C2 系列芯片模拟电源电路图 放置相应的去耦电容。
如果使用两层板设计,建议将 VDDA3P3 的 CLC 滤波电路改成 CCL 结构,电感更靠近芯片效果会更好。详情可参考图 ESP32-C2 系列芯片模拟电源电路图(两层板)。
RTC 电源
ESP32-C2 的 VDD3P3_RTC 管脚为 RTC 电源管脚,建议在电路中靠近该电源管脚处添加 0.1 μF 去耦电容。
请注意该电源不可以作为备用电源单独供电。
RTC 电源电路图如图 ESP32-C2 系列芯片 RTC 电源电路图 所示。
上电时序与复位
ESP32-C2 的 CHIP_EN 管脚为高电平时使能芯片,为低电平时复位芯片。
当 ESP32-C2 使用 3.3 V 系统电源供电时,电源轨需要一些时间才能稳定,之后才能拉高 CHIP_EN,激活芯片。因此,CHIP_EN 管脚上电要晚于系统电源 3.3 V 上电。
复位芯片时,复位电压 VIL_nRST 范围应为 (–0.3 ~ 0.25 × VDD) V。为防止外界干扰引起重启,CHIP_EN 管脚引线需尽量短一些。
图 ESP32-C2 系列芯片上电和复位时序图 为 ESP32-C2 系列芯片的上电、复位时序图。
上电和复位时序参数说明见表 上电和复位时序参数说明。
参数 |
说明 |
最小值 (µ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-C2 系列芯片内部合封 1 MB、2 MB 或 4 MB flash,内部的 flash 管脚没有引出到芯片上。
时钟源
ESP32-C2 外部可以有两个时钟源:
外置主晶振时钟源(必选)
重要
对于 v1.1 及其之后的芯片版本,ESP32-C2 系列芯片固件支持 26 MHz 和 40 MHz 晶振。但是 v1.0 及之前版本的芯片仅支持 26 MHz 晶振,请避免搭配 40 MHz 晶振。详情请参考 ESP32-C2 (ESP8684) 系列芯片勘误表 (PDF)。关于芯片的具体出货版本,请联系 客户支持团队 确认。
ESP32-C2 的无源晶振部分电路如图 ESP32-C2 系列芯片无源晶振电路图。注意,选用的无源晶振自身精度需在 ±10 ppm。
XTAL_P 时钟走线上请放置一个串联元器件,可以是电阻或者电感,初始建议使用 24 nH,用来减弱晶振高频谐波对射频性能的影响,最终值需要通过测试后确认。
外部匹配电容 C1 和 C2 的初始值可参考以下公式来决定:
其中 CL (负载电容)的值可查看所选择晶振的规格书,Cstray 的值为 PCB 的寄生电容。C1 和 C2 的最终值需要通过对系统测试后进行调节确定。调试方法如下:
通过 认证测试工具,选择 TX tone 模式。
使用综测仪或者频谱仪查看 2.4 GHz 信号,解调得到实际频偏。
通过调整外置负载电容,把频偏调整到 ±10 ppm(建议)以内。
当中心频率偏正时,说明等效负载电容偏小,需要增加外置负载电容。
当中心频率偏负时,说明等效负载电容偏大,需要减小外置负载电容。
通常两个外置负载电容相等,在特殊情况下,也可以有略微差异。
备注
尽管 ESP32-C2 内部带有自校准功能,但是自身频偏过大(例如大于 ±10 ppm)、工作温度范围内稳定度不高等晶振本身的质量问题仍然会影响芯片的正常工作,导致射频指标性能下降。
建议晶振的幅值大于 500 mV。
如果出现功能性的 Wi-Fi 或蓝牙无法连接,排除软件原因后,可以采用上文中的方法,通过调节晶振的电容来保证频偏满足要求。
RTC 时钟源(可选)
ESP32-C2 支持外置 32.768 kHz 的无源晶振作为 RTC 时钟。使用外部 RTC 时钟源是为了使时间更准确,从而降低平均功耗,但对于功能没有任何影响。
如果不需要该 RTC 时钟源,则 32.768 kHz 晶振的管脚也可配置为通用 GPIO 口使用。
射频
射频电路
ESP32-C2 系列芯片的射频电路主要由三部分组成:PCB 板射频走线、芯片匹配电路、天线及其匹配电路。各部分电路应满足以下设计规范:
PCB 板射频走线:需进行 50 Ω 阻抗控制。
芯片匹配电路:请尽量靠近芯片放置,优先采用 CLCCL 结构。
CLCCL 结构构成带通滤波器,主要用来调整阻抗点,抑制谐波及抑制低频噪声(尤其在电工照明类的应用中效果显著)。如果应用中没有 AC 转 DC 电路,可以考虑只用 CLC 结构。
芯片匹配电路如图 ESP32-C2 系列芯片射频匹配电路图 所示。
天线及其匹配电路:为保证辐射性能,建议天线的输入阻抗为 50 Ω 左右。为保险起见,推荐在靠近天线位置增加一组 π 型匹配电路,用于调节天线的输入阻抗。如果经过仿真可以确保天线阻抗点为 50 Ω 左右,并且空间较小,则可以不加天线端的匹配电路。
射频调试
射频匹配网络的参数值和 PCB 板有关,不要直接使用模组的匹配值,须按照下述射频调试进行确认。
图 ESP32-C2 射频调试示意图 展示了射频调试的大概过程。
将芯片匹配电路靠近芯片的端口定义为端口 1,将其靠近天线的端口定义为端口 2,则 S11 用来描述从端口 1 反射回来的信号功率与输入信号功率之比,如果匹配阻抗与芯片阻抗共轭,则传输性能最佳。S21 用来描述从端口 1 到端口 2 的信号功率传输损耗。如果 S11 接近芯片共轭阻抗点 (30+j0),且 S21 在 4.8 GHz 和 7.2 GHz 频率下小于 -35 dB,则匹配电路可满足传输要求。
将芯片匹配电路的两端分别接到综测仪上,测试其信号反射参数 S11 及传输参数 S21。调试该匹配电路中元件的数值,直至 S11 和 S21 满足上述要求。如果芯片的 PCB 板严格设计遵循章节 PCB 版图布局 里的规范,用户可以参考表 匹配电路元器件推荐数值范围 来调试该匹配电路。
位号 |
推荐数值范围 |
物料编号 |
---|---|---|
C11 |
1.2 ~ 1.8 pF |
GRM0335C1H1RXBA01D |
L2 |
2.4 ~ 3.0 nH |
LQP03TN2NXB02D |
C12 |
1.8 ~ 1.2 pF |
GRM0335C1H1RXBA01D |
如果射频贴片器件采用 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-C2 系列芯片技术规格书 > 章节 Strapping 管脚。下面主要介绍和启动模式有关的 strapping 管脚信息。
芯片复位释放后,GPIO8 和 GPIO9 共同决定启动模式,详见表 芯片启动模式控制。
启动模式 |
GPIO8 |
GPIO9 |
---|---|---|
默认配置 |
–(浮空) |
1(上拉) |
SPI Boot (default) |
任意值 |
1 |
Joint Download Boot 1 |
1 |
0 |
无效组合 2 |
0 |
0 |
- 1
Joint Download Boot 模式下支持 UART Download Boot 下载方式。除了 SPI Boot 和 Joint Download Boot 模式,ESP32-C2 还支持 SPI Download Boot 模式,详见 ESP32-C2 技术参考手册 > 章节 芯片 Boot 控制。
- 2
该组合会触发意外行为,应当避免。
Strapping 管脚的时序参数包括 建立时间 和 保持时间。更多信息,详见图 Strapping 管脚的时序参数图 和表 Strapping 管脚的时序参数说明。
参数 |
说明 |
最小值 (ms) |
---|---|---|
tSU |
建立时间,即拉高 CHIP_EN 激活芯片前,电源轨达到稳定所需的时间 |
0 |
tH |
保持时间,即 CHIP_EN 已拉高、strapping 管脚变为普通 IO 管脚开始工作前,可读取 strapping 管脚值的时间 |
3 |
注意
不要在 GPIO9 管脚处添加较大的电容,以免影响芯片上电启动。
GPIO
ESP32-C2 系列芯片通过 IO MUX 表格或者 GPIO 交换矩阵功能来配置 GPIO。IO MUX 表格中是默认的外设管脚配置,GPIO 交换矩阵用于将可以配置的外设信号传输至 GPIO 管脚。更多关于 IO MUX 和 GPIO 交换矩阵的信息,请参考 ESP32-C2 技术参考手册 > 章节 IO MUX 和 GPIO 交换矩阵。
部分外设的 GPIO 管脚是固定的,部分是可以任意配置的,具体信息请参考 ESP32-C2 系列芯片技术规格书 > 章节 外设管脚分配。
使用 GPIO 时,请注意:
Strapping 管脚的上电状态。
请注意 GPIO 复位后的默认配置,详见表 IO MUX 管脚功能。建议对处于高阻态的管脚配置上拉或下拉,或在软件初始化时开启管脚自带的上下拉,以避免不必要的耗电。
上电过程中,部分管脚会有毛刺,详见表 芯片上电过程中的管脚毛刺。
管脚名称 |
管脚序号 |
功能 0 |
功能 1 |
功能 2 |
复位 |
说明 |
---|---|---|---|---|---|---|
GPIO0 |
4 |
GPIO0 |
GPIO0 |
— |
0 |
R, G |
GPIO1 |
5 |
GPIO1 |
GPIO1 |
— |
0 |
R, G |
GPIO2 |
6 |
GPIO2 |
GPIO2 |
FSPIQ |
1 |
R |
GPIO3 |
8 |
GPIO3 |
GPIO3 |
— |
1 |
R, G |
MTMS |
9 |
MTMS |
GPIO4 |
FSPIHD |
1 |
R |
MTDI |
10 |
MTDI |
GPIO5 |
FSPIWP |
1 |
R, G |
MTCK |
12 |
MTCK |
GPIO6 |
FSPICLK |
1* |
— |
MTDO |
13 |
MTDO |
GPIO7 |
FSPID |
1 |
— |
GPIO8 |
14 |
GPIO8 |
GPIO8 |
— |
1 |
— |
GPIO9 |
15 |
GPIO9 |
GPIO9 |
— |
3 |
— |
GPIO10 |
16 |
GPIO10 |
GPIO10 |
FSPICS0 |
1 |
— |
GPIO18 |
18 |
GPIO18 |
GPIO18 |
— |
0 |
— |
U0RXD |
19 |
U0RXD |
GPIO19 |
— |
3 |
— |
U0TXD |
20 |
U0TXD |
GPIO20 |
— |
4 |
— |
复位:
各管脚复位后的默认配置:
0 – 输入关闭,高阻 (IE = 0)
1 – 输入使能,高阻 (IE = 1)
2 – 输入使能,下拉电阻使能 (IE = 1, WPD = 1)
3 – 输入使能,上拉电阻使能 (IE = 1, WPU = 1)
4 – 输出使能,上拉电阻使能 (OE = 1, WPU = 1)
1* – eFuse 的 EFUSE_DIS_PAD_JTAG 位为
0 时(初始默认值),管脚复位后输入使能,上拉电阻使能 (IE = 1, WPU = 1)
1 时,管脚复位后输入使能,高阻 (IE = 1)
说明:
R – 管脚具有模拟功能
G – 管脚在芯片上电过程中有毛刺,详见表 芯片上电过程中的管脚毛刺。
管脚名称 |
毛刺类型 3 |
典型持续时间 (µs) |
---|---|---|
GPIO0 |
低电平毛刺 |
40 |
GPIO1 |
低电平毛刺 |
60 |
GPIO3 |
低电平毛刺 |
60 |
MTDI |
低电平毛刺 |
60 |
- 3
低电平毛刺:管脚在持续期间维持低电平输出状态