LLC谐振电路通常用于高效电源转换,其性能依赖于精确的开关频率控制和实时反馈。因此,软件架构设计的目标是为LLC电路提供稳定的控制、保护和优化机制。软件架构通常运行在嵌入式平台(如MCU或DSP)上,与硬件紧密结合。

以下是一个典型的软件架构设计框架:


1. 架构层次

(1) 数据采集层
  • 功能:实时采集LLC电路的运行参数。
  • 输入
    • 输入电压(Vin)
    • 输出电压(Vout)
    • 输出电流(Iout)
    • 谐振电流(可选,用于高级控制)
  • 硬件支持:ADC(模数转换器)模块。
  • 软件实现
    • 配置ADC采样率(通常需要高频采样,比如10kHz以上)。
    • 数据滤波(如滑动平均或卡尔曼滤波)以减少噪声。
  • 设计要点:确保采样频率与LLC电路的开关频率(通常几十kHz到几百kHz)匹配。
(2) 控制层
  • 功能:根据反馈数据动态调整LLC电路的工作状态。
  • 核心算法
    • 频率调制:通过改变开关频率(fsw)调节输出电压,保持ZVS(零电压开关)操作。
    • PID控制:用于稳定输出电压或电流。
    • 状态机:管理启动、正常运行、关机等不同模式。
  • 软件实现
    • PWM生成模块:利用MCU的定时器生成对称的PWM信号,驱动半桥或全桥电路中的开关器件(如MOSFET)。
    • 闭环控制:基于Vout与目标值的误差调整频率。
  • 设计要点
    • 计算谐振频率(fr = 1 / (2π√(Lr * Cr)))作为基准。
    • 确保频率调节范围覆盖增益曲线(低于fr为升压区,高于fr为降压区)。
(3) 输出层
  • 功能:将控制信号传递给硬件。
  • 输出
    • PWM信号:控制开关器件。
    • 状态指示:通过LED或通信接口反馈运行状态。
  • 软件实现
    • 配置定时器中断生成高精度PWM。
    • Dead-time(死区时间)控制,避免桥臂直通。
  • 设计要点:死区时间需根据MOSFET的开关特性调整(通常几十到几百纳秒)。
(4) 保护与监控层
  • 功能:确保系统安全运行。
  • 保护机制
    • 过压保护(OVP)
    • 过流保护(OCP)
    • 过温保护(OTP)
  • 软件实现
    • 中断服务程序(ISR):实时检测异常并停止PWM输出。
    • 状态日志:记录故障信息,便于调试。
  • 设计要点:设置合理的阈值,并考虑响应时间(需在微秒级)。
(5) 通信层(可选)
  • 功能:与上位机或其他系统交互。
  • 协议:I2C、UART、CAN等。
  • 软件实现
    • 发送实时数据(如Vout、Iout)。
    • 接收外部指令(如目标电压调整)。
  • 设计要点:确保通信不会干扰实时控制的中断优先级。

2. 典型软件流程

以下是一个简化的LLC控制软件流程(伪代码形式):

void main() {
    initialize_system(); // 初始化ADC、PWM、定时器等
    while (1) {
        // 数据采集
        Vin = read_adc(VIN_CHANNEL);
        Vout = read_adc(VOUT_CHANNEL);
        Iout = read_adc(IOUT_CHANNEL);

        // 保护检查
        if (Vout > VOUT_MAX || Iout > IOUT_MAX) {
            disable_pwm(); // 停止PWM输出
            trigger_fault();
            continue;
        }

        // 控制算法
        error = Vout_target - Vout;
        freq = pid_calculate(error); // PID调整频率
        update_pwm_frequency(freq);  // 更新PWM

        // 通信(可选)
        send_status(Vout, Iout);
    }
}

void interrupt_timer() {
    // 高优先级中断,用于精确PWM生成
    toggle_pwm_pins();
}

3. 设计关键点

  • 实时性:LLC电路的开关频率较高,软件需保证低延迟,通常使用RTOS(如FreeRTOS)或裸机循环。
  • 计算效率:PID或其他算法需优化,避免浮点运算过载低端MCU。
  • 模块化:将采集、控制、保护分开,便于调试和扩展。
  • 硬件依赖:软件设计需适配具体MCU(如STM32、TI C2000系列)的外设特性。

4. 工具与实现

  • 开发环境
    • Keil uVision 或 STM32CubeIDE(ARM平台)。
    • Code Composer Studio(TI DSP)。
  • 仿真验证
    • 用MATLAB/Simulink设计控制算法。
    • 用LTspice验证电路与控制的匹配。
  • 调试工具
    • 示波器:观察PWM波形和输出电压。
    • 串口调试:实时输出关键参数。
Logo

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

更多推荐