1. 项目概述

FLPowerPro 是一款面向嵌入式开发与电源测试场景设计的高集成度、模块化可扩展迷你数控电源系统。其核心设计目标并非简单复现传统线性或开关电源功能,而是构建一个具备工程级鲁棒性、接口定义清晰、硬件资源可复用、软件架构可裁剪的电源平台。该系统在52 mm × 52 mm × 14 mm 的紧凑空间内,实现了宽范围升降压输出(0.4 V–35 V / 0–8 A)、多协议USB PD/QC检测与诱骗、μA级微电流测量、6S锂电池被动均衡充电、电流型电子负载及实时纹波监测等复合能力。所有功能均围绕一个统一的硬件主控平台展开,通过标准化扩展接口实现功能解耦与按需加载,显著降低了工程师在电源类仪器开发中的重复验证成本。

本项目采用“核心板+扩展板”两级硬件架构:核心板(Main_V1.4)承担全部电源变换、主控逻辑、人机交互与基础通信任务;扩展板则分为内置型(CC扩展板)与外置型(uA测量板、电池充放电板),通过物理接口与软件运行时配置协同工作。这种设计使系统既可作为独立数控电源使用,亦可快速演变为协议分析仪、电池测试站或低功耗电路验证平台。其技术选型与电路实现均体现典型的工业级电源设计思维——不追求参数极限,而强调拓扑可靠性、热管理有效性、保护机制完备性与长期运行稳定性。

1.1 系统架构与设计哲学

FLPowerPro 的系统架构由三个相互支撑的层次构成: 电源变换层 控制与接口层 扩展应用层

  • 电源变换层 以 SC8701 升降压控制器为核心,配合功率MOSFET、储能电感与输入/输出滤波网络,构成闭环DC-DC变换主体。该层直接决定系统输出能力、效率曲线与动态响应特性,其设计严格遵循开关电源基本定律,包括伏秒平衡、电流连续/断续模式边界计算、环路补偿设计及磁元件温升校核。

  • 控制与接口层 由 AT32F403A 高性能Cortex-M4 MCU担当,负责ADC采样、PWM生成、协议解析、LCD驱动、按键/编码器扫描及USB通信。该MCU不仅提供充足外设资源(多路12位ADC、多通道PWM、双UART、I²C、SPI),更关键的是其内置高精度内部参考电压(1.2 V ±1%)与硬件过采样滤波器,为高精度电压/电流测量提供了底层保障。USB接口同时承担固件升级(DFU/IAP)、上位机通信(CDC ACM)与VOFA+波形可视化三重角色,避免了额外调试接口的引入。

  • 扩展应用层 通过两个物理扩展接口(H1内置、U64外置)将MCU的GPIO、ADC、UART、I²C、TIM、CAN等外设资源按需映射至不同功能模块。此设计摒弃了“万能接口”的模糊定义,转而采用“按应用配置引脚功能”的运行时复用策略。例如,当进入uA测量App时,软件自动将指定ADC通道配置为高增益跨阻放大器输入,并启用10 kHz采样定时器;当切换至PD协议App时,则将同一组引脚重配置为I²C主机与GPIO,驱动FUSB302协议芯片。这种软硬协同的资源调度方式,极大提升了有限IO资源的利用效率,也使扩展板设计具备明确的电气约束边界。

整个系统的设计哲学可概括为: 功能可裁剪、硬件可复用、保护可分级、散热可传导、校准可追溯 。每一项设计决策背后均有明确的工程目的:0402封装器件的选择是为了在52 mm见方PCB上容纳全部功能电路,而非盲目追求小型化;插件式1.54寸TFT屏的设计是为了解耦显示模组与核心板热应力,便于维修与更换;NTC温度传感器紧贴外壳背面布置,是为真实反映整机热瓶颈点而非芯片结温;理想二极管方案替代传统背靠背MOSFET,是为突破导通压降对低压输出的限制。这些细节共同构成了一个经得起实际工程检验的电源平台。

2. 硬件设计详解

2.1 核心电源变换电路

FLPowerPro 的核心电源变换电路基于SC8701同步四开关升降压控制器实现。该芯片支持4.5 V–36 V宽输入电压范围,可配置为升压、降压或升降压模式,输出电压范围覆盖0.4 V–35 V(受限于输入电压与占空比极限)。其四开关拓扑结构天然具备输入/输出端双向能量流动能力,为后续实现电子负载、电池充放电及防倒灌功能奠定了硬件基础。

