mothercup/hardware_design/mothercup_硬件电路设计.md

15 KiB
Raw Blame History

母乳杯(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(PA0PA6 7 个 + PB0PB13 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 通道/时钟)。