I have an older design using an ADAU1701, and we'd like to upgrade it to include consumer-grade TOSLINK (optical input), but I don't want to add too much cost. From my reading, this gets complicated, because the master clock for the ADAU won't be synchronized with the external source. So I assume I'll need an ASRC.
I see a few options -
1. Add a chip to convert S/PDIF to I2S as a slave to the source, then use an ASRC to sync the digital data into the ADAU1701. This seems quite complicated, but maybe there's a cheap IC somewhere that does all this?
2. Convert the S/PDIF into analog, which is mux'd or mixed to the ADAU analog input. This probably requires a receiver + DAC, so $$.
3. Switch to an ADAU1442 or similar (adds $5), which handles the digital side nicely, but requires a codec to retain my analog capability, so that's another $2 or so. The extra processing is nice but I don't really need it.
Given that this type of input is so common in inexpensive consumer gear, I'm surprised it's turning out to be so expensive - easily $5 plus the connector in quantity.
Any other options I'm overlooking?
There are SPDIF transceiver ICs (not ADI products though as far as I know, other than ADAV801/3 which are also codecs) that will sync their clocks to incoming SPDIF or their own MCLK if there is no SPDIF present. There are also a few with ASRCs. You could use one of those if you have have your ADAU1701 slave to the resulting I2S stream. You're still looking at a $5 chip though, and you'll need to control it with a MCU.
A lot of the inexpensive consumer gear is using SoC devices that have all of these functions integrated, but they don't necessarily have the DSP capabilities of SigmaDSP, and certainly they don't have the same ease of programming. There are also lots of obsolete AC97 codecs that will have SPDIF support, that could be what inexpensive devices are still using. Most of those parts don't have very good codecs by modern standards.