# 母乳杯(MotherCup)制冷杯硬件电路设计 > 基于国民技术 N32WB031(QFN32)BLE SoC,参考 `nations-tec/N32WB031_STB_V1.3` 开发板原理图 > 及《N32WB03x 系列芯片硬件设计指南 V1.4》《N32WB03X 系列用户手册 V1.5》。 > 固件侧对齐 `mcm-ddc-ble`(USART1=PB6/PB7,BLE 低时钟用内部 LSI,**不使用外部 32.768K 晶振**)。 --- ## 1. 需求 → 方案映射 | # | 需求 | 实现方案 | |---|---|---| | 1 | 电源充电可控 | Type-C 5V → 高边 P-MOSFET 开关(GPIO 控制)→ TP4056 充电 → 锂电池;GPIO 可关断充电 | | 2 | 采样制冷片温度 | 10K NTC(B3950) + 10K 分压 → PB8(ADC 直接检测 0~3.6V) | | 3 | 制冷片 PWM 控制 | PB4 = TIM3_CH1 → N-MOSFET(低边)开关 TEC,PWM 调占空比 | | 4 | 留出 UART | PB6(USART1_TX)/PB7(USART1_RX),4 针排针引出(3V3/TX/RX/GND) | | 5 | 进入 Download 模式 IO | PB3 作 BOOT 拉低按键(复位时按住 → 引导程序进 download 模式) | | 6 | SWD 口 | PA4(SWDCLK,10K 下拉)/PA5(SWDIO,10K 上拉),4 针排针引出 | | 7 | 三个 7 段数码管(IO 控制) | 3 位共阴数码管,8 段 + 3 位选 = 11 个 IO 直接动态扫描驱动 | --- ## 2. 系统框图 ``` ┌─────────────────────────────────────────────────┐ USB Type-C(5V,VBUS) ──┤ D1(SS34) ────────────── VSYS(≈4.7V) │ │ │ │ │ │ └─ Q2 P-MOS ─ TP4056 ── BAT+ (锂电 3.7V) │ │ ↑gate │ │ │ CHG_EN(PB0)→Q3 N-MOS 控制 D2(SS34)──┘ │ │ │ │ │ ┌───────────────┴─────┐ │ │ │ VSYS ── LDO3.3V ── VCC_3V3 (MCU/外设) │ │ │ VSYS ── TEC+ ──[TEC]── TEC- ── Q1 NMOS ─ GND │ │ │ ↑gate=TEC_PWM(PB4) │ └────────────────────────┴──────────────────────────────────────────┘ N32WB031: PA0/PA1 ── 32MHz 晶振(XO32MM/XO32MP) PA4/PA5 ── SWD PB6/PB7 ── USART1 TX/RX PB8 ── NTC 温度采样(ADC) PB4 ── TEC PWM(TIM3_CH1) PB0 ── CHG_EN(充电使能) PB3 ── BOOT 下载模式按键 PA2/PA3/PA6/PB1/PB2/PB5/PA0/PA1 ── 8 条段选 SEG_A..DP PB9/PB10/PB11 ── 3 条位选 DIG1..3 ``` --- ## 3. N32WB031 引脚分配(关键) > 芯片引脚号见 STB 原理图 QFN32 封装(33 个焊盘,含底部 GND 大焊盘)。 ### 3.1 固定/系统引脚 | 引脚 | 名称 | 电路连接 | |---|---|---| | 29 | XO32MM_OUT | 32MHz 晶振 Y2(8pF,±10ppm),C15=10pF | | 30 | XO32MP_IN | 32MHz 晶振 Y2,C16=12pF | | 22 | VCC | 3.3V;C13=1uF + C5=0.1uF(近脚)+ C4=10uF | | 28 | VCCRF | 直连 VCC(R3 去掉);C9=1uF | | 8 | VDD_FLASH | 仅退耦,不外接电源;C1=2.2uF + C2=0.1uF | | 24 | VDCDC | C6=1uF;与 23(SWITCH) 间串 L3=4.7uH 功率电感 | | 23 | SWITCH | 经 L3(4.7uH) 接 VDCDC(DCDC 供电模式) | | 27 | VDCDCRF | 直连 VDCDC;C38=1uF | | 26 | VDD_PA | RF 偏置;L1=1.6nH + C18=1uF + C10=47pF | | 25 | RFIOP | 天线匹配:C12=1.2pF/C8=1.2pF/L2=1nH/C14=10pF + ANT | | 33 | VSS | 底部大焊盘,9 过孔接地 | | 3 | RESET | 10K 上拉到 3.3V + 100nF 到 GND + 复位按键 | ### 3.2 功能引脚分配 | 引脚 | 功能 | 方向 | 复用/说明 | |---|---|---|---| | PA4 (5) | SWDCLK | — | **10K 下拉**(硬件指南要求) | | PA5 (6) | SWDIO | — | **10K 上拉**(硬件指南要求) | | PB6 (16) | USART1_TX | 输出 | AF4 | | PB7 (17) | USART1_RX | 输入 | AF4 | | PB8 (9) | NTC_ADC(制冷片温度) | 模拟输入 | ADC 直接检测,0~3.6V,360KΩ | | PB4 (14) | TEC_PWM | 输出 | TIM3_CH1(AF2),接 N-MOSFET 栅极 | | PB0 (4) | CHG_EN(充电使能) | 输出 | 高=充电使能,经 Q3 控制 Q2 P-MOS 栅极 | | PB3 (13) | BOOT_DL(下载模式按键) | 输入 | 按键到 GND,10K 上拉;复位时按住=进 download | | PA2 (1) | SEG_A | 输出 | 数码管段 A | | PA3 (2) | SEG_B | 输出 | 数码管段 B | | PA6 (7) | SEG_C | 输出 | 数码管段 C | | PB1 (11) | SEG_D | 输出 | 数码管段 D | | PB2 (12) | SEG_E | 输出 | 数码管段 E | | PB5 (15) | SEG_F | 输出 | 数码管段 F | | PA0 (31) | SEG_G | 输出 | 数码管段 G | | PA1 (32) | SEG_DP | 输出 | 小数点 DP | | PB9 (10) | DIG1(位选 1) | 输出 | 经 NPN 驱动数码管第 1 位阴极 | | PB10 (18) | DIG2(位选 2) | 输出 | 经 NPN 驱动数码管第 2 位阴极 | | PB11 (20) | DIG3(位选 3) | 输出 | 经 NPN 驱动数码管第 3 位阴极 | | PB12 (19) | 备用 | — | 预留(可作充电状态 LED / 蜂鸣器) | | PB13 (21) | 备用 | — | 预留 | > 引脚占用:外设共 15 个 IO + SWD/UART 4 个 = 19;芯片 GPIO 共 21(PA0~PA6 7 个 + PB0~PB13 14 个), > 剩余 PB12、PB13 两个 IO 备用。PA0/PA1 为独立 GPIO(32MHz 晶振在专用 29/30 脚),可放心作段选。 --- ## 4. 各功能模块电路 ### 4.1 电源输入 + 充电(电源充电可控) ``` VBUS(5V) ──┬── D1(SS34) ────────────► VSYS │ └── Q2(AO3401 P-MOS) 源极 │漏极 ├── TP4056 VCC(4) ──┬─ BAT(5) ──► BAT+ (锂电 3.7V) │ ├─ PROG(2) ── Rprog=1.2K → GND (≈1A 充电电流) │ ├─ TEMP(1) ── GND (不使用温度检测) │ ├─ CHRG(7) ── LED_RED (充电指示,可选) │ ├─ STDBY(6)── LED_GREEN(充满指示,可选) │ └─ CE(8) ── GND (常使能,使能由 Q2 控制) │ Q2 栅极 ──┬── R_pu 10K → VBUS └── Q3(2N7002 N-MOS) 漏极 │栅极 ← Rg 10K ← CHG_EN(PB0) │源极 → GND BAT+ ── D2(SS34) ─────────────► VSYS (电池供电通路,与 VBUS 二选一/自动切换) VSYS ── C_bulk 100uF + C 100nF → GND VSYS ── U_LDO(ME6211C33) ──► VCC_3V3 ── C 1uF + C 100nF → GND ``` 要点: - **充电可控**:`CHG_EN` 高电平 → Q3 导通 → Q2(P-MOS) 栅极拉低 → Q2 导通 → 充电开启; 低电平 → Q2 关断 → 切断充电(可在大电流制冷时关断充电,保护弱 USB 电源)。 - **D1/D2 肖特基 OR-ing**:插 USB 时系统走 5V(≈4.7V),拔掉后自动切到电池(≈3.4V),无切换死区。 - TP4056 为 1A 线性锂电充电器;充电电流 `I = 1000 / Rprog`,Rprog=1.2K ≈ 0.83A(保守,避免与 TEC 抢电)。 - VCC_3V3 用低压差 LDO(ME6211C33,dropout≈40mV@100mA);电池低压到 3.2V 时 MCU 仍可工作(N32WB031 VCC 1.8~3.6V)。 ### 4.2 制冷片 TEC PWM 控制 ``` VSYS ── C1 100uF ── GND VSYS ──┬─────────────► TEC+ (制冷片正极) │ └── D_fw(SS34) 阴极 │阳极 ─────────► TEC- (制冷片负极) TEC- ──┬── Q1(AO3400/IRLML6344 N-MOS) 漏极 │ │栅极 ← Rg 22Ω ← TEC_PWM(PB4) │ │栅极 ── R_pd 10K → GND │ │源极 → GND └── C2 100uF(可选,平滑 PWM) ── GND ``` 要点: - **低边 N-MOS 开关**:PB4 输出 PWM(TIM3_CH1),占空比 0~100% 调节制冷功率。 - Q1 需耐压≥20V、导通电阻低、栅极阈值≤2V(3.3V 逻辑直接驱动)。AO3400/IRLML6244/SI2300 均可,按 TEC 峰值电流(1~3A)选型。 - **D_fw 续流肖特基**(SS34)跨 TEC,泄放导线/接线电感反峰,保护 MOS。 - C2(100uF)可选:平滑 PWM 纹波、降低 TEC 热冲击(推荐加,PWM 频率 10~50kHz)。 - 若需更平滑直流(延长 TEC 寿命),可在 Q1 与 TEC 间串 10~22uH 电感 + 大电容做 LC 滤波,代价是体积。 ### 4.3 制冷片温度采样(NTC) ``` VCC_3V3 ── R_ref 10K(1%) ──┬──► PB8(NTC_ADC) │ NTC 10K B3950 │ GND PB8 ── C_filt 100nF ── GND (抗噪) ``` 要点: - 分压点电压 `V = 3.3 × R_NTC / (R_ref + R_NTC)`。10K/10K 在 25℃ 时为 1.65V,全温区落在 0~3.6V,配合 PB8 直接检测(输入阻抗 360KΩ,分压源内阻 ~5KΩ,无精度损失)。 - NTC 推荐 **10K B3950**(如 NCP18XH103F03RB / 常规 10K 3950 玻璃封装,贴制冷片铝板或冷面)。 - 固件用查表(Steinhart-Hart 或 B 值公式)换算温度;`app_info.c` 现有内部温度/电压 ADC 逻辑可复用,新增 PB8 单端采样通道。 ### 4.4 三数码管显示(IO 直接动态扫描) ``` 8 条段选(MCU 输出,各串 330Ω 限流): SEG_A(PA2) ── 330Ω ── DS1/DS2/DS3 的 A 阳极并联 SEG_B(PA3) ── 330Ω ── ... B SEG_C(PA6) ── 330Ω ── ... C SEG_D(PB1) ── 330Ω ── ... D SEG_E(PB2) ── 330Ω ── ... E SEG_F(PB5) ── 330Ω ── ... F SEG_G(PA0) ── 330Ω ── ... G SEG_DP(PA1)── 330Ω ── ... DP 3 条位选(MCU 输出 → NPN 基极 → 共阴阴极到地): DIG1(PB9) ── 1K ── Q_d1(MMBT3904) 基极,集电极→DS1 公共阴极,发射极→GND DIG2(PB10)── 1K ── Q_d2 ... → DS2 公共阴极 DIG3(PB11)── 1K ── Q_d3 ... → DS3 公共阴极 ``` 要点: - **共阴数码管**(3 位,如 0.36/0.56 英寸红色共阴)。段选由 MCU 直接拉高(每段 ~4mA),位选经 NPN(MMBT3904)灌电流(最多 8 段×4mA≈32mA,NPN 足够)。 - 动态扫描:每位点亮 1/3 周期(如 2~3ms),三位轮询,刷新率 ≥100Hz 无闪烁。 - 显示内容例:温度 `37.5`(第 2 位点 DP),或 `25`℃。段码表由固件按 `SEG_A..DP` 位序生成。 - 若希望少占 IO,可改用 74HC595(3 线)或 TM1650(2 线 I2C)驱动,但用户要求「IO 管脚控制」,本方案用 11 个 IO 直驱。 ### 4.5 UART / SWD / Download 模式接口 - **UART(4P 排针)**:`3V3 | PB6_TX | PB7_RX | GND`,460800 8N1(与固件一致)。外部用 3.3V TTL USB-UART 小板。 - **SWD(4P 排针)**:`3V3 | PA4_SWDCLK | PA5_SWDIO | GND`;板上 PA4 加 10K 下拉、PA5 加 10K 上拉。 - **Download 模式(按键)**:`PB3` 串 10K 上拉到 3.3V,按键一端接 PB3、另一端接 GND。 - 复位/上电时按住该键(PB3=低),Bootloader 检测后进入 download 模式(UART 升级)。 - **需固件配合**:`Boot/src` 引导代码增加「复位后读 PB3,低电平则进入 download」分支(当前 Boot V1.01.00 仅靠 USART1 2s 回车窗口 / 无有效镜像进入,需补这一条 GPIO 判定)。 --- ## 5. BOM(关键器件) | 位号 | 器件 | 参数/型号 | 封装 | 数量 | |---|---|---|---|---| | U1 | N32WB031 | BLE SoC | QFN32 | 1 | | U2 | TP4056 | 1A 锂电充电 IC | SOP8/ESOP8 | 1 | | U3 | ME6211C33 | 3.3V 低压差 LDO | SOT23-5 | 1 | | Y2 | 32MHz 晶振 | 8pF, ±10ppm | 1612(4P) | 1 | | L3 | 4.7uH 功率电感 | RDC≤250mΩ, 800mA | 0805 | 1 | | L1 | 1.6nH 高频电感 | SDCL1005C1N6STDF | 0402 | 1 | | L2 | 1nH 高频电感 | RF 匹配 | 0402 | 1 | | Q1 | N-MOS | 制冷片开关 AO3400/IRLML6244 | SOT23 | 1 | | Q2 | P-MOS | 充电开关 AO3401 | SOT23 | 1 | | Q3 | N-MOS | 充电开关驱动 2N7002 | SOT23 | 1 | | Q_d1..3 | NPN | 位选驱动 MMBT3904 | SOT23 | 3 | | D1,D2,D_fw | 肖特基 | SS34(3A/40V) | SMA | 3 | | NTC | NTC 热敏 | 10K B3950 1% | 0603/玻璃 | 1 | | R_ref | 电阻 | 10K 1% | 0402 | 1 | | Rprog | 电阻 | 1.2K 1% | 0402 | 1 | | 段限流 | 电阻 | 330Ω | 0402 | 8 | | 位选基极 | 电阻 | 1K | 0402 | 3 | | 栅极/上拉 | 电阻 | 10K / 22Ω / 1K 若干 | 0402 | ~10 | | DS1..3 | 数码管 | 3 位共阴红色 | 0.36/0.56" | 1(3位) | | J | 排针 | 2×4P UART+SWD、电池、TEC、NTC | 2.54mm | 若干 | | 电容 | 退耦/滤波 | 见下表 | 0402/0603/0805 | 若干 | 退耦电容(按硬件指南最小系统):1uF×4、0.1uF×12、2.2uF×1、4.7uF×1、10uF×5、10pF×2、12pF×2、47pF×1;另加电源 100uF 电解×1、100nF×若干。 --- ## 6. 固件兼容性说明(重要) | 项 | 现状 | 需要的改动 | |---|---|---| | UART | 已是 PB6/PB7 (AF4) | 无 | | SWD | PA4/PA5 | 无(注意 PA4 下拉/PA5 上拉硬件接法) | | 32.768K 晶振 | 固件用内部 LSI,未用 LSE | **本设计不焊 32.768K 晶振**,PB8/PB9 复用为 ADC/位选 | | 制冷片温度 | 固件现用内部温度/电压 ADC | 新增 PB8 单端 NTC 采样 + 查表换算(`app_info.c` 扩展) | | TEC PWM | 无 | 新增 TIM3_CH1(PB4) PWM 输出 + 占空比控制命令(`appset` 增项) | | 充电使能 | 无 | 新增 PB0 GPIO 输出控制 CHG_EN | | 下载模式按键 | Boot 仅 USART 窗口/无镜像进入 | `Boot/src` 增 PB3 读引脚判定进入 download | | 数码管 | 无 | 新增定时器中断动态扫描 + 段码表(或复用 LED 任务) | --- ## 7. PCB Layout 要点(摘自硬件指南 V1.4) - **RFIOP(25)**:走线短而直、50Ω、四周包地、下方不走线;天线周边 ≥3mm 净空;天线口建议加 TVS 防静电。 - **32MHz 晶振(29/30)**:两条走线短且等长、四周包地;下方(尤其 VDCDCRF 走线)不走线;远离大电流/高速线。 - **芯片 GND**:底部大焊盘,中心 0.6/0.4mm + 四周 8×0.5/0.3mm 共 9 个过孔接地。 - **电源**:走线粗短,小电容近芯片脚;VDCDC(24) 与 SWITCH(23) 间的 4.7uH 电感贴近放置。 - **TEC 大电流**:VSYS/TEC-/MOS 走线加宽(1A 每 1mm 线宽经验值),MOS 与肖特基尽量贴近 TEC 端子。 --- ## 8. 待确认/可选 1. **电池规格**(容量/尺寸:软包 or 18650)→ 决定 TP4056 充电电流与结构。 2. **TEC 规格**(TEC1-03103 等)→ 决定 Q1 选型与是否加 LC 平滑。 3. **数码管尺寸/颜色**(0.28/0.36/0.56 英寸、红/白)→ 决定限流电阻与结构开窗。 4. 是否显示 **°C 符号/小数点**(本设计已预留 DP 段)。 5. 是否需要 **充电状态灯**(可占用备用 PB12/PB13 + TP4056 CHRG/STDBY)。 --- *文档生成:基于 N32WB031 STB V1.3 原理图 + 硬件设计指南 V1.4 + 用户手册 V1.5(引脚 AF 表/ADC 通道/时钟)。*