[Arm-netbook] Audio Inputs?

luke.leighton luke.leighton at gmail.com
Mon May 20 12:59:26 BST 2013


On Mon, May 20, 2013 at 12:11 AM, Alexander Stephen Thomas Ross
<maillist_arm-netbook at aross.me> wrote:
> How might audio inputs be achieved? USB sound "card"?

 yes basically.  there are a wide number of USB-based AC97-compliant
ICs out there - i just couldn't get hold of any or their datasheets
for the flying squirrel so went with another method.

>  or are there other way(s)?

 there are several.

 one of the STM32Fs - the higher-end ones - has a stable and fast
enough I2S bus for it to be possible to connect a standard Audio Codec
IC to it.   so if you don't mind doing data transfer from USB to I2S
you can use any number of hundreds of standard Audio CODEC ICs.

 the way i chose to do it for the flying squirrel however was with PCM
and then an RLC (resistor inductor capacitor) circuit to smooth out
the pulses.  this is a _bit_ of a risk because you have say 1mhz
pulses (lots of RF harmonics) right next to analog.  you have to use
electro-magnetic (coil) speakers for this (not piezo!) because the
inductance of the coil becomes part of the smoothing circuit.

 then for the microphone i used the 12-bit ADC, but 12 bits is just
not enough, so i put an op-amp in to boost the gain.  however, there
were not enough pins to control the volume to the op-amp, so _again_
there i'm using PWM for the volume control, and another RC circuit to
smooth that out.

 it's crude but effective and *very* low-cost.  like... $0.70 worth of
components when normally you'd expect to be putting in around at least
$2 worth, possibly even more.


> If so how many channels and khz?

 if you can do some software-compression prior to data transfer then
you could get away with using I2C, but it's not recommended: I2C is
4mbit/sec max (appx) and you'd be saturating it.

 much better to use USB.

l.



More information about the arm-netbook mailing list