
TM1100 Preliminary Data Book
Philips Semiconductors
8-6
PRELIMINARY INFORMATION
File: ain.fm5, modified 7/24/99
8.8
AUDIO IN OPERATION
tion of the control and status fields of the Audio In unit.
To ensure compatibility with future devices, undefined
bits in MMIO registers should be ignored when read, and
written as zeroes.
The Audio In unit is reset by a TM1100 hardware reset,
or by writing 0x80000000 to the AI_CTL register. Upon
RESET, capture is disabled (CAP_ENABLE = 0), and
buffer1 is the active buffer (BUF1_ACTIVE=1). A mini-
mum of 5 valid AI_SCK clock cycles is required to allow
internal Audio In circuitry to stabilize before enabling
capture. This can be accomplished by programming
AI_FREQ and AI_SERIAL and then delaying for the ap-
propriate time interval.
The DSPCPU initiates capture by providing two equal
size empty buffers and putting their base address and
size in the BASEn and SIZE registers. Once two valid (lo-
cal memory) buffers are assigned, capture can be en-
abled by writing a ‘1’ to CAP_ENABLE. The Audio In unit
hardware now proceeds to fill buffer 1 with input sam-
ples. Once buffer 1 fills up, BUF1_FULL is asserted, and
capture continues without interruption in buffer 2. If
BUF1_INTEN is enabled, a SOURCE 11 interrupt re-
quest is generated.
Note that the buffers must be 64-byte aligned, and a mul-
tiple of 64 samples in size (the six LSBs of AI_BASE1,
AI_BASE2 and AI_SIZE are always zero).
The DSPCPU is required to assign a new, empty buffer
to BASE1 and perform an ACK1, before buffer 2 fills up.
Capture continues in buffer 2, until it fills up. At that time,
BUF2_FULL is asserted, and capture continues in the
new buffer 1, etc.
Upon receipt of an ACK, the Audio In hardware removes
the related interrupt request line assertion at the next
rules regarding ACK and interrupt re-enabling. The Au-
dio In interrupt should always be operated in level sensi-
tive mode, since Audio In can signal multiple conditions
that each need independent ACKs over the single inter-
nal SOURCE 11 request line.
Figure 8-5. Audio In status/control field MMIO layout.
MMIO_base
offset:
AI_STATUS (r/w)
0x10 1C00
AI_CTL (r/w)
0x10 1C04
AI_SERIAL (r/w)
0x10 1C08
SCKDIV
AI_FRAMING (r/w)
0x10 1C0C
AI_FREQ (r/w)
0x10 1C10
AI_BASE1 (r/w)
0x10 1C14
FREQUENCY
BUF1_ACTIVE
AI_BASE2 (r/w)
0x10 1C18
BASE2
AI_SIZE (r/w)
0x10 1C1C
SIZE (in samples)
31
0
3
7
11
15
19
23
27
VALIDPOS
BASE1
OVERRUN
HBE (Highway bandwidth error)
BUF2_FULL
RESET
CAP_ENABLE
CAP_MODE
SIGN_CONVERT
LITTLE_ENDIAN
0
DIAGMODE
OVR_INTEN
HBE_INTEN
BUF2_INTEN
BUF1_INTEN
ACK_OVR
ACK_HBE
ACK2
ACK1
WSDIV
SER_MASTER
DATAMODE
FRAMEMODE
POLARITY
LEFTPOS
RIGHTPOS
SSPOS
0
BUF1_FULL
SLEEPLESS
CLOCK_EDGE
0
31
0
3
7
11
15
19
23
27
31
0
3
7
11
15
19
23
27
31
0
3
7
11
15
19
23
27
31
0
3
7
11
15
19
23
27
RESERVED