
TM1100 Preliminary Data Book
Philips Semiconductors
6-10
PRELIMINARY INFORMATION
File: vin.fm5, modified 7/24/99
For 8-bit and 16-bit capture, successive captured values
are written to increasing memory addresses. For 16-bit
capture, the byte order with which the 16-bit data is writ-
ten to memory is governed by the LITTLE ENDIAN bit.
The VI LITTLE ENDIAN bit should be set the same as the
DSPCPU endianness (PCSW.BSX). This ensures that
the DSPCPU sees correct 16-bit data.
states associated with raw-mode capture. The initial
state is reached on software or hardware reset as de-
set”. Upon reset, all status and control bits are set to ze-
ro. In particular, CAPTURE_ENABLE is set to 0 and no
capture takes place.
Once the software has programmed BASE1 and BASE2
(with the start addresses of two SDRAM buffer areas1)
and SIZE (in number of samples), it is safe to enable cap-
turing by setting CAPTURE_ENABLE. Note that SIZE is
in samples, and must be a multiple of 64, hence setting
a minimum buffer size of 64 bytes for raw8 mode and 128
bytes for raw10 modes. At this point, buffer1 is the active
capture buffer. Data is captured in buffer1 until capture is
disabled or until SIZE samples have been captured. After
every sample, a running address pointer is incremented
by the sample size (one or two bytes). If SIZE samples
have been captured, capture continues (without missing
a sample) in buffer2. At the same time, BUF1FULL is as-
serted. This causes an interrupt on the DSPCPU, if en-
abled by BUF1FULL INTERRUPT ENABLE.
Buffer2 is now the active capture buffer, and behaves as
described above. In normal operation, the DSPCPU will
respond to the BUF1FULL event by assigning a new
BASE1 and (optionally) SIZE and performing an ACK1.
If the DSPCPU fails to assign a new buffer1 and perform
an ACK1 before buffer2 also fills up, the OVERRUN con-
dition is raised and capture stops. Capture continues
upon receipt of an ACK1, ACK2, or both, regardless of
the OVERRUN state. The buffer in which capture re-
condition is ‘sticky’ and can only be cleared by software,
by writing a ‘1’ to the ACK_OVR bit in the VI_CTL regis-
ter.
If insufficient bandwidth is allocated from the internal
data highway, the VI internal buffers may overflow. This
leads to assertion of the HIGHWAY BANDWIDTH ER-
ROR condition. One or more data samples are lost. Cap-
ture resumes at the correct memory address as soon as
the internal buffer is written to memory. The HBE error
condition is sticky. It remains asserted until it is cleared
by writing a ‘1’ to HIGHWAY BANDWIDTH ERROR
Note that VI hardware uses copies of the BASE and
SIZE registers once capture has started. Modifications of
BASE or SIZE, therefore, have no effect until the start of
the next use of the corresponding buffer.
Note also that the VI_BASE1 and VI_BASE2 addresses
must be 64-byte aligned (the six LSBs are always zero).
1.
SDRAM buffers must start on a 64 byte boundary.
VI_STATUS (r)
0x10 1400
31
0
MMIO_BASE
offset:
VI_CLOCK (r/w)
0x10 1408
VI_BASE1 (r/w)
0x10 1414
VI_BASE2 (r/w)
0x10 1418
3
7
11
15
19
23
27
DIVIDER
BUF1ACTIVE
BUF2FULL
BUF1FULL
VI_CTL (r/w)
0x10 1404
MODE
BUF1FULL
ACK2
ACK1
BUF2FULL
Little endian
Capture enable
software RESET
DIAGMODE
SELFCLOCK
BASE1
BASE2
VI_SIZE (r/w)
0x10 141C
SIZE (in samples)
OVERFLOW
(message mode only)
OVERRUN
ACK_OVF
ACK_OVR
OVF
OVR
Interrupt enables
Highway bandwidth error
INT enable
Highway bandwidth error ACK
SLEEPLESS
0
RESERVED
Figure 6-15. Raw & message passing modes view of Video In MMIO registers.