Mp3 buffer, Interrupt request, Mp3 song playing – Rainbow Electronics AT89C51SND1C User Manual
Page 76: At8xc51snd1c

76
AT8xC51SND1C
4109E–8051–06/03
Table 83. Sample Duplication Factor
MP3 Buffer
In song playing mode, the audio stream comes from the MP3 decoder through a buffer.
The MP3 buffer is used to store the decoded MP3 data and interfaces to the decoder
through a 16-bit data input and data request signal. This signal asks for data when the
buffer has enough space to receive new data. Data request is conditioned by the
DREQEN bit in AUDCON1 register. When set, the buffer requests data to the MP3
decoder. When cleared no more data is requested but data are output until the buffer is
empty. This bit can be used to suspend the audio generation (pause mode).
Interrupt Request
The audio interrupt request can be generated by 2 sources when in C51 audio mode: a
sample request when SREQ flag in AUDSTA register is set to logic 1, and an under-run
condition when UDRN flag in AUDSTA register is set to logic 1. Both sources can be
enabled separately by masking one of them using the MSREQ and MUDRN bits in
AUDCON1 register. A global enable of the audio interface is provided by setting the
EAUD bit in IEN0 register.
The interrupt is requested each time one of the 2 sources is set to one. The source flags
are cleared by writing some data in the audio buffer through AUDDAT, but the global
audio interrupt flag is cleared by hardware when the interrupt service routine is
executed.
Figure 52. Audio Interface Interrupt System
MP3 Song Playing
In MP3 song playing mode, the operations to do are to configure the PLL and the audio
interface according to the DAC selected. The audio clock is programmed to generate
the 256·Fs or 384·Fs as explained in Section "Clock Generator", page 74. Figure 53
shows the configuration flow of the audio interface when in MP3 song mode.
DUP1
DUP0
Factor
0
0
No sample duplication, DAC rate = 8 kHz (C51 rate).
0
1
One sample duplication, DAC rate = 16 kHz (2 x C51 rate).
1
0
2 samples duplication, DAC rate = 32 kHz (4 x C51 rate).
1
1
Three samples duplication, DAC rate = 48 kHz (6 x C51 rate).
SREQ
AUDSTA.7
Audio
Interrupt
Request
UDRN
AUDSTA.6
MSREQ
AUDCON1.5
EAUD
IEN0.6
MUDRN
AUDCON1.4