1. 25kW基站HVDC方案核心架构解析
25kW高压直流供电系统(HVDC)作为现代基站能源基础设施的关键组成部分,其设计直接关系到通信设备的供电质量和系统可靠性。本方案采用三相Vienna整流器与LLC谐振变换器的组合拓扑,在TI C2000系列DSP平台上实现了完整的数字化控制。整套系统包含133个源代码文件,代码量超过3万行,通过模块化架构设计确保了系统的可维护性和扩展性。
1.1 功率拓扑设计原理
Vienna整流器作为前级PFC电路,采用三电平拓扑结构实现单位功率因数校正。与传统两电平PFC相比,其优势主要体现在:
- 开关管电压应力降低50%(仅承受一半母线电压)
- 输入电流THD<3%,满足IEC61000-3-2谐波标准
- 效率提升至98.5%以上(实测25kW满载效率)
后级采用串联全桥LLC谐振变换器,通过变频控制实现DC-DC转换。LLC拓扑的零电压开关(ZVS)特性使得系统在400V输出、25kW功率等级下仍能保持96%以上的转换效率。特别设计的谐振参数(Lr=35μH,Cr=22nF,Lm=210μH)使系统在20%-100%负载范围内均能维持ZVS工作状态。
1.2 DSP控制平台选型
选用TI TMS320F28035作为主控芯片,主要基于以下考量:
- 60MHz主频配合32位定点DSP核,满足100μs级控制周期要求
- 内置CLA(控制律加速器)可并行处理浮点运算,释放CPU资源
- 16通道12位ADC(3MSPS采样率)满足多路电压电流采样需求
- 6组增强型PWM模块(ePWM)支持死区时间纳秒级调节
- 片上CAN 2.0B控制器实现多模块间实时通信
实际开发中发现,F28035的CLA与主核共享数据存储器时存在1个时钟周期的延迟。解决方案是在关键控制循环中使用
__msync指令强制同步,避免数据一致性问题。
2. 核心代码模块深度剖析
2.1 CAN通信子系统实现
2.1.1 通信协议设计
系统采用CAN 2.0B扩展帧格式,定义了两类通信报文:
-
状态广播报文(ID:0x18FFA001)
- 发送周期:10ms
- 数据域包含:
- 模块输出电压(2字节,分辨率0.1V)
- 输出电流(2字节,分辨率0.01A)
- 温度数据(1字节,分辨率1℃)
- 故障代码(1字节)
-
控制指令报文(ID:0x18FFB001)
- 事件触发型
- 数据域包含:
- 目标电压设定值(2字节)
- 电流限制值(2字节)
- 模块启停命令(1字节)
c复制typedef struct {
uint16_t u16Volt; // 输出电压(Q10格式)
int16_t i16Curr; // 输出电流(Q10格式)
uint8_t u8Temp; // 温度值
uint8_t u8FaultCode; // 故障标志位
} tCanStatusMsg;
typedef struct {
uint16_t u16VoltSet; // 电压设定值
uint16_t u16CurrLimit; // 电流限制值
uint8_t u8CtrlCmd; // 控制命令
} tCanCtrlMsg;
2.1.2 负载均衡算法
多模块并联时采用主从式电流均分策略:
- 主机模块周期性(1s间隔)计算系统总电流I_total和模块平均电流I_avg
- 从机模块接收主机广播的I_avg值
- 各从机调整自身输出,使|I_local - I_avg| < 0.05×I_rated
- 动态调节公式:
math复制其中Kp=0.2,Ki=0.05,通过实验整定获得ΔDuty = Kp×(I_avg - I_local) + Ki×∫(I_avg - I_local)dt
实测表明,该算法在60模块并联时,电流不均衡度<2%,优于通信电源行业标准的5%要求。
2.2 实时控制中断服务程序
2.2.1 中断时序规划
系统采用三级中断嵌套结构:
-
ADC采样中断(10kHz)
- 触发ADC转换
- 读取并滤波采样值
- 置标志位触发CLA任务
-
CLA控制中断(10kHz)
- 执行电压/电流环PI计算
- 更新PWM占空比
- 故障检测与保护
-
后台任务(1kHz)
- CAN通信处理
- 状态监测与显示
- EEPROM参数存储
c复制// ADC中断服务例程
__interrupt void adcIsr(void)
{
AdcRegs.ADCINTFLGCLR.bit.ADCINT1 = 1; // 清除中断标志
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
// 读取ADC结果并存入环形缓冲区
g_adcBuffer[g_adcIndex++] = AdcResult.ADCRESULT0;
if(g_adcIndex >= ADC_BUF_SIZE) g_adcIndex = 0;
Cla1ForceTask8(); // 触发CLA任务
}
2.2.2 PI控制器实现
电压环和电流环均采用增量式PI算法,通过Q10格式定点数运算保证实时性:
c复制// CLA优化的PI计算函数
__attribute__((interrupt)) void Cla1Task8 (void)
{
// 读取误差值(Q10格式)
int32_t err = g_isrVars.i16VdcErr0;
// 比例项计算
int32_t pTerm = (err * g_params.i16Kp) >> 10;
// 积分项计算(带抗饱和)
g_isrVars.i32Integral += err;
if(g_isrVars.i32Integral > g_params.i32IntegralMax)
g_isrVars.i32Integral = g_params.i32IntegralMax;
else if(g_isrVars.i32Integral < -g_params.i32IntegralMax)
g_isrVars.i32Integral = -g_params.i32IntegralMax;
int32_t iTerm = (g_isrVars.i32Integral * g_params.i16Ki) >> 20;
// 输出限幅
int32_t output = pTerm + iTerm;
if(output > g_params.i32OutMax)
output = g_params.i32OutMax;
else if(output < g_params.i32OutMin)
output = g_params.i32OutMin;
g_isrVars.i32VdcPiOut = output;
}
3. 关键硬件接口实现细节
3.1 PWM信号生成配置
系统使用ePWM1-4生成LLC变换器的驱动信号,关键配置参数如下:
| 参数项 | 配置值 | 说明 |
|---|---|---|
| 时钟预分频 | HSPCLK/2 | 150MHz → 75MHz |
| 计数模式 | Up-Down | 中心对称PWM |
| 死区时间 | 100ns | 防止上下管直通 |
| PWM频率 | 100kHz | LLC谐振频率附近 |
| 最小占空比限制 | 5% | 保证谐振腔能量维持 |
c复制void initEPwmModule(volatile struct EPWM_REGS *e)
{
// 时基模块配置
e->TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;
e->TBCTL.bit.PHSEN = TB_DISABLE;
e->TBCTL.bit.PRDLD = TB_SHADOW;
e->TBPRD = 375; // 100kHz @75MHz
// 比较模块配置
e->CMPCTL.bit.SHDWAMODE = CC_SHADOW;
e->CMPA.bit.CMPA = 150; // 初始40%占空比
// 动作限定配置
e->AQCTLA.bit.ZRO = AQ_SET;
e->AQCTLA.bit.CAU = AQ_CLEAR;
// 死区模块配置
e->DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;
e->DBCTL.bit.POLSEL = DB_ACTV_HIC;
e->DBRED.bit.DBRED = 8; // 约100ns @75MHz
e->DBFED.bit.DBFED = 8;
}
3.2 ADC采样电路设计
模拟信号采集链路由以下部分组成:
-
电压采样:
- 分压电阻网络(400V→3.3V)
- 二阶RC滤波(fc=1kHz)
- TI OPA4350缓冲器
-
电流采样:
- LEM HAS-50S霍尔传感器
- 差分放大器(增益G=10)
- 抗混叠滤波器(fc=5kHz)
ADC配置要点:
- 采用同步采样模式(EPWM1触发)
- 12位模式下ENOB=10.5位(实测)
- 采样窗口时间≥250ns(满足ADC特性要求)
实际调试中发现,ADC参考电压噪声会影响采样精度。解决方案是在VREF引脚增加10μF钽电容并联0.1μF陶瓷电容,使噪声峰峰值<5mV。
4. 系统保护机制实现
4.1 分级故障保护策略
系统建立三级保护机制应对不同严重程度的故障:
| 保护等级 | 触发条件 | 响应措施 | 恢复方式 |
|---|---|---|---|
| 预警级 | 温度>85℃或电流>105% | 降额运行,点亮黄色LED | 自动恢复 |
| 轻度故障 | 温度>95℃或电压>410V | 关闭PWM,记录故障代码 | 手动复位 |
| 严重故障 | 短路或温度>110℃ | 切断继电器,锁定故障状态 | 需硬件维修 |
故障判断逻辑流程图:
- 实时监测各传感器数据
- 与预设阈值比较(带滞环)
- 更新故障计数器(防误触发)
- 触发相应保护动作
4.2 关键保护参数设置
EEPROM中存储的保护参数如下表所示:
| 参数名 | 地址 | 默认值 | 说明 |
|---|---|---|---|
| OVP_THRESHOLD | 0x100 | 410V | 过压保护阈值 |
| OCP_THRESHOLD | 0x104 | 62.5A | 过流保护阈值(125%额定) |
| OTP_WARNING | 0x108 | 85℃ | 过温预警阈值 |
| OTP_SHUTDOWN | 0x10C | 110℃ | 过温保护阈值 |
| UVP_THRESHOLD | 0x110 | 320V | 欠压保护阈值 |
参数存储采用CRC-16校验(多项式0x8005),确保数据可靠性。开发过程中曾因EEPROM写入时序不当导致参数丢失,最终解决方案是在写操作前后各增加10ms延时,并验证写入数据。
5. 系统调试与优化经验
5.1 功率环路补偿设计
LLC变换器的电压环补偿网络设计步骤:
- 测量开环传递函数(使用网络分析仪注入扰动信号)
- 确定穿越频率(设计为开关频率的1/10,即10kHz)
- 计算补偿器参数:
- 比例系数Kp = 2π×fc×Cout/Gvd
- 积分时间常数Ti = 4/(2π×fc)
- 其中Gvd为控制到输出的传递函数增益
- 在DSP中实现补偿算法,通过CLA加速运算
实测结果表明,优化后的环路相位裕度>60°,增益裕度>10dB,满足动态响应和稳定性要求。
5.2 电磁兼容(EMC)整改措施
系统在初次EMC测试中曾出现以下问题及解决方案:
-
辐射超标(30-100MHz):
- 问题根源:LLC变压器次级回路寄生电容
- 解决措施:增加铜箔屏蔽层,减小环路面积
-
传导骚扰(150kHz-1MHz):
- 问题根源:PFC二极管反向恢复噪声
- 解决措施:改用SiC二极管,并优化缓冲电路参数
-
静电放电(ESD)测试失败:
- 问题根源:面板指示灯与内部电路无隔离
- 解决措施:增加TVS管和光耦隔离
经过三轮整改后,系统顺利通过:
- EN55032 Class B辐射标准
- EN61000-4-2 Level 4静电测试
- EN61000-4-4 Level 4电快速瞬变测试
5.3 生产测试自动化方案
为提升生产效率,开发了基于LabVIEW的自动化测试系统:
-
测试项目:
- 输入特性(效率、功率因数)
- 输出特性(电压调整率、负载调整率)
- 保护功能验证(OVP/OCP/OTP)
- 通信功能测试(CAN/SCI)
-
测试流程:
- 自动加载测试程序(通过SCI接口)
- 执行预设测试序列
- 生成测试报告(PDF格式)
- 不合格品自动标记
该方案使单台测试时间从原来的15分钟缩短至3分钟,测试覆盖率从80%提升至98%。关键是在测试夹具设计中采用了四线制开尔文连接,消除了接触电阻对电流测量精度的影响。