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/
沒有留言:
張貼留言