Post Go back to editing

What causes interrupt latency jitter?

I am using the ADSP-21488. At the beginning of an ISR (in my case the PWM-period-expired or the core-timer) I set a flag and reset it at the end. Using a scope I trigger on one rising edge and zoom in on the next one. I find that there is a jitter of 110 ns in 10 ns increments. 

What causes this jitter and how can it be reduced?

I am using interrupts() to set up the interrupts.

Parents Reply Children
  • Hi,

    As disabling a lower priority interrupt reduces jitter to 30 ns, we recommend enabling the interrupt nesting option and share the results.
    When interrupt nesting is disabled, a higher priority interrupt cannot interrupt a lower priority interrupt’s service routine.
    If nesting is enabled and a higher priority interrupt occurs immediately after a lower priority interrupt, the service routine of the lower priority interrupt is delayed.  

    The NESTM bit in the MODE1 register directs the processor to enable (if 1) or disable (if 0) interrupt nesting.

    If still you are facing issues, can you please share simple project which simulates your jitter issue.
     
    Regards,
    Divya.P

  • Hi Divya,

    Sorry for the long delay. It appears that the NESTM is set by default on start-up and our code is not modifying it. Therefore all data I shared thus far was already with the NESTM bit set. 

    I am running the code on our own hardware which requires a lot of initialization. Reducing the code to a simple project would take some time which I currently cannot invest due to other pressing issues. 

  • Hi,

     
    Please find the attached Timer PWM code for ADSP-21489. It seems that there is no jitters in the signal. Can you please test the code and check whether you are getting any jitter. Please find the image for reference.

    Timer_PWM_21489.zip

    Regards,
    Divya.P