1. 项目背景与核心器件选型
在工业控制、医疗设备和实验室仪器等领域,经常需要将低压直流电源转换为高压直流输出。传统方案采用分立元件搭建,存在设计复杂、效率低下和体积庞大等问题。本项目采用德州仪器TPS61170升压转换器与Microchip PIC32MX764F128L微控制器组合,构建高效紧凑的高压DC-DC转换系统。
TPS61170是一款集成1.2A/40V功率MOSFET的升压转换器,具有以下突出特性:
- 宽输入电压范围(3-18V)
- 高达38V的可调输出电压
- 1.2MHz固定开关频率
- 93%峰值效率
- 2x2mm QFN超小封装
PIC32MX764F128L作为主控MCU,其优势在于:
- 80MHz主频的MIPS32内核
- 128KB Flash + 32KB RAM
- 丰富的外设接口(PWM/ADC/Comparator)
- 工业级温度范围(-40℃~85℃)
这个组合特别适合需要智能控制的升压应用场景,如:
- 便携式设备的电池电压提升
- LED驱动电源
- 工业传感器供电
- 实验室高压偏置电源
2. 硬件电路设计与关键参数计算
2.1 典型升压拓扑结构
TPS61170的标准升压配置如图1所示,核心元件包括:
- 功率电感(L1)
- 输出电容(Cout)
- 反馈电阻网络(R1/R2)
- 输入滤波电容(Cin)
关键设计要点:电感选型直接影响转换效率,建议选择饱和电流≥1.5倍峰值开关电流、DCR<100mΩ的功率电感。本例选用Coilcraft MSS1048系列4.7μH电感。
2.2 输出电压设置
输出电压由FB引脚的分压电阻决定:
Vout = Vfb × (1 + R1/R2)其中Vfb=1.229V(典型值)。假设需要24V输出:
取R2=10kΩ,则R1=10kΩ×(24/1.229-1)≈185kΩ实际选用182kΩ标准电阻,理论输出23.8V。
2.3 电感参数计算
电感值选择需满足连续导通模式(CCM)要求:
L(min) = [Vin(min) × D(max)] / [fsw × ΔIL]其中:
- Vin(min)=5V(最低输入)
- D(max)=1-Vin/Vout=1-5/24≈0.79
- fsw=1.2MHz
- ΔIL取30%峰值电流(0.36A)
计算得L(min)=3.6μH,选择4.7μH留有裕量。
2.4 输入/输出电容选择
输入电容需抑制高频纹波:
Cin ≥ Iout × D / (fsw × ΔVin)假设允许100mV纹波,24V/150mA输出时: Cin ≥ 10μF → 选用22μF X7R陶瓷电容
输出电容影响负载瞬态响应:
Cout ≥ Iout × D / (fsw × ΔVout)取ΔVout=240mV(1%): Cout ≥ 4.1μF → 选用10μF/50V陶瓷电容
3. PIC32MX的智能控制实现
3.1 PWM动态调压接口
TPS61170的CTRL引脚支持两种调压方式:
- Easyscale™数字协议(1-Wire)
- PWM模拟调压
本例采用PIC32的OC1模块生成PWM信号:
// PWM初始化代码 void PWM_Init(void) { OC1CON = 0; // 先关闭模块 OC1R = 500; // 初始占空比50%(10bit分辨率) OC1RS = 0; OC1CON = 0x000E; // PWM模式,无故障保护 T2CON = 0x8030; // 定时器2使能,预分频1:8 PR2 = 1000; // 1kHz PWM频率 }3.2 输出电压监测
通过PIC32内置ADC检测实际输出电压:
#define VOUT_ADC_CHAN 3 float ReadVoltage(void) { AD1CHS = VOUT_ADC_CHAN << 16; // 选择通道 AD1CON1bits.SAMP = 1; // 开始采样 while(!AD1CON1bits.DONE); // 等待转换完成 return (float)ADC1BUF0 * 3.3 / 1024.0 * (182+10)/10; }3.3 保护功能实现
利用PIC32的比较器模块实现过流保护:
void Protect_Init(void) { CM1CON = 0x800D; // 比较器使能,输出极性正常 CM1CHS = 0x03; // 选择C1IN+输入 IPC6bits.CM1IP = 5; // 中断优先级 IFS1bits.CM1IF = 0; // 清除中断标志 IEC1bits.CM1IE = 1; // 使能中断 } void __ISR(_COMPARATOR_1_VECTOR) CM1_Handler(void) { if(CM1CONbits.COUT){ // 过流触发 OC1CON = 0; // 关闭PWM输出 LATBbits.LATB7 = 1; // 点亮故障LED } IFS1bits.CM1IF = 0; }4. 实际调试问题与解决方案
4.1 启动振荡问题
现象:轻载时输出电压不稳定,出现周期性波动。
原因分析:TPS61170在轻载时进入跳周期模式,反馈环路补偿不足。
解决方案:
- 增加假负载电阻(如100kΩ)
- 优化补偿网络:
- 在FB引脚增加22pF补偿电容
- R1并联4.7nF电容形成超前补偿
4.2 电磁干扰(EMI)抑制
高频开关导致辐射超标,采取以下措施:
- 输入/输出端添加铁氧体磁珠(如Murata BLM18PG系列)
- 电感下方保持完整地平面
- 开关节点铜箔面积最小化
- 在D1肖特基二极管两端并联100pF电容
4.3 热管理优化
实测发现芯片在24V/200mA输出时温升达65℃:
改进方案:
- 增加PCB散热面积:
- 在QFN封装底部开4x4阵列过孔(直径0.3mm)
- 背面敷铜面积扩大到15x15mm
- 降低开关损耗:
- 将开关频率降至800kHz(通过CTRL引脚PWM调频)
- 选用更低VF的肖特基二极管(如B340A)
5. 性能测试数据
测试条件:Vin=5V, Vout=24V, Ta=25℃
| 参数 | 实测值 | 规格要求 |
|---|---|---|
| 效率@100mA | 91.2% | >90% |
| 效率@300mA | 88.7% | >85% |
| 输出电压精度 | ±1.5% | ±2% |
| 负载调整率 | 0.8% | <1% |
| 线性调整率 | 0.3% | <0.5% |
| 启动时间 | 2.1ms | <5ms |
| 纹波电压(p-p) | 120mV | <150mV |
动态响应测试:
- 负载阶跃变化(50mA↔200mA)时,输出电压跌落<300mV
- 恢复时间<500μs
6. 进阶应用扩展
6.1 多路输出实现
利用TPS61170的SEPIC拓扑能力,可同时产生正负电压:
- 正输出:+24V/150mA
- 负输出:-12V/50mA 关键改动:
- 增加耦合电感替代L1(如Würth Elektronik 7443630900)
- 添加负压整流二极管和滤波电容
6.2 数字电位器调压
用MCP4131数字电位器替代R1,实现I²C调压:
void SetVoltage(float targetV) { uint16_t dig = (uint16_t)(targetV/1.229 - 1) * 100; I2C_Write(MCP4131_ADDR, 0x00, dig >> 8); I2C_Write(MCP4131_ADDR, 0x01, dig & 0xFF); }6.3 电池供电优化
针对锂电池应用(3.7V→12V)的特殊处理:
- 增加低电压锁定(LVLO)功能:
if(ReadVoltage() < 3.3) { EN = 0; // 关闭转换器 }- 轻载时自动切换至PFM模式
- 动态调整开关频率(1.2MHz@满载→600kHz@轻载)
在实际部署中发现,采用TPS61170+PIC32MX的方案相比传统分立方案,PCB面积缩小60%,效率提升15个百分点。特别是在需要频繁调压的场合,数字控制展现出显著优势。一个值得注意的经验是:在高升压比(如5V→24V)时,适当降低开关频率(至800kHz-1MHz)可以显著改善热性能,而效率损失仅2-3%。