Digital audio subsystems

Discussion in 'Embedded Systems and Microcontrollers' started by SpiderElectron, May 7, 2015.

  1. SpiderElectron

    Thread Starter New Member

    May 7, 2015
    Hi everyone.
    In the past I have completed many analog audio sub systems. Including multi-room audio systems, hotel and hospital radio systems, analog audio multiplexors and matrices etc etc.

    A new design I am working on will have much more digital audio in it.
    The Analog front end goes straight into PCM1808 ADCs and there are also a bunch of S/PDIF inputs, and a number of DAB Radio modules, which all provide I2S signals. There are a total of 8 i2s digital analog sources including the ADCs.

    The output section is again digital, with a bunch of S/P-DIF outputs and 4 x stereo AMPS which take I2S not analog. Again, a total of 8 digital outputs (before the DACs).

    This is all run of the mill digital stuff so far, and my prototype input and output sections all work well.

    My question is this: what would you use for doing tone control? (Either multi-band EQ or bass/treble/balance).

    The basic setup of the system is that any of the inputs can be routed to any of the outputs. So some routes would be analog->digital->analog, and some will be simply digital->digital.

    The whole thing has a processor at the middle of it all (which is running linux), and an FPGA which acts as the digital I2S multiplexor and also does things like infra-red receiver decoding, and so on. There is an I2C connection between the processor and FPGA, and a bunch of GPIO in common to.

    I would like to do all the tone control in the digital domain, so what chipsets would you recommend? How would you achieve either EQ or Bass/treble/Balance in the digital domain?

    Would you use DSP, or some dedicated i2s Audio processor? Remember there are 8 x i2s sources and 8 x i2s outputs, which can be connected in any combination, and all I2S currently goes via the FPGA. Or would you just do tone control on the analog outputs using something like the TI5715 with it's bi-qauds, and leave the digital domain pure, to be adjusted by whatever is taking the output signal?