2.1.1 SC8701外围电路设计要点

SC8701的典型应用电路包含以下关键部分:

  • 功率MOSFET选型 :上下桥臂均采用双N沟道MOSFET并联方案(如SIA436DJ),以降低导通电阻(R DS(on) )与开关损耗。并联设计需注意栅极驱动一致性,PCB布局中严格保证驱动回路面积最小化,并在每个MOSFET栅源极间并联10 Ω电阻抑制振荡。

  • 功率电感设计 :选用低DCR、高饱和电流的屏蔽型功率电感(如XAL5030-222ME),其感值(2.2 μH)根据最大输出电流(8 A)与开关频率(约500 kHz)计算确定,确保在满载连续导通模式(CCM)下电流纹波率ΔI/I ≤30%。电感底部通过大面积铜箔直接连接至外壳,形成高效热传导路径。

  • 输入/输出滤波 :输入端采用100 μF固态电容(SP-Cap)并联10 μF陶瓷电容,抑制高频开关噪声注入前级电源;输出端则采用470 μF低ESR电解电容与22 μF陶瓷电容组合,兼顾低频储能与高频去耦。所有大容量电容的PCB焊盘均做全铺铜处理,并通过多个过孔连接至内层地平面。

  • 反馈网络与环路补偿 :输出电压通过高精度分压电阻(0.1%精度,低温漂)采样,送入SC8701的FB引脚。误差放大器补偿网络(RC网络)依据芯片数据手册推荐值设计,并在实际调试中通过Bode图仪验证相位裕度(>45°)与增益裕度(>10 dB),确保全负载范围内系统稳定。

2.1.2 理想二极管防倒灌电路

V1.4版本的核心改进之一是采用MX16171理想二极管控制器替代早期的分立MOSFET方案。MX16171是一款高侧N沟道MOSFET驱动器,内置电荷泵、快速比较器与故障保护逻辑。其工作原理如下:

  • 正常供电时,控制器检测到源极(Source)电压高于漏极(Drain)电压,即电流正向流动,随即驱动外部N-MOSFET(如SQJQ912EP)完全导通,导通压降仅由MOSFET的R DS(on) 决定(典型值3.2 mΩ @ V GS =10 V),远低于肖特基二极管的0.3 V压降。

  • 当发生反向电流(如输出端接入更高电压电池),控制器内部比较器在200 ns内检测到V DS > 50 mV,立即关断MOSFET栅极驱动,切断倒灌路径。

  • 为支持0.4 V超低压输出,MX16171的SRC引脚需接入独立偏置电源(≥3.3 V),确保在极低V OUT 下仍能提供足够栅极驱动电压。该偏置电源由LDO(如XC6206P332MR)从MCU的3.3 V域单独提供,避免受主电源波动影响。

该方案彻底解决了传统背靠背MOSFET方案中因阈值电压(V th )导致的最低输出电压限制问题,使系统在5 V输入时可稳定输出0.4 V,在20 V输入时可输出1.4 V,极大拓展了低压应用场景(如LDO测试、MCU核心电压调试)。

2.2 主控与人机交互电路

2.2.1 AT32F403A最小系统设计

AT32F403A作为主控MCU,其最小系统设计严格遵循雅特力官方硬件设计指南:

  • 电源管理 :VDDA(模拟电源)与VSSA(模拟地)通过10 μH磁珠与100 nF陶瓷电容滤波,与数字电源(VDD/VSS)物理隔离,确保ADC采样精度。内部1.2 V参考电压(VREFINT)经外部缓冲运放(如LMV321)驱动ADC的VREF+引脚,消除MCU内部参考电压负载效应。

  • 时钟系统 :采用8 MHz外部晶振(±20 ppm)作为HSE,经PLL倍频至240 MHz主频。RTC时钟由32.768 kHz晶振提供,确保时间戳与日志记录准确性。

  • 调试接口 :保留SWD调试接口(SWCLK/SWDIO),但未引出至板边连接器,仅用于生产烧录与故障诊断。量产版可通过USB DFU实现无硬件调试器升级。

