
Philips Semiconductors
PNX15xx Series
Volume 1 of 1
Chapter 14: FGPI: Fast General Purpose Interface
PNX15XX_SER_3
Koninklijke Philips Electronics N.V. 2006. All rights reserved.
Product data sheet
Rev. 3 — 17 March 2006
14-10
NOTE: The length of the timestamp word is NOT INCLUDED in the FGPI_REC_SIZE
value but MUST be included in the FGPI_STRIDE value.
If both FGPI_CTL.TSTAMP_SELECT and FGPI_CTL.VAR_LENGTH bits are set,
then the timestamp word is written to memory before the length word.
2.10 Variable Length
If enabled, by setting FGPI_CTL.VAR_LENGTH bit to ‘1’, a 4-byte length of record or
message (number of samples received) word is written to main memory before
sample data but after the timestamp word (if enabled).
Remark: The length of the VAR_LENGTH word is NOT INCLUDED in the
FGPI_REC_SIZE value but MUST be included in the FGPI_STRIDE value.
2.11 Double Buffer Operation
Figure 4 presents the major states associated with double buffering. In the following
discussion a buffer start event means either the current buffer is full or that an
external buffer sync event tells the FGPI to terminate the current buffer and switch to
the next buffer. The exact semantics depends on the operating mode of the FGPI.
Upon a system reset, all status and control bits are placed in the reset condition and
no buffer is active. Once software has programmed the required parameters, it is safe
to enable capture by setting CAPTURE_ENABLE_1 and CAPTURE_ENABLE_2.
Buffer 1 will become the rst active buffer. Starting with the next record or message
start event samples will be captured in buffer 1 until either capture is disabled or
the FGPI handles buffer termination and switching during a transfer.
When a buffer lls, or is stopped by a buffer start event, the last data sample is tagged
by the FGPI so the memory controller will inform the FGPI when the buffer is written
to main memory. When the tag is acknowledged the FGPI will issue a BUF1FULL
interrupt (if enabled). During this time buffer 2 will be capturing data samples.