2006-10-07 00:34:51 +08:00
|
|
|
Audio Clocking
|
|
|
|
==============
|
|
|
|
|
|
|
|
This text describes the audio clocking terms in ASoC and digital audio in
|
|
|
|
general. Note: Audio clocking can be complex !
|
|
|
|
|
|
|
|
|
|
|
|
Master Clock
|
|
|
|
------------
|
|
|
|
|
|
|
|
Every audio subsystem is driven by a master clock (sometimes refered to as MCLK
|
|
|
|
or SYSCLK). This audio master clock can be derived from a number of sources
|
|
|
|
(e.g. crystal, PLL, CPU clock) and is responsible for producing the correct
|
|
|
|
audio playback and capture sample rates.
|
|
|
|
|
|
|
|
Some master clocks (e.g. PLL's and CPU based clocks) are configuarble in that
|
|
|
|
their speed can be altered by software (depending on the system use and to save
|
|
|
|
power). Other master clocks are fixed at at set frequency (i.e. crystals).
|
|
|
|
|
|
|
|
|
|
|
|
DAI Clocks
|
|
|
|
----------
|
|
|
|
The Digital Audio Interface is usually driven by a Bit Clock (often referred to
|
|
|
|
as BCLK). This clock is used to drive the digital audio data across the link
|
|
|
|
between the codec and CPU.
|
|
|
|
|
|
|
|
The DAI also has a frame clock to signal the start of each audio frame. This
|
|
|
|
clock is sometimes referred to as LRC (left right clock) or FRAME. This clock
|
2006-10-20 02:35:56 +08:00
|
|
|
runs at exactly the sample rate (LRC = Rate).
|
2006-10-07 00:34:51 +08:00
|
|
|
|
2006-10-20 02:35:56 +08:00
|
|
|
Bit Clock can be generated as follows:-
|
2006-10-07 00:34:51 +08:00
|
|
|
|
|
|
|
BCLK = MCLK / x
|
|
|
|
|
|
|
|
or
|
|
|
|
|
|
|
|
BCLK = LRC * x
|
|
|
|
|
2006-10-20 02:35:56 +08:00
|
|
|
or
|
|
|
|
|
|
|
|
BCLK = LRC * Channels * Word Size
|
|
|
|
|
2007-02-09 00:06:09 +08:00
|
|
|
This relationship depends on the codec or SoC CPU in particular. In general
|
|
|
|
it's best to configure BCLK to the lowest possible speed (depending on your
|
|
|
|
rate, number of channels and wordsize) to save on power.
|
2006-10-07 00:34:51 +08:00
|
|
|
|
2007-02-09 00:06:09 +08:00
|
|
|
It's also desireable to use the codec (if possible) to drive (or master) the
|
|
|
|
audio clocks as it's usually gives more accurate sample rates than the CPU.
|
2006-10-07 00:34:51 +08:00
|
|
|
|
|
|
|
|
|
|
|
|