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.

TMS320F28035: F28035 interrupt response time is too long

Genius 3095 points
Part Number: TMS320F28035

Hi team:

I want to test the interrupt response time, I use External interrupt 1.

In the figure, wave A is the input pin signal of the external interrupt. The falling edge is triggered. In the external interrupt response function, pull the GPIO pin(wave B) down.

It can be seen that it takes 2.4us from the falling edge of A to the falling edge of B.

The external interrupt function is as follows:

interrupt void xint1_isr(void) // xint1
{
// Insert ISR Code here
GpioDataRegs.GPACLEAR.bit.GPIO17 = 1;
//delay
for(i_testXint2=0;i_testXint2<20;i_testXint2++);

PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
}

Only one interrupt is enabled in the system, and other interrupt is not enabled.

This delay is too long, isn't it about 10 clock frequencies? It should be hundreds of ns.

Best regards

  • Chaofeng Feng,

    The minimum latency to get into the ISR should be about 16 cycles for an external interrupt.  Please double-check the GPIO input pin configuration for qualification.  It should be something like:

    GpioCtrlRegs.GPACTRL.all  = 0x00000000;  // QUALPRD = SYSCLKOUT for all group A GPIO
    GpioCtrlRegs.GPAQSEL1.all = 0x00000000;  // No qualification for all group A GPIO 0-15
    GpioCtrlRegs.GPAQSEL2.all = 0x00000000;  // No qualification for all group A GPIO 16-31

    I hope this helps. If this answers your question, please click the green "Verified Answer" button. Thanks.

    - Ken