DSP TMS320F280049之移相控制(Phase-Shift Control)-库函数实现

该博客介绍了如何使用DSP TMS320F280049实现移相控制,通过配置PWM模块的寄存器,详细阐述了PWM1和PWM2的移相配置过程,并提供了实验波形,展示了90度移相、100kHz开关频率和50%占空比的PWM输出。读者可以下载完整的CCS工程进行学习和研究。
摘要由CSDN通过智能技术生成

(1)原理介绍

        F280049C的PWM模块功能强大,可以比较容易的实现移相控制。 本节主要向大家讲述用DSP如何编程实现移相控制,如下图所示为移相全桥变换器的移相控制示意图,其中EPWM1A和EPWM1B为占空比50%的互补信号,EPWM2A和EPWM2B也为占空比50%的互补信号。通过控制EPWM1A和EPWM2B的移相角来实现移相控制。

         如上图标注所示,控制上以PWM1的计数时基为基准信号,在PWM1的计数器为零(宏:EPWM_SYNC_OUT_PULSE_ON_COUNTER_ZERO)时PWM1发出同步脉冲SyncOut,同时配置PWM2的同步信号来源为Syncln(宏:EPWM_SYNC_OUT_PULSE_ON_EPWMxSYNCIN)。相关的宏定义如下所示:

typedef enum
{
    //! sync pulse is generated by software
    EPWM_SYNC_OUT_PULSE_ON_SOFTWARE  = 0,
    //! sync pulse is passed from EPWMxSYNCIN
    EPWM_SYNC_OUT_PULSE_ON_EPWMxSYNCIN = 0,
    //! sync pulse is generated when time base counter equals zero
    EPWM_SYNC_OUT_PULSE_ON_COUNTER_ZERO = 1,
    //! sync pulse is generated when time base counter equals compare B value.
    EPWM_SYNC_OUT_PULSE_ON_COUNTER_COMPARE_B = 2,
    //! sync pulse is disabled
    EPWM_SYNC_OUT_PULSE_DISABLED = 4,
    //! sync pulse is generated when time base counter equals compare D value.
    EPWM_SYNC_OUT_PULSE_ON_COUNTER_COMPARE_C = 5,
    //! sync pulse is disabled.
    EPWM_SYNC_OUT_PULSE_ON_COUNTER_COMPARE_D = 6
}EPWM_SyncOutPulseMode;

          当PWM1的时基计数到零数发出同步脉冲,此时,PWM2接收到同步脉冲后将相位寄存器TBPHS中的值加载到时基计数器TBCTR中。也就是说,当PWM1从零开始计数时,PWM2此时从TBPHS寄存器中的值开始计数。因此,PWM1和PWM2实现了移相,改变TBPHS寄存器中的值可以改变移相控制的移相角。

ÿ

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值