Adding TOSLINK / optical input to 1701 project?

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?

  • Related question:

    What sample rates should be supported by S/PDIF for consumer products (TV's, DVD, etc.)?  I haven't found any definitive info about this.  Is 48kHz safe, or should 96kHz be accommodated?  Supporting the higher sample rate of course eats up half my processing capacity unnecessarily, and might require an ASRC ($$).

  • 48kHz does the job almost 100% of the time. I have not come across a situation where I could not get audio with SPDIF set to 48kHz.

    Kindly note that this statement is not backed by document/ specification but based on my experience.

    Others can share their experience as well.

    In fact, I feel that AD should re-release ADAV4601 as is but with added SPDIF decoder. It enjoys full SigmaStudio library support even today so no ground work will be needed there! It WILL be a BIG HIT!!

  • You may also want to take a look at LC89091JA from ON Semi. It is not expensive. That with PCM5100 from TI will give you an SPDIF interface. Then use it with ADAU1701 with any required combination and topology as per your requirement.

    You can find my board here:

    It uses WM8805 + PCM5100

  • Nice.  The LC89091JA would probably work on its own, as long as I allow the 1701 to be a clock slave (and can reject >48kHz).  The WM8805+PCM5100 is a good solution if you need concurrent continuous analog inputs, which I can live without.