
V PERIPHERAL MODULES 3 (INTERFACE): I2S INTERFACE (I2S)
S1C33E07 TECHNICAL MANUAL
EPSON
V-5-7
V
I2S
Setting HSDMA
The I2S module has an embedded 8-word FIFO for storing PCM data and is able to output DMA requests to
write data when the FIFO is not full. The I2S module has two DMA request signal paths corresponding to L and
R channels and these signals are directly input to HSDMA. When transferring L and R data together, one DMA
request signal only is used, or when transferring L and R data individually, two signals are used. I2SHSDMA
(D0/0x301C10) is used for this selection.
I2SHSDMA: I2S HSDMA Mode Select Bit in the I2S HSDMA Mode Select Register (D0/0x301C10)
When one DMA request signal is used (I2SHSDMA = 0, default)
When one data in the FIFO is loaded to the shift register, the L channel DMA request signal to the HSDMA
Ch.0 is asserted. Program HSDMA so that up to eight 32-bit data will be transferred to the FIFO (0x301C20)
using the requests as triggers. The 32-bit data consists of an L channel data of upper 16 bits and an R channel
data of lower 16 bits.
The following shows standard settings for HSDMA Ch.0. For details of HSDMA, see Section II.1, “High-Speed
DMA (HSDMA).”
1. HSDMA STD/ADV Mode Select Register (0x30119C) = 0x1
Set HSDMA in advanced mode to perform 32-bit data transfer.
2. HSDMA Ch.0 Control Register for ADV Mode (0x301162) = 0x1
Set the transfer data size to word (32 bits).
3. HSDMA Ch.0 Source Address Setup Registers for ADV Mode (0x301164, 0x301166) = PCM data address
Specify the PCM data start address in the memory as the source address.
4. HSDMA Ch.0 Destination Address Setup Registers for ADV Mode (0x301168, 0x30116A) = 0x301C20
Specify the data write address of the I2S FIFO as the destination address.
5. HSDMA Ch.0 Transfer Counter Register (0x301120) = 0x8 to PCM data size
Configure the transfer counter with the word length to be transferred. Be sure not to set a value of less than 8.
The I2S module fills the FIFO with output data until it becomes full before outputting. After that, every time
word data is read out from the FIFO, the I2S module outputs a DMA request until the FIFO becomes full
again.
6. HSDMA Ch.0 Control Register (0x301122) = 0x80
Select dual-address mode.
7. HSDMA Ch.0 High-Order Source Address Setup Register (0x301126) = 0x3000
Select “address incremented without initialization” for the source address control.
8. HSDMA Ch.0 High-Order Destination Address Setup Register (0x30112A) = 0x0000
Set HSDMA in single transfer mode to transfer one word per transfer by one trigger.
Select “address fixed” for the destination address control.
9. HSDMA Ch.0–1 Trigger Set-up Register (0x300298) = 0x
9
Select I2S as the trigger source for HSDMA Ch.0. A trigger source for HSDMA Ch.1 should be set to
(upper
four bits).