2004 Mar 04 10
Philips Semiconductors Product specification
Digital video encoder SAA7104E; SAA7105E
The 8-bit multiplexed C
B
-Y-C
R
formats are
“ITU-R BT.656”
(D1 format) compatible, but the SAV and EAV codes can
be decoded optionally, when the device is operated in
slave mode. For assignment of the input data to the rising
or falling clock edge see Tables 9 to 14.
In order to display interlaced RGB signals through a
euro-connector TV set, a separate digital composite sync
signal (pin HSM_CSYNC) can be generated; it can be
advanced up to 31 periods of the 27 MHz crystal clock in
order to be adapted to the RGB processing of a TV set.
The SAA7104E; SAA7105E synthesizes all necessary
internal signals, colour subcarrier frequency and
synchronization signals from that clock.
Wide screen signalling data can be loaded via the I
2
C-bus
and is inserted into line 23 for standards using a 50 Hz
field rate.
VPS data for program dependent automatic start and stop
of such featured VCRs is loadable via the I
2
C-bus.
The IC also contains Closed Caption and extended data
services encoding (line 21), and supports teletext insertion
for the appropriate bit stream format at a 27 MHz clock rate
(see Fig.14). It is also possible to load data for the copy
generation management system into line 20 of every field
(525/60 line counting).
A number of possibilities are provided for setting different
video parameters such as:
Black and blanking level control
Colour subcarrier frequency
Variable burst amplitude etc.
7.1 Reset conditions
To activate the reset a pulse at least of 2 crystal clocks
duration is required.
During reset (RESET = LOW) plus an extra 32 crystal
clock periods, FSVGC, VSVGC, CBO, HSVGC and
TTX_SRES are set to input mode and HSM_CSYNC and
VSM are set to 3-state. A reset also forces the I
2
C-bus
interface to abort any running bus transfer and sets it into
receive condition.
After reset, the state of the I/Os and other functions is
defined by the strapping pins until an I
2
C-bus access
redefines the corresponding registers; see Table 2.
Table 2 Strapping pins
7.2 Input formatter
The input formatter converts all accepted PD input data
formats, either RGB or Y-C
B
-C
R
, to a common internal
RGB or Y-C
B
-C
R
data stream.
When double-edge clocking is used, the data is internally
split into portions PPD1 and PPD2. The clock edge
assignment must be set according to the I
2
C-bus control
bits SLOT and EDGE for correct operation.
If Y-C
B
-C
R
is being applied as a 27 Mbyte/s data stream,
the output of the input formatter can be used directly to
feed the video encoder block.
The horizontal upscaling is supported via the input
formatter. According to the programming of the pixel clock
dividers (see Section 7.10), it will sample up the data
stream to 1 ×, 2 × or 4 × the input data rate. An optional
interpolation filter is available. The clock domain transition
is handled by a 4 entries wide FIFO which gets initialized
every field or explicitly at request. A bypass for the FIFO is
available, especially for high input data rates.
PIN TIED PRESET
FSVGC LOW NTSC M encoding, PIXCLK
fits to 640 × 480 graphics
input
HIGH PAL B/G encoding, PIXCLK
fits to 640 × 480 graphics
input
VSVGC LOW 4:2:2 Y-C
B
-C
R
graphics
input (format 0)
HIGH 4:4:4 RGB graphics input
(format 3)
CBO LOW input demultiplex phase:
LSB = LOW
HIGH input demultiplex phase:
LSB = HIGH
HSVGC LOW input demultiplex phase:
MSB = LOW
HIGH input demultiplex phase:
MSB = HIGH
TTXRQ_XCLKO2 LOW slave (FSVGC, VSVGC and
HSVGC are inputs, internal
colour bar is active)
HIGH master (FSVGC, VSVGC
and HSVGC are outputs)
2004 Mar 04 11
Philips Semiconductors Product specification
Digital video encoder SAA7104E; SAA7105E
7.3 RGB LUT
The three 256 byte RAMs of this block can be addressed
by three 8-bit wide signals, thus it can be used to build any
transformation, e.g. a gamma correction for RGB signals.
In the event that the indexed colour data is applied, the
RAMs are addressed in parallel.
The LUTs can either be loaded by an I
2
C-bus write access
or can be part of the pixel data input through the PD port.
In the latter case, 256 × 3 bytes for the R, G and B LUT are
expected at the beginning of the input video line, two lines
before the line that has been defined as first active line,
until the middle of the line immediately preceding the first
active line. The first 3 bytes represent the first RGB LUT
data, and so on.
7.4 Cursor insertion
A32× 32 dots cursor can be overlaid as an option; the bit
map of the cursor can be uploaded by an I
2
C-bus write
access to specific registers or in the pixel data input
through the PD port. In the latter case, the 256 bytes
defining the cursor bit map (2 bits per pixel) are expected
immediately following the last RGB LUT data in the line
preceding the first active line.
The cursor bit map is set up as follows: each pixel
occupies 2 bits. The meaning of these bits depends on the
CMODE I
2
C-bus register as described in Table 5.
Transparent means that the input pixels are passed
through, the ‘cursor colours’ can be programmed in
separate registers.
The bit map is stored with 4 pixels per byte, aligned to the
least significant bit. So the first pixel is in bits 0 and 1, the
next pixel in bits 3 and 4 and so on. The first index is the
column, followed by the row; index 0,0 is the upper left
corner.
Table 3 Layout of a byte in the cursor bit map
For each direction, there are 2 registers controlling the
position of the cursor, one controls the position of the
‘hot spot’, the other register controls the insertion position.
The hot spot is the ‘tip’ of the pointer arrow. It can have any
position in the bit map. The actual position registers
describe the co-ordinates of the hot spot. Again 0,0 is the
upper left corner. While it is not possible to move the
hot spot beyond the left respectively upper screen border
this is perfectly legal for the right respectively lower border.
It should be noted that the cursor position is described
relative to the input resolution.
Table 4 Cursor bit map
Table 5 Cursor modes
D7 D6 D5 D4 D3 D2 D1 D0
pixel n + 3 pixel n + 2 pixel n + 1 pixel n
D1 D0 D1 D0 D1 D0 D1 D0
BYTE D7 D6 D5 D4 D3 D2 D1 D0
0row0
column 3
row 0
column 2
row 0
column 1
row 0
column 0
1row0
column 7
row 0
column 6
row 0
column 5
row 0
column 4
2row0
column
11
row 0
column
10
row 0
column 9
row 0
column 8
... ... ... ... ...
6row0
column
27
row 0
column
26
row 0
column
25
row 0
column
24
7row0
column
31
row 0
column
30
row 0
column
29
row 0
column
28
... ... ... ... ...
254 row 31
column
27
row 31
column
26
row 31
column
25
row 31
column
24
255 row 31
column
31
row 31
column
30
row 31
column
29
row 31
column
28
CURSOR
PATTERN
CURSOR MODE
CMODE = 0 CMODE = 1
00 second cursor colour second cursor colour
01 first cursor colour first cursor colour
10 transparent transparent
11 inverted input auxiliary cursor
colour
2004 Mar 04 12
Philips Semiconductors Product specification
Digital video encoder SAA7104E; SAA7105E
7.5 RGB Y-C
B
-C
R
matrix
RGB input signals to be encoded to PAL or NTSC are
converted to the Y-C
B
-C
R
colour space in this block. The
colour difference signals are fed through low-pass filters
and formatted to a ITU-R BT.601 like 4 : 2 : 2 data stream
for further processing.
A gain adjust option corrects the level swing of the
graphics world (black-to-white as 0 to 255) to the required
range of 16 to 235.
The matrix and formatting blocks can be bypassed for
Y-C
B
-C
R
graphics input.
When the auxiliary VGA mode is selected, the output of the
cursor insertion block is immediately directed to the triple
DAC.
7.6 Horizontal scaler
The high quality horizontal scaler operates on the 4 : 2 : 2
data stream. Its control engines compensate the colour
phase offset automatically.
The scaler starts processing after a programmable
horizontal offset and continues with a number of input
pixels. Each input pixel is a programmable fraction of the
current output pixel (XINC/4096). A special case is
XINC = 0, this sets the scaling factor to 1.
If the SAA7104E; SAA7105E input data is in accordance
with
“ITU-R BT.656”
, the scaler enters another mode.
In this event, XINC needs to be set to 2048 for a scaling
factor of 1. With higher values, upscaling will occur.
The phase resolution of the circuit is 12 bits, giving a
maximum offset of 0.2 after 800 input pixels. Small FIFOs
rearrange a 4 : 2 : 2 data stream at the scaler output.
7.7 Vertical scaler and anti-flicker filter
The functions scaling, Anti-Flicker Filter (AFF) and
re-interlacing are implemented in the vertical scaler.
Besides the entire input frame, it receives the first and last
lines of the border to allow anti-flicker filtering.
The circuit generates the interlaced output fields by scaling
down the input frames with different offsets for odd and
even fields. Increasing the YSKIP setting reduces the
anti-flicker function. A YSKIP value of 4095 switches it off;
see Table 86.
An additional, programmable vertical filter supports the
anti-flicker function. This filter is not available at upscaling
factors of more than 2.
The programming is similar to the horizontal scaler. For the
re-interlacing, the resolutions of the offset registers are not
sufficient, so the weighting factors for the first lines can
also be adjusted. YINC = 0 sets the scaling factor to 1;
YIWGTO and YIWGTE must not be 0.
Due to the re-interlacing, the circuit can perform upscaling
by a maximum factor of 2. The maximum factor depends
on the setting of the anti-flicker function and can be derived
from the formulae given in Section 7.20.
An additional upscaling mode allows to increase the
upscaling factor to maximum 4 as it is required for the old
VGA modes like 320 × 240.
7.8 FIFO
The FIFO acts as a buffer to translate from the PIXCLK
clock domain to the XTAL clock domain. The write clock is
PIXCLK and the read clock is XTAL. An underflow or
overflow condition can be detected via the I
2
C-bus read
access.
In order to avoid underflows and overflows, it is essential
that the frequency of the synthesized PIXCLK matches to
the input graphics resolution and the desired scaling
factor.
7.9 Border generator
When the graphics picture is to be displayed as interlaced
PAL, NTSC, S-video or RGB on a TV screen, it is desired
in many cases not to lose picture information due to the
inherent overscanning of a TV set. The desired amount of
underscan area, which is achieved through appropriate
scaling in the vertical and horizontal direction, can be filled
in the border generator with an arbitrary true colour tint.
7.10 Oscillator and Discrete Time Oscillator (DTO)
The master clock generation is realized as a 27 MHz
crystal oscillator, which can operate with either a
fundamental wave crystal or a 3rd-harmonic crystal.
The crystal clock supplies the DTO of the pixel clock
synthesizer, the video encoder and the I
2
C-bus control
block. It also usually supplies the triple DAC, with the
exception of the auxiliary VGA or HDTV mode, where the
triple DAC is clocked by the pixel clock (PIXCLK).
The DTO can be programmed to synthesize all relevant
pixel clock frequencies between circa 40 and 85 MHz.
Two programmable dividers provide the actual clock to be
used externally and internally. The dividers can be
programmed to factors of 1, 2, 4 and 8. For the internal
pixel clock, a divider ratio of 8 makes no sense and is thus
forbidden.

SAA7105E/V1/S1,557

Mfr. #:
Manufacturer:
NXP Semiconductors
Description:
IC DIGITAL VIDEO ENCODER 156LBGA
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union