NO:
W90P710 Programming Guide
VERSION:
2.0
PAGE:
139
The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed, distributed or reproduced without permission
from Winbond.
Table No.: 2005-W90P710-11-A
by programming register
AUDIO_PDESB
and
ACTL_PDES_LENGTH
. The data arrangement in
playback DMA buffer was shown in the following figure:
Figure 10-4 I2S Play Data in DMA buffer
Base ADDR.
DMA buffer (2 channels)
0x10000
Left channel – LSB byte
0x10001
Left channel – MSB byte
0x10002
Right channel – LSB byte
0x10003
Right channel – MSB byte
0x10004
Left channel – LSB byte
0x10005
Left channel – MSB byte
0x10006
Right channel – LSB byte
0x10007
Right channel – MSB byte
… …
DMA buffer (1 channel)
0x10000
Left channel – LSB byte
0x10001
Left channel – MSB byte
0x10002
Left channel – LSB byte
0x10003
Left channel – MSB byte
0x10004
Left channel – LSB byte
0x10005
Left channel – MSB byte
0x10006
Left channel – LSB byte
0x10007
Left channel – MSB byte
… …
Note: The DMA buffer is double buffering. It will trigger an interrupt when half-length of the DMA
buffer is played.
To playback PCM data by external I2S codec, please follow the steps below:
1.
Initial the L3 interface through three GPIO pin to control the external audio CODEC.
Including turn on the DAC and set the volume.
2.
Set the bit
IIS_RESET
of
ACTL_RESET
to reset IIS
3.
Set the bits
AUDCLK_EN to enable the audio controller clock
,
PFIFO_EN to enable the
playback FIFO
,
DMA_EN to enable DMA
,
the BLOCK_EN[0] to enable IIS interface
, and
AUDIO_EN
to enable the audio controller. These bits are all in the register
ACTL_CON.
4.
Set the register
ACTL_IISCON
to set the sampling rate. And set the sampling rate of the
external codec through L3 interface.
5.
Set the
bit [3]
ACTL_IISCON
to determine the data format. And set the data format of
external codec through L3 interface. One is IIS compatible format; another is MSB-
justified format.
Length