2.2.2 人机交互组件
  • 显示单元 :1.54寸240×240分辨率TFT-LCD模组,采用SPI接口(4线制,含DC/CS/RES信号)。模组为插件式设计,通过0.5 mm间距排针与核心板连接,便于拆卸与更换。背光由MCU PWM控制,支持亮度调节。

  • 输入单元

    • 滚轮编码器(18脉冲增量型):提供高分辨率电压/电流设定输入,A/B相信号经施密特触发器(SN74LVC1G14)整形后接入MCU的编码器专用输入引脚(TIMx_CH1/TIMx_CH2),支持硬件计数与方向识别,避免软件消抖延迟。
    • 三颗轻触开关(确认、返回、电源启动):采用机械寿命>10万次的国产型号,PCB焊盘周围做阻焊开窗处理,增强焊接牢固性。按键信号经10 kΩ上拉与0.1 μF滤波电容后接入MCU GPIO,软件实现5 ms去抖。
  • 状态指示 :两颗LED(绿色ON、红色FAULT)直连MCU GPIO,通过限流电阻(220 Ω)驱动,直观反映系统供电与故障状态。

2.3 扩展接口与功能实现

2.3.1 内置扩展接口(H1)

H1接口为2×5双排针(2.54 mm间距),共10个引脚,固定分配如下:

引脚 功能 说明
1 3.3 V MCU供电输出
2 GND 系统地
3 I²C_SCL FUSB302时钟线
4 I²C_SDA FUSB302数据线
5 GPIO_PD_EN PD协议使能控制
6 GPIO_QC_EN QC协议使能控制
7 ADC_CC1 CC1电压采样(PD协议)
8 ADC_CC2 CC2电压采样(PD协议)
9 UART_TX 调试/扩展通信
10 UART_RX 调试/扩展通信

该接口专为CC扩展板设计,所有信号均服务于USB Type-C协议分析。FUSB302芯片通过I²C与MCU通信,实时上报CC线电压、协议握手状态及VBUS纹波数据;ADC通道直接采样CC1/CC2对地电压,用于非协商模式下的直通电流监测。

2.3.2 外置扩展接口(U64)

U64接口为2×8双排针(2.54 mm间距),共16个引脚,采用灵活复用设计。其引脚功能随所接入扩展板类型动态配置,典型分配如下:

引脚 uA测量板功能 电池充放电板功能 通用功能
1 ADC_IN (High-Gain) ADC_BAT_VOLT 3.3 V
2 GND GND GND
3 ADC_IN (Mid-Gain) ADC_CELL1 ADC_IN
4 ADC_IN (Low-Gain) ADC_CELL2 ADC_IN
5 TIM_CH1 (PWM) TIM_CH1 (Fan Ctrl) PWM_OUT
6 TIM_CH2 (PWM) TIM_CH2 (Load Ctrl) PWM_OUT
7 UART1_TX UART1_TX UART_TX
8 UART1_RX UART1_RX UART_RX
9 I²C_SCL I²C_SCL I²C_SCL
10 I²C_SDA I²C_SDA I²C_SDA
11 CAN_RX CAN_RX
12 CAN_TX CAN_TX
13 GPIO_INT GPIO_INT GPIO_IN
14 GPIO_CS GPIO_CS GPIO_OUT
15 SPI_MOSI SPI_MOSI SPI_MOSI
16 SPI_MISO SPI_MISO SPI_MISO

此设计允许同一物理接口支持多种扩展功能,软件通过 board_extend_config() 函数在App启动时完成外设初始化与引脚复用配置,确保资源独占与功能正确性。

2.4 散热与结构设计

FLPowerPro 的散热设计贯彻“热源直触、路径最短、界面优化”原则:

  • 热源定位 :SC8701芯片、功率MOSFET、储能电感均为主要发热器件,PCB布局时将其集中布置于板边区域,并确保底部无阻焊覆盖。

  • 热传导路径 :核心板PCB采用1.0 mm厚度,四层板结构(JLC04101H-3313),内层设置完整地平面与电源平面。所有发热器件焊盘下方设计12×12阵列的0.3 mm直径过孔,填充导电胶后与CNC铝合金外壳紧密贴合。实测表明,此设计可将电感表面温度较空气冷却降低35℃以上。

  • 强制风冷接口 :核心板预留2-pin风扇接口(5 V/1 A),支持3004或3507涡轮风扇。风扇驱动由MCU PWM信号经MOSFET(AO3400)控制,转速随NTC检测到的外壳温度线性调节。NTC热敏电阻(10 kΩ @ 25℃)通过导热硅脂紧贴LCD背板金属支架,真实反映整机外壳热平衡温度。

  • 结构工艺 :CNC外壳采用6061-T6铝合金,阳极氧化处理。面板为钢化玻璃,透光率>90%,抗冲击强度达50 J。LCD模组与玻璃面板间可加装OCA光学胶,消除空气间隙,提升显示对比度与结构刚性。

