glitches occurs after re-enable the sport interrupt
hi adi admins,
here's my design trying to do:
1. initialisation
2. generate waveform at audio callback process
3. stop audio callback process, disable interrupt
4. do something takes a mount of time
5. re-enable interrupt and back to 2.
would you gave some suggestions about how to do this correctly? there's continuous glitches after step 5.
(glitches, not happened every time but most of time)
(normal waveform)
reinstall-codec.rar
typo
[edited by: kweiwen at 4:05 AM (GMT -4) on 23 Aug 2021]
Hi Kweiwen,
Apologies for the delay. Were you able to get going. Let me know if you are still facing any issues.
1) Is it possible for you to share the SPORT status register values.
2) Do you have any external hardware?
3) Can you explain the setup?
4) Is it possible for you to share a simple block diagram?
Regards,
Anand Selvaraj.
Hi Anand,
I took DAI_PB19 to stop audio callback process and disable interrupt, the hardware is ADSP21479 EZ-KIT.
reinstall-codec.zip
regards,
k
Hi Kweiwen,
Apologies for the delay.
Can you please confirm which signal you have probed and you shared to us. Please let me know whether any error bit is enabled on SPORT Error Status Register (SPERRSTAT) while you are getting glitches.
Regards,
Anand Selvaraj.
hi Anand, SPERRSTAT is not enabled when i get glitches. would you share a correct way to stop sport interrupt?
/* while loop */
while(1)
{
if(inputReady)
{
count++;
handleCodecData(buffer_cntr);
}
volatile int dai_value = ((*pDAI_PIN_STAT)& DAI_PB19);
if(dai_value == 0x40000)
{
adi_int_EnableInt(ADI_CID_P3I, false);
isProcessing = 0;
inputReady = 0;
/* clear buffer and chained DMAs */
clear_currentBuffer();
clear_currentDMA();
/* upgrade flag will break the while loop */
break;
}
}
/* out side the while loop */
init_dynamic_memory_here();
adi_int_EnableInt(ADI_CID_P3I, false);
enter_while_loop();
what i really what to do is to allocate some object(using malloc) while the real-time processing is stopped.
Please log in to reply.

