Hello KS201 and ADI Team,
For what it's worth I tried this via the DAC outputs on a -1452 Rev. A board and could not duplicate the problem -- so perhaps it's related to the SPDIF output on the Rev B board.
At zero dB level the output remained a sine wave with distortion less than 0.01 %:
At a +1 dB level I got a predictably flattened waveform that's distinct from KS2021's result via SPDIF. The distortion is nearly 5% as expected:
Distortion measurements were made with the -1452 eval board itself, using an old project. Before running this project I ran KS2021's uploaded one with the same results on the scope, so it's not unique to the project
KJBob, I love your answers, there is always so much to gather from your posts. Keep them coming! Thanks for doing the extra verification.
There were two projects in the Zipped files, The first one I opened up is called "Tone_Generator_Alpha12".
It is simply an oscillator driving the SPDIF output.
I loaded it onto a Rev B board and connected the optical SPDIF output into the Audio Precision SYS-2722 that I have here at the bench. Here are the results with no changes to your project.
As you can see, the level is as close to 0dBFS as you can get! The THD is -129dBFS which is rather good. For those of you who work more with % for THD, The THD is 0.00004%FS. So this is relative to 0dBFS. So clearly there is something else at work here.
So I loaded in the second project that was in your Zipped folder. This one is super simple.
SPDIF input to the ASRC to the core then to the SPDIF output. The results using the Audio Precision was similar. The level is perfect but the THD is slightly higher due to the ASRC processing but still really good. -123dBFS, or 0.00007%FS.
Here is the screenshot of the Audio Precision.
So the focus needs to be whatever you are using to send out the SPDIF and the receive the SPDIF? Normally I would say that it is an issue with I2S format because if the delay by one bit is not set properly then the level can be 6dB too low and will clip early. However, in this case you are using the SPDIF directly out of and into the ADAU1452 so these settings do not apply. With SPDIF there is no way to shift the bits once they are encoded.
So knowing nothing about your setup I really have no idea what is causing the level issues you are experiencing. So if you can share your setup details perhaps we might be able to figure this out. At this point consider the inputs and outputs of the RevB board to be good and move from there.