mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.3 KiB
64 lines
2.3 KiB
================================== |
|
ASoC Digital Audio Interface (DAI) |
|
================================== |
|
|
|
ASoC currently supports the three main Digital Audio Interfaces (DAI) found on |
|
SoC controllers and portable audio CODECs today, namely AC97, I2S and PCM. |
|
|
|
|
|
AC97 |
|
==== |
|
|
|
AC97 is a five wire interface commonly found on many PC sound cards. It is |
|
now also popular in many portable devices. This DAI has a RESET line and time |
|
multiplexes its data on its SDATA_OUT (playback) and SDATA_IN (capture) lines. |
|
The bit clock (BCLK) is always driven by the CODEC (usually 12.288MHz) and the |
|
frame (FRAME) (usually 48kHz) is always driven by the controller. Each AC97 |
|
frame is 21uS long and is divided into 13 time slots. |
|
|
|
The AC97 specification can be found at : |
|
https://www.intel.com/p/en_US/business/design |
|
|
|
|
|
I2S |
|
=== |
|
|
|
I2S is a common 4 wire DAI used in HiFi, STB and portable devices. The Tx and |
|
Rx lines are used for audio transmission, while the bit clock (BCLK) and |
|
left/right clock (LRC) synchronise the link. I2S is flexible in that either the |
|
controller or CODEC can drive (master) the BCLK and LRC clock lines. Bit clock |
|
usually varies depending on the sample rate and the master system clock |
|
(SYSCLK). LRCLK is the same as the sample rate. A few devices support separate |
|
ADC and DAC LRCLKs, this allows for simultaneous capture and playback at |
|
different sample rates. |
|
|
|
I2S has several different operating modes:- |
|
|
|
I2S |
|
MSB is transmitted on the falling edge of the first BCLK after LRC |
|
transition. |
|
|
|
Left Justified |
|
MSB is transmitted on transition of LRC. |
|
|
|
Right Justified |
|
MSB is transmitted sample size BCLKs before LRC transition. |
|
|
|
PCM |
|
=== |
|
|
|
PCM is another 4 wire interface, very similar to I2S, which can support a more |
|
flexible protocol. It has bit clock (BCLK) and sync (SYNC) lines that are used |
|
to synchronise the link while the Tx and Rx lines are used to transmit and |
|
receive the audio data. Bit clock usually varies depending on sample rate |
|
while sync runs at the sample rate. PCM also supports Time Division |
|
Multiplexing (TDM) in that several devices can use the bus simultaneously (this |
|
is sometimes referred to as network mode). |
|
|
|
Common PCM operating modes:- |
|
|
|
Mode A |
|
MSB is transmitted on falling edge of first BCLK after FRAME/SYNC. |
|
|
|
Mode B |
|
MSB is transmitted on rising edge of FRAME/SYNC.
|
|
|