2009年9月6日 星期日

* Audio: I2S and Linux sound system

System:

------------ --------
| Embedded | ---->I2S | audio | <----MIC | controller | ---->I2C | codec | ----->AMP -->speaker
------------ --------

I2S: Inter-IC sound

1. SCLK(BCLK) : sclk frequency= (2) x (sample rate) x (sample bit)
2. LRCK(WS) : WS=0 for left channel, WS=1 for right channel
3. SDATA: data from MSB to LSB
4. MCLK : main clock

Right/Left Justified:左右校正

Linux sound system:
Kernel 2.6 : ALSA (advanced Linux Sound Architecture)
Kernel 2.4 : OSS (Open sound system)

Device node:
ALSA => /dev/snd/*
OSS => /dev/dsp, /dev/adsp, /dev/mixer, /dev/audio

Procfs and sysfs interface implementation via
/proc/asound
/sys/class/sound

Driver:
Audio codec --> audio codec interface -------> sound core
audio controller --> audio controller driver----> sound core

Driver support function:
1.playback
2. capture
3. mixer control


Reference:
http://tldp.org/HOWTO/Sound-HOWTO/

沒有留言:

張貼留言