ISD94100 Series Technical Reference Manual
Sep 9, 2019
Page
808
of 928
Rev1.09
IS
D
9
410
0
S
ER
IE
S
T
E
C
HN
ICA
L
RE
F
E
RE
NCE
M
AN
U
AL
6.17.5.5 Zero Crossing
When playing the audio by I
2
S controller, the output transmitting data comes from the memory by
PDMA or by CPU. However, there may be some pop noise which induces the uncomfortable
hearing if the playing sound volume is changed greatly by user. The zero-crossing event of audio
data means the playing sound is relatively silent at the moment. Therefore, the zero-cross interrupt
can be used for the indication of gain level adjustment in order to prevent the huge variance of
sound volume.
If zero-cross detection of individual audio channel is enabled by the corresponding control bit from
CH0ZCEN to CH7ZCEN (I2S_CTL1[0] to I2S_CTL1[7]), the hardware will detect the next
transferring data word of the corresponding audio channel whether it is zero or its MSB has been
changed. If zero value or MSB (sign bit) changing of the transmitting audio data has been detected
while zero-cross detection is enabled, the hardware will set the corresponding status bit from
CH0ZCIF to CH7ZCIF (I2S_STATUS1[0] to I2S_STATUS1[7]) for the audio channel and then keep
the output audio data silent (all data bit zero) automatically until the corresponding event status bit
is cleared by software.
Therefore, if user wants to modify the audio playing gain, users can enable the zero crossing
interrupt function, CH0ZCIEN to CH7ZCIEN (I2S_IEN[16:23]) , to indicate the zero crossing time
and to change the audio gain. This will reduce the pop noise.
6.17.5.6 PDMA Mode
The I
2
S function can use PDMA function for transmitting or receiving data access. If the PDMA
function of transmitting data is enabled by TXPDMAEN (I2S_CTL0[20]), the I
2
S controller will
generate the request signal and then get transmitting audio data from memory by PDMA IP
automatically while TX FIFO is not full. If the PDMA function of receiving data is enabled by
RXPDMAEN (I2S_CTL0[19]), the I
2
S controller will generate the request signal and then the
receiving data will be moved into memory by PDMA hardware automatically while the RX FIFO is
not empty. Therefore, using PDMA function will save the CPU loading to service other functions.
6.17.5.7 I
2
S Interrupt Sources
The I
2
S controller supports zero-cross interrupt of individual audio channel, transmit FIFO threshold
level interrupt, transmit FIFO overflow interrupt and transmit FIFO underflow interrupt in transmit
operation. In receive operation, it supports receive FIFO threshold level interrupt, receive FIFO
overflow interrupt and receive FIFO underflow interrupt. When I
2
S interrupt occurs, user can check
I2STXINT (I2S_STATUS0[2]) and I2SRXINT (I2S_STATUS0[1]) flags to recognize the interrupt
sources.