原理图设计
ESP32-C6 系列芯片的核心电路只需要 20 个左右的电阻电容电感和 1 个无源晶振,以及 1 个 SPI flash(对于 QFN32 型号不是必须的)。为了能够更好地保证 ESP32-C6 系列芯片的工作性能,本章将详细介绍 ESP32-C6 系列芯片的原理图设计。
下图所示为 ESP32-C6 的核心电路参考设计,您可以将它作为您的原理图设计的基础。
备注
ESP32-C6 系列芯片分为 QFN40 和 QFN32 两款型号,两者的主要区别(不是唯一区别)在于是否把 flash 合封在芯片中。
图 ESP32-C6 系列芯片参考设计原理图 所示为 QFN40 型号的参考设计。图 ESP32-C6 QFN32 型号参考设计原理图 所示为 QFN32 型号的参考设计。
除非特别说明,下文使用的“ESP32-C6”指的都是 QFN40 型号芯片。
ESP32-C6 系列芯片的核心电路图的设计有以下重要组成部分:
下文将分别对这些部分进行描述。
电源
电源电路设计的通用要点有:
使用单电源供电时,建议供给 ESP32-C6 的电源电压为 3.3 V,最大输出电流至少 500 mA。
建议在总电源入口处添加 ESD 保护器件。
有关电源管脚的更多信息,请查看 ESP32-C6 系列芯片技术规格书 > 章节 电源。
数字电源
ESP32-C6 的 管脚 5 VDDPST1 和管脚 28 VDDPST2 为数字电源管脚,工作电压范围为 3.0 V ~ 3.6 V。建议在电路中靠近数字电源管脚处添加 0.1 μF 电容。
管脚 VDD_SPI 作为输出电源时,由 VDDPST2 通过 RSPI 电阻后供电,电压典型值为 3.3 V。因此,VDD_SPI 相对 VDDPST2 会有一定电压降。建议在靠近 VDD_SPI 管脚处添加 0.1 μF 和 1 μF 电容。
VDD_SPI 也可以连接到外部电源,由外部电源输入供电。
当 VDD_SPI 无需为外部供电时,亦可作为 GPIO 使用。
注意
当使用 VDD_SPI 给封装内或封装外的 3.3 V flash 供电时,需要满足 flash 的工作电压要求,一般应保证电压在 3.0 V 以上。此时,VDD_SPI 不能用作 GPIO。
ESP32-C6 系列芯片数字电源电路图如图 ESP32-C6 系列芯片数字电源电路图 所示。
模拟电源
ESP32-C6 的 VDDA 和 VDDA3P3 管脚 为模拟电源管脚,工作电压范围为 3.0 V ~ 3.6 V。
对于 VDDA3P3,当 ESP32-C6 工作在 TX 时,瞬间电流会加大,往往引起电源的轨道塌陷。所以在电路设计时建议在 VDDA3P3 的电源走线上增加一个 10 μF 电容,该电容可与 1 μF 电容搭配使用。
建议在总电源入口添加另一个 10 μF 电容。如果总电源入口靠近 VDDA3P3,可以合并仅使用一个 10 μF 电容。
另外,在靠近 VDDA3P3 处还需添加 LC 滤波电路,用于抑制高频谐波,同时请注意该电感的额定电流最好在 500 mA 及以上。
其余电源管脚请参考图 ESP32-C6 系列芯片模拟电源电路图 放置相应的去耦电容。
上电时序与复位
ESP32-C6 的 CHIP_PU 管脚为高电平时使能芯片,为低电平时复位芯片。
当 ESP32-C6 使用 3.3 V 系统电源供电时,电源轨需要一些时间才能稳定,之后才能拉高 CHIP_PU,激活芯片。因此,CHIP_PU 管脚上电要晚于系统电源 3.3 V 上电。
复位芯片时,复位电压 VIL_nRST 范围应为 (–0.3 ~ 0.25 × VDD) V。为防止外界干扰引起重启,CHIP_PU 管脚引线需尽量短一些。
图 ESP32-C6 系列芯片上电和复位时序图 为 ESP32-C6 系列芯片的上电、复位时序图。
上电和复位时序参数说明见表 上电和复位时序参数说明。
参数 |
说明 |
最小值 (µs) |
---|---|---|
tSTBL |
CHIP_PU 管脚上电晚于电源管脚上电的延时时间 |
50 |
tRST |
CHIP_PU 电平低于 VIL_nRST 从而复位芯片的时间 |
50 |
注意
CHIP_PU 管脚不可浮空。
为确保芯片上电和复位时序正常,一般采用的方式是在 CHIP_PU 管脚处增加 RC 延迟电路。RC 通常建议为 R = 10 kΩ,C = 1 μF,但具体数值仍需根据实际的电源特性配合芯片的上电、复位时序进行调整。
如果应用中存在以下场景:
电源缓慢上升或下降,例如电池充电;
需要频繁上下电的操作;
供电电源不稳定,例如光伏发电等。
此时,仅仅通过 RC 电路不一定能满足时序要求,有概率会导致芯片无法进入正常的工作模式。此时,需要增加一些额外的电路设计,比如:
增加复位芯片或者看门狗芯片,通常阈值为 3.0 V 左右;
通过按键或主控实现复位等。
Flash
ESP32-C6 支持的外部 flash 最大可到 16 MB,使用 VDD_SPI输出电源供电。建议如图 ESP32-C6 系列芯片封装外 Flash 电路图 所示在 SPI 线上预留串联电阻(初始可使用 0 Ω),主要作用为降低驱动电流,减小对射频的干扰,调节时序,提升抗干扰能力等。
ESP32-C6 系列芯片 QFN32 型号内置 SPI flash,flash 管脚没有拉出芯片外。
时钟源
ESP32-C6 外部可以有两个时钟源:
外置主晶振时钟源(必选)
目前 ESP32-C6 系列芯片固件仅支持 40 MHz 晶振。
ESP32-C6 的无源晶振部分电路如图 ESP32-C6 系列芯片无源晶振电路图。注意,选用的无源晶振自身精度需在 ±10 ppm。
XTAL_P 时钟走线上请放置一个串联元器件,可以是电阻或者电感,初始建议使用 24 nH,用来减弱晶振高频谐波对射频性能的影响,最终值需要通过测试后确认。
外部匹配电容 C1 和 C4 的初始值可参考以下公式来决定:
其中 CL (负载电容)的值可查看所选择晶振的规格书,Cstray 的值为 PCB 的寄生电容。C1 和 C4 的最终值需要通过对系统测试后进行调节确定。调试方法如下:
通过 认证测试工具,选择 TX tone 模式。
使用综测仪或者频谱仪查看 2.4 GHz 信号,解调得到实际频偏。
通过调整外置负载电容,把频偏调整到 ±10 ppm(建议)以内。
当中心频率偏正时,说明等效负载电容偏小,需要增加外置负载电容。
当中心频率偏负时,说明等效负载电容偏大,需要减小外置负载电容。
通常两个外置负载电容相等,在特殊情况下,也可以有略微差异。
备注
尽管 ESP32-C6 内部带有自校准功能,但是自身频偏过大(例如大于 ±10 ppm)、工作温度范围内稳定度不高等晶振本身的质量问题仍然会影响芯片的正常工作,导致射频指标性能下降。
建议晶振的幅值大于 500 mV。
如果出现功能性的 Wi-Fi 或蓝牙无法连接,排除软件原因后,可以采用上文中的方法,通过调节晶振的电容来保证频偏满足要求。
RTC 时钟源(可选)
ESP32-C6 支持外置 32.768 kHz 的无源晶振作为 RTC 时钟。使用外部 RTC 时钟源是为了使时间更准确,从而降低平均功耗,但对于功能没有任何影响。
外置 32.768 kHz 无源晶振的电路如图 ESP32-C6 系列芯片外置 32.768 kHz 无源晶振电路图 所示。
请注意 32.768 kHz 晶振选择要求:
等效内阻 (ESR) ≤ 70 kΩ。
两端负载电容值根据晶振的规格要求进行配置。
并联电阻 R 用于偏置晶振电路,电阻值要求 5 MΩ < R ≤ 10 MΩ。该电阻一般无需上件。
如果不需要该 RTC 时钟源,则 32.768 kHz 晶振的管脚也可配置为通用 GPIO 口使用。
射频
射频电路
ESP32-C6 系列芯片的射频电路主要由三部分组成:PCB 板射频走线、芯片匹配电路、天线及其匹配电路。各部分电路应满足以下设计规范:
PCB 板射频走线:需进行 50 Ω 阻抗控制。
芯片匹配电路:请尽量靠近芯片放置,优先采用 CLCCL 结构。
CLCCL 结构构成带通滤波器,主要用来调整阻抗点,抑制谐波及抑制低频噪声(尤其在电工照明类的应用中效果显著)。如果应用中没有 AC 转 DC 电路,可以考虑只用 CLC 结构。
芯片匹配电路如图 ESP32-C6 系列芯片射频匹配电路图 所示。
天线及其匹配电路:为保证辐射性能,建议天线的输入阻抗为 50 Ω 左右。为保险起见,推荐在靠近天线位置增加一组 π 型匹配电路,用于调节天线的输入阻抗。如果经过仿真可以确保天线阻抗点为 50 Ω 左右,并且空间较小,则可以不加天线端的匹配电路。
射频调试
射频匹配网络的参数值和 PCB 板有关,不要直接使用模组的匹配值,须按照下述射频调试进行确认。
图 ESP32-C6 射频调试示意图 展示了射频调试的大概过程。
将芯片匹配电路靠近芯片的端口定义为端口 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 版图布局 里的规范,用户可以参考表 匹配电路元器件推荐数值范围 来调试该匹配电路。
位号 |
推荐数值范围 |
物料编号 |
---|---|---|
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,可以参考 硬件连接,建议使用默认配置。
Strapping 管脚
芯片每次上电或复位时,都需要一些初始配置参数,如加载芯片的启动模式等。这些参数通过 strapping 管脚控制。复位放开后,strapping 管脚和普通 IO 管脚功能相同。
所有的 strapping 管脚信息,可参考 ESP32-C6 系列芯片技术规格书 > 章节 Strapping 管脚。下面主要介绍和启动模式有关的 strapping 管脚信息。
芯片复位释放后,待定 共同决定启动模式,详见表 芯片启动模式控制。
启动模式 |
GPIO8 |
GPIO9 |
---|---|---|
默认配置 |
–(浮空) |
1(上拉) |
SPI Boot(默认) |
任意值 |
1 |
Download Boot |
1 |
0 |
无效组合 1 |
0 |
0 |
- 1
该组合会触发意外行为,应当避免。
Strapping 管脚的时序参数包括 建立时间 和 保持时间。更多信息,详见图 Strapping 管脚的时序参数图 和表 Strapping 管脚的时序参数说明。
参数 |
说明 |
最小值 (ms) |
---|---|---|
tSU |
建立时间,即拉高 CHIP_PU 激活芯片前,电源轨达到稳定所需的时间 |
0 |
tH |
保持时间,即 CHIP_PU 已拉高、strapping 管脚变为普通 IO 管脚开始工作前,可读取 strapping 管脚值的时间 |
3 |
注意
不要在 GPIO9 管脚处添加较大的电容,以免影响芯片上电启动。
GPIO
ESP32-C6 系列芯片通过 IO MUX 表格或者 GPIO 交换矩阵功能来配置 GPIO。IO MUX 表格中是默认的外设管脚配置,GPIO 交换矩阵用于将可以配置的外设信号传输至 GPIO 管脚。更多关于 IO MUX 和 GPIO 交换矩阵的信息,请参考 ESP32-C6 技术参考手册 > 章节 IO MUX 和 GPIO 交换矩阵。
部分外设的 GPIO 管脚是固定的,部分是可以任意配置的,具体信息请参考 ESP32-C6 系列芯片技术规格书 > 章节 外设管脚分配。
使用 GPIO 时,请注意:
Strapping 管脚的上电状态。
请注意 GPIO 复位后的默认配置,详见表 IO MUX 管脚功能。建议对处于高阻态的管脚配置上拉或下拉,或在软件初始化时开启管脚自带的上下拉,以避免不必要的耗电。
避免使用 flash 占用的管脚。
管脚序号 |
管脚名称 |
管脚类型 |
供电管脚 |
复位时 |
复位后 |
IO MUX |
LP IO MUX |
模拟 |
---|---|---|---|---|---|---|---|---|
1 |
ANT |
Analog |
||||||
2 |
VDDA3P3 |
Power |
||||||
3 |
VDDA3P3 |
Power |
||||||
4 |
CHIP_PU |
Analog |
||||||
5 |
VDDPST1 |
Power |
||||||
6 |
XTAL_32K_P |
IO |
VDDPST1 |
IO MUX |
LP IO MUX |
Analog |
||
7 |
XTAL_32K_N |
IO |
VDDPST1 |
IO MUX |
LP IO MUX |
Analog |
||
8 |
GPIO2 |
IO |
VDDPST1 |
IE |
IE |
IO MUX |
LP IO MUX |
Analog |
9 |
GPIO3 |
IO |
VDDPST1 |
IE |
IE |
IO MUX |
LP IO MUX |
Analog |
10 |
MTMS |
IO |
VDDPST1 |
IE |
IE |
IO MUX |
LP IO MUX |
Analog |
11 |
MTDI |
IO |
VDDPST1 |
IE |
IE |
IO MUX |
LP IO MUX |
Analog |
12 |
MTCK |
IO |
VDDPST1 |
IE, WPU |
IO MUX |
LP IO MUX |
Analog |
|
13 |
MTDO |
IO |
VDDPST1 |
IE |
IO MUX |
LP IO MUX |
||
14 |
GPIO8 |
IO |
VDDPST2 |
IE |
IE |
IO MUX |
||
15 |
GPIO9 |
IO |
VDDPST2 |
IE, WPU |
IE, WPU |
IO MUX |
||
16 |
GPIO10 |
IO |
VDDPST2 |
IE |
IO MUX |
|||
17 |
GPIO11 |
IO |
VDDPST2 |
IE |
IO MUX |
|||
18 |
GPIO12 |
IO |
VDDPST2 |
IE |
IO MUX |
Analog |
||
19 |
GPIO13 |
IO |
VDDPST2 |
IE, WPU |
IO MUX |
Analog |
||
20 |
SPICS0 |
IO |
VDD_SPI |
WPU |
IE, WPU |
IO MUX |
||
21 |
SPIQ |
IO |
VDD_SPI |
WPU |
IE, WPU |
IO MUX |
||
22 |
SPIWP |
IO |
VDD_SPI |
WPU |
IE, WPU |
IO MUX |
||
23 |
VDD_SPI |
Power |
IO MUX |
Analog |
||||
24 |
SPIHD |
IO |
VDD_SPI |
WPU |
IE, WPU |
IO MUX |
||
25 |
SPICLK |
IO |
VDD_SPI |
WPU |
IE, WPU |
IO MUX |
||
26 |
SPID |
IO |
VDD_SPI |
WPU |
IE, WPU |
IO MUX |
||
27 |
GPIO15 |
IO |
VDDPST2 |
IE |
IE |
IO MUX |
||
28 |
VDDPST2 |
Power |
||||||
29 |
U0TXD |
IO |
VDDPST2 |
WPU |
IO MUX |
|||
30 |
U0RXD |
IO |
VDDPST2 |
IE, WPU |
IO MUX |
|||
31 |
SDIO_CMD |
IO |
VDDPST2 |
WPU |
IE |
IO MUX |
||
32 |
SDIO_CLK |
IO |
VDDPST2 |
WPU |
IE |
IO MUX |
||
33 |
SDIO_DATA0 |
IO |
VDDPST2 |
WPU |
IE |
IO MUX |
||
34 |
SDIO_DATA1 |
IO |
VDDPST2 |
WPU |
IE |
IO MUX |
||
35 |
SDIO_DATA2 |
IO |
VDDPST2 |
WPU |
IE |
IO MUX |
||
36 |
SDIO_DATA3 |
IO |
VDDPST2 |
WPU |
IE |
IO MUX |
||
37 |
VDDA1 |
Power |
||||||
38 |
XTAL_N |
Analog |
||||||
39 |
XTAL_P |
Analog |
||||||
40 |
VDDA2 |
Power |
||||||
41 |
GND |
Power |
IE – 输入使能
WPU – 内部弱上拉电阻使能
WPD – 内部弱下拉电阻使能
ADC
使用 ADC 功能时,请靠近管脚添加 0.1 μF 的对地滤波电容,精度会更准确一些。
ADC 经硬件校准和 软件校准 后的结果如以下列表所示。如需更高的精度,可选用其他方法自行校准。
当 ATTEN=0,有效测量范围为 0 ~ 1000 mV 时,总误差为 ±12 mV。
当 ATTEN=1,有效测量范围为 0 ~ 1300 mV 时,总误差为 ±12 mV。
当 ATTEN=2,有效测量范围为 0 ~ 1900 mV 时,总误差为 ±23 mV。
当 ATTEN=3,有效测量范围为 0 ~ 3300 mV 时,总误差为 ±40 mV。
SDIO
ESP32-C6 系列芯片只有一个 SDIO 从机控制器,符合工业标准 SDIO 2.0 规格。SDIO GPIO 是固定的,即 SDIO_CMD、SDIO_CLK、SDIO_DATA0、SDIO_DATA1、SDIO_DATA2 和 SDIO_DATA3。请在 SDIO GPIO 管脚处添加上拉电阻,建议每根线上预留一个串联电阻。