Audio codec daughter board/add-on card project/help needed

As Beagle Board's internal audio codec ist only 16 bit I think of building a daughter board/add-on card with a 24 bit/96 kHz (or better) audio codec, which can be built with standard amateur equipment (so, no BGA package and not more than two layers). The project is for fun and the design can be used freely by everyone.

I am able to design the circuit and the PCB but writing a new ALSA driver for the codec is far beyond my capabilities. So I would prefer a codec which operates with one of Beagle Board's unused McBSP ports and is already supported by ALSA. It should be available for end users and it must be possible to solder it using a soldering iron. Does anyone here know of such a codec? Any other hints and ideas?

Peter

Consider the CS4270 from Crystal Semiconductor. It's 24-bit, up to
216kHz, cheap ($6), available in a 24-pin TSSOP which is hand-
solderable (I've done it with simple equipment) and already has
drivers in the kernel. It's a 3.3V part, so you'll also need level
shifters, and the kernel drivers only work with the I2S configuration
option, so you'll need level shifters for the SDA/SCL signals as well.

Please keep us posted on your project - it sounds interesting!

Eric

Ooops - a little clarification here: It's audio data format is I2S,
but the control interface is either I2C or SPI. The kernel drivers
only use the I2C control interface. You'll still need to figure out
how to setup the McBSP to send the audio data in I2S format, but I
suspect that you can use the same McBSP drivers that other OMAP audio
devices have relied on.

Eric

I’ve driven the CS4270 with the SAM7X and Xilinx FPGA’s, both with I2S and the left justified data formats. One of the prototype boards I etched myself using photoresist. The CS4270 is easily hand soldered also. You just need solder wick and flux. I have a eagle part for it too, but its easily created using existing eagle TSOP packages.

You are right about the 16 bit audio on the Beagle being subpar. Some uses really require more dynamic range than that.

Thanks for your reply. I had a look on the CS7240 data sheet. The chip
looks fine and hand soldering of a TSSOP is no problem. But the
software might/will be. I will have a closer look at the docu.

Peter

Thanks for replying. As there a are only few external components
designing the board should be now problem. I have also made a number
such PCBs with standard homebrewing equipment.

I want to use the Beagle Board as a portable and low power audio
recorder and analyzer and hope to get a higher S/N using a better
codec.

Peter

You might be able to modify a standard i2s driver and set the CS4270 with jumpers instead of using the i2c. That would be keeping things really simple. Just be sure you set the i2s bus for the same settings as you do with the jumpers on the CS4270.

Hi,

thanks a lot for your replies.

After having read the answers here and having studied the data sheets
I came to the conclusion that I will need some help to build an audio
24 bit/96 KHz (or better) codec daughercard/add-on board. I can do the
hardware and testing/measurements, modifying an existing (ALSA) driver
(or writing a new one) is beyond my capabilities, however.

As soon as the codec board is working I will add a low noise mic
preamp (with phantom power), an analog attenuator and a head phone
amplifier. The board(s) can be freely used by everyone.

Anyone here willing to give some help with the driver (and other
software related things) and/or starting a project (corporately)? The
already proposed CS4270 codec is a good choice as it is easy to get
and can be controlled via hardware. Any other chip will do as well as
long it can be soldered using standard equipment and is available in
small quantities and to end users.

Peter

Hi,

thanks a lot for your replies.

After having read the answers here and having studied the data sheets
I came to the conclusion that I will need some help to build an audio
24 bit/96 KHz (or better) codec daughercard/add-on board. I can do the
hardware and testing/measurements, modifying an existing (ALSA) driver
(or writing a new one) is beyond my capabilities, however.

As soon as the codec board is working I will add a low noise mic
preamp (with phantom power), an analog attenuator and a head phone
amplifier. The board(s) can be freely used by everyone.

Anyone here willing to give some help with the driver (and other
software related things) and/or starting a project (corporately)? The
already proposed CS4270 codec is a good choice as it is easy to get
and can be controlled via hardware. Any other chip will do as well as
long it can be soldered using standard equipment and is available in
small quantities and to end users.

For a hardware controlled CODEC, you should be able to take the current
TWL4030 ASOC code and ripe out all the I2C stuff. As a first quick and dirty
pass, you should be able to -
Change the McBSP to the one on the expansion port (looks like a one line
change).
Go into the TWL4030 CODEC source file and comment out all the I2C activity and
replace them with dummy successes.
Make sure the pinmux is configured right.

Enable OSS emulation and "cat aRandomJunkFile > /dev/dsp" should produce
noises or at least samples on the I2S outpins along with a clock. A logic
analyzer, o-scope, or a logic probe can verify this; if it doesn't work,
check the pinmux config.

Once it works, you can then seperate out this as a different codec in the
right directory. At this point, you will have some experience to fall back
on.

This is the method I used to get a different I2S codec working on another OMAP
board.

Thanks for this information.

Greetings

Peter