This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TIDM-HV-1PH-DCAC:中文 μ 拼音 μ A

Guru**** 2616675 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/698607/tidm-hv-1ph-dcac

器件型号:TIDM-HV-1PH-DCAC

如手册所述 、Q1、Q2是高频开关、 Q3、Q4是低频开关、 但我读取了代码、看起来它们都是高频开关、

手动错误吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Claud、  

    手册不是错误的、  

    我相信您已经误解了代码。  

    在代码中,我们确实将低频开关配置为与高频开关具有相同的时基,以确保在零处精确地交叉。  

    但它们本身是在低频下调制的。 您可能需要读取 ISR 代码并从此处了解调制。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢主席先生、下面的代码是用于实现它的吗? 我不理解,您能简要说明一下。 谢谢。

    内联空更新反向器 PWM (uint32_t base1、uint32_t BASE2、浮点占空比)

    uint16_t invDuty;

    InvDuty=((float)(INV_PWM_PERIOD/2.0))*(1-fabs (Duty));

    if (invDuty==(ePWM_getTimeBasePeriod (base1))))

    invDuty=invDuty-1;


    ePWM_setCounterCompareValue (base1、ePWM_COUNTER_COMPARE_A、invDuty);
    ePWM_setCounterCompareValue (BASE2、ePWM_COUNTER_COMPARE_A、1);

    //等待 PWM 开始递减计数
    if (ePWM_getTimeBaseCounterDirection (base1)=0)//确保 PWM 正在递减计数

    if (Duty>=0)

    // CTR = CMPA@UP,设置为1
    ePWM_setActionQualifierAction (base1、ePWM_AQ_output_A、
    ePWM_AQ_OUTPUT 高电平、ePWM_AQ_OUTPUT ON_TIMEBASE_UP_CMPA);
    // CTR = CMPA@DOWN,切换
    ePWM_setActionQualifierAction (base1、ePWM_AQ_output_A、
    ePWM_AQ_output_toggle、ePWM_AQ_output_on_timebase_down_cmPA);
    // CTR=0,清零
    ePWM_setActionQualifierAction (base1、ePWM_AQ_output_A、
    ePWM_AQ_output_low、ePWM_AQ_output_on_timebase_zero);
    // CTR = CMPA@DOWN,清零
    ePWM_setActionQualifierAction (BASE2、ePWM_AQ_output_A、
    ePWM_AQ_output_low、ePWM_AQ_output_on_timebase_down_cmPA);

    其他

    // CTR = CMPA@向上,清零
    ePWM_setActionQualifierAction (base1、ePWM_AQ_output_A、
    ePWM_AQ_output_low、ePWM_AQ_output_on_timebase_up_cmPA);
    // CTR = CMPA@DOWN,切换
    ePWM_setActionQualifierAction (base1、ePWM_AQ_output_A、
    ePWM_AQ_output_toggle、ePWM_AQ_output_on_timebase_down_cmPA);
    // CTR=0,设置为1
    ePWM_setActionQualifierAction (base1、ePWM_AQ_output_A、
    ePWM_AQ_OUTPUT 高电平、ePWM_AQ_OUTPUT ON_TIMEBASE_ZERO);
    // CTR = CMPA@DOWN,设置
    ePWM_setActionQualifierAction (BASE2、ePWM_AQ_output_A、
    ePWM_AQ_output_high、ePWM_AQ_output_on_timebase_down_cmPA);



  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如您所见、我们只向低频电桥的占空比写入1。  

    AQSFRC 寄存器用于将 PWM 切换为高电平和低电平、

    高频电桥的 PWM 操作被交换、因此我们需要根据 正半桥和负半桥来更改 AQ 寄存器。