1. 项目背景与核心器件选型在嵌入式系统开发中电源管理模块的设计往往决定了整个系统的稳定性和可靠性。当我们需要将低电压如3.3V或5V转换为更高的工作电压如12V/24V时DC-DC升压转换器就成为不可或缺的关键部件。TPS61170作为德州仪器(TI)推出的一款高性能升压转换芯片配合STM32C031C6这类资源丰富的微控制器能够构建出高效、智能的电源解决方案。TPS61170的主要技术特性包括宽输入电压范围3V至18V高达38V的输出电压能力集成1.2A/40V的功率MOSFET1.2MHz固定开关频率轻载时采用跳周期模式提升效率内置软启动和热保护功能选择STM32C031C6作为控制核心主要基于以下考虑丰富的外设资源多路PWM输出和ADC输入低功耗特性适合电池供电场景成本效益相比同系列其他型号更具价格优势开发便利性完善的生态系统支持2. 硬件电路设计与关键参数计算2.1 基础升压拓扑结构TPS61170的标准应用电路采用Boost升压拓扑基本元件包括功率电感L1输出电容Cout续流二极管D1反馈电阻网络R1/R2典型电路连接方式为输入电源正极连接芯片VIN引脚SW引脚连接电感一端和二极管阳极二极管阴极连接输出电容正极FB引脚通过电阻分压网络监测输出电压2.2 电感选型计算电感值是影响转换效率的关键参数计算公式为L (Vout - Vin) × (Vin/Vout) × (1/(fsw × ΔIL))其中Vout 目标输出电压如24VVin 最低输入电压如5Vfsw 开关频率1.2MHzΔIL 电感纹波电流通常取最大电流的20-40%举例计算 假设Vin5V, Vout24V, Iout150mA, 取ΔIL30%×Iout×(Vout/Vin)0.216A 则L ≈ (24-5)×(5/24)×(1/(1.2×10⁶×0.216)) ≈ 15μH实际选择时需考虑饱和电流应大于峰值开关电流直流电阻(DCR)影响效率推荐使用铁氧体磁芯电感2.3 输出电容选择输出电容主要影响输出电压纹波计算公式Cout ≥ Iout × (1-D) / (fsw × ΔVout)其中D 占空比 ≈ (Vout - Vin)/VoutΔVout 允许的纹波电压对于24V输出、150mA负载允许100mV纹波时 D ≈ (24-5)/24 ≈ 0.79 Cout ≥ 0.15 × (1-0.79) / (1.2×10⁶ × 0.1) ≈ 2.6μF实际应用建议选择X5R/X7R介质的陶瓷电容额定电压需高于最大输出电压并联多个电容改善高频特性3. STM32C031C6的智能控制实现3.1 PWM动态调压接口TPS61170的CTRL引脚支持两种调压方式Easyscale™数字协议单线串行接口PWM模拟调光通过占空比调节输出电压我们采用STM32的PWM输出实现第二种方案具体配置步骤// 初始化TIM2 Channel 1 PWM输出 void PWM_Init(void) { GPIO_InitTypeDef GPIO_InitStruct {0}; TIM_OC_InitTypeDef sConfigOC {0}; // 使能时钟 __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_TIM2_CLK_ENABLE(); // 配置PA5为TIM2_CH1 GPIO_InitStruct.Pin GPIO_PIN_5; GPIO_InitStruct.Mode GPIO_MODE_AF_PP; GPIO_InitStruct.Pull GPIO_NOPULL; GPIO_InitStruct.Speed GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate GPIO_AF2_TIM2; HAL_GPIO_Init(GPIOA, GPIO_InitStruct); // 定时器基础配置 htim2.Instance TIM2; htim2.Init.Prescaler 48-1; // 1MHz时钟 htim2.Init.CounterMode TIM_COUNTERMODE_UP; htim2.Init.Period 100-1; // 10kHz PWM频率 htim2.Init.ClockDivision TIM_CLOCKDIVISION_DIV1; HAL_TIM_PWM_Init(htim2); // PWM通道配置 sConfigOC.OCMode TIM_OCMODE_PWM1; sConfigOC.Pulse 50; // 初始50%占空比 sConfigOC.OCPolarity TIM_OCPOLARITY_HIGH; sConfigOC.OCFastMode TIM_OCFAST_DISABLE; HAL_TIM_PWM_ConfigChannel(htim2, sConfigOC, TIM_CHANNEL_1); // 启动PWM HAL_TIM_PWM_Start(htim2, TIM_CHANNEL_1); }3.2 输出电压闭环控制通过ADC监测实际输出电压形成闭环控制#define VOUT_TARGET 24.0f // 目标输出电压 void ADC_Init(void) { ADC_ChannelConfTypeDef sConfig {0}; hadc1.Instance ADC1; hadc1.Init.ClockPrescaler ADC_CLOCK_SYNC_PCLK_DIV4; hadc1.Init.Resolution ADC_RESOLUTION_12B; hadc1.Init.ScanConvMode DISABLE; hadc1.Init.ContinuousConvMode ENABLE; hadc1.Init.DiscontinuousConvMode DISABLE; hadc1.Init.ExternalTrigConvEdge ADC_EXTERNALTRIGCONVEDGE_NONE; hadc1.Init.DataAlign ADC_DATAALIGN_RIGHT; hadc1.Init.NbrOfConversion 1; hadc1.Init.DMAContinuousRequests DISABLE; hadc1.Init.EOCSelection ADC_EOC_SINGLE_CONV; HAL_ADC_Init(hadc1); // 配置ADC通道 sConfig.Channel ADC_CHANNEL_1; sConfig.Rank 1; sConfig.SamplingTime ADC_SAMPLETIME_28CYCLES; HAL_ADC_ConfigChannel(hadc1, sConfig); // 启动ADC HAL_ADC_Start(hadc1); } void Voltage_Control_Loop(void) { static float vout_measured 0; static uint32_t adc_value 0; static float error_integral 0; const float Kp 2.0f, Ki 0.1f; // 读取ADC值 adc_value HAL_ADC_GetValue(hadc1); vout_measured (adc_value / 4095.0f) * 3.3f * (R1R2)/R2; // PI控制算法 float error VOUT_TARGET - vout_measured; error_integral error; // 计算新的PWM占空比(限制在10%-90%) uint32_t new_pulse __HAL_TIM_GET_COMPARE(htim2, TIM_CHANNEL_1); new_pulse (uint32_t)(Kp * error Ki * error_integral); new_pulse (new_pulse 10) ? 10 : (new_pulse 90) ? 90 : new_pulse; // 更新PWM输出 __HAL_TIM_SET_COMPARE(htim2, TIM_CHANNEL_1, new_pulse); }4. 实际应用中的问题排查与优化4.1 常见故障现象与解决方法无输出电压检查EN引脚电平应高于1.5V测量VIN引脚电压是否在3-18V范围内确认电感与二极管连接正确检查FB引脚分压电阻值输出电压不稳定增加输出电容容量检查反馈走线是否远离噪声源确认电感未饱和尝试调整补偿网络在COMP引脚添加RC芯片过热测量实际开关电流是否超过1.2A检查PCB散热设计充分利用GND铜箔降低开关频率可通过外部时钟同步4.2 PCB布局关键要点功率回路最小化输入电容尽量靠近VIN和GND引脚SW节点面积尽可能小使用短而宽的走线连接功率元件敏感信号处理FB分压电阻靠近芯片放置FB走线远离功率走线和电感在FB引脚添加100pF-1nF的滤波电容散热设计充分利用芯片底部的散热焊盘添加多个过孔连接到底层铜箔必要时增加铜箔面积或散热片4.3 效率优化技巧元件选型优化选择低DCR电感如100mΩ使用低VF肖特基二极管如B340A选择低ESR陶瓷电容工作模式调整轻载时允许进入跳周期模式根据负载动态调整PWM占空比在允许范围内适当降低开关频率软件策略优化实现输出电压的负载自适应调节添加温度监控和降额保护在待机时降低输出电压5. 进阶应用多路输出与特殊拓扑5.1 SEPIC拓扑实现TPS61170支持SEPIC(单端初级电感转换器)拓扑适用于输入电压可能高于或低于输出电压的场景。关键改动包括增加耦合电感或两个独立电感添加串联电容通常1-10μF调整反馈电阻网络SEPIC拓扑的电压转换比为 Vout/Vin D/(1-D)5.2 负电压生成通过电荷泵技术TPS61170可以产生负电压使用两个二极管和两个电容构成逆变器输出电压为 -Vout需注意二极管和电容的耐压值5.3 多路输出设计利用单个TPS61170实现多路输出的方案主输出通过Boost拓扑获得辅助输出通过反激绕组或电荷泵获得需注意各路的交叉调整率6. 测试验证与性能评估6.1 基础测试项目空载特性测试输入电流应1mA输出电压精度±2%以内启动时间通常1ms负载调整率测试从10%到100%负载阶跃变化记录输出电压波动范围评估恢复时间效率测试测量不同负载下的输入/输出功率绘制效率曲线识别最佳效率点6.2 示波器测量要点开关节点波形观察上升/下降时间检查振铃现象测量占空比电感电流波形确认连续/断续模式测量纹波电流检查是否有饱和迹象输出电压纹波使用接地弹簧探头设置20MHz带宽限制测量峰峰值电压6.3 长期可靠性验证老化测试持续满载运行24小时监测温升变化检查参数漂移环境测试高低温循环-40℃~85℃湿度测试85%RH振动测试EMC测试传导发射辐射发射静电抗扰度在实际项目中我们通过STM32C031C6的DAC功能实现了输出电压的数字化校准将系统精度提升到了±0.5%的水平。同时利用芯片内置的温度传感器增加了过热降额保护功能当检测到芯片温度超过85℃时会自动降低输出电流直至温度恢复正常。这种软硬件结合的设计方法使得整个电源系统在保证性能的同时也具备了良好的可靠性和安全性。