TMS320F28P650DK: F28P650DK6_176PTP芯片的CLB使用问题

Part Number: TMS320F28P650DK

image.png

image.png

image.png

void main(void)
{
    Device_init();
    Device_initGPIO();

    Interrupt_initModule();
    Interrupt_initVectorTable();

    Interrupt_register(INT_CLB1, &clb1ISR);
    Interrupt_enable(INT_CLB1);

    SysCtl_enablePeripheral(SYSCTL_PERIPH_CLK_CLB5);

    Board_init();

    SysCtl_disablePeripheral(SYSCTL_PERIPH_CLK_TBCLKSYNC);    //<> Disable sync(Freeze clock to PWM as well)

    PWM_Init();

    GPIO_setPinConfig(myCLB_OUTPUTXBAR_EPWM7B_CLBOUTPUTXBAR_PIN_CONFIG);

    SysCtl_enablePeripheral(SYSCTL_PERIPH_CLK_TBCLKSYNC);     //<> Enable sync and clock to PWM

    initTILE5(CLB5_BASE);


    CLB_enableCLB(CLB5_BASE);

    CLB_setOutputMask(CLB5_BASE, CLB_OUTPUT_00 | CLB_OUTPUT_02 | CLB_OUTPUT_12 | CLB_OUTPUT_13, true);  //<> OUTLUT 使能
    CLB_enableOutputMaskUpdates(CLB5_BASE);

    //
    // Enable Global Interrupt (INTM) and realtime interrupt (DBGM)
    //
    EINT;
    ERTM;

//    CLB_clearInterruptTag(myTILE1_BASE);


    EPWM_setActionQualifierContSWForceAction(IGBT_7_EPWM_BASE, EPWM_AQ_OUTPUT_B, EPWM_AQ_SW_DISABLED);    //<>
    EPWM_setActionQualifierContSWForceAction(IGBT_7_EPWM_BASE, EPWM_AQ_OUTPUT_A, EPWM_AQ_SW_DISABLED);    //<>

    EPWM_setCounterCompareValue(EPWM7_BASE, EPWM_COUNTER_COMPARE_A, 750);    //<> 测试使用
    EPWM_setCounterCompareValue(EPWM7_BASE, EPWM_COUNTER_COMPARE_B, 750);    //<> 测试使用

    while(1)
    {
        asm(" NOP");
    }
}

 

配置 GPIO13 通过xbar路由到CLB5的OUTLUT5输出口,输出EPWM7B的原始信号,实际测试时信号总是不正常,这是为什么?