Hello,
I have build a PCB with the ADAU1978 ADC and I am able to sample data. The problem what I have is that the output signal has a too high frequency, for example:
When I input a 1 kHz signal, does the ADC say that it is 10 kHz. When I input a 1.6 kHz signal, does the ADC say that it is just over 15 kHz. etc.
The signal frequency is also multiplied by approximately 10. And this also means that I can only measure up to 2.3 kHz because the ADC interprets that as 23 kHz and thus the discrete filter starts to attenuate.
It seems to me that there is something off with the timing. I use a 12.288 MHz oscillator and want a 48 kHz output signal, thus do the following configuration steps:
Set *PD/*RST to wake up the chip
Set register 0x00 (M_POWER) to 0x01 to power up the chip
Wait until PLL is locked by checking register 0x01 (PLL_CONTROL), the register is not changed in the setup, I used the default setting of 0x41 which uses the PLL multiplication of 256
Set register 0x04 (BLOCK_POWER_SAI) to 0x32
Set register 0x06 (SAI_CTRL1) to 0x01
After that do I set registers 0x0A, 0x0B, 0x0C and 0x0D but this is only the post ADC gain
I use the ADC as controller for the I2S clock signals
When I perform FFT on the signal, do I only see the input signal multiplied by 10 and no other frequencies are visible. So it doesn't seem to be an issue with harmonics, sub harmonics or aliasing.
The image below shows the FFT of a 1.6 kHz input signal, this 1.6 kHz is checked with an oscilloscope.
I'm not sure if it is a hardware or software related issue, but since the MCLKIN is correct, do I assume it is a software issue.
Does anyone have an idea what the issue might be?
Best regards
Tom