ADAU1466 audio stream stops after few seconds
Dear all,
This is my first post on analog EZ forum
I'm using an ADAU1466 witch is programmed through I2C interface with a PIC32 MCU.
I'm using I2S stereo input/output in slave mode (I provide all the clocks)
The DSP programation goes well, PLL lock and so on, the output audio stream is OK but stops with no apparent reason after few seconds...
I checked the I2C proggramation lines to be sure that my MCU is not sending any data and it is the case.
The DSP program is very simple
A channel in bypass
and the other a second order custom coeff double precision biquad.
If someone is interested, i can share the scripts to convert output products from sigma studio to an header file wich is embedded in PIC32 flash memory, and the PIC32 code to program the DSP.
Thanks in advance for your help because i'm very desapointed ! Everything works well but, only 10 sec after the DSP programmation.
If i program again the dsp, it do exactly the same thing.
Nicolas
Audio Signal Processors
SigmaDSP Audio Processors
adau1466
I finded recently that the PLL of the DSP unlocks when the audio stream stops for an unknown reason !
Does anybody experienced the same behavior ?
help will be appreciated because I'm blocked by this issue and I've no ideas how to fix it.
Nicolas
you use mclk from external input? I mean that adau can me withiot mclk some time.
Dear alex,
Thank's a lot for your response.
Yes i'm using external MCLK as pll input for the adau1466.
24.576 MHz (asynchronous with I2S clocks)
PLL input divider at 8
PLL mult factor at 96
It gives a core clock at 294,912 MHz
Everythings works perfectly during 10 seconds ! and then the PLL unlocks ... I still don't understand...
Nicolas
If MCLK stable pll have no problems in most cases.Check propertly load.(reset and load after timers) and power of pll and dsp parts. I have tested stability with lost mclk for some time and dsp works normally after mclk glitch. this type of problems i have only on low reset timers, bad power or not good soldering.
Try to check pll status on empty shematics. and maybe you have lrck bclk outputs for reference check
Dear alex,
Thank's again for your help:
Here what I'm doing in the PIC32 to initialize PLL:
------------------------------------------------------------------
//enter/exit soft reset
data_16b = 0;
error = adau_write(adau1466Address,0xF890,2,&data_16b);
DelayMs(100);
data_16b = 1;
error = adau_write(adau1466Address,0xF890,2,&data_16b);
DelayMs(100);
//feedback devider to 96
data_16b=96;
error = adau_write(adau1466Address,0xF000,2,&data_16b);
DelayMs(100);
//pll input clk divider to 4
data_16b = 0x02;
error = adau_write(adau1466Address,0xF001,2,&data_16b);
DelayMs(100);
//clock source to pll clock
data_16b = 0x01;
error = adau_write(adau1466Address,0xF002,2,&data_16b);
DelayMs(100);
//mclk output
data_16b = 0x05;
error = adau_write(adau1466Address,0xF005,2,&data_16b);
DelayMs(100);
//pll enable
data_16b = 1;
error = adau_write(adau1466Address,0xF003,2,&data_16b);
DelayMs(100);
while(1)
{
//lecture PLL LOCK
error = adau_read(adau1466Address,0xF004,2,&data_16b);
data_16b = swap_16b(data_16b);
DelayMs(100);
//pll LOCK !
if(data_16b == 1)
{
Nop();
break;
}
}
This first sequence works well, the PLL is seen locked
What do yo mean by "Check propertly load.(reset and load after timers)" ?
After i program the core the audio stream is ok, tha dac outputs audio signal and 10 second after, the pll unlocks (i check it with software polling every second) and the stream stops.
Regarding the hardware, I'm using a ready made board.
Nicolas
I mean that need to check stability of work. Seems adau have problem on work load. tru to use different code.For example bypass mode in and out only. and on hard load(like 40-50 biquads.). check the time of normal work. is it different from 10 on your design?
Dear all
I come back to this topic, because i'm still experiencing issues with pll stability.
I tried bypass code or 40 double precision biquads and, the behaviour is still the same.
PLL locks correctly, audio stream starts, correctly and then after ~20 sec, the PLL unlocks ... it is very enoying !!
I bought another board to test if it comes from it but, even with the new one, it behaves exactly the same.
Hello, did you find a solution for this? , i have the same problem if i program this from the Sigma Studio, if i use the export files then all likes to work.
Hello RVM,
I had missed this original post and I think I know why. It was November of 2020 and I was under a huge workload due to several reasons.
The program running and the number of biquads has nothing to do with the PLL. The PLL is its own system and has nothing to do with the core. (except it supplies the core clock of course but it is s one way relationship). The only link might be if there is something really bad with the program such that it writes to the PLL registers. Even then, those registers are shadow registers and do not take effect until the PLL is disabled and reenabled. So the original issue with Atum had to be with something in hardware with the clocks, the power supply or the PLL loop filter. Or, the PIC was writing to the DSP in error and stopping the program. It is clearly too late to help him and Atum, I apologize for missing this, but RVM, please start a new post and give us some more detail. What hardware are you using? What versions of SigmaStudio? Give us screenshots and attach your program. Give us something to work with.
What is the microcontroller doing when you are using SigmaStudio? You cannot have two masters on the comms port.
Thanks,
Dave T
Please log in to reply.