# 经典模块电路集

本文档收录可用于检索和比较的候选功能模块，按类别组织。它们不是可直接照抄的定版电路；使用前必须按准确料号、最新原厂数据手册/勘误、工作点、热设计和实物约束重新计算与验证。

---

## 一、电源类模块

### 1.1 LDO降压电路

**原理**：输入电容+LDO+输出电容，最简单的降压方案。

**设计要点**：
- 输入和输出各放一颗滤波电容，靠近LDO引脚摆放。
- 选用低压差LDO：3.7V锂电池供电需确认Dropout Voltage（压差）足够低。
- 确认负载电流在LDO额定范围内，并计算发热：P=(Vin-Vout)×Iout。
- LDO放在待机MOS管之后可降低待机功耗。

**参考芯片**：AMS1117-3.3（旧款，压差约1.1V）、各种新款低压差LDO。

---

### 1.2 Buck DCDC电路

**原理**：上管(MOSFET)储能→下管续流→电感+输出电容滤波。

**设计要点**（布局至关重要）：
- 输入电容必须靠近芯片Vin和GND引脚（2~5mm内），否则线路寄生电感引起Vin尖峰，可能击穿MOSFET。
- 电感远离敏感信号线（开关节点SW有高频振铃）。
- 反馈走线远离电感和SW节点，用地线屏蔽。
- 输出电容推荐X7R陶瓷电容+大容量电解电容组合。
- 电感选型：L = (Vin-Vout)×D / (ΔIL×fsw)，ΔIL=Iout×20%~40%。饱和电流 > Ipk = Iout + 0.5×ΔIL。
- 同步Buck优于非同步Buck（下管用MOSFET而非二极管）。

---

### 1.3 锂电池充电电路（TP4056）

**原理**：经典单节锂电池线性充电方案，CC/CV充电曲线。

**设计要点**：
- 裸TP4056只负责单节锂离子电池CC/CV充电，不提供电池过放保护，也不能替代完整电池保护。只有额外含保护IC与背靠背MOSFET等器件的模块才可能具备过充/过放/过流保护，必须逐项核对模块原理图和器件型号。
- PROG引脚电阻设定充电电流；典型关系为 `Icharge(mA) ≈ 1200 / Rprog(kΩ)`，最终以所用准确料号的数据手册及热设计降额为准。
- LED状态指示：充电中亮红灯（CHRG引脚拉低），充满亮绿灯（STDBY引脚拉低）。
- 输入端加10μF电容，输出端加10μF电容。
- 若由1S锂电池产生3.3V，必须按最低电池电压、LDO压差、系统最低工作电压和放电末段行为核算；需要全放电区间保持3.3V时，应比较Buck-Boost等拓扑，不能默认一颗LDO始终稳压。

---

### 1.4 电池电压采样电路

**原理**：电阻分压→ADC采集→软件换算实际电压。

**设计要点**：
- 先按 `VADC,max = VBAT,max × Rbottom/(Rtop+Rbottom)` 计算，并把电池满充、参考电压误差、电阻容差和瞬态余量计入，确保不超过准确MCU规定的ADC工作范围与绝对最大额定值。
- 示例：8.4V满充电池接3.3V ADC时，顶部可用20K（或两颗10K串联）、底部10K，标称输出约2.8V；两个10K等值分压会输出4.2V，不能直接用于该3.3V ADC场景。
- 分压电阻精度：推荐0.1%精度电阻确保与理论值一致。
- 两个10K串联替代一个20K：减少BOM物料种类。
- 软件滤波：多次采样取平均。

---

### 1.5 ESP32一键自动下载电路

**原理**：CH340C（USB转串口）的RTS/DTR信号经两个三极管控制ESP32的EN和IO0引脚，实现硬件自动进入下载模式。

**核心器件**：CH340C + 两个NPN三极管（如S8050）+ 阻容网络。

**设计要点**：
- 配合芯片使能端（EN）电路使用。
- 无需手动按BOOT/RST按钮，即插即下载。
- 不同ESP32系列的下载绑定位、`EN/CHIP_PU` 时序、推荐RC和USB/UART下载路径并不统一；必须按准确芯片/模组的最新版硬件设计指南核对，不能把一套双三极管电路泛化到全系列。

---

## 二、电机驱动类模块

### 2.1 RZ7899 H桥电机驱动

**原理**：H桥驱动有刷直流电机，两路PWM控制正反转/刹车/滑行。

**真值表**：
| IN1 | IN2 | 状态 |
|-----|-----|------|
| H | L | 正转 |
| L | H | 反转 |
| H | H | 刹车（短路制动） |
| L | L | 滑行（惯性） |

**设计要点**：
- 芯片由电池直接供电（不经LDO），耐压范围宽。
- 外围仅需少量阻容，布局简单。
- 电机两端并联104电容（0.1μF），焊在电机端子上而非PCB上（厂家建议，就近消除电刷火花干扰）。
- 四路电机分配两个定时器，每路两个通道。

