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?
I have begged ADI to consider S/PDIF in future (smaller then -1445) SigmaDSP chips. My dream chip would be -1772 with S/PDIF and a -1701 core. More voices in support would be merrier!
One possible reason…
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…
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…
Well hopefully ADI is listening to my begging as well.
I can see that benefit from the AD1895. I can live without continuous analog inputs briefly during a switch to digital. (I don't expect many sample rate changes from consumer connections though.) A reload is a bit of a hassle, but it's workable.
I think I'll have to try the DIR9001.