[LAD] embedded high end audio

Dan Mills dmills at exponent.myzen.co.uk
Wed Jul 30 20:52:51 UTC 2008

On Wed, 2008-07-30 at 15:31 -0500, Eric Shattow wrote:
> Correction:  the Indigo IO is 2 in / 2 out;  the Indigo DJ is 0 in, 4
> out
> Unless I am mistaken.
> I'm guessing that the F/OSS options are basically:
> Custom board design with PCI envy24 chipset => ALSA : JACK / ~2ms
> IEEE1394 devices made by ECHO (AudioFire2/4) => FFADO : JACK / ~4ms
> Cardbus devices made by ECHO (Indigo IO/DJ) => ALSA : JACK / ~4ms
> USB devices (48kHz native rate) => ALSA : JACK / ~8ms

I am living this one at the moment, needing a 32 in/32 out solution on
eurocards interfaced to PC104+...

The Envy24 is both difficult to source in small quantities and difficult
to run in multiple with accurate timing between the multiple chips BCLK
and LRCLK which you really need if your backplane has a single set of
these signals supporting this much IO.

The current plan is to make the audio interface look like a PATA disk
which just happens to have say 4 sectors each of an appropriate number
of samples, the logic to support this should fit in a couple of GALs or
similar, and the bandwidth (and DMA) is there, getting the IDE stack out
of the way might be a good trick however.   

I am open to both sources of envy24s and ideas on how to get everything
synchronous (The best I came up with was to clock everything from the
superclock input and rig some logic so that under software control I can
cause this to drop individual clock pulses to each chip, then bring all
the LR and word clocks into a general purpose input and at start up spin
in a tight loop tweaking these timings until everything is in sync,
uggh)... Still better then trying to design a PCI bridge in a spartan or

Regards, Dan.

More information about the Linux-audio-dev mailing list