ΣSigmaStudio Ask AI Русский Log in

SPDIF Receiver lockbit detection failure with Software 3.17?

SigmaDSP & SigmaStudio Robin Mar 16, 2018 00:00 3 replies Original on forum ↗
Subscribe
Robin Question
Mar 16, 2018 00:00

I realized a problem with files that have been created with the latest 3.17 software version in combination with the Sigma300 ADAU145x series.

The SPDIF receiver lock bit detection always indicates "Successful lock to input stream", no matter if a SPDIF signal is applied to the input or not. So it may happen that undesired random noise signals are generated by the SPDIF receiver.
This does not happen with 3.17 if a file is used that has been created with older software versions.
But it happens as well if the file, created with 3.17 is opened in older versions.
So this must be definitely a bug in the latest software.
As we are dependent on using 3.17 (due to a special .dll that only works in this version) this is a critical error in our application, means that we cannot use the SPDIF input.

Any ideas?

Regards,
Robin

matthijs Reply
Mar 17, 2018 00:00

Do you mean the lock bit of the S/PDIF receiver or of the ASRC connected to it?

Check if there's a difference in register settings, especially SPDIF_RX_CTRL (0xF601).

Although I've never seen the S/PDIF receiver fail to unlock, I have noticed that the S/PDIF receiver lock, ASRC lock, and associated mute behave oddly. Here's my experience of what happens when the S/PDIF signal stops:

If SPDIF_RX_CTRL.FSOUTSTRENGTH (bit 2 of reg 0xF601) is configured to 0, then:

SPDIF_LOCK_DET (reg 0xF600) becomes 0

SPDIF_LOSS_OF_LOCK (reg 0xF605) becomes 1

ASRC_LOCK.ASRCxL (bit x of reg 0xF580) remains 1

ASRCx_RATIO (reg 0xF582+x) changes slightly

audio becomes silent

If the S/PDIF signal is then resumed, ASRC_LOCK.ASRCxL becomes 0 and stays like that forever, even though everything seems to work fine otherwise.

If SPDIF_RX_CTRL.FSOUTSTRENGTH (bit 2 of reg 0xF601) is configured to 1, then:

SPDIF_LOCK_DET (reg 0xF600) becomes 0

SPDIF_LOSS_OF_LOCK (reg 0xF605) becomes 1

ASRC_LOCK.ASRCxL (bit x of reg 0xF580) becomes 0

ASRCx_RATIO (reg 0xF582+x) changes fairly quickly to 0xFFFF or 0x0000

audio does not mute properly, and in fact it stabilizes at a constant DC level, potentially causing an unpleasant pop when the S/PDIF is then resumed.

matthijs Reply
Mar 19, 2018 00:00

That is really bizarre.

Still, the difference can presumably only be caused by different register settings, so the easiest solution would be to just compare those between the working and non-working versions (e.g. by exporting both and comparing the _REG.h files or the export xml files).

Robin Reply
Mar 19, 2018 00:00

Here's what SigmaStudio 3.17 always indicates even if no source is connected to the SPDIF input :

And obviously audio doesn't mute properly. But in my case it is no DC offset, but a random noise.

Regards,
Robin

326312b91a2b21042914699ba067402a.png
326312b91a2b21042914699ba067402a.png
326312b91a2b21042914699ba067402a.png-620x522.png
326312b91a2b21042914699ba067402a.png-620x522.png