
CHAPTER 15 AC97U (AC97 UNIT)
User’s Manual U14579EJ2V0UM
398
The counters for the base address and transfer count are separate from the registers. The register values
are loaded in the counters only when the start bit is set to 1 and the DMA end interrupt request is generated.
Therefore, if the next base address and transfer count are set in advance after the start bit was set to 1 or
the DMA end interrupt request was generated, DMA operations can be performed continuously by loading
the setting values after the DMA that is currently being processed ends.
The correspondence between the DMA transfer count and the Codec transfer count differs according to the
following bit settings of the CTRL register in the operational registers.
SRC_CNVT_ON bit: Whether or not to perform converter operation
SRC_FILTER_ON bit: Whether or not to perform filter operation
ADC1FORM(2:0) area: Conversion rate of data to be input
The data length that is transferred from the buffer within the AC97U by a single DMA is 32 bits
× 4 (= 16 bits
× 8). The data that is used in a single transfer with the Codec is 16 bits among these bits.
The following table shows the relationship between the CTRL register settings and data transfer counts.
SRC_CNVT_ON bit,
SRC_FILTER_ON bit
ADC1FORM
(2:0)
DMA Transfer
Count
ADC1 or ADC2 Codec
Transfer Count
ADC3 Codec
Transfer Count
SRC_CNVT_ON = 0 and
SRC_FILTER_ON = 0
A
× 8
000
A
× 8
001
(A
× 48) 5
010
(A
× 24) 2
011
(A
× 12) 1
100
((A
× 32) 3) × 147/160
101
((A
× 16) 1) × 147/160
Other combination than
above
110
A (Arbitrary)
(A
× 8) × 147/160
A
× 8
The address shown below is output as the DMA address.
DMA address = (Address set in the operational register) + (0x10
× N)
N: DMA transfer count (0, 1, 2, 3,...)
The higher 12 bits (bits 31 to 20) are fixed, and the lower 18 bits (bits 19 to 2) vary. Therefore, if a carry
occurs in the lower 18 bits, 1 is not added to the higher 12 bits.