搞懂 VCC、VSS、VDD:那些芯片数据手册里的"黑话",一次性给你讲透
你有没有过这种经历?打开一份芯片数据手册,看到 VCC、VDD、VSS、VEE、VPP……一堆缩写字母,脑袋嗡嗡的。明明就是供电引脚嘛,整这么多名字干嘛?更崩溃的是,同一颗芯片上居然同时有 VCC 和 VDD,这俩不都是正电源吗?到底有啥区别?
今天这篇文章,我就把这些"电源命名黑话"一次性讲透。不只是告诉你"VCC 是正电、VSS 是地"这种表层的结论,而是从半导体器件物理出发,搞清楚这些名字到底怎么来的、为什么这么叫、什么时候能混用、什么时候绝对不能搞混。
全文很长,建议先收藏、关注,慢慢看。
一、先上结论:一张图搞定
先别急,我知道很多人就想快速搞清楚区别,先把最核心的结论放出来:
📌一句话总结:VCC 是双极型(BJT)时代的叫法,VDD 是 CMOS 时代的叫法,VSS 基本就是地。现代芯片用 VDD/VSS 居多,但很多数据手册还是混着写。
好,结论有了。接下来我们深挖,搞清楚为什么。
二、从晶体管说起:这些名字不是乱起的
要真正理解 VCC、VDD、VSS 这些名字,必须回到它们的源头——晶体管的三个极。
2.1 BJT(双极型晶体管):VCC 和 VEE 的老家
BJT 有三个极:集电极(Collector)、基极(Base)、发射极(Emitter)。
BJT 三极结构
NPN 型 BJT 有三个极:集电极(Collector)、基极(Base)、发射极(Emitter)。
在 TTL(晶体管-晶体管逻辑)时代,逻辑门电路的内部是用 BJT 搭的。那时候:
- VCC= 接到集电极的电源电压(Voltage at Common Collector)
- VEE= 接到发射极的电源电压(Voltage at Common Emitter)
所以你看,VCC 的第二个 C 不是 Capacitor(电容),也不是 Common(公共),而是 Collector(集电极)的首字母。VCC 里的双 C 是一种电路图命名惯例——当引脚连接到多个相同极时,用双字母表示"公共"(Common),比如 VCC = Voltage at Common Collector。
💡小知识:为什么用双字母?这是电路设计界的老传统。VCC 表示"所有集电极共用的电压节点",双字母强调"公共"属性。类似的还有 VBB(基极偏置)、VEE(发射极公共电压)。
TTL 非门内部电路
典型 TTL 非门(7404)内部采用推挽输出(图腾柱)结构,Q1 为输入管,Q2 为分相管,Q3/Q4 构成推挽输出。
在这个电路里,上面接 VCC,下面接 VEE(通常就是 GND)。这就是 VCC/VEE 名字的物理来源。
2.2 MOSFET(场效应管):VDD 和 VSS 的老家
到了 CMOS 时代,逻辑门改用 MOSFET 来搭了。MOSFET 也有三个极:漏极(Drain)、栅极(Gate)、源极(Source)。
MOSFET 三极结构
MOSFET 也有三个极:漏极(Drain)、栅极(Gate)、源极(Source)。
类似地:
- VDD= 接到漏极的电源电压(Voltage at Common Drain)
- VSS= 接到源极的电源电压(Voltage at Common Source)
CMOS 反相器
一个最简单的 CMOS 反相器(非门)就一个 PMOS + 一个 NMOS:PMOS 漏极接 VDD,NMOS 源极接 VSS。这就是 VDD/VSS 名字的物理来源。
📌划重点:VCC/VEE 来自 BJT 的极(集电极/发射极),VDD/VSS 来自 MOSFET 的极(漏极/源极)。名字不同,是因为器件不同。
三、VCC vs VDD:到底啥区别?
这是大家最困惑的地方。我来掰开了揉碎了讲。
3.1 本质区别:它们描述的是不同类型的电路
| VCC | VDD | |
|---|---|---|
| 来源器件 | BJT(双极型晶体管) | MOSFET(场效应管) |
| 原始含义 | 集电极供电电压 | 漏极供电电压 |
| 典型电路 | TTL(74系列)、ECL | CMOS(4000系列、现代MCU) |
| 典型电压 | 5V(TTL标准) | 1.8V~5V(CMOS宽范围) |
| 功耗特征 | 静态功耗大(始终有电流) | 静态功耗极低(仅开关时耗电) |
3.2 为什么现在很多芯片同时有 VCC 和 VDD?
这是最让人抓狂的情况。比如一颗 STM32 的数据手册里,你可能看到:
- VDD = 数字部分供电(1.8V~3.6V)
- VSS = 数字部分地
- VDDA = 模拟部分供电
- VSSA = 模拟部分地
- VBAT = 备用电池供电
但也有些芯片(特别是一些混合信号芯片或老式芯片)会同时出现 VCC 和 VDD,这时候含义可能是:
| 引脚 | 含义 |
|---|---|
| VCC | 整体主供电(可能含模拟部分) |
| VDD | 数字内核供电 |
| VSS | 公共地 |
或者反过来,具体要看数据手册的定义,不同厂商可能有不同的惯例。
⚠️重要提醒:VCC 和 VDD不是同一个东西,不能想当然地短接在一起!有些芯片的 VCC 和 VDD 电压不同(比如 VCC=5V、VDD=3.3V 内核),如果直接短接,轻则芯片不工作,重则烧毁。
3.3 一个真实的坑:74HC 系列
74HC 系列芯片是个很有意思的例子。HC = High speed CMOS,内部是 CMOS 电路,但引脚命名却沿用了 TTL 时代的 VCC/GND 叫法。这就是一个典型的命名惯性与实际电路不匹配的例子。74HC 系列为了兼容老 74 系列 TTL 的引脚排列,保留了 VCC/GND 的叫法,但内部其实是 CMOS。
💡所以你看,命名惯例有时候比物理本质更有影响力。就像很多人把所有纸巾都叫"清风",把所有搜索都叫"百度"一样——名字已经脱离了原始含义,变成了通用标签。
3.4 不同厂商的命名惯例
| 厂商/架构 | 正电源叫法 | 地叫法 | 备注 |
|---|---|---|---|
| TI TTL (74系列) | VCC | GND | BJT 时代遗留 |
| 74HC/74HCT | VCC | GND | CMOS 内核,TTL 命名 |
| 4000 系列 CMOS | VDD | VSS | 原汁原味 CMOS 命名 |
| STM32 (ST) | VDD | VSS | 标准 CMOS 命名 |
| ESP32 (Espressif) | VDD | VSS | 同上 |
| NRF52 (Nordic) | VDD | VSS | 同上 |
| ATmega (Microchip) | VCC | GND | 沿用 AVR 传统 |
| 8051 (各种) | VCC | GND | 老牌 MCU,TTL 时代产物 |
| FPGA (Xilinx) | VCCO, VCCINT | GND | VCCO=IO供电, VCCINT=内核供电 |
| FPGA (Altera/Intel) | VCCIO, VCCINT | GND | 同上 |
| 运放 (如 LM358) | VCC/VEE | — | 双电源时 VEE 为负压 |
📌规律:越老的芯片/架构越爱用 VCC/GND,越新的越爱用 VDD/VSS。但不是绝对的,要看具体厂商。
四、VSS 到底是不是 GND?
这是个好问题,答案是:大多数情况下是,但不是所有情况。
4.1 VSS = GND 的常见场景
在绝大多数单电源数字电路中,VSS 就是接地的,和 GND 是同一个节点。这种情况下,数据手册里写 VSS 还是 GND,本质上没区别。
4.2 VSS ≠ GND 的场景
但在某些电路中,VSS 可以不是 0V:
场景1:双电源运放
运放用正负双电源(如 ±15V)时,VCC=+15V,VEE=-15V,此时没有 “GND”,VEE 是负电压。
场景2:电平转换/隔离
一些隔离芯片或电平转换芯片,两侧有独立的 VDD 和 VSS,它们的 VSS(GND)可能不在同一电位,甚至完全电气隔离。
📌结论:VSS 是"源极电压"的缩写,在单电源数字系统中它就是 GND,但在双电源系统、负压驱动、隔离电路中,它可能不是 0V。看数据手册是唯一靠谱的方式。
五、那些"奇奇怪怪"的电源引脚名
除了 VCC/VDD/VSS/VEE,芯片上还有很多看起来莫名其妙的电源引脚。来,一起扫盲:
5.1 带后缀的 VDD/VCC
| 引脚名 | 含义 | 典型芯片 |
|---|---|---|
| VDDA | 模拟部分供电 | STM32(ADC/DAC 参考电源) |
| VSSA | 模拟部分地 | STM32 |
| VDDIO | IO 口供电 | 很多 SoC |
| VSSIO | IO 口地 | 很多 SoC |
| VDDCORE | 内核供电 | FPGA、高端 MCU |
| VCCIO | IO bank 供电 | Xilinx FPGA |
| VCCINT | 内核供电 | FPGA |
| VCCAUX | 辅助供电 | FPGA |
| VCCRAM | RAM 供电 | 某些 MCU |
| VDDUSB | USB 外设供电 | STM32 |
| VDDLCD | LCD 控制器供电 | 某些 SoC |
5.2 特殊功能电源引脚
| 引脚名 | 含义 | 说明 |
|---|---|---|
| VPP | 编程电压 | EEPROM/Flash 写入时需要的高压,早期 Flash 编程需 12V,现在很多已内集成电荷泵 |
| VBAT | 电池供电 | MCU 的 RTC 和备份寄存器供电,主电源掉电后由电池维持 |
| VREF | 参考电压 | ADC/DAC 的基准电压,精度直接影响转换结果 |
| VREF+ / VREF- | 正/负参考电压 | 差分参考输入 |
| VREGIN | 稳压器输入 | 芯片内置 LDO 的输入 |
| VREGOUT | 稳压器输出 | 芯片内置 LDO 的输出 |
| VCAP | 内部稳压去耦 | STM32 内部 1.2V 稳压器的外接电容引脚 |
| VDDSMPS | SMPS 供电 | STM32L4+/U5 内部开关稳压器供电 |
5.3 一张图看懂 STM32 的电源域
以 STM32F4 为例,这可能是你遇到过的"电源引脚最多"的芯片之一:VDD(数字IO)、VDDA(模拟)、VBAT(电池备份)三大电源域,加上 VCAP(内核去耦)和 ARM Cortex-M4 内核,每个电源域都有独立的 VDD 和 VSS。
💡 看到没?一颗 MCU 就有好几个不同的电源域。每个电源域都有自己的 VDD 和 VSS,它们在芯片外部可能是同一个电源,但在芯片内部是通过开关和稳压器隔离的。这样做的好处是:
- 降低噪声耦合(数字部分的开关噪声不会串到模拟部分)
- 独立省电(不用的外设可以关掉其电源域)
- 灵活供电(IO 可以 3.3V,内核可以 1.2V,省电)
六、实战篇:原理图和 PCB 中的坑
理论说完了,来点实战的。这些是我在实际项目中踩过的坑,分享给大家。
6.1 去耦电容必须就近放
这个老生常谈了,但还是要强调:每个 VDD/VCC 引脚旁边都要放去耦电容,而且要尽量靠近引脚。100nF 电容到 VDD 引脚的走线 < 5mm 为优秀,< 10mm 为可接受,> 20mm 基本无效。
一般推荐的做法:
- 100nF 陶瓷电容:每个 VDD 引脚一个,越近越好
- 10μF 钽电容/陶瓷电容:整个芯片共用 1~2 个,放在芯片附近
- 布局优先级:100nF > 10μF,小电容必须最近
6.2 VDDA 和 VDD 能直接短接吗?
大多数情况下可以,但不推荐。
STM32 的数据手册里通常会写:“VDDA 可以通过外部连接到 VDD”。但如果你对 ADC 精度有要求(比如 12-bit ADC),建议用磁珠或小电感把 VDDA 和 VDD 隔开,让数字部分的开关噪声不容易串到模拟供电上。VSSA 和 VSS 之间也建议做类似处理。
6.3 多电源域的上电顺序
📎 查看高清配图:FPGA 上电顺序
有些芯片(特别是 FPGA 和高端 SoC)对上电顺序有严格要求:内核先上、IO 后上。如果顺序反了,IO 口可能在内核还没准备好时输出不确定电平,导致总线冲突甚至闩锁效应。
如果用多路 LDO 或 DCDC,注意选择带 PG(Power Good)输出和 EN(Enable)输入的型号,用上一路的 PG 去控制下一路的 EN,实现自动顺序上电:PG_1 变高 → EN_2 使能 → VCCIO 上电 → PG_2 变高 → EN_3 使能 → VCCAUX 上电。
6.4 VBAT 引脚处理
MCU 的 VBAT 引脚用于 RTC 和备份域供电。方案1:不需要电池备份时,用 0Ω 电阻短接到 VDD,简单省事。方案2:需要电池备份时,通过二极管实现电源切换——VDD 在时由 VDD 供电,VDD 掉了由电池接管。
⚠️注意:VBAT 绝对不能悬空!如果不需要电池备份,也必须接到 VDD。悬空的 VBAT 可能导致 RTC 不走时,甚至芯片随机复位。
6.5 VPP 引脚的处理
如果你在用旧版 Flash 或 EEPROM(比如 27C256、28C64),VPP 是编程电压引脚:
- 正常工作时:VPP 通常接 VCC 或通过上拉电阻接 VCC
- 编程时:需要加 12V~21V 的高压(具体看数据手册)
- 绝对不能悬空:悬空的 VPP 可能导致芯片随机进入编程模式
现在的 MCU 大多内置了电荷泵,不再需要外部 VPP,但如果你在维修老设备或用旧器件,这仍然是需要注意的。
七、数据手册怎么看?
这是最实用的一节。当你拿到一颗新芯片,怎么快速搞清楚它的电源引脚?
7.1 看第一个章节:Pin Description / Pinout
几乎所有数据手册的第一个章节都有引脚定义表。找到所有带 “V” 开头的引脚:
数据手册 Pin Description 示例(虚构): Pin │ Name │ Type │ Description ─────┼─────────┼─────────┼────────────────────── 1 │ VDD │ Power │ Digital supply voltage 2 │ PA0 │ I/O │ GPIO / ADC input 3 │ PA1 │ I/O │ GPIO / UART TX ... 8 │ VSS │ Power │ Digital ground 9 │ VDDA │ Power │ Analog supply voltage 10 │ VSSA │ Power │ Analog ground 11 │ VBAT │ Power │ Backup battery supply ... 20 │ VDD │ Power │ Digital supply voltage📌关键信息:
- 有几个 VDD 引脚?→ 决定你要放几个去耦电容
- 有没有 VDDA/VSSA?→ 决定模拟供电要不要隔离
- 有没有 VBAT?→ 决定要不要接电池
- VDD 和 VDDA 电压范围是否相同?→ 决定能不能用同一路电源
7.2 看 Electrical Characteristics 章节
找到 “Supply voltage” 或 “Operating conditions” 表格:
Symbol │ Parameter │ Min │ Typ │ Max │ Unit ─────────┼────────────────────────┼──────┼──────┼──────┼───── VDD │ Digital supply voltage │ 1.71 │ 3.3 │ 3.6 │ V VDDA │ Analog supply voltage │ 1.71 │ 3.3 │ 3.6 │ V VBAT │ Backup supply voltage │ 1.70 │ 3.0 │ 3.6 │ V VDD-VDDA │ Difference VDD to VDDA │ -0.3 │ 0 │ 0.3 │ V ⚠️ 最后一行很关键!VDD 和 VDDA 的压差不能超过 0.3V → 不能一个接 3.3V 另一个接 1.8V!7.3 看 Absolute Maximum Ratings
这是"绝对不能超"的极限值:
Symbol │ Parameter │ Min │ Max │ Unit ─────────┼────────────────────────┼─────────┼───────┼───── VDD │ Supply voltage │ -0.3 │ 4.0 │ V VDDA │ Analog supply voltage │ -0.3 │ 4.0 │ V VIN │ Input voltage │ -0.3 │ VDD+0.3│ V ⚠️ 超过这些值,芯片可能永久损坏! 注意 VIN 的上限是 VDD+0.3V → 在 VDD 还没上电时,IO 口不能有输入信号!⚠️致命坑:很多芯片的输入电压上限是 VDD+0.3V。这意味着如果你在 VDD 还没上电的时候,IO 口已经有了信号(比如另一个已上电的芯片在驱动这条线),芯片内部的 ESD 保护二极管会导通,通过 IO 口给 VDD 倒灌电,可能导致芯片闩锁效应甚至烧毁。
八、常见误区和面试题
误区1:“VCC 就是 5V,VDD 就是 3.3V”
❌错误。VCC 和 VDD 的区别是命名来源(BJT vs CMOS),不是电压值。有些芯片的 VCC 是 3.3V,有些芯片的 VDD 是 5V。具体电压看数据手册。
误区2:“VCC 和 VDD 可以互换使用”
❌大部分情况错误。在同一颗芯片上,VCC 和 VDD 如果同时出现,通常表示不同的电源域,电压可能不同,不能短接。不同芯片之间,命名习惯不同而已。
误区3:“VSS 就是 GND,永远 0V”
❌不完全正确。在单电源数字系统中确实如此,但在双电源运放、负压驱动、隔离电路中,VSS 可能不是 0V。
误区4:“所有 VDD 引脚在芯片内部都是连在一起的”
❌不一定。很多芯片有多个电源域,不同域的 VDD 在芯片内部通过开关隔离。比如 VDD(数字)和 VDDA(模拟)在内部是隔离的。
经典面试题
Q:一个芯片同时有 VCC 和 VDD 引脚,能直接短接吗?
A:不能想当然地短接。必须看数据手册确认两者电压范围是否一致。如果 VCC 是 IO 供电(比如 5V 兼容),VDD 是内核供电(比如 1.8V),短接必烧。即使电压相同,如果是不同的电源域,短接也可能导致噪声耦合问题。
Q:画原理图时,VCC 和 VDD 的符号怎么选?
A:建议根据芯片数据手册的实际命名来选。如果数据手册写 VDD,原理图就用 VDD;写 VCC 就用 VCC。不要自作主张改名,否则后面对着原理图和手册对引脚时会很痛苦。
Q:芯片有 5 个 VDD 引脚,是不是只要接一个就行?
A:必须全接。多个 VDD 引脚是为了给芯片内部不同区域供电,每个引脚旁边都要放去耦电容。不接的引脚可能导致芯片部分功能异常或运行不稳定。
九、一张总结图
最后,用一张全景图把所有内容串起来——从 BJT 时代的 VCC/VEE 到 CMOS 时代的 VDD/VSS,再到现代芯片的各种后缀,以及帮助记忆的口诀。
十、延伸阅读
如果你想更深入地了解,推荐以下资料:
- 《The Art of Electronics》(Horowitz & Hill)—— 电子工程的圣经,第二章对 BJT 和 MOSFET 有极其清晰的讲解
- STM32 电源管理应用笔记(AN4488)—— ST 官方出品,详细讲解 STM32 各电源域的设计要点
- TI Precision Labs - Power Supply Rejection—— TI 的运放电源抑制比系列视频,理解为什么模拟供电要干净
- FPGA Power Management Design Guide(Xilinx UG583 / Intel AN-748)—— FPGA 多电源域设计的权威指南
写在最后
VCC、VDD、VSS 这些名字,本质上就是不同时代的半导体工艺留下的命名遗产。BJT 时代叫 VCC/VEE,CMOS 时代叫 VDD/VSS,现在的芯片虽然内部几乎都是 CMOS,但因为兼容性和惯例,两种叫法并存。
记住核心原则:
- 看数据手册,不要猜
- 不同名字的引脚可能电压不同,不能随便短接
- 去耦电容每个 VDD/VCC 引脚都要有,就近放置
- 模拟和数字供电要隔离,ADC 才能准
就这些。希望这篇长文能帮你彻底搞清楚这些"电源黑话",以后再看数据手册,心里有底。
作者注:本文中的电路图均为简化示意图,实际电路设计请以芯片官方数据手册为准。
本文首发于车载嵌入式思维,转载请注明出处。