打印
[技术问答]

HC32F334如何用单次缓存解决LLC变频丢波连波问题?

[复制链接]
792|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
米多0036|  楼主 | 2025-4-29 01:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
HC32F334如何用单次缓存解决LLC变频丢波连波问题?


控制器输出频率先缓存
假设你每次环路计算出一个新的目标频率 f_target,不要直接设置到 PWM,而是:

c
复制
编辑
static uint32_t f_current; // 当前PWM频率
static uint32_t f_target;  // 控制器输出的新目标频率
static uint32_t f_step;    // 每次调整的步进量
static uint8_t  updating;  // 是否正在逐步更新
比如:

c
复制
编辑
void LLC_UpdateFrequency(uint32_t new_target)
{
    f_target = new_target;
    f_step = abs(f_target - f_current) / N_DIVISION; // N_DIVISION可设4~10,分成几步走
    updating = 1; // 开启平滑更新
}
Step 2. 定时在 PWM 更新中间插值过渡
在你的 PWM 更新(比如同步到中断回调,或者每次换向前):

c
复制
编辑
void LLC_PWM_Update()
{
    if (updating)
    {
        if (abs(f_current - f_target) <= f_step)
        {
            f_current = f_target;
            updating = 0; // 更新完成
        }
        else
        {
            if (f_current < f_target)
                f_current += f_step;
            else
                f_current -= f_step;
        }
        PWM_SetFrequency(f_current);
    }
}
这样频率变化被“缓冲”了,避免了突然跳变。

使用特权

评论回复
沙发
原来是wjc| | 2025-5-31 17:24 | 只看该作者
f_step的计算最好保证至少为1,否则当频率差小于N_DIVISION时,可能步进为0,导致不更新。

使用特权

评论回复
板凳
y1n9an| | 2025-6-8 16:29 | 只看该作者
HC32F334通过自研高精度PWM发波模块的单次缓存功能、硬件自动置位全局缓存完成标志位,可有效解决LLC变频应用中的丢波和连波问题

使用特权

评论回复
地板
p0gon9y| | 2025-6-8 17:33 | 只看该作者
在三角波模式下,对单元1单次缓存触发位(OSTBTRU1位)写1后,在其后遇到的第一个零点缓存传送点发生一次缓存;或在锯齿波模式下,对OSTBTRU1位写1后,在其后遇到的第一个周期缓存传送点发生一次缓存。

使用特权

评论回复
5
tax2r6c| | 2025-6-8 18:45 | 只看该作者
缓存完成标志,单次缓存完成以后,硬件会自动将全局缓存完成标志位(GBSFLR)置1。完成缓存以后,不会再发生缓存,除非软件重新触发单次缓存。

使用特权

评论回复
6
q1ngt12| | 2025-6-8 19:51 | 只看该作者
寄存器更新,在更新影子寄存器之前,先判断全局缓存完成标志。如果为1,则表示前面的比较值和周期值得到有效更新,便可以更新新的比较值和周期值,更新完相关影子寄存器后再触发单次缓存。如果全局缓存完成标志不为1,则表示前续比较值和周期值未得到有效更新,需等下一控制周期再判断执行,以免覆盖。

使用特权

评论回复
7
q1d0mnx| | 2025-6-8 21:27 | 只看该作者
HC32F334的单次缓存和硬件自动置位全局缓存完成标志位功能确保了相关寄存器得到同步更新与避免覆盖,从而有效解决了丢波问题。这一机制保证了在控制频率和开关频率不同步的情况下,寄存器能够正确更新,避免了波形异常。

使用特权

评论回复
8
lix1yr| | 2025-6-8 22:39 | 只看该作者
HC32F334还设计了强制关断功能(PHSFOCA/B强制低使能功能)。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

135

主题

1428

帖子

1

粉丝