3. 软件架构与关键实现

3.1 分层软件架构

FLPowerPro 的固件采用清晰的分层架构,自底向上分为: Board Abstraction Layer (BAL) Peripheral Driver Layer (PDL) Application Layer (APP) 三层。

  • BAL层 :封装所有与硬件平台强相关的代码,包括MCU时钟初始化、GPIO配置、中断向量表、Flash操作(DFU/IAP)及扩展接口引脚复用管理。 board_extend_config() 函数即位于此层,是扩展功能软件使能的核心入口。

  • PDL层 :提供标准化外设驱动,如 adc_driver.c (支持多通道同步采样、硬件过采样、DMA传输)、 pwm_driver.c (支持互补PWM、死区插入、故障刹车)、 usb_cdc.c (CDC ACM类,支持VOFA+协议帧格式)。所有驱动均采用句柄(handle)机制,支持多实例并发操作。

  • APP层 :由多个独立App组成,每个App封装特定业务逻辑。主循环通过 app_data[] 数组注册所有可用App,UI框架根据用户选择动态加载/卸载。各App间通过全局事件总线(Event Bus)进行松耦合通信,避免直接函数调用依赖。

3.2 关键功能模块实现

3.2.1 多段ADC校准算法

为克服运放失调、电阻温漂及ADC非线性带来的测量误差,系统采用分段线性映射(Piecewise Linear Mapping)校准策略。以电流采样为例:

  • 将0–8 A测量范围划分为3段:0–0.1 A(μA级)、0.1–2 A(mA级)、2–8 A(A级),每段使用独立运放增益与ADC通道。

  • 上位机校准界面提供“校准Map”按钮,用户在每段内输入至少2个已知真值(如标准源输出0.05 A、0.08 A),软件自动记录对应ADC原始码值(Raw Code),并拟合出该段的线性方程:
    I_real = k_i × Raw_Code + b_i

  • 运行时,ADC采样值先判断所属段,再代入对应系数计算真实电流。该方法较单一全局校准可将全量程精度提升至±0.1% FS。

3.2.2 USB PD/QC协议诱骗逻辑

PD诱骗流程由MCU协同FUSB302执行:

  1. 用户在UI中选择“PD诱骗”并确认,MCU通过I²C向FUSB302写入 PDO (Power Data Object)配置,指定期望电压(5/9/15/20 V)与电流(1.5/3/5 A)。

  2. FUSB302自动发起PD握手,若成功,通过中断通知MCU,MCU读取FUSB302寄存器获取协商结果( RDO )。

  3. MCU根据协商结果调整SC8701的输出电压设定值,并开启输出。若握手失败,UI提示“PD Negotiation Failed”。

QC诱骗则通过MCU GPIO模拟D+/D-线上的电压序列实现,严格遵循QC2.0规范中规定的电压跳变时序(如5 V→9 V需在1.25 s内完成)。

3.2.3 电流型电子负载控制

电池放电功能本质是一个恒流电子负载,其实现依赖于SC8701的双向工作能力:

  • 将电池正极接至电源输出端(VOUT+),负极接至GND,此时SC8701工作在反向降压模式,将电池能量回馈至输入电容。

  • MCU通过ADC实时采样输出电流,采用PID算法调节SC8701的COMP引脚电压,从而闭环控制放电电流恒定。比例系数Kp根据电流档位动态调整,确保小电流(100 mA)与大电流(5 A)下均具备快速响应与低超调。

  • 放电过程中,MCU持续监测电池单体电压(通过扩展板ADC采集),当任一单体电压低于预设阈值(如2.8 V)时,立即关闭电子负载并报警。

4. BOM关键器件选型分析

