i use adau1452.
when i start the program asrc give dc offset. when i put spdif signal it becomes to 0.
its only for first start.
i dont want to use dc block/ i think it can be solved in registers.
This is happening because with no clocks coming into the ASRC, there is no data being clocked in. So therefore all the memory has not been cleared and it is only putting out one random…
You need to set the serial ports to the higher rate.
Look at figure 20 on page 38 of the datasheet.
These settings are on the Serial Ports tab of the register controls page of SigmaStudio…
This is happening because with no clocks coming into the ASRC, there is no data being clocked in. So therefore all the memory has not been cleared and it is only putting out one random value.
There is a way to do this within the program but first, If you have a controller you can change the input of the ASRC to an input that has clocks and wait long enough for the memory to clear then switch it to the SPDIF input.
I will attach an example project that will monitor for the ASRC to lock. If it is not locked then the volume control has the audio shut off. As soon as it locks the volume control is turned up to unity gain. There is a look-ahead delay so make certain that the volume control has time to slew down before the loss of audio arrives at the volume control.
So this will give you an idea on how to do it. You will have to adjust the DC cell to mask the correct bit for the ASRC you are using.
Let me know if you have more questions.