
NXP Semiconductors
PNX15xx/952x Series
Volume 1 of 1
Chapter 16: Audio Input
PNX15XX_PNX952X_SER_N_4
NXP B.V. 2007. All rights reserved.
Product data sheet
Rev. 4.0 — 03 December 2007
16-539
Interrupt status bits within AI_STATUS are persistent, meaning that once the interrupt
is triggered, it will remain asserted until cleared by setting the corresponding ACK bit
in AI_CTL. Using the above example, assuming the HBE interrupt is asserted, write a
logic ‘1’ to ACK_HBE to clear the AI_STATUS.HBE bit and deactivate the interrupt to
the system.
3.10 Timestamp Events
Audio In exports event signals associated with audio capture to the central
timestamp/timer function on-chip. The central timestamp/timer function can be used
to count the number of occurrences of each event or timestamp the occurrence of the
event or both. The event will be a positive edge pulse with the duration of the event to
be greater than or equal to 160ns. The specic event exported is:
The ai_tstamp_event event will occur when the last sample for the current DMA
buffer reaches the internal buffer. The internal buffer referred to here is present in
the adapter and not inside the Audio In block. One precise event will occur for
each of the two DMA buffers.
The occurrence of this event represents a precise, periodic time interval which can be
used by system software for audio/video synchronization.
3.11 Diagnostic Mode
This mode can be used during the diagnostic phase of system testing to verify the
correct operation of both Audio In and Audio Out units. This loopback mode internally
feeds the I2S Audio Out to the I2S Audio In. This test can be used to check the data
ow from the Audio Out buffer to the Audio In buffer.
Audio In Operation
function of the control and status elds of the AI unit. To ensure compatibility with
future devices, undened bits in MMIO registers should be ignored when read and
written as 0s.
The AI unit is reset by a PNX15xx/952x Series 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). The CPU
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 (local memory)
buffers are assigned, capture can be enabled by writing a ‘1’ to CAP_ENABLE. The
AI unit now proceeds to ll buffer 1 with input samples. Once buffer 1 lls up,
BUF1_FULL is asserted, and capture continues without interruption in buffer 2. If
BUF1_INTEN is enabled, a SOURCE 11 interrupt request is generated.
Note that the buffers must be 64-byte aligned and multiple of 64 samples in size (the
six LSBits of AI_BASE1, AI_BASE2 and AI_SIZE are always ‘0’).
The CPU is required to assign a new, empty buffer to BASE1 and perform a ACK1
before buffer 2 lls up. Capture continues in buffer 2 until it lls up. At that time,
BUF2_FULL is asserted and capture continues in the new buffer 1.