器件类别 型号 选型依据 工程考量
主控MCU AT32F403ACGT7 Cortex-M4@240 MHz, 256 KB Flash, 32 KB SRAM, 高精度ADC/VREF 替代STM32F103,性价比更高,且雅特力提供成熟量产工具链
升降压控制器 SC8701 四开关架构,500 kHz可调开关频率,支持宽Vin/Vout 满足升降压需求,外围电路简洁,厂商提供完整参考设计
理想二极管控制器 MX16171 高侧驱动,200 ns快速关断,支持独立SRC偏置 解决低压输出难题,比分立方案节省PCB面积与BOM成本
USB PD协议芯片 FUSB302B 符合USB PD 2.0,集成CC逻辑,I²C接口 行业标准方案,驱动成熟,TI提供完整协议栈
功率MOSFET SIA436DJ (Dual N) R DS(on) =3.2 mΩ@10 V, SO-8封装 并联设计满足8 A电流,SO-8封装利于散热与焊接
功率电感 XAL5030-222ME 2.2 μH, 12.5 A Saturation Current, Shielded 饱和电流余量充足,屏蔽结构抑制EMI辐射
ADC参考电压 XC6206P332MR (LDO) 3.3 V, 250 mA, Low Dropout 为MX16171 SRC提供稳定偏置,避免主电源波动影响

5. 组装与校准实践指南

5.1 核心板组装要点

  • 0402器件焊接 :使用恒温烙铁(320℃)与0.3 mm细烙铁头,配合助焊膏与真空吸笔。焊接后必须用100×显微镜检查焊点桥连与虚焊。

  • 功率器件安装 :SC8701、MOSFET、电感安装前,PCB焊盘需涂覆0.1 mm厚导热硅脂,再与CNC外壳压合。紧固螺丝扭矩控制在0.5 N·m,避免壳体变形。

  • LCD模组连接 :排针插入前,用酒精棉片清洁金手指,插入后用万用表通断档验证所有引脚连通性。

5.2 固件烧录流程

  1. 安装雅特力USB DFU驱动(Artery_DFU_DriverInstall.exe)。
  2. 按住电源启动键,USB线连接PC,设备管理器识别为“AT32 Bootloader DFU”。
  3. 使用ArteryISPProgrammer.exe,选择USB DFU接口,加载 bl.bin (地址0x08000000)与 fl_power_pro_iap.bin (地址0x08005000)。
  4. 烧录完成后,长按返回键+USB插入,设备识别为“AT32 IAP”U盘,拖入新固件即可完成在线升级。

5.3 精度校准步骤

  • 采样校准 :使用六位半万用表(如Keysight 34465A)作为基准,依次校准电压(VOUT)、输出电流(IOUT)、CC1/CC2电压、电池单体电压等所有ADC通道。每通道至少校准3个点,软件自动保存映射表。

  • 输出校准 :使用高精度直流电源(如ITECH IT6722)作为负载,调节SC8701的PWM占空比(P值),记录对应输出电压(VOUT)与电流(IOUT)的实际值,建立P-I/V查找表。

  • 协议校准 :使用USB协议分析仪(如Total Phase Beagle USB 5000)捕获PD/QC握手过程,验证FUSB302上报数据与实际波形一致性。

6. 扩展应用开发指引

FLPowerPro 的扩展能力不仅限于已有模块,其开放的硬件接口与软件框架支持工程师快速开发定制功能:

  • 新增扩展板开发 :依据U64接口定义,选择所需外设(如需采集温度,可复用ADC通道;需控制继电器,可复用GPIO;需读取EEPROM,可复用I²C),编写 config_new_app() 函数并在 board_extend_config() 中添加分支。

  • 新App开发 :在 ui_homepage.c app_data[] 数组末尾添加新条目,创建 lv_new_open() lv_new_close() 函数,实现UI绘制与事件响应。所有硬件访问必须通过BAL/PDL层API,禁止直接操作寄存器。

  • 上位机开发 :USB CDC串口遵循VOFA+协议格式(帧头0xAA 0x55 + 数据长度 + 数据 + CRC16),开发者可基于此开发专用PC端软件,实现自动化测试、数据记录与报表生成。

该平台的价值,正在于其将电源仪器开发中重复度最高的硬件设计、底层驱动与基础UI抽象为可复用资产,使工程师得以将精力聚焦于真正差异化的应用逻辑与算法创新。

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