Appearance
电子电路基础
嵌入式开发的第一步不是写代码,而是理解电路。MCU 的每个引脚输出的是电压信号,连接的是真实的物理元件。不懂电路就无法理解数据手册里的电气参数,也无法排查硬件问题。
本篇覆盖嵌入式开发者必须掌握的电路知识,不追求电子工程的完整性,只讲"写固件的人需要知道的那些事"。
一、基本电学量
| 物理量 | 符号 | 单位 | 直觉理解 |
|---|---|---|---|
| 电压 | V | 伏特 V | 水压——推动电流流动的"力" |
| 电流 | I | 安培 A | 水流量——单位时间通过的电荷量 |
| 电阻 | R | 欧姆 Ω | 水管粗细——阻碍电流的程度 |
| 功率 | P | 瓦特 W | 做功速率,P = V × I |
| 电容 | C | 法拉 F | 蓄水池——存储电荷 |
| 电感 | L | 亨利 H | 飞轮——存储磁场能量,抵抗电流突变 |
欧姆定律
V = I × R已知任意两个量就能算第三个。嵌入式中最常用的场景:
- 计算限流电阻:LED 正向压降 2V,MCU 输出 3.3V,想要 10mA 电流 → R = (3.3 - 2) / 0.01 = 130Ω
- 计算分压:两个电阻串联分压,Vout = Vin × R2 / (R1 + R2)
功率与散热
元件有额定功率。一个 0402 贴片电阻通常只能承受 1/16W。如果电流过大,电阻会发热甚至烧毁。
P = I² × R = V² / R二、无源元件
电阻
用途:限流、分压、上拉/下拉、阻抗匹配。
嵌入式常见场景:
- 上拉电阻:I2C 总线的 SDA/SCL 需要 4.7kΩ 上拉到 VCC
- 下拉电阻:按键接地,GPIO 配置为输入时默认低电平
- 限流电阻:LED、基极驱动
- 采样电阻:串联在电路中测量电流(通过测量电阻两端电压)
电容
用途:滤波、去耦、储能、耦合、定时。
嵌入式最重要的用法——去耦电容:
每个 MCU 的 VCC 引脚旁边都要放一个 100nF 陶瓷电容(尽量靠近引脚)。作用是在 MCU 瞬间切换大量 IO 时提供局部电流,防止电源线上产生噪声。
典型配置:
- 每个 VCC 引脚:100nF(0402/0603)
- 电源入口:10µF 电解/钽电容 + 100nF 陶瓷
- 晶振旁:数据手册指定的负载电容(通常 12~22pF)电感
用途:滤波、储能(DC-DC 电源)、EMI 抑制。
嵌入式开发者接触电感最多的场景是 DC-DC 开关电源电路(Buck/Boost),电感是储能元件。选型时关注额定电流和饱和电流。
三、半导体器件
二极管
单向导通。正向压降约 0.7V(硅)或 0.3V(肖特基)。
嵌入式常见用途:
- 防反接:电源入口串联二极管,防止正负极接反烧板
- 续流二极管:继电器/电机线圈并联,吸收反向电动势
- 稳压二极管(齐纳):反向击穿电压稳定,用于简单稳压或钳位保护
- LED:发光二极管,正向压降 1.8~3.3V 取决于颜色
三极管(BJT)
电流控制型开关/放大器。嵌入式中主要当开关用:
MCU GPIO (3.3V) → 基极电阻(1kΩ) → NPN 三极管基极
集电极 → 负载(继电器/蜂鸣器)→ VCC
发射极 → GNDMCU 输出高电平 → 三极管导通 → 负载通电。适合驱动几十~几百 mA 的负载。
MOS 管(MOSFET)
电压控制型开关,导通电阻极低,适合大电流场景。
- N-MOS:栅极高电平导通,放在负载和 GND 之间(低边驱动)
- P-MOS:栅极低电平导通,放在 VCC 和负载之间(高边驱动)
嵌入式常见用途:电机驱动、电源开关、电平转换。
选型关注:Vgs(th)(阈值电压,要确保 MCU 的 3.3V 能完全打开)、Rds(on)(导通电阻)、Id(最大漏极电流)。
运算放大器
理想运放:输入阻抗无穷大、输出阻抗为零、增益无穷大。
嵌入式常见用途:
- 电压跟随器:高阻抗信号缓冲(传感器输出 → ADC 输入)
- 放大电路:微弱信号放大后送 ADC
- 比较器:两个电压比较,输出高/低电平
四、数字电路基础
逻辑电平
| 标准 | 高电平 | 低电平 | 常见场景 |
|---|---|---|---|
| 5V TTL | > 2.0V | < 0.8V | Arduino、老式芯片 |
| 3.3V CMOS | > 2.0V | < 0.8V | 大多数现代 MCU |
| 1.8V | > 1.17V | < 0.63V | 高端 SoC 内核 |
不同电平的芯片互连需要电平转换(Level Shifter),否则可能损坏低压芯片或无法识别高电平。
基本逻辑门
与(AND)、或(OR)、非(NOT)、异或(XOR)、与非(NAND)、或非(NOR)。
嵌入式开发者不需要用分立逻辑门搭电路,但需要理解这些概念来:
- 读懂 MCU 寄存器的位操作
- 理解中断触发条件(上升沿、下降沿、电平触发)
- 理解总线仲裁(CAN 的"线与"特性)
时钟与振荡器
MCU 需要时钟源驱动内部逻辑。常见时钟源:
- 内部 RC 振荡器:精度 ±1~5%,免外部元件,适合对时序要求不高的场景
- 外部晶振(HSE):精度 ±20ppm,串口通信、USB 等需要精确时钟
- 外部低速晶振(LSE):32.768kHz,RTC 专用(2^15 = 32768,方便分频到 1Hz)
五、测量工具
万用表
嵌入式开发必备。常用功能:
- 测电压:确认电源是否正常、IO 电平是否正确
- 测电阻:确认上拉/下拉电阻值、检查短路
- 通断测试:蜂鸣档,快速检查焊接是否连通或短路
- 测二极管:确认方向和正向压降
示波器
看信号波形。嵌入式调试中用于:
- 确认 UART 波特率是否正确
- 观察 SPI/I2C 时序
- 测量 PWM 占空比和频率
- 排查信号完整性问题(过冲、振铃)
入门推荐:Rigol DS1054Z(四通道、50MHz 带宽、性价比高)。
逻辑分析仪
专门抓数字信号时序,通道多(8~16 通道)、采样率高、支持协议解码。
入门推荐:Saleae Logic 兼容品(几十元),配合 PulseView 或 sigrok 软件,能解码 UART/SPI/I2C/CAN 等协议。
六、实践建议
- 买一块面包板和基础元件包:电阻、LED、按键、电容、三极管、杜邦线,总共不到 30 元
- 先用万用表量一切:每次接线前量电压,养成习惯
- 从 LED 开始:理解限流电阻 → 理解 GPIO 输出 → 理解灌电流/拉电流
- 读数据手册的电气参数:关注 Vih/Vil(输入电平阈值)、Ioh/Iol(输出电流能力)、绝对最大额定值
- 不要怕烧东西:入门阶段烧几个 LED 和电阻是正常学费,但要理解为什么烧了
返回 总览与学习路线
