Pre-Production
WM8940
LOOPBACK
Setting the ADC_LOOPBACK or DAC_LOOPBACK register bit enables digital loopback. When the
ADC_LOOPBACK bit is set the output data from the ADC audio interface is fed directly into the DAC
data input. When the DAC_LOOPBACK bit is set the output data from the DAC audio interface is fed
directly to the input of the ADC audio interface.
COMPANDING
The WM8940 supports A-law and µ-law companding on both transmit (ADC) and receive (DAC)
sides. Companding can be enabled on the DAC or ADC audio interfaces by writing the appropriate
value to the DAC_COMP or ADC_COMP register bits respectively. If packed mode companding is
desired the WL8 register bit is available. It will override the normal audio interface WL bits to give an
8-bit word length. Refer to Table 43 Audio Interface Control for setting the output word length.
REGISTER BIT
ADDRESS
LABEL
DEFAULT
DESCRIPTION
Digital loopback function
R5
6
DAC_LOOPBACK
0
Companding
control
0=No DAC loopback
1=Loopback enabled, DAC audio interface
output is fed directly into ADC audio
interface input.
4:3 DAC_COMP
2:1 ADC_COMP
0
0
0
DAC decompanding
00=off
01=reserved
10=µ-law
11=A-law
ADC companding
00=off
01=reserved
10=µ-law
11=A-law
0
ADC_LOOPBACK
Digital loopback function
0=No ADC loopback
1=Loopback enabled, ADC data output is
fed directly into DAC data input.
Table 50 Companding Control
Companding involves using a piecewise linear approximation of the following equations (as set out
by ITU-T G.711 standard) for data compression:
µ-law (where µ=255 for the U.S. and Japan):
F(x) = ln( 1 + µ|x|) / ln( 1 + µ)
A-law (where A=87.6 for Europe):
F(x) = A|x| / ( 1 + lnA)
-1 ≤ x ≤ 1
} for x ≤ 1/A
} for 1/A ≤ x ≤ 1
F(x) = ( 1 + lnA|x|) / (1 + lnA)
The companded data is also inverted as recommended by the G.711 standard (all 8 bits are inverted
for µ-law, all even data bits are inverted for A-law). The data will be transmitted as the first 8 MSB’s
of data.
Companding converts 13 bits (µ-law) or 12 bits (A-law) to 8 bits using non-linear quantization. The
input data range is separated into 8 levels, allowing low amplitude signals better precision than that
of high amplitude signals. This is to exploit the operation of the human auditory system, where
louder sounds do not require as much resolution as quieter sounds. The companded signal is an 8-
bit word containing sign (1-bit), exponent (3-bits) and mantissa (4-bits).
Pre-Production, Rev 3.0, February 2007
57
w