SPDIF signal detection mechanism problem
Hi all,
I have a problem with a S/PDIF signal detection mechanism on one of my ADAU1466 based DSP boards. The following screenshot shows the input routing of analogue inputs ASRC 2 & 3 and spdif left and reight inputs on ASCR Inputs 4 & 5. The signals are scaled with some volume controls and then routed into an index selectable input routing matrix. The routing matrix enables switching between analogue and digital inputs (L,R, Mono).
After the routing matrix the signal is routed to the rest of the DSP flow and to a signal detection mechanism that pulls GPIO8 low if a signal above the threshold is detected. It goes high again if the signal is lost.
That works all perfectly fine for the analogue signals but I am having trouble detecting a signal loss in the digital audio signal, e.g. when i pull the cable from the device. In this case I do not detect a change on GPIO8 to high (pin state stays low as if signal is still present). If I plug the cable again the audio starts playing again but i can't detect the absence of the S/PDIF signal on the pin.
Any ideas why this dows not work for the SPDIF signal?
Max
Audio Signal Processors
spdif
software
signal detection
sigmastudio
SigmaDSP Audio Processors
adau1466
Show More
Hello Max,
It works expected for me with your settings, so we are missing something which is very simple.
did you try increasing the threshold level to something like -30dB? Please try changing the threshold value to -10 or -20dB.
Please attach your project as well, it will be very helpful for us to quickly test and simulate it.
Regards,
Harish
Hello Max,
I have done this several ways. One way is to use the lock bit on the ASRC that you usually need to use when using SPDIF. However, you can just use the SPDIF lock bit.
This to me is the most direct way.
Here is the project I took this screenshot from:
ADAU1452 SPDIF Lock Detect Example.dspproj
Dave T
Thanks Dave and Harish,
My problem in the end was in my MCU logic, both solutions worked fine for the signal detection. I implemented Dave's muting logic instead of the SPDIF_LOCK_MUTE toggle behind the ASRC input (No lock -> no signal) and now everything works perfectly fine.
Thanks for your help!
Max
Please log in to reply.