---

### 2.2 三相桥式MOS管驱动（无刷电机）

**原理**：MCU→6路PWM→栅极驱动芯片→6颗MOSFET（构成三相H桥）→U/V/W三相输出。

**设计要点**：
- **绝对禁止上下桥同时导通**：上管和下管同时导通形成从电源到地的短路，瞬间烧毁MOSFET。软件上必须插入死区时间。
- 栅极驱动芯片选型：需满足MOSFET栅极驱动电压（通常10V~15V）和驱动电流。
- 集成H桥方案（如DRV8870）可简化设计：支持正反转，最大3.6A，6.5V~45V。

---

### 2.3 PID闭环控制框架

**核心公式**：Output = Kp×Error + Ki×∫Error·dt + Kd×d(Error)/dt

**调试经验**：
- 先调P（比例）项让系统基本响应，再调I（积分）消除稳态误差，D（微分）项可暂缓加入。
- 抗积分饱和（Anti-windup）：当输出已饱和（达到上下限），停止误差积分累加。
- 计算周期建议~20ms，不能太快（噪声放大）也不能太慢（响应滞后）。
- 增量式PID可避免积分项累积过大。

---

## 三、信号处理类模块

### 3.1 同相/反相比例放大器

**同相放大**：Vout = Vin × (1 + Rf/Rg)，输入阻抗高（接近运放输入阻抗）。

**反相放大**：Vout = -Vin × Rf/Rin，输入阻抗=Rin。

**直流偏置叠加**：在运放另一个输入端加入参考电压，实现信号的直流平移（y=Ax+B）。常用于将双极性信号移至ADC输入范围。

**设计要点**：
- 输出串联小电阻（如100Ω）防止运放直接驱动电容性负载导致自激振荡。
- 输出可考虑限流阻抗+双二极管钳位，但必须同时核对后级允许注入电流、VCC回灌/掉电反向供电和故障功耗；详见本文件“输入保护电路”，不能仅凭二极管存在就声明后级安全。
- 运放选型关键参数：增益带宽积、压摆率、轨对轨特性、失调电压。
- 开漏输出比较器（如AP331）输出需要上拉电阻，上拉值不能太大（影响开关速度）。

---

### 3.2 迟滞比较器（滞回比较器）

**原理**：正反馈电阻在输入端产生迟滞窗口，消除输入信号毛刺导致的多次误触发。

**典型配置**：1MΩ反馈 / 10KΩ输入，约100:1迟滞比。

**应用场景**：
- 示波器触发电路：模拟信号与触发电平比较产生触发脉冲。
- 传感器阈值检测：防止在阈值附近反复跳变。
- 波形整形：将模拟波形转为干净的数字方波。

**注意事项**：必须使用迟滞比较器而非普通比较器，后者对噪声极其敏感。

---

### 3.3 PWM转直流电平（简易DAC）

**原理**：PWM→两级RC低通滤波→近似直流电平。改变占空比即可调节输出电压。

**计算公式**：Vout = Vhigh × Duty（占空比）。截止频率 fc = 1/(2πRC)，应远低于PWM频率。

**应用场景**：
- 低成本触发电平生成（替代DAC）。
- LED调光、电机调速。
- 简单模拟控制信号。

**设计要点**：
- 输出经运放电压跟随器（Buffer）做阻抗匹配，确保分压点不受后级负载影响。
- 两级RC比单级滤波效果更好。
- 截止频率通常设为PWM频率的1/10~1/100。

---

### 3.4 ADC多通道DMA采样

**原理**：硬件定时器触发ADC转换→DMA自动将结果搬运到内存数组→通道自动切换。

**设计要点**：
- CW32特别注意：DMA每次传输完成后必须重新配置（与STM32的关键区别）。
- 滤波算法：先去除最大值和最小值后取平均，再加二次滑动平均滤波。
- 外部参考电压：推荐使用2.5V或3.3V外部基准，不用VDD。
- ADC输入范围：0~参考电压，超出范围信号必须先经过模拟前端处理。

---

## 四、人机交互类模块

### 4.1 LED驱动

**通用LED**：GPIO直驱，串联限流电阻。R = (VCC-Vf)/If。红色LED典型Vf≈1.8V~2.2V，If=5~20mA。

**大功率LED/多LED**：用MOSFET开关（GPIO→N-MOSFET栅极→LED串→限流电阻→电源）。

**流水灯**：74HC595移位寄存器级联，三线控制（DATA/CLK/LATCH），可驱动任意数量LED。

---

### 4.2 按键检测

**单个按键**：GPIO输入上拉/下拉 + 消抖（软件延迟20ms二次确认或硬件RC滤波）。

**多按键方案**：
- 每个按键用一个GPIO（简单，占用IO多）。
- ADC按键：不同按键接通不同分压电阻，一个ADC引脚识别多个按键（节省IO，但需注意电阻精度和ADC分辨率）。
- 矩阵按键：N×M矩阵，适合按键数量多的场景。

---

### 4.3 蜂鸣器驱动

**无源蜂鸣器**：需要PWM信号驱动（频率决定音调），三极管放大电流。GPIO→限流电阻→三极管基极→蜂鸣器→VCC。

**有源蜂鸣器/蜂鸣器模块**：只有输入电流和电平都满足GPIO额定值时才可直驱；否则同样使用三极管/MOSFET。区分带驱动模块、裸电磁蜂鸣器和压电蜂鸣器。

**设计要点**：裸电磁蜂鸣器属于感性负载，开关驱动时按电流路径配置续流/钳位；压电蜂鸣器不能机械套用同一续流二极管结论，须按负载类型和驱动方式设计。

---

### 4.4 OLED/TFT屏驱动

**OLED（0.96寸，128x64）**：I2C或SPI接口，3.3V供电。I2C上拉电阻典型值4.7KΩ（模块通常已内置）。

**TFT LCD**：SPI接口（SCK/MOSI/MISO/CS/DC/RST/BLK），分辨率通常240×320或更高。背光可用PWM调光。

---

## 五、音频类模块

### 5.1 FM8002A音频功放

**原理**：AB类音频功率放大器，外围极简。

**设计要点**：
- 关断引脚：高电平=关断（低功耗<1μA），低电平=正常工作。
- 旁路电容推荐1μF（0.1μF也能工作，但1μF性能更好）。
- 音量调节：旋转编码器（数字）或电位器（模拟）。
- 输入耦合电容隔直，输出耦合电容隔直+高通滤波。

---

## 六、可靠性设计模块

### 6.1 输入保护电路

**钳位保护候选**：信号线 → 限流阻抗 → 双二极管（到VCC/GND）→ 输入引脚。钳位电压随二极管、电流和温度变化；必须计算故障电流并核对后级允许注入电流、VCC是否能吸收回灌以及掉电反向供电风险。必要时改用TVS、专用保护/限幅器件或独立可吸收的钳位电源，不能把 `GND-0.3V ~ VCC+0.3V` 当成无条件保证。

**ESD保护**：USB/对外接口加TVS管（如USBLC6-2）。

---

### 6.2 晶振电路

**有源振荡器**：其时钟输出通常接MCU数据手册指定的 `OSC_IN/CLK_IN`，同时还需按准确料号连接VDD、GND及OE/ST/NC等引脚，并核对输出电平、负载和启动时间；不能只按“4脚晶振”泛化引脚定义。

**无源晶振**：需接OSC_IN和OSC_OUT，外部匹配两个负载电容（典型值12pF~22pF，需参考晶振规格书和MCU手册）。匹配不良可能不起振或频偏。

**布局铁律**：
1. 晶振尽量靠近MCU引脚摆放。
2. 负载电容靠近晶振本体。
3. 晶振下方所有层不走信号线（防止干扰）。
4. 远离板边（避免机械应力影响频率）。
5. 周围设禁止铺铜区（减少寄生电容）。
6. 省钱方案：直接用MCU内部校准过的RC振荡器（精度足够大多数非通信场景）。

---

### 6.3 磁珠使用方法

**作用**：在特定频率下呈现阻抗特性，用于EMI抑制和噪声隔离。

**典型用法**：更常见的是在独立电源支路上结合就近去耦抑制高频噪声。默认保持连续GND参考面，通过布局和回流控制隔离敏感模拟区与开关区；只有数据手册、隔离架构或回流分析明确要求时才分地并定义连接点。

**与电感的区别**：磁珠和电感的用途与频率特性不同，不能只按标称阻抗互换。是否使用磁珠取决于噪声频谱、源/负载阻抗、直流偏置、压降与谐振，不由“是否电池供电”或“是否有DC/DC”单独决定。

---

### 6.4 缝合孔/回流孔

**作用**：在铺铜区域放置过孔阵列，连接各层GND铜皮，减少回流路径阻抗。

**设计要点**：
- 嘉立创EDA：选中铺铜→右侧属性→放置缝合孔→设置行距/列距→一键铺满（也可一键移除）。
- 缝合孔遵循过孔设计规则，外径/内径超规会触发DRC报错。
- 推荐在铺铜空旷区域加大缝合孔密度。

---

### 6.5 泪滴

**作用**：加强导线与焊盘连接、平滑导线交叉处过渡、平滑信号传输（减少阻抗突变）。

**设计要点**：
- 支持圆弧泪滴，可设置宽度/高度。
- 应用范围可选：导线-多层焊盘、导线-单层焊盘、导线-导线交叉处。
- 可新增全部/移除全部。
