• Programmable width and height of the OSD window,
built from maximum 1152 characters
• 8 different colours for foreground and background
inclusive transparent colours
• Overlay port for external OSD controller.
1.4Video output
• Single pixel/clock (24-bit) or double pixel/clock (48-bit)
digital RGB output
• Generation of synchronization and validation signals for
the Thin Film Transistor (TFT) display
• Frame rate control (temporal dithering) for displaying
true colour graphics on high colour displays
• Free programmable timing for displays of several
manufacturers.
1.5Memory interface
• Support of both 1M × 16 SDRAM, 256k × 32 SGRAM or
128k × 32 SGRAM devices
• Maximum memory clock frequency of 125 MHz
• Scalable memory size built of either 2, 3 or 4 SDRAM,
or of 1 or 2 SGRAM devices
• Special mode for operation without external memory.
1.6Miscellaneous
• Internal Phase-Locked Loop (PLL) for memory and
panel clock generation from the system clock
• I2C-bus interface with 2 selectable addresses
• Boundary scan test circuit and Joint Test Action Group
(JTAG) test controller
• Pin compatible to SAA6721E
• Programming compatible to SAA6721E.
1999 Aug 253
Page 4
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
2GENERAL DESCRIPTION
The SAA6712E is a graphics engine, which converts
digital RGB data into video signals suitable for TFT
displays. It supports SXGA input resolution as well as true
colour. Independent horizontal and vertical up and
downscaling can display the input data arbitrarily on the
connected TFT display. Auto-scan capability allows the
applied graphics mode to be detected.
The SAA6712E must be embedded into a system
containing a microcontroller with an I2C-bus serial
interface. For auto-scan capabilities a frame buffer built
from SGRAM or SDRAM is needed. The size of this frame
buffer depends on the maximumresolution and bandwidth
neededfor the application. For converting theanalog RGB
stream into a digital data stream one or two ADCs with
3 channels each for R, G and B are needed.
Overlay signals can be generated either by an internal
OSD generator or supplied via the overlay port from an
external OSD controller.
3QUICK REFERENCE DATA
SYMBOLPARAMETERMIN.TYP.MAX.UNIT
V
I
DDD
V
V
DDD
i
o
digital supply voltage3.03.33.6V
digital supply current−600840mA
input voltagesLVTTL compatible
output voltages memory portLVTTL compatible
output voltages TFT portCMOS compatible
1. Generally all inputs are 5 V tolerant TTL inputs. All outputs are CMOS, except the memory interface ports, which are
LVTTL compatible.
2. Connect to ground when not using the JTAG controller.
7FUNCTIONAL DESCRIPTION
7.1Data path
Input video data is sampled either as RGB data in single
pixels from only one ADC or in double pixels in interleaved
formatfrom two ADCs. The clock for sampling the data will
always be provided from external circuitry. The video
stream will be adapted from the input frame rate to the
output frame rate needed by the panel. Therefore a frame
buffer built of SDRAMs or SGRAMs is used. If the panel
supports the incoming frame rate from the RGB port, the
adaption can be done without external memory.
If zooming must be performed the upscaler behind the
memory interface will be enabled. For downscaling the
downscaler in front of the memory interface in the data
path will be used. A colour correction can be done via a
look-up table. The resulting video stream can now be
positioned elsewhere in the output data stream by the
panning unit. If an external OSD controller is embedded
into the system, its OSD window will be put into the video
stream by the OSD overlay port. Additionally the internal
OSD will be inserted in the next stage. The temporal
dithering allows true colour pictures to be displayed on
high colour panels. The output interface provides the
timing and control signals necessary for the connected
panel.
Pin
PORTI/O
(1)
DESCRIPTION
7.2System clocks
7.2.1INPUT INTERFACE CLOCK (VCLK)
This clock is used for sampling the incoming RGB data
stream. In RGB mode this clock varies from
25 to 150 MHz in single ADC mode. If two ADCs are used
the RGB input clock is between 12.5 and 75 MHz.
The RGB clock can be generated by the external ADCs or
an external video PLL.
7.2.2MEMORY INTERFACE CLOCK (MCLKI)
The memory clock is the synchronous clock for the
external frame buffer. Depending on the bandwidth
needed by the application, and the connected SDRAM or
SGRAM devices, the clock varies from 83 to 125 MHz.
It can be generated internally by the PLL from the system
clock (CLK), or by an external quartz oscillator.
If the internal PLL is used, the memory clock frequency
can be derived from the following formula:
f_memory
Where N = pre-divider ratio and f_system = clock at
pin CLK.
f_system
----------------------- N
16×=
1999 Aug 2513
Page 14
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
7.2.3I2C-BUS INTERFACE CLOCK (SCL)
This clock drives the interface to the external
microcontroller. Its frequency range is from
100 kHz to 1 MHz.
7.2.4SYSTEM CLOCK (CLK)
This clock is used to drive the internal PLL. The frequency
range is from 24 to 50 MHz.
7.2.5TFT PANEL CLOCK (PCLK)
This clock is the timing reference for the panel.
The frequency is the same as the system clock, or it can
be generated from the internal PLL by using the following
formula:
f_tft
f_system
----------------------- N
32
×=
-----M
Where N = pre-divider ratio and M = post-divider ratio.
7.3RGB input port
The RGB input port can operate in two modes; single pixel
mode (24 bits) and double pixel mode (48 bits). For single
pixel mode only ports VPA7 to VPA0, VPB7 to VPB0, and
VPC7 to VPC0 are internally sampled. For double pixel
mode two pixels must be provided at the RGB input port.
Therefore ports VPD7 to VPD0, VPE7 to VPE0, and
VPF7 to VPF0 are also needed.
The VPA/B/C ports are sampled on the rising edge of the
RGB input clock (VCLK), and the VPD/E/F ports on the
falling edge (see Fig.3).
The synchronization pulses from the graphics card are
used to identify the frame outline. The vertical
synchronization pulse is connected to pin VVS, and the
horizontal synchronization pulse is connected to pin VHS.
For calibrating the connected Analog-to-Digital Converter
(ADC) the SAA6712E delivers a clamp pulse at
pin CLAMP, and a gain correction pulse at pin GAINC
(see Fig.4).
The sample window of the RGB input port is controlled by
four counters; horizontal and vertical offset, and horizontal
and vertical window size.
The offset counters start at the inactive or second edge of
their corresponding synchronization signal.
handbook, full pagewidth
VCLK
VPA/B/C
VPD/E/F
Fig.3 RGB input port timing.
1999 Aug 2514
MHB243
Page 15
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
handbook, full pagewidth
VHS
RGB data
GAINC
CLAMP
Fig.4 Clamp and gain correction pulses.
7.4TFT output port
The TFT output port consists of two pixel ports (A and B),
each containing red, green and blue colour information
with a resolution of 8 bits per colour. The first pixel port is
mapped to PAR7 to PAR0, PAG7 to PAG0, and
PAB7 to PAB0. The second port is mapped to
PBR7 to PBR0, PBG7 to PBG0, and PBB7 to PBB0.
The vertical and horizontal synchronization signals are
mapped to pins PVS and PHS. A data validation signal
framing visible pixels is available at pin PDE.
Allof the above mentioned signalsare synchronized to the
output clock at pin PCLK. The active edge of this clock is
programmable.
blanking
MHB244
125 MHz. This clockcan be providedeither by the internal
PLL, or externally be applied to pin MCLKI.
The memory data bus is split into 4 ports:
port 0 (DQ0 to DQ15), port 1 (DQ16 to DQ31),
port 2 (DQ32 to DQ47) and port 3 (DQ48 to DQ63).
To adapt the external memory to the needs of the
application by means of memory size and bandwidth, it is
possible to scale the external memory by using only the
number of subsequent ports needed to build up the frame
buffer and to achieve the memory bandwidth. As a second
step for bandwidth optimization several speed grades of
memory devices can be used.
7.5.1SDRAM MEMORY CONFIGURATION
7.4.1SINGLE PIXEL MODE
The single pixel mode is designed to support TFT panels
with single pixel input, and for direct connection of panel
link transmitters. Only the first pixel port PAR7 to PAR0,
PAG7 to PAG0, and PAB7 to PAB0 is used. The data is
applied at double the frequency in comparison to the
double pixel output mode.
7.4.2DOUBLE PIXEL MODE
Thedoublepixel mode is used for direct connection of TFT
panels with double pixel input. Both output ports are used.
Thefirst pixel is applied atport A, and the second atport B.
7.5Memory port
The memory port connects the SAA6712E to the external
frame buffer. This frame memory can be built from either
1M × 16 SDRAM or 256k × 32 SGRAM devices.
Supported are RAM devices with clock frequencies up to
1999 Aug 2515
SDRAMs are available in sizes from 16 Mbits. For this
application a wide data bus is required, so that at least
1M × 16 devices must be used. To achieve the desired
bandwidth, 2 to 4 devices must be used in parallel, which
resultsin a frame buffer size of 4 to 8 Mbytes.But only half
of this memory will be used by the SAA6712E.
The memory port of the SAA6712E can be divided into
4 SDRAM channels. Each channel is 16 bits wide, and
provides in High Speed Channel (HSC) mode with a
125 MHz memory clock and an effective bandwidth of
228 Mbits/s. A Medium Speed Channel (MSC) with a
100 MHz memory clock gives an effective bandwidth of
182 Mbits/s, 91% effective bandwidth assumed.
Table 2 gives the channel configuration for several input
and panel resolutions.
7.5.2SGRAM MEMORY CONFIGURATION
SGRAMdevicesorganizedto256k × 32 bits are available,
and feature the wide data bus for high speed applications.
With these devices a frame buffer can be built, without
wasting memory because of bandwidth. In case of
SGRAM usage, the memory data bus of the SAA6712E
can be split into 2 channels of 32 bits each.
Each channel gives, in HSC mode with 125 MHz clock
frequency, an effective bandwidth of 456 Mbits/s; and in
MSC mode, with 100 MHz clock speed, an effective
bandwidth of 364 Mbits/s.
Table 3 gives the channel configuration for several input
and panel resolutions.
411 Mbits/s
bandwidth;
1 × HSC or
2 × MSC
452 Mbits/s
bandwidth;
2 × HSC or
3 × MSC
452 Mbits/s
bandwidth;
1 × HSC or
2 × MSC
475 Mbits/s
bandwidth;
3 × HSC or
3 × MSC
475 Mbits/s
bandwidth;
2 × HSC or
2 × MSC
540 Mbits/s
bandwidth;
3 × HSC or
3 × MSC
540 Mbits/s
bandwidth;
2 × HSC or
2 × MSC
Note
1. 36 MHz clock frequency.
1999 Aug 2516
Page 17
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
7.6I2C-bus interface
This serial interface consists of only two signals, the serial
clock line (SCL) and the serial data line (SDA).
The maximum supported frequency on this bus is 1 MHz.
Spikes with a maximum pulse length of 50 ns are
suppressed by the internal input filter.
The SAA6712E operates as a slave and cannot initiate
any data transfer, so the clock line is always input. Via the
dataline, data is transmitted and received, sothis pin must
be input/output. The SCL and SDA lines are driven by
open-drain stages and pull-up resistors. When a logic 0 is
applied, the bus is set to ground level via the output
buffers. When a logic 1 is applied, the output buffer
switchesto 3-state and the pull-up resistors pullthe bus up
to +5 V.
Datatransfer changes on SDA are allowed only whenSCL
is LOW. Data is sampled on the positive edge of SCL.
In Idle state the output buffers are in 3-state, and the bus
is HIGH. A data transfer must be initiated by an I2C-bus
masterdevice. This is done by sending a STARTcondition
whenSDAchangesfromHIGHtoLOWwhenSCLisHIGH
(see Fig.5). The device address of the SAA6712E must
then be sent with the desired I/O direction.
If the SAA6712E reads its device address, it
acknowledges this by sending a single bit ACK to the
master. If write mode was selected, the master sends the
register address to be written and then the data bytes.
If read mode was selected, the SAA6712E sends the data
bytes starting from the last address accessed either by
write command or the next address at a read command.
All byte transfers are acknowledged from the receiving
device. The data transfer is aborted by sending a STOP
condition, when SDA changes from LOW to HIGH when
SCL is HIGH (see Fig.6).
If a new address has to be read or written, it is possible to
send a new START condition without a preceding STOP
condition. In this case the bus is still occupied by the
master, and it can initiate a new data transfer. This is
usefulfor read activities, where atfirst the register address
must be sent in write mode and after that a read command
will be sent to read data from this and following addresses.
If the data transfer was a read transferand the master was
receiver, the master must not generate an acknowledge
before the STOP condition.
handbook, full pagewidth
SCL
SDA
handbook, full pagewidth
SCL
SDAD7D4D5D6D1D0ACKD2D3A/A
START condition
A4A1A2A3A6A5ACKR/W
A0R5R7R6
Fig.5 Start of a data transfer.
Fig.6 End of a data transfer.
acknowledge
D1D0
acknowledge/
not acknowledge
MHB248
STOP condition
MHB249
1999 Aug 2517
Page 18
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
7.7Scaling algorithm
The SAA6712E features different scaling engines for up
and downscaling, for both horizontal and vertical
processing. The horizontal scaling engines are
independent from each other. The vertical scaling engines
share the line buffer, so they cannot operate in parallel.
7.7.1UPSCALING
The upscaling engine is used for enlarging the incoming
video frames. The magnification can be programmed
individually for horizontal and vertical scaling.
The maximum scaling factor for both directions is 64.
The implemented filter algorithm (see Fig.7) uses
interpolation with pixel enhancement, based on a free
programmable transition function. It is therefore possible
to define the transition between two calculated pixels to
obtain different sharpness characteristics. This transition
function must be defined in the 7 bits × 64 look-up table,
withanumberrangingfrom0 to 64. Different functions can
be programmed for horizontal and vertical scaling.
7.7.2DOWNSCALING
The downscaling engine is used for reducing the incoming
RGB data stream, i.e. for displaying high resolution input
frames on panels with a smaller resolution.
The scaling ratio can be programmed independently for
both horizontal and vertical downscaling units.
The algorithm uses pixel accumulation, achieving a
minimum scaling factor of1⁄64.
handbook, full pagewidth
AB
O
(1) The linear interpolation results in smoothing the sharp edges of the original picture if a pixel must be calculated.
(2) Some kind of1⁄xfunction results in sharper edges, because of the smaller transition interval.
(3) Phase correct pixel repetition can be done with this function.
intensity of
output pixel O
100% A,
0% B
0% A,
100% B
100% A,
0% B
(3)
(2)
0% A,
100% B
Fig.7 Interpolation function definition.
(1)
MHB250
ratio between
input pixels A, B
1999 Aug 2518
Page 19
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
8SYSTEM DESCRIPTION
8.1Programming registers
The SAA6712E is a highly integrated device with many
features. To get the desired functionality and performance
it must be programmed correctly. In general, before
programming, the device must be switched to the internal
reset state to prevent unwanted functions while changing
the registers.
After writing to all registers the internal reset can be
released. There are some registers (mainly offset
counters) that can be changed during data processing
without an internal reset. All accesses to the on screen
display can be done during data processing.
Table 5 Programming register overview
ADDRESS R/WD7D6D5D4D3D2D1D0
State
0Rreserved
1Rreserved
2R/W iic_test_register[7 to 0]
3Rintr
RGB mode detection
4Rpos_
5Rv_lines[7 to 0]
6Rv_lines[10 to 8]
7Rh_clocks[7 to 0]
8Rh_clocks[11 to 8]
RGB auto-adjustment
9Wref_line[7 to 0]
10Wref_line[10 to 8]
11Wref_pixel[7 to 0]
12Wref_pixel[11 to 8]
13Wref_colour[7 to 0]
14Rref_pixel_red[7 to 0]
15Rref_pixel_green[7 to 0]
16Rref_pixel_blue[7 to 0]
17Rblack_lines[7 to 0]
18Rblack_pixels[7 to 0]
19Rblack_
20Rnon_black_lines[7 to 0]
21Rnon_black_lines[10 to 8]
Table 4 I
MSBLSB
011101SADR/
When bit SAD = 0 the address is 74H; when bit SAD = 1
the address is 76H.
Table 5 shows the programming model.
2
C-bus device address
pos_
vsync
hsync
no_
vsync
no_
hsync
pixels[8]
W
1999 Aug 2519
Page 20
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
ADDRESS R/WD7D6D5D4D3D2D1D0
22Rnon_black_pixels[7 to 0]
23Rnon_black_pixels[11 to 8]
General configuration
24Wintr_clearsingle_
adc_mode
25Wfrc_onblank_
Clock distribution
26Wpor_mclkpre_div_
enable
27Wpre_div_clock_p_high[3 to 0]pre_div_clock_p_low[3 to 0]
28Wpre_div_clock_n_high[3 to 0]pre_div_clock_n_low[3 to 0]
29Wpre_div_clock_n_offs[3 to 0]
30Wpost_div_clock_p_high[3 to 0]post_div_clock_p_low[3 to 0]
31Wpost_div_clock_n_high[3 to 0]post_div_clock_n_low[3 to 0]
32Wpost_div_clock_n_offs[3 to 0]
Input interface
33Win_form_
on
34Wnot used
35Wv_offset[7 to 0]
36Wv_offset[10 to 8]
37Wh_offset[7 to 0]
38Wh_offset[11 to 8]
39Wv_length[7 to 0]
40Wv_length[10 to 8]
41Wh_length[7 to 0]
42Wh_length[11 to 8]
43Wclamp_on[7 to 0]
44Wclamp_off[7 to 0]
45Wgainc_on_delay[7 to 0]
46Wgainc_off_delay[7 to 0]
Colour correction
47Wred_proggreen_
48Wcolour_index[7 to 0]
49W
(1)
colour_value[7 to 0]
post_div_
enable
no_
memory_
mode
pre_div_
half_clock
adc_
sample_
seq
memory_
init
post_div_
half_clock
gainc_polclamp_pol vs_polhs_pol
reset_
input_path
pll_enable pll_pclkpll_mclk
prog
reset_
memory_
path
screen
blue_prog colour_
reset_
proc_path
power_
down
correction
_on
1999 Aug 2520
Page 21
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
ADDRESS R/WD7D6D5D4D3D2D1D0
Memory controller unit
50Wdata_width[1 and 0]
51Wburst_seq_length[3 to 0]
52WSDRAM_burst_length_code[2 to 0]SDRAM_burst_length[3 to 0]
53WCAS_latency[2 to 0]t_RCD[3 to 0]
54Wt_RRD[3 to 0]t_RP[3 to 0]
55Wt_WR[3 to 0]t_RC[3 to 0]
56Wfield_row[7 to 0]
57Wfield_row[10to 8]
58Wfield_column[7 to 0]
59Wnot used
60Wnot used
61Wnot used
62Wnot used
63Wnot used
64Wnot used
65Wnot used
66Wnot used
67Wnot used
68Wframe_length[7 to 0]
69Wframe_length[10 to 8]
70Wline_length[7 to 0]
71Wline_length[11 to 8]
72Wblank_colour_red[7 to 0]
73Wblank_colour_green[7 to 0]
74Wblank_colour_blue[7 to 0]
Scaler
75Wdown_v_
scaler_
mem
76Wup_v_incr[7 to 0]
77Wup_v_incr[11 to 8]
78Wup_v_corr[6 to 0]
79Wup_h_incr[7 to 0]
80Wup_h_incr[11 to 8]
81Wup_h_corr[6 to 0]
82Wdown_v_incr[5 to 0]
83Wdown_v_corr[6 to 0]
84Wdown_h_incr[5 to 0]
85Wdown_h_corr[6 to 0]
up_v_
coeff_prog
up_h_
coeff_prog
up_v_
scaler_on
up_h_
scaler_on
down_v_
scaler_on
down_h_
scaler_on
1999 Aug 2521
Page 22
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
ADDRESS R/WD7D6D5D4D3D2D1D0
86Wcoeff_index[5 to 0]
87W
Panning unit
88Wpic_v_offset[7 to 0]
89Wpic_v_offset[10 to 8]
90Wpic_h_offset[7 to 0]
91Wpic_h_offset[11 to 8]
92Wout_v_size[7 to 0]
93Wout_v_size[10to 8]
94Wout_h_size[7 to 1]0
95Wout_h_size[11to 8]
96Wborder_colour_red[7 to 0]
97Wborder_colour_green[7 to 0]
98Wborder_colour_blue[7 to 0]
OSD overlay port
99Wovl_clk_
100Wovl_hs_start[7 to 0]
101Wovl_hs_start[10 to 8]
102Wovl_hs_length[7 to 0]
103Wovl_hs_length[10 to 8]
104Wovl_hs_latency[7 to 0]
105Wovl_h_length[7 to 0]
106Wovl_h_length[10 to 8]
107Wovl_v_offset[7 to 0]
108Wovl_v_offset[10 to 8]
109Wovl_v_length[7 to 0]
110Wovl_v_length[10 to 8]
111Wovl_vs_start[7 to 0]
112Wovl_vs_start[10 to 8]
113Wovl_colour0_red[7 to 0]
114Wovl_colour0_green[7 to 0]
115Wovl_colour0_blue[7 to 0]
116Wovl_colour1_red[7 to 0]
117Wovl_colour1_green[7 to 0]
118Wovl_colour1_blue[7 to 0]
119Wovl_colour2_red[7 to 0]
120Wovl_colour2_green[7 to 0]
121Wovl_colour2_blue[7 to 0]
(1)
pol
coeff_value[6 to 0]
ovl_act_
pol
ovl_vs_
pol
ovl_hs_
pol
clk_
gating_on
sample_
edge
ovl_
syncs_
active
ovl_
insert_
active
1999 Aug 2522
Page 23
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
ADDRESS R/WD7D6D5D4D3D2D1D0
122Wovl_colour3_red[7 to 0]
123Wovl_colour3_green[7 to 0]
124Wovl_colour3_blue[7 to 0]
125Wovl_colour4_red[7 to 0]
126Wovl_colour4_green[7 to 0]
127Wovl_colour4_blue[7 to 0]
128Wovl_colour5_red[7 to 0]
129Wovl_colour5_green[7 to 0]
130Wovl_colour5_blue[7 to 0]
131Wovl_colour6_red[7 to 0]
132Wovl_colour6_green[7 to 0]
133Wovl_colour6_blue[7 to 0]
134Wovl_colour7_red[7 to 0]
135Wovl_colour7_green[7 to 0]
136Wovl_colour7_blue[7 to 0]
On screen display
137Wzoom2char_sizeosd_
active
138Wosd_v_offset[7 to 0]
139Wosd_v_offset[10 to 8]
140Wosd_h_offset[7 to 0]
141Wosd_h_offset[11 to 8]
142Wosd_v_size[5 to 0]
143Wosd_h_size[5 to 0]
144Wosd_fg_colour0_red[7 to 0]
145Wosd_fg_colour0_green[7 to 0]
146Wosd_fg_colour0_blue[7 to 0]
147Wosd_fg_colour1_red[7 to 0]
148Wosd_fg_colour1_green[7 to 0]
149Wosd_fg_colour1_blue[7 to 0]
150Wosd_fg_colour2_red[7 to 0]
151Wosd_fg_colour2_green[7 to 0]
152Wosd_fg_colour2_blue[7 to 0]
153Wosd_fg_colour3_red[7 to 0]
154Wosd_fg_colour3_green[7 to 0]
155Wosd_fg_colour3_blue[7 to 0]
156Wosd_fg_colour4_red[7 to 0]
157Wosd_fg_colour4_green[7 to 0]
158Wosd_fg_colour4_blue[7 to 0]
159Wosd_fg_colour5_red[7 to 0]
160Wosd_fg_colour5_green[7 to 0]
1999 Aug 2523
Page 24
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
ADDRESS R/WD7D6D5D4D3D2D1D0
161Wosd_fg_colour5_blue[7 to 0]
162Wosd_fg_colour6_red[7 to 0]
163Wosd_fg_colour6_green[7 to 0]
164Wosd_fg_colour6_blue[7 to 0]
165Wosd_fg_colour7_red[7 to 0]
166Wosd_fg_colour7_green[7 to 0]
167Wosd_fg_colour7_blue[7 to 0]
168Wosd_bg_colour0_red[7 to 0]
169Wosd_bg_colour0_green[7 to 0]
170Wosd_bg_colour0_blue[7 to 0]
171Wosd_bg_colour1_red[7 to 0]
172Wosd_bg_colour1_green[7 to 0]
173Wosd_bg_colour1_blue[7 to 0]
174Wosd_bg_colour2_red[7 to 0]
175Wosd_bg_colour2_green[7 to 0]
176Wosd_bg_colour2_blue[7 to 0]
177Wosd_bg_colour3_red[7 to 0]
178Wosd_bg_colour3_green[7 to 0]
179Wosd_bg_colour3_blue[7 to 0]
180Wosd_bg_colour4_red[7 to 0]
181Wosd_bg_colour4_green[7 to 0]
182Wosd_bg_colour4_blue[7 to 0]
183Wosd_bg_colour5_red[7 to 0]
184Wosd_bg_colour5_green[7 to 0]
185Wosd_bg_colour5_blue[7 to 0]
186Wosd_bg_colour6_red[7 to 0]
187Wosd_bg_colour6_green[7 to 0]
188Wosd_bg_colour6_blue[7 to 0]
189Wosd_bg_colour7_red[7 to 0]
190Wosd_bg_colour7_green[7 to 0]
191Wosd_bg_colour7_blue[7 to 0]
192Wosd_fg_
colour7_
transp
193Wosd_fg_
colour7_
alpha
194Wosd_bg_
colour7_
transp
osd_fg_
colour6_
transp
osd_fg_
colour6_
alpha
osd_bg_
colour6_
transp
osd_fg_
colour5_
transp
osd_fg_
colour5_
alpha
osd_bg_
colour5_
transp
osd_fg_
colour4_
transp
osd_fg_
colour4_
alpha
osd_bg_
colour4_
transp
osd_fg_
colour3_
transp
osd_fg_
colour3_
alpha
osd_bg_
colour3_
transp
osd_fg_
colour2_
transp
osd_fg_
colour2_
alpha
osd_bg_
colour2_
transp
osd_fg_
colour1_
transp
osd_fg_
colour1_
alpha
osd_bg_
colour1_
transp
osd_fg_
colour0_
transp
osd_fg_
colour0_
alpha
osd_bg_
colour0_
transp
1999 Aug 2524
Page 25
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
ADDRESS R/WD7D6D5D4D3D2D1D0
195Wosd_bg_
colour7_
alpha
On screen display window
196Wcursor_row[5 to 0]
197Wcursor_column[5 to 0]
198Wchar_appearance
[1 and 0]
199W
(1)
On screen display character matrix
200Wchar_code[6 to 0]
201W
(1)
char_def[7 to 0]
TFT display interface
202Wvsync_pol hsync_pol de_polclk_polsingle_
203Wline_syncsync_de_
204Wh_len_blank[7 to 0]
205Wh_len_blank[10 to 8]
206Wh_len_border[7 to 0]
207Wh_len_border[10 to 8]
208Wh_len_active[7 to 0]
209Wh_len_active[10 to 8]
210Wv_end[7 to 0]
211Wv_end[10 to 8]
212Wv_start[7 to 0]
213Wv_start[10 to 8]
214Wv_active[7 to 0]
215Wv_active[10 to 8]
216Wh_vs_start[7 to 0]
217Wh_vs_start[10 to 8]
218Wh_vs_end[7 to 0]
219Wh_vs_end[10 to 8]
220Wh_hs_start[7 to 0]
221Wh_hs_start[10 to 8]
222Wh_hs_end[7 to 0]
223Wh_hs_end[10 to 8]
224Wh_de_start[7 to 0]
225Wh_de_start[10 to 8]
226Wh_de_end[7 to 0]
osd_bg_
colour6_
alpha
osd_bg_
colour5_
alpha
char_bg_colour[2 to 0]char_fg_colour[2 to 0]
char_code[6 to 0]
out_if_
act
enable
osd_bg_
colour4_
alpha
osd_bg_
colour3_
alpha
blank_tftsync_
mode
osd_bg_
colour2_
alpha
osd_bg_
colour1_
alpha
blank_ctrlborder_
ctrl
osd_bg_
colour0_
alpha
pixel_
output
active_ctrl
1999 Aug 2525
Page 26
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
ADDRESS R/WD7D6D5D4D3D2D1D0
227Wh_de_end[10 to 8]
228Wh_active_start[7 to 0]
229Wh_active_start[10 to 8]
230Wv_vs_end[7 to 0]
231Wv_vs_end[10 to 8]
232Wh_max_len[7 to 0]
233Wh_max_len[10 to 8]
Note
1. Register does not work with register address auto-increment, but with incrementing the address on which the
operation is performed.
Table 6 Detailed description of programming registers
NAMESUBADDRESSR/WDATA
State
IIC
TEST REGISTER
IIC test register2R/W D7 to D0
STATE REGISTER
Interrupt state3RD0
Interrupt activelogic 0
Interrupt not activelogic 1
RGB mode detection
SYNC DETECT REGISTER
Hsync presence4RD0
Hsync presentlogic 0
Hsync not presentlogic 1
Vsync presenceD1
Vsync presentlogic 0
Vsync not presentlogic 1
Hsync polarityD2
Negative Hsynclogic 0
Positive Hsynclogic 1
Vsync polarityD3
Negative Vsynclogic 0
Positive Vsynclogic 1
V
ERTICAL FRAME RESOLUTION
Number of lines between two Vsyncs5 and 6RD10 to D0
HORIZONTAL FRAME RESOLUTION
Number of clocks between two Hsyncs7 and 8RD11 to D0
1999 Aug 2526
Page 27
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
NAMESUBADDRESSR/WDATA
RGB auto adjustment
REFERENCE LINE POSITION
Reference line for auto adjustment measurements9 and 10WD10 to D0
REFERENCE PIXEL POSITION
Reference pixel for auto adjustment measurements11 and 12WD11 to D0
REFERENCE COLOUR
Colour for selecting black or non-black pixels13WD7 to D0
REFERENCE PIXEL COLOUR RED COMPONENT
Red colour component of reference pixel14RD7 to D0
REFERENCE PIXEL COLOUR GREEN COMPONENT
Green colour component of reference pixel15RD7 to D0
REFERENCE PIXEL COLOUR BLUE COMPONENT
Blue colour component of reference pixel16RD7 to D0
BLACK LINES COUNTER
Number of black lines after Vsync17RD7 to D0
BLACK PIXELS COUNTER
Number of black pixels after Hsync18 and 19RD8 to D0
NON-BLACK LINES COUNTER
Number of non-black lines after Vsync20 and 21RD10 to D0
NON-BLACK PIXELS COUNTER
Number of non-black pixels after Hsync22 and 23RD11 to D0
Enable memory clocklogic 0
Use system clock as external memory clocklogic 1
RE-DIVIDER P-COUNTER
P
Pre-divider p-counter programming27WD7 to D0
PRE-DIVIDER N-COUNTER
Pre-divider n-counter programming28WD7 to D0
PRE-DIVIDER N-OFFSET
Pre-divider n-counter offset programming29WD3 to D0
POST-DIVIDER P-COUNTER
Post-divider p-counter programming30WD7 to D0
POST-DIVIDER N-COUNTER
Post-divider n-counter programming31WD7 to D0
POST-DIVIDER N-OFFSET
Post-divider n-counter offset programming32WD3 to D0
1
⁄2 PLL clocklogic 1
1999 Aug 2529
Page 30
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
NAMESUBADDRESSR/WDATA
Input interface
GENERAL PROGRAMMING
Hsync polarity33WD0
Hsync is active LOW, line starts at rising edge of pin VHSlogic 0
Hsync is active HIGH, line starts at falling edge of pin VHSlogic 1
Vsync polarityD1
Vsync is active LOW, line starts at rising edge of pin VVSlogic 0
Vsync is active HIGH, line starts at falling edge of pin VVSlogic 1
Clamp pulse polarityD2
Pulse is active LOWlogic 0
Pulse is active HIGHlogic 1
Gain correction pulse polarityD3
Pulse is active LOWlogic 0
Pulse is active HIGHlogic 1
ADC sample sequenceD4
ADC 0 is sampled first after Hsync (video input port A, B, C)logic 0
ADC 1 is sampled first after Hsync (video input port D, E, F)logic 1
Input interface activationD6
No data samplinglogic 0
Data sampling enabledlogic 1
V
ERTICAL SAMPLE OFFSET
Vertical sample offset from Vsync35 and 36WD10 to D0
HORIZONTAL SAMPLE OFFSET
Horizontal sample offset from Hsync37 and 38WD11 to D0
VERTICAL SAMPLE LENGTH
Vertical sample window length39 and 40WD10 to D0
HORIZONTAL SAMPLE LENGTH
Horizontal sample window length41 and 42WD11 to D0
CLAMP PULSE START
Start of clamp pulse after active edge of Hsync43WD7 to D0
CLAMP PULSE END
End of clamp pulse after active edge of Hsync44WD7 to D0
GAIN CORRECTION PULSE START DELAY
Delay of start of GAINC pulse from first edge of Hsync45WD7 to D0
GAIN CORRECTION PULSE END DELAY
Delay of end of pulse GAINC from second edge of Hsync46WD7 to D0
Red component correction colour writing disabledlogic 0
Red component correction colour writing enabledlogic 1
Green component programmingD2
Red component correction colour writing disabledlogic 0
Red component correction colour writing enabledlogic 1
Red component programmingD3
Red component correction colour writing disabledlogic 0
Red component correction colour writing enabledlogic 1
C
OLOUR INDEX FOR LOOK-UP TABLE WRITING
Colour component look-up table index48WD7 to D0
COLOUR VALUE FOR LOOK-UP TABLE WRITING
Colour component substitution value49WD7 to D0
Memory controller unit
GENERAL CONFIGURATION
External memory data bus width50WD3 and D2
32 bits (two 16-bit channels)D3 = 0 and D2 = 0
48 bits (three 16-bit channels)D3 = 0 and D2 = 1
64 bits (four 16-bit channels)D3 = 1 and D2 = 0
do not useD3 = 1 and D2 = 1
CCESS BURST LENGTH
A
Number of bursts per read/write access to SDRAM51WD3 to D0
SDRAM BURST LENGTH
SDRAM burst length52WD3 to D0
SDRAM initialization code for burst lengthD6 to D4
SDRAM
Active to read or write delay (t
TIMING PARAMETER 1; SEE TABLE 10
) in clocks53WD3 to D0
RCD
CAS latency (CL) in clocksD6 to D4
SDRAM
Precharge command period (t
Active bank A to active band B command (t
TIMING PARAMETER 2; SEE TABLE 10
) in clocks54WD3 to D0
RP
) in clocksD7 to D4
RRD
1999 Aug 2531
Page 32
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
NAMESUBADDRESSR/WDATA
SDRAM TIMING PARAMETER 3; SEE TABLE 10
Auto refresh, active command period (t
Write recovery time (t
) in clocksD7 to D4
WR
FIELD START ADDRESS (ROW)
Start address of field in external SDRAM memory (row)56 and 57WD10 to D0
IELD START ADDRESS (COLUMN)
F
Start address of field in external SDRAM memory (column)58WD7 to D0
O
UTPUT FRAME LENGTH
Vertical length of output frame after de-interlacing unit68 and 69WD10 to D0
OUTPUT LINE LENGTH
Horizontal length of output frame after de-interlacing unit70 and 71WD11 to D0
BLANK COLOUR RED COMPONENT DEFINITION
Red colour component for blank screen generation72WD7 to D0
BLANK COLOUR GREEN COMPONENT DEFINITION
Green colour component for blank screen generation73WD7 to D0
BLANK COLOUR BLUE COMPONENT DEFINITION
Blue colour component for blank screen generation74WD7 to D0
Horizontal upscaling transition function programmingD4
Horizontal upscaling transition function writing disabledlogic 0
Horizontal upscaling transition function writing enabledlogic 1
Vertical upscaling transition function programmingD5
Vertical upscaling transition function writing disabledlogic0
Vertical upscaling transition function writing enabledlogic 1
Line memory usageD6
Line memory used by upscaling unitlogic 0
Line memory used by downscaling unitlogic 1
V
ERTICAL UPSCALE INCREMENT
Increment for vertical upscaling76 and 77WD11 to D0
VERTICAL UPSCALE CORRECTION
Fraction of vertical upscaling increment (1⁄
HORIZONTAL UPSCALE INCREMENT
Increment for horizontal upscaling79 and 80WD11 to D0
HORIZONTAL UPSCALE CORRECTION
Fraction of horizontal upscaling increment (1⁄
VERTICAL DOWNSCALE INCREMENT
Increment for vertical downscaling82WD5 to D0
VERTICAL DOWNSCALE CORRECTION
Fraction of vertical downscaling increment (1⁄
HORIZONTAL DOWNSCALE INCREMENT
Increment for horizontal downscaling84WD5 to D0
)78WD6 to D0
100
)81WD6 to D0
100
)83WD6 to D0
100
1999 Aug 2533
Page 34
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
NAMESUBADDRESSR/WDATA
HORIZONTAL DOWNSCALE CORRECTION
Fraction of horizontal downscaling increment (1⁄
INDEX FOR COEFFICIENT TABLE WRITING
Transition function look-up table index86WD5 to D0
COEFFICIENT VALUE FOR LOOK-UP TABLE WRITING
Values of transition function87WD6 to D0
Panning unit
VERTICAL PICTURE OFFSET
Vertical input picture offset inside the output frame88 and 89WD10 to D0
HORIZONTAL PICTURE OFFSET
Horizontal input picture offset inside the output frame90 and 91WD11 to D0
VERTICAL OUTPUT FRAME LENGTH
Vertical output frame length92 and 93WD10 to D0
HORIZONTAL OUTPUT FRAME LENGTH
Horizontal output frame length94 and 95WD11 to D0
BORDER COLOUR RED COMPONENT DEFINITION
Red colour component for border generation96WD7 to D0
BORDER COLOUR GREEN COMPONENT DEFINITION
Green colour component for border generation97WD7 to D0
BORDER COLOUR BLUE COMPONENT DEFINITION
Blue colour component for border generation98WD7 to D0
)85WD6 to D0
100
1999 Aug 2534
Page 35
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
NAMESUBADDRESSR/WDATA
OSD overlay port
GENERAL CONFIGURATION
OSD overlay port activation99WD0
Overlay information will not be inserted into data streamlogic 0
Overlay information will be inserted into data streamlogic 1
Sync pulse generationD1
No sync pulses will be generatedlogic 0
Sync pulses will be generatedlogic 1
Clock edge for samplingD2
Data sampling at falling edge of clock at pin OVCLKlogic 0
Data sampling at rising edge of clock at pin OVCLKlogic1
Clock gatingD3
OVCLK always enabledlogic 0
OVCLK enabled only during internal active video processinglogic 1
Horizontal sync polarityD4
Active LOW horizontal sync pulse at pin OVHSlogic 0
Active HIGH horizontal sync pulse at pin OVHSlogic 1
Vertical sync polarityD5
Active LOW vertical sync pulse at pin OVVSlogic 0
Active HIGH vertical sync pulse at pin OVVSlogic 1
Overlay port active pixel qualifier polarityD6
Active LOW qualifier signal at pin OVACTlogic 0
Active HIGH qualifier signal at pin OVACTlogic 1
Overlay port clock polarityD7
Sync pulse change with respect to falling edge at pin OVCLKlogic 0
Sync pulse change with respect to rising edge at pin OVCLKlogic 1
O
VERLAY HORIZONTAL SYNC START
Start of horizontal sync pulse with respect to left frame border100 and 101WD10 to D0
OVERLAY HORIZONTAL SYNC LENGTH
Length of horizontal sync pulse102 and 103WD10 to D0
OVERLAY HORIZONTAL SYNC LATENCY
Delay between start of horizontal sync and valid overlay data104WD7 to D0
OVERLAY WINDOW HORIZONTAL LENGTH
Horizontal length of overlay region105 and 106WD10 to D0
OVERLAY WINDOW VERTICAL OFFSET
Vertical offset of overlay region107 and 108WD10 to D0
OVERLAY WINDOW VERTICAL LENGTH
Vertical length of overlay region109 and 110WD10 to D0
1999 Aug 2535
Page 36
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
NAMESUBADDRESSR/WDATA
OVERLAY VERTICAL SYNC START
Start of vertical sync pulse with respect to top frame border111 and 112WD10 to D0
COLOUR 0 TO 7 RED COMPONENT DEFINITION
Red colour component for overlay colour 0 to 7113, 116, 119,
122, 125, 128,
131 and 134
COLOUR 0 TO 7 GREEN COMPONENT DEFINITION
Green colour component for overlay colour 0 to 7114, 117, 120,
123, 126, 129,
132 and 135
COLOUR 0 TO 7 BLUE COMPONENT DEFINITION
Blue colour component for overlay colour 0 to 7115, 118, 121,
124, 127, 130,
133 and 136
On screen display
WD7toD0
WD7toD0
WD7toD0
GENERAL CONFIGURATION
OSD activation137WD0
OSD is not visiblelogic 0
OSD is visiblelogic 1
OSD character sizeD1
12 × 16 character matrixlogic 0
24 × 24 character matrixlogic 1
OSD zoomD2
No zooming of OSD windowlogic 0
Zoom by 2 of OSD windowlogic 1
OSD
WINDOW VERTICAL OFFSET
Vertical offset of OSD window from left frame border in pixel138 and 139WD10 to D0
OSD WINDOW HORIZONTAL OFFSET
Horizontal offset of OSD window from top frame border in pixel140 and 141WD11 to D0
OSD WINDOW VERTICAL SIZE
Vertical size of OSD window in characters142WD5 to D0
OSD WINDOW HORIZONTAL SIZE
Horizontal size of OSD window in characters143WD5 to D0
FOREGROUND COLOUR 0 TO 7 RED COMPONENT DEFINITION
Red colour component for foreground colour 0to 7144, 147, 150,
153, 156, 159,
162 and 165
WD7toD0
1999 Aug 2536
Page 37
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
NAMESUBADDRESSR/WDATA
FOREGROUND COLOUR 0 TO 7 GREEN COMPONENT DEFINITION
Green colour component for foreground colour 0to 7145, 148, 151,
154, 157, 160,
163 and 166
FOREGROUND COLOUR 0 TO 7 BLUE COMPONENT DEFINITION
Blue colour component for foreground colour 0to 7146, 149, 152,
155, 158, 161,
164 and 167
BACKGROUND COLOUR 0 TO 7 RED COMPONENT DEFINITION
Red colour component for background colour 0 to 7168, 171, 174,
177, 180, 183,
186 and 189
BACKGROUND COLOUR 0 TO 7 GREEN COMPONENT DEFINITION
Green colour component for background colour 0 to 7169, 172, 175,
178, 181, 184,
187 and 190
BACKGROUND COLOUR 0 TO 7 BLUE COMPONENT DEFINITION
Blue colour component for background colour 0 to 7170, 173, 176,
179, 182, 185,
188 and 191
FOREGROUND TRANSPARENT COLOUR DEFINITION
Foreground colour transparency192WD7 to D0
Foreground colour is not transparentlogic 0
Foreground colour is transparentlogic 1
F
OREGROUND ALPHA BLENDING COLOUR DEFINITION
Foreground colour alpha blending193WD7 to D0
Foreground colour is not alpha blendablelogic 0
Foreground colour is alpha blendablelogic 1
B
ACKGROUND TRANSPARENT COLOUR DEFINITION
Background colour transparency194WD7 to D0
Background colour is not transparentlogic 0
Background colour is transparentlogic 1
ACKGROUND ALPHA BLENDING COLOUR DEFINITION
B
Background colour alpha blending195WD7 to D0
Background colour is not alpha blendablelogic 0
Background colour is alpha blendablelogic 1
WD7toD0
WD7toD0
WD7toD0
WD7toD0
WD7toD0
1999 Aug 2537
Page 38
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
NAMESUBADDRESSR/WDATA
On screen display window
CURSOR POSITION 1
Cursor row196WD5 to D0
URSOR POSITION 2
C
Cursor column197WD5 to D0
HARACTER APPEARANCE
C
Foreground colour code198WD2 to D0
Background colour codeD5 to D3
Character appearanceD7 and D6
Picture information will be overwritten by OSD dataD7 = 0 and D6 = 0
Transparency of OSD transparent coloursD7 = 0 and D6 = 1
1 : 1 alpha blending of OSD alpha coloursD7 = 1 and D6 = 0
1 : 2 alpha blending of OSD alpha coloursD7 = 1 and D6 = 1
C
HARACTER CODE
Code of character to be placed at cursor position199WD6 to D0
On screen display character matrix
CHARACTER CODE
Code of character to be defined200WD6 to D0
CHARACTER PATTERN
Character definition pattern201WD7 to D0
Normal operating modelogic 0
All data outputs are at LOW level (black colour)logic 1
Output interface enablingD5
Output interface disabled, no data processinglogic 0
Output interface enabled, normal data processinglogic 1
Data qualifier generation modeD6
Disable pulse generation at pin PDE during vertical syncslogic 0
Enable pulse generation at pin PDE during vertical syncslogic 1
Line synchronizationD7
Normal modelogic 0
Do not uselogic 1
H
ORIZONTAL LINE LENGTH IN BLANKING REGION
Horizontal line length in blanking region204 and 205WD10 to D0
HORIZONTAL LINE LENGTH IN BORDER REGION
Horizontal line length in border region206and 207WD10 to D0
HORIZONTAL LINE LENGTH IN ACTIVE VIDEO REGION
Horizontal line length in active video region208 and 209WD10 to D0
VERTICAL FRAME END
Vertical frame length210 and 211WD10 to D0
VERTICAL BORDER REGION START
Vertical start of border region212 and 213WD10 to D0
VERTICAL ACTIVE VIDEO REGION START
Vertical start of active video region214 and 215WD10 to D0
HORIZONTAL DELAY OF START OF VERTICAL SYNC
Horizontal start delay of vertical sync pulse at pin PVS216 and 217WD10 to D0
1999 Aug 2539
Page 40
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
NAMESUBADDRESSR/WDATA
HORIZONTAL DELAY OF END OF VERTICAL SYNC
Horizontal end delay of vertical sync pulse at pin PVS218 and 219WD10 to D0
HORIZONTAL SYNC PULSE START
Start of horizontal sync pulse at pin PHS220 and 221WD10 to D0
HORIZONTAL SYNC PULSE END
End of horizontal sync pulse at pin PHS222 and 223WD10 to D0
DATA QUALIFIER START
Start of border region and horizontal data qualifier at pin PDE224 and 225WD10 to D0
DATA QUALIFIER END
End of border region and horizontal data qualifier at pin PDE226 and 227WD10 to D0
HORIZONTAL ACTIVE REGION START
Start of horizontal active video region228 and 229WD10 to D0
VERTICAL SYNC PULSE END
Vertical sync pulse end at pin PVS230 and 231WD10 to D0
MAXIMUM HORIZONTAL LINE LENGTH
Maximum reachable line length for length controlling232 and 233WD10 to D0
8.2Clock management
8.2.1CLOCK GENERATION AND MULTIPLEXING
For normal operation the SAA6712E uses two clock
inputs; pin VCLK and pin CLK. VCLK is used as the
sample clock provided by the external ADCs or decoder.
The frequency and the sample edges of this clock depend
on the number of ADCs connected, or on the video dot
clock:
• 1 ADC mode: maximum VCLK frequency is 150 MHz
• 2 ADC mode: maximum VCLK frequency is 75 MHz.
The clock from pin CLK is used as an internal reference,
and it is the source clock for the internal PLL. The memory
clock MCLKO and panel clock PCLK are derived from the
PLL (see Fig.8):
CLK
----------N
CLK
----------N
CLK
----------N
×=
8 MHz≤≤
32
-----M
16×=
MCLKO
PCLK
Where N = pre-divider ratio, M = post-divider ratio and
5 MHz
It is possible to drive the memory clock output directly
withoutthe internal PLL via pin MCLKI.To achieve this the
programming flag pll_mclk must be set to logic 0.
The same is possible for the panel output clock. Therefore
the system clock CLK is used directly. The system clock is
controlled by pll_pclk which must be set to logic 0.
1999 Aug 2540
Page 41
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
handbook, full pagewidth
MCLKI
MCLKO
CLK
PRE-DIVIDER
PLL
÷ 2
× 32
POST-DIVIDER
PCLK
MHB251
Fig.8 Clock generator.
8.2.2CLOCK DIVIDER
The pre- and post-dividers are implemented in such a way, that they support dividing ratios of 0.5 steps in an interval
from 1.5 to 10.5. All further dividing ratios are in steps of 1.0; see Fig.9 and Table 7.
Programming of the clock dividers must be done using the registers 26 to 32. It is necessary that the clock dividers must
be disabled before programming and be enabled afterwards. This can be done with pre_div_enable and
post_div_enable.
handbook, full pagewidth
CLK
CLK/4
CLK/4.5
CLK/5
CLK/5.5
Fig.9 Clock waveforms.
Table 7 Clock divider programming
RATIO
P-COUNTER
(HEX)
N-COUNTER
(HEX)
1.5101011
2.0000000
2.5303021
3.0101001
3.5414131
1999 Aug 2541
N-OFFSET
COUNTER (HEX)
MHB252
HALF CLK
Page 42
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
RATIO
4.0110000
4.5616141
5.0212101
5.5727251
6.0220000
6.5929261
7.0323201
7.5A3A371
8.0330000
8.5C3C381
9.0434301
9.5D4D491
10.0440000
10.5F4F4A1
11.0545401
12.0550000
13.0656501
14.0660000
15.0767601
16.0770000
17.0878701
18.0880000
19.0989801
20.0990000
21.0A9A901
22.0AA0000
23.0BABA01
24.0BB0000
25.0CBCB01
26.0CC0000
27.0DCDC01
28.0DD0000
29.0EDED01
30.0EE0000
31.0FEFE01
32.0FF0000
P-COUNTER
(HEX)
N-COUNTER
(HEX)
N-OFFSET
COUNTER (HEX)
HALF CLK
1999 Aug 2542
Page 43
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
8.3RGB input interface
8.3.1RGB DATA SAMPLING
Sampling is done on the rising edge or on both edges of
VCLK depending on the number of ADCs.
The sample window is defined by v_offset, h_offset,
v_length, and h_length.
Theoffset counters start counting fromthe second edge of
theirreference signals, i.e. VVS forvertical offset and VHS
for horizontal offset. Figure 10 shows the horizontal offset.
Thepolaritiesof the sync signals are given with vs_pol and
hs_pol. The vertical sample offset is given in lines and the
horizontal offset is measured in pixels. The width of the
sample window is defined by the length counters.
The vertical width is measured in lines and the horizontal
width in pixels, but only even pixel numbers are allowed.
Thesampleclockforthe ADCs is always VCLK, but in dual
ADC mode this clock is half the pixel clock. Because of
that, in dual ADC mode, both clock edges are used to
sample data by the ADCs.
handbook, full pagewidth
VHS
Table 8 Clock relationships
NUMBER OF
ADCs
VCLK
VCLK
SAMPLE EDGE
1dot clockpositive
2
1
⁄2 dot clockboth
In single ADC mode, with each VCLK clock, a pixel must
be sampled from port A. In dual ADC mode, at each VCLK
clock edge, a pixel must be sampled alternating from
port A or B. The flag adc_sample_seq selects from which
port data sampling starts after the active edge of the
horizontal synchronization pulse.
8.3.2CLAMP PULSE GENERATION
The clamp pulse is generated with respect to half the dot
clock. The counters values responsible for switching the
clamp pulse on or off are clamp_on and clamp_off. Both
start counting from the second edge of VHS. The polarity
of CLAMP is given with clamp_pol.
RGB data
h_offset
3
4
2
n
1
0
5
h_length
MHB253
Fig.10 RGB data sampling.
1999 Aug 2543
Page 44
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
8.3.3GAIN CORRECTION PULSE GENERATION
The GAINC signal is the delayed horizontal sync pulse (VHS). It is delayed with respect to half the dot clock. The first
edge of VHS is delayed by gainc_on_delay and the second edge by gainc_off_delay (see Fig.11). The polarity is
programmed by gainc_pol.
handbook, full pagewidth
VHS
clamp_off
clamp_on
RGB data
GAINC
gainc_off_delaygainc_on_delay
CLAMP
Fig.11 Gain adjustment and clamp pulse generation.
8.4Video mode and synchronization signal
detection
TheSAA6712Ecanbeusedtobuild up auto-scan systems
using an external microcontroller. Therefore information
about the input resolution and timing are provided
(see Tables 5 and 6).Theflagspos_vsync andpos_hsync
show the polarity of the synchronization signals at VVS
and VHS. If they are set to logic 1 they are active HIGH,
and their active edge is the falling edge. If these flags are
set to logic 0, they are active LOW.
For detecting Video Electronic Standard Association
(VESA) Power-down modes or a not connected input, the
presence of the synchronization signals will be detected:
it can be read via no_vsync, and no_hsync. These flags
areactiveHIGH.ThetimingoftheappliedRGBvideoinput
can be taken from v_lines reporting the number of lines of
a full frame. The horizontal timing can be calculated from
h_clocks. This register shows the length of a line in
numbersofreferenceclockperiods.Thereferenceclockis
equal to the panel clock PCLK in double pixel output mode
(48 bits in parallel), or it is half the panel clock PCLK in
single pixel output mode (24 bits in parallel).
If one of the above mentioned flags or counters changes
its value, it can be assumed that a new graphics mode has
been applied. In this case an interrupt at pin INT will be
generated. This port is active LOW.
MHB254
The reset can be cleared by writing a logic 1 to intr_clear
at address 24.
For adjusting the RGB input interface to a new graphics
mode, the registers of the section RGB auto adjustment
are to be used. With this auto adjustment support it is
possible to measure the number of blanking pixels and
lines between the end of the synchronization pulses and
the active video. The horizontal and vertical back porch
blanking can be read out at black_pixels and black_lines.
The number of active pixels or lines will be reported from
non_black_pixels and non_black_lines. The first value
should be used for tuning the sample clocks PLL so that
this value corresponds to the number of pixels to be
sampled horizontally in this specific graphics mode.
To distinguish between blanking and active video
ref_colour is used. If the sample values of all three colour
components are below this value the pixel is treated as a
blanking pixel, otherwise it is treated as active video.
Additionally a reference pixel can be defined with ref_line
andref_pixel.TheR,G,andBcomponentsofthispixelare
sampled and available at ref_pixel_red, ref_pixel_green,
and ref_pixel_blue. They can be used for fine tuning the
external PLL in frequency and phase and for colour gain
adjustment.
1999 Aug 2544
Page 45
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
8.5Memory interface
The SAA6712E features a 64 bits wide synchronous
DRAM interface. Both SDRAM and SGRAM devices can
be used. There is no difference in programming when
using SDRAM or SGRAM devices. The only thing that
mustbe considered is the amount of frame buffermemory,
which must be enough for the specific application.
If not the whole bandwidth of the 64 bits wide data bus is
needed, the data bus can be downsized to 48 or 32 bits.
This is done with the parameter data_width, see Table 9.
Table 9 Data bus width
data_width[1 and 0]
PROGRAMMED BUS WIDTH
(BITS)
032
148
264
Since the different timing parameters of various RAM
device types are different, all important timing values are
programmable and must be set-up according to the used
RAM types.
To reach a high effective bandwidth all access to the
external memory is organized in bursts. The larger the
number of subsequent read or write accesses the higher
the effective bandwidth. An effective bandwidth of 91%
can be reached by doing 64 words burst accesses.
The RAM devices support a maximum internal burst
length of 8 words only, so 8 of these bursts must be run
subsequently. This can be programmed by setting up the
RAM with SDRAM_burst_length_code taken from the
specification data of the SDRAM or SGRAM. The memory
interface must be programmed to 64 words bursts by
programming the RAM burst length SDRAM_burst_length
to 8, and the number of these bursts in burst_seq_length
to 8. The internal structure of the SAA6712E is optimized
for 64 words bursts.
8.5.1MEMORY INTERFACE LIMITATIONS
The timing parameters of the memory access can be
programmed to fulfil the timing restrictions of several
SDRAM or SGRAM devices. But there are some
limitations, as shown in Table 10.
Register Set Cycle (RSC) mode time internally defined; cannot be
=8
changed
8.5.2I
NITIALIZATION OF EXTERNAL MEMORY
All SGRAM and SDRAM devices must be powered-up and initialized correctly. The SAA6712E memory interface is
implemented to fulfil the INTEL PC100 SDRAM specification.
Table 11 shows the required programming steps to initialize the memory correctly.
1999 Aug 2545
Page 46
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
Table 11 Memory initialization programming
STEPACTIONREGISTERS
1SAA6712E Power-on reset−
2set-up timing parameters51 to 55
3start memory initialization with setting memory_init24
4set-up all other parameters50 to 74
5release internal memory reset together with other internal resets24
8.5.3FRAME RECOVERY
Output frames with the right vertical and horizontal
dimensions must be generated. Since size information is
not stored in the external memory, the output frame
resolution must be programmed into the registers
frame_length and line_length. The first value gives the
vertical resolution, and the second the horizontal
resolution in pixels. If no downscaler is used, these values
can be taken directly from the input interface.
If downscaling is activated, the size of the de-interlacer
outputframe must be calculated fromthe RGB input frame
size divided by the downscaling factors.
If no valid data stream is applied at the RGB input
interface, the de-interlacer is able to generate a picture by
itself. This will be enabled with blank_screen at
address 25. The colour of this frame is defined by
blank_colour_red, blank_colour_green, and
blank_colour_blue.
8.6Scaling
Two different scaling units are implemented to perform
both up and downscaling. The downscaling engine, which
is located before the memory interface, and the upscaling
engine after the memory interface.
8.6.1DOWNSCALING
If the downscaler is to be used, it must be enabled by
setting flags down_v_scaler_on and down_h_scaler_on.
For vertical scaling a line memory buffer is needed.
This memory must be switched to downscaling mode by
setting down_v_scaler_mem to logic 1 because only one
is available.
Setting up the desired downscaling ratios is achieved by
programming the scaling increments down_v_incr,
down_v_corr, and down_h_incr, down_h_corr. This must
be done for both vertical and horizontal scaling.
Where xx is equivalent to down_v_incr or down_h_incr
1
⁄
and yy is the fraction of the result in
100
.
Thisis the value for programmingthe increment correction
values down_v_corr and down_h_corr.
Example: SXGA → XGA
Horizontal:
1024
------------ 1280
64×51.20=
This means down_h_incr = 51 and down_h_corr = 20.
768
Vertical:
------------ 1024
64×48.00=
This means down_v_incr = 48 and down_v_corr = 0.
8.6.2U
PSCALING
The upscaler must be activated by up_v_scaler_on and
up_h_scaler_on. To use the line memory for upscaling,
down_v_scaler_mem must be set to logic 0. To set-up the
zoom factor, the scaling increments up_v_incr, up_v_corr,
up_h_incr, and up_h_corr must be programmed.
Where xx is equivalent to up_v_incr or up_h_incr and yy is
1
⁄
the fraction of the result in
100
.
Thisis the value for programmingthe increment correction
values up_v_corr and up_h_corr.
Example: XGA → SXGA
Horizontal:
1280
------------ 1024
64×80.00=
This means up_h_incr = 80 and up_h_corr = 0.
Vertical:
1024
------------ 768
64×85.33=
This means up_v_incr = 85 and up_v_corr = 33.
1999 Aug 2546
Page 47
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
8.6.3UPSCALER TRANSITION FUNCTION
A special feature of the zooming algorithm is a free
programmable transition function which allows smoothing
or sharpening of the transition between pixels that have
been calculated.
This function will be stored in a look-up table, containing
64 words of 7 bits; thus a function of 64 points with a
resolution from 0 to 64 can be programmed.
Programming is performed using theregisters coeff_index
and coeff_value. The first register defines the point of the
function, the second the value. Writing to register
coeff_value increments the value of coeff_index
automatically, so that the next point of the function is
addressed. Additionally no register increment will be
performed, so that subsequent I2C-bus write addresses
always have the same register coeff_value.
handbook, full pagewidth
pic_h_offset
8.7Panning unit
If the scaled or non-scaled input frame does not fit into the
needed output frame, whether it is to large or to small, the
panning unit enlarges the input frame to the size of the
output frame. This is achieved by generating a border
region around the input frame, or it cuts the input frame
down to the size of the output frame. The position of the
top left pixel of the input frame inside the output frame
must be defined with pic_v_offset and pic_h_offset.
The output frame size must be programmed with
out_v_size and out_h_size (see Fig.12).
If the input frame is to large only the right and bottom part
will be cropped. The colour of the generated border region
must be set via border_colour_red, border_colour_green,
and border_colour_blue.
pic_v_offset
INPUT FRAME
OUTPUT FRAME
out_h_size
Fig.12 Picture positioning.
out_v_size
MHB257
1999 Aug 2547
Page 48
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
8.8Overlay port
8.8.1OVERLAY INSERTION
If ovl_syncs_active is HIGH, the vertical and horizontal
syncsignalsfortheexternalOSDcontrolleraregenerated.
The flag ovl_insert_active switches on the insertion of the
information at the overlay port provided by an external
OSD controller into the data stream at the position defined
by ovl_v_offset, ovl_hs_start, and ovl_hs_latency
(see Fig.13).
handbook, full pagewidth
ovl_hs_start
ovl_hs_latency
The incoming data from ports ovl0 and ovl1 is replaced by
the defined colour information and treated as a double
pixel, which will be inserted into the data stream if OVACT
is set. The pixel at port 0 is then the left pixel, and the pixel
at port 1 is the right pixel. The sampling of the ports ovl0
and ovl1 is done on the positive edge of OVCLK in the
event that sample_edge is asserted, otherwise on the
falling edge of OVCLK.
ovl_v_offset
ovl_h_length
ovl_v_length
ovl_vs_start
one line Vsync
OVERLAY
WINDOW
OUTPUT FRAME
MHB258
Fig.13 Overlay window positioning.
1999 Aug 2548
Page 49
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
8.8.2SYNC GENERATION
The start of the horizontal sync pulse is defined in
ovl_hs_startandthe polarity in ovl_hs_pol. The sync pulse
length is defined in ovl_hs_length (see Fig.14). It is
possible to generate a Hsync pulse from one clock cycle
length up to longer than the horizontal overlay data.
The verticalsync pulse starts at ovl_vs_start and is always
one output frame line long.
handbook, full pagewidth
OVCLK
OVHS
OVA
OVB
ovl_hs_start
ovl_hs_latency
8.8.3DATA SAMPLING
Data sampling from the two ports OVA and OVB starts
from the beginning of the horizontal sync pulse, but the
number of clocks defined in ovl_hs_latency will decide
when reading data from the overlay port will start
(see Fig.14). The end of the sync pulse is not important.
ovl_hs_length
ovl_h_length
O0O2O4O6O8
O1O3O5O7O9
OVACT
Fig.14 Hsync generation and data sampling (Hsync latency = 2).
8.8.4OVCLK GATING
All of the above mentioned functions will only work during
internal processing of valid video data, and not during
internal blanking regions. This can give problems if the
overlaywindow is displayed at theleft border of the picture
because the first pixels of a line will be processed due to
the internal pipeline structure. To overcome this, the
OVCLK can be gated to disable data processing by the
external OSD controller during internal blanking. Clock
gating is enabled by clk_gating_on.
8.9Colour correction
The colour correction unit can be used to perform gamma
correction, change of brightness, and so on. This can be
achieved by means of a look-up table. Each colour
component value in an RGB pixel is used as a pointer into
this table. The value from the table will replace the
incoming colour.
MHB259
Various tables exist for R, G, and B components.
Programming of a table must be performed using the
programming registers 47 to 49 (see the colour correction
section of the programming register Table 5). It must be
decided which component table should be written to
(red_prog, green_prog, blue_prog). In colour_index the
start address or the first incoming colour value for
programming must be written. Then subsequent writing to
colour_value fill the table. At this address the I2C-bus
address auto-increment stops, but the value programmed
intocolour_index will be incremented. It is possibletowrite
to more than one table by enabling of programming
multiple colour components.
If the colour correction unit is switched to bypass mode
(when colour_correction_on is not asserted),the incoming
colours are used for further processing.
Writing to the colour correction table is possible during
data processing.
1999 Aug 2549
Page 50
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
8.10On screen display
8.10.1OSD GENERALS
The implemented OSD is a character based window
system. It consists of a character matrix memory where all
character definitions are stored, and an OSD window
memory defining the OSD window’s contents. The OSD
window will be inserted into the video data stream if
osd_active is set to logic 1. Writing to these memories can
be done during data processing.
8.10.2OSD WINDOW
The OSD window contains the character, colour and
appearance information to be displayed. Such a definition
existsforeachcharacterposition. A character can use one
of8 differentforegroundandbackgroundcolours.Someof
thesecolourscanbedefinedastransparentcolourswhere
the original picture information will be displayed instead,
as alpha blended colours where a 1 : 1 or 1 : 2 alpha
blending will be done between picture and OSD, or as
normal colours. Transparency or alpha blending effects
will be enabled or disabled for the single characters.
The size and outline of the visible OSD window can be
programmed as long as the internal memory meets the
needs. This memory is able to store information of
1152 characters information.
The programming registers osd_v_size and osd_h_size
define the OSD window size in characters. The window
position inside the output frame must be defined with
osd_v_offset and osd_h_offset (see Fig.15).
handbook, halfpage
osd_v_offset
osd_h_offset
osd_v_size
OSD
OUTPUT FRAME
osd_h_size
MHB260
Fig.15 OSD window positioning.
The OSD can be programmed to use a 24 × 24 character
matrix,ora12 × 16matrix.Thefirstoneshouldbeusedfor
Kanji and the second for standard characters.
The selection of the font size is done by char_size.
A logic 1 selects 24 × 24 font, and a logic 0 the smaller
12 × 16 font. If the small 12 × 16 font is used, up to
128 differentcharacterscan be defined. Alternatively up to
42 characters of the larger 24 × 24 font can be used.
The whole OSD window can be zoomed in both directions
by a factor of two by setting zoom2 to logic 1. This results
in pixel doubling horizontally and vertically.
Each character can be displayed using 1 of 8 different
foreground and background colours. These sixteen
colours can be chosen from the full true colour palette with
8 bits per colour component. The definition of these
colours is in registers 144 to 191 (see OSD section of the
programming register Table 5). The first 8 colour entries
are used for foreground colours, and the second half is
used for defining the background colours. Registers
192 to 195 (see Table 5) decide the transparency and
alphablendingeffects.Ifoneoftheseeffectsisenabledfor
a specific character, only the colours defined as
transparency or alpha blending colours will be used to
generate these effects.
Each character information in the OSD window memory
consists of 15 bits of information. This is given in
Tables 13 and 14.
Table 14 Colour effects
APPEARANCE
VALUE
0OSD character colours are displayed
instead of the picture colours
1OSD character colours defined as
transparency colours will be replaced
by the picture colours
2OSD character colours defined as
alpha blending colours will be alpha
blended 1 : 1 with the picture colours
3OSD character colours defined as
alpha blending colours will be alpha
blended 2 : 1 with the picture colours
Toaccessacertaincharacterpositionitscoordinatesmust
be programmed into registers 196 (cursor_row) and 197
(cursor_column), see Table 5. After that, the colours and
appearance of the character must be defined in
address 198 (see Table 5). This definition is valid for all
further writes to register 199 (char_code), see Table 5.
After writing to this register the cursor position changes to
the next right position. At line end it wraps around to the
firstleftcharacterinthelinebelow.I
is not active at register 199 (see Table 5), so that
subsequentI2C-busbytewriteaccesseswill define several
characters.
EFFECT
2
C-busauto-increment
Table 13 Character appearance definition
CHARACTER INFORMATIONNUMBER OF BITS
Character code7
Appearance2
Background colour3
Foreground colour3
The character code is used to address the defined
characters inside the matrix memory.
Theappearancebitsdecide about transparency and alpha
blending, and background and foreground colour are
indices to the colour definition registers.
1999 Aug 2551
8.10.3OSD CHARACTER MATRIX
Two different font sizes are supported; 24 × 24 and
12 × 16 pixels. With the internal matrix memory
42 characters (24 × 24 pixels) can be defined, or
128 characters (16 × 12 pixels).
The definition of the characters is achieved by writing to
registers 200 and 201 (see Table 5). The first register
must be written to with the character code of the character
to be defined. Then the bytes with the pixel pattern must
bewrittento address 201 (see Table 5). The definition of a
character is done with 3 bytes per line at 24 × 24 font
(72 bytes per character), and with 3 bytes per 2 lines at
12 × 16 font (24 bytes per character), see Fig.16.
Page 52
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
Thesecondmodeissynchronizedtotheinputdata,mainly
implemented to support the SAA6712E’s no memory
mode. In this mode the input data is sent directly to the
output interface, which must synchronize its output timing
to get the same frame rate as the input. Additionally it
starts generating vertical blanking and synchronization
handbook, halfpage
1 byte
(a)
(b)
MHB261
signals at pins PVS and PHS directly after releasing the
internal reset.
After the programmed top blanking the output interface
enlarges the last blanking line until data from the input
interface reaches the output interface. Because too long
lines cause counter overflows in the panels, a controlling
mechanism exists which changes the length of the
blanking, border and active lines according to the timing
requirements of the panel and the applied graphics mode.
This mode can be enabled by setting the programming
register sync_mode to logic 1, otherwise the first free
running mode will be selected.
a: 24 × 24 font definition.
b: 12 × 16 font definition.
Fig.16 Character matrix organization.
8.11Temporal dithering (frame rate controller)
The SAA6712E is able to display true colour (8 bits per
colour) on high colour displays (6 bits per colour).
The algorithm used is temporal dithering. This feature can
be enabled by setting frc_on to logic 1 in the general
configuration register block (see Table 5).
8.12Output interface
8.12.1GENERAL
The output interface is the interface between the
SAA6712E and the TFT panel. Its timing parameters can
be programmed in a wide range to support panels of many
different manufacturers.
The output interface can operate in two different modes.
The length controlling the blanking, border and active
video region can be enabled by asserting blank_ctrl,
border_ctrl, and active_ctrl.
The output interface also supports a Power-down mode
which sets all output signals to logic 0. This will be
activated by the programming flag power_down
(see section general configuration Table 5).
For flicker free switching between different input modes,
the output interface is able to set all data outputs to the
panel to logic 0, resulting in a black picture. Even if during
programming and internal reset nosynchronization pulses
for the panel are generated and the panel loses the last
picture information, the panel still displays black colour,
because this is its Idle state. To switch the output interface
into this mode blank_tft must be set.
To enable the panel interface it must be enabled with
out_if_enable. The interface supports single pixel (24 bits)
and double pixel (48 bits) output in parallel. The selection
between these two modes must be done with
single_pixel_output. The active clock edge at PCLK can
also be selected by clk_pol.
The first mode is the free running mode which is adapted
to the memory mode of the SAA6712E. In this mode the
output is independent from the input at the RGB input
interface. So the output frame generation can start directly
after releasing the internal reset. For getting a high frame
rate the output timing can be programmed to satisfy the
minimum timing requirements of the panel.
1999 Aug 2552
Page 53
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
8.12.2FRAME GENERATION
The output frame contains three main regions:
• Blanking region
• Border region
• Active video region.
The blanking region contains all front and back porch as
well as the synchronization intervals. The border region is
visible on the panel and is used for positioning the active
video region inside this visible area. To ensure a great
flexibility in the ‘sync to input’ mode there are 3 different
horizontal length counters (h_len_blank, h_len_border,
h_len_active) with independent length control
(see Fig.17).
handbook, full pagewidth
starting point
v_vs_end
v_start
h_hs_endh_hs_start
A maximum value must be programmed in h_max_len
which is the upper limit for line lengthening during
activated control mechanism. In free running mode all
3 counters should be programmed with the same
minimum values.
If no border is needed, because the active video region
coversthe visible area of thepanel, the active video length
counters should point to the same positions as the border
length counters. Then the active video length counters
have a higher priority.
The border colour inserted by the output interface is the
same as the blank colour in the memory interface;
blank_colour_red, blank_colour_green,
blank_colour_blue.
h_len_blank
PHS
blanking
v_active
v_end
PVS
h_de_start
active video
border
h_active_starth_de_end
h_len_active
Fig.17 Output frame and timing.
h_max_lenh_len_border
MHB262
1999 Aug 2553
Page 54
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
8.12.3TIMING REFERENCE SIGNALS
The SAA6712E supports three timing reference signals to
drive the panels: PVS (vertical synchronization pulse),
PHS (horizontal synchronization pulse) and PDE (data
qualifier). The polarity of these signals is programmable.
To program high polarity the three programming registers
(vsync_pol, hsync_pol, de_pol) must be set to logic 1.
Sometimes panels require that no data qualifier signals
must be active during vertical synchronization.
The generation of PDE pulses during active PVS can be
switched off by de-asserting sync_de_inact.
The position and length of the horizontal synchronization
pulses in an output line must be programmed with
h_hs_start and h_hs_end. The vertical synchronization
pulse starts at line 0 and ends at v_vs_end. The horizontal
start offset in line 0 can be set-up with h_vs_start and the
horizontal end offset with h_vs_end.
The data qualifier PDE frames the display region that
should be visible on the panel horizontally. It will be
asserted at h_de_start and it will be de-asserted at
h_de_end. It frames both horizontal border and active
video region.
9LIMITING VALUES
In accordance with the Absolute Maximum Rating System (IEC 134); all ground pins are connected together and all
supply pins are connected together.
SYMBOLPARAMETERCONDITIONSMIN.MAX.UNIT
V
DDD
V
DD(PLL)
V
n
∆V
SS
T
stg
T
amb
T
amb(bias)
V
es
digital supply voltage−0.5+4.6V
PLL supply voltage−0.5+4.6V
voltage at digital inputs and outputsoutputs in 3-state −0.5+5.5V
voltage at digital outputoutputs active−0.5V
voltage difference between V
SS(PLL)
and V
SS(D)
−100mV
DDD
+ 0.5 V
storage temperature−65+150°C
ambient temperature070°C
operating bias ambient temperature−10+70°C
electrostatic handling voltage for all pinsnote 1−2+2kV
Note
1. Human body model: equivalent to discharging a 100 pF capacitor through a 1.5 kΩ resistor.
1999 Aug 2554
Page 55
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
10 CHARACTERISTICS
V
= 3.0 to 3.6 V; V
DDD
DD(PLL)
SYMBOLPARAMETERCONDITIONSMIN.TYP.MAX.UNIT
Supplies
V
DDD
I
DDD
P
D
V
DD(PLL)
I
DD(PLL)
P
PLL
P
PLL + D
digital supply voltage3.03.33.6V
digital supply current−600tbfmA
digital power dissipation−2−W
PLL supply voltage3.13.33.5V
PLL supply current−tbftbfmA
PLL power dissipation−tbf−W
digital plus PLL power
dissipation
Digital inputs
V
IL(SCL, SDA)
LOW-level input voltage
at pins SDA and SCL
V
IH(SCL, SDA)
HIGH-level input voltage
at pins SDA and SCL
V
IL(LVTTL)
LOW-level input voltage
at LVTTL pins
V
IH(LVTTL)
HIGH-level input voltage
at LVTTL pins
I
LI
C
i
input leakage current−−10µA
input capacitanceoutputs at 3-state−−8pF
input capacitance at all
other inputs
Digital outputs
V
OL(SDA)
LOW-leveloutput voltage
at pin SDA
V
OL(CMOS)
LOW-leveloutput voltage
at CMOS pins
V
OH(CMOS)
HIGH-level output
voltage at CMOS pins
V
OL(LVTTL)
LOW-leveloutput voltage
at LVTTL pins
V
OH(LVTTL)
HIGH-level output
voltage at LVTTL pins
= 3.1 to 3.5 V; T
SDA at 3 mA sink current −−0.4V
SDA at 6 mA sink current −−0.6V
=25°C; unless otherwise specified.
amb
−2−W
−0.5−+0.3V
0.7V
DDD
−0.5−+0.8V
2.0−V
−−5pF
−−0.4V
2.4−−V
−−0.4V
0.85V
DDD
V
DDD
−V
DDD
DDD
+ 0.5 V
+ 0.5 V
−−V
1999 Aug 2555
Page 56
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
11 TIMING CHARACTERISTICS
V
= 3.0 to 3.6 V; V
DDD
DD(PLL)
SYMBOLPARAMETERCONDITIONSMIN.TYP.MAX.UNIT
System clock input at pin CLK
f
CLK
clock frequency24−70MHz
δduty factor405060%
RGB sample clock input at pin VCLK
f
VCLK
clock frequencysingle ADC mode25−150MHz
δduty factor405060%
Input signals at pins VVS, VHS, VPA7 to VPA0, VPB7 to VPB0, VPC7 to VPC0, VPD7 to VPD0, VPE7 to VPE0,
and VPF7 to VPF0 with respect to signal at pin VCLK
t
su
t
h
set-up time−4.0−−ns
hold time7.0−−ns
Output signals at pins CLAMP and GAINC with respect to signal at pin VCLK; note 1
t
h
t
PD
hold time8−−ns
propagation delay−−13ns
Output clock to panel at pin PCLK
f
PCLK
clock frequency−−80MHz
δduty factor405060%
Output signals at pins PVS, PHS, PDE, PAR7 to PAR0, PAG7 to PAG0, PAB7 to PAB0, PBR7 to PBR0,
PBG7 to PBG0, and PBB7 to PBB0 with respect to signal at pin PCLK; note 2
t
h
hold time
pins PVS, PHS and PDE−0.5−−ns
all other pins0−−ns
t
PD
propagation delay
pins PVS, PHS and PDE−−1ns
all other pins−−3.5ns
Overlay port clock output at pin OVCLK
f
OVCLK
clock frequency80MHz
δduty factor405060%
Input signals at pins OVACT, OVA2 to OVA0, and OVB2 to OVB0 with respect to signal at pin OVCLK
t
su(i)
t
h(i)
set-up time6.0−−ns
hold time−3.0−−ns
Output signals at pins OVVS and OVHS with respect to signal at pin OVCLK; note 1
t
h(o)
t
PD(o)
hold time−1.0−−ns
propagation delay−−1.0ns
= 3.1 to 3.5 V; T
=25°C; see Fig.18; unless otherwise specified.
amb
double ADC mode12.5−75MHz
1999 Aug 2556
Page 57
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
SYMBOLPARAMETERCONDITIONSMIN.TYP.MAX.UNIT
Memory port clock output; pin MCLKO
f
MCLKO
C
L
δduty factor405060%Input signal at pin MCLKI with respect to signal at pin MCLKO; see Fig.19
f
MCLKI
δduty factor405060%
t
PD
Input signals at pins DQ63 to DQ0 with respect to the negative edge of signal at pin MCLKO
t
su
t
h
Output signals at pins DQ63 to DQ0, RAS, CAS, WE, A10 to A0, and BA with respect to the negative edge of
signal at pin MCLKO; note 3
t
h
t
PD
frequency−−125MHz
load capacitance−−20pF
frequency−−125MHz
propagation delay6.510ns
set-up time6.0−−ns
hold time−3.0−−ns
hold time
pins DQ63 to DQ0−1−−ns
pins
RAS, CAS, WE,
0−−ns
A10 to A0, and BA
propagation delay
pins DQ63 to DQ0−−1.0ns
pins
RAS, CAS, WE,
−−1.0ns
A10 to A0, and BA
Notes
1. CL= 15pF, Io= 2 mA and RL=2kΩ.
2. CL= 15pF, Io= 4 mA and RL=2kΩ.
3. CL= 10pF, Io= 4 mA and RL=2kΩ.
1999 Aug 2557
Page 58
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
handbook, full pagewidth
t
: input set-up time; data input must be stable before active clock edge.
su(i)
t
: input hold time; data input must be stable after active clock edge.
h(i)
t
: output propagation delay; output data becomes stable with respect to active clock edge.
PD(o)
t
: output hold time; output data stays stable with respect to active clock edge.
h(o)
clock input
data input
data output
t
su(i)
t
h(o)
data
valid
t
h(i)
t
Fig.18 Data timing diagram.
data
transition
period
PD(o)
1.5 V
MHB490
handbook, full pagewidth
MCLKI
MCLKO
t
PD
Fig.19 Memory clock timing.
1999 Aug 2558
1.5 V
MHB491
Page 59
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
12 APPLICATION INFORMATION
handbook, full pagewidth
VGA
PORT
TDA8752
RGB
SDRAM
16 MBits
PANEL PORT
Fig.20 Test board.
SDRAM
16 MBits
SAA6712E
SDRAM
16 MBits
EEPROM
MICROCONTROLLER
P87C695
I2C-bus
USB
MHB457
1999 Aug 2559
Page 60
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
13 PACKAGE OUTLINE
BGA292: plastic ball grid array package; 292 balls; body 27 x 27 x 1.75 mm
D
D
1
ball A1
corner
E
E
1
k
k
e
Y
W
V
U
T
R
P
N
M
L
K
J
H
G
F
E
D
C
B
A
2468101214161820
135791113151719
DIMENSIONS (mm are the original dimensions)
A
UNIT
mm
max.
2.46
A
0.70
0.50
1
1.85
1.62
bA
D
27.2
26.8
D
24.7
24.0
2
0.90
0.60
b
∅ w
01020 mm
Ew
1
27.2
26.8
M
E
24.7
24.0
Z
D
Z
E
e
scale
4.0
3.9
v
0.35
0.3
0.15
1
1.27
vA
yek
Z
1.84
1.04
SOT489-1
A
2
A
A
1
detail X
A
y
X
Z
D
E
1.84
1.04
OUTLINE
VERSION
IEC JEDEC EIAJ
REFERENCES
SOT489-1
1999 Aug 2560
EUROPEAN
PROJECTION
ISSUE DATE
98-05-06
Page 61
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
14 SOLDERING
14.1Introduction to soldering surface mount
packages
Thistextgivesaverybriefinsighttoacomplextechnology.
A more in-depth account of soldering ICs can be found in
our
“Data Handbook IC26; Integrated Circuit Packages”
(document order number 9398 652 90011).
There is no soldering method that is ideal for all surface
mount IC packages. Wave soldering is not always suitable
for surface mount ICs, or for printed-circuit boards with
high population densities. In these situations reflow
soldering is often used.
14.2Reflow soldering
Reflow soldering requires solder paste (a suspension of
fine solder particles, flux and binding agent) to be applied
totheprinted-circuit board by screen printing, stencilling or
pressure-syringe dispensing before package placement.
Several methods exist for reflowing; for example,
infrared/convection heating in a conveyor type oven.
Throughput times (preheating, soldering and cooling) vary
between 100 and 200 seconds depending on heating
method.
Typical reflow peak temperatures range from
215 to 250 °C. The top-surface temperature of the
packages should preferable be kept below 230 °C.
If wave soldering is used the following conditions must be
observed for optimal results:
• Use a double-wave soldering method comprising a
turbulent wave with high upward pressure followed by a
smooth laminar wave.
• For packages with leads on two sides and a pitch (e):
– larger than or equal to 1.27mm, the footprint
longitudinal axis is preferred to be parallel to the
transport direction of the printed-circuit board;
– smaller than 1.27mm, the footprint longitudinal axis
must be parallel to the transport direction of the
printed-circuit board.
The footprint must incorporate solder thieves at the
downstream end.
• Forpackageswithleadsonfoursides,thefootprintmust
be placed at a 45° angle to the transport direction of the
printed-circuit board. The footprint must incorporate
solder thieves downstream and at the side corners.
During placement and before soldering, the package must
be fixed with a droplet of adhesive. The adhesive can be
applied by screen printing, pin transfer or syringe
dispensing. The package can be soldered after the
adhesive is cured.
Typical dwell time is 4 seconds at 250 °C.
A mildly-activated flux will eliminate the need for removal
of corrosive residues in most applications.
14.3Wave soldering
Conventional single wave soldering is not recommended
forsurfacemountdevices(SMDs)orprinted-circuitboards
with a high component density, as solder bridging and
non-wetting can present major problems.
To overcome these problems the double-wave soldering
method was specifically developed.
1999 Aug 2561
14.4Manual soldering
Fix the component by first soldering two
diagonally-opposite end leads. Use a low voltage (24 V or
less) soldering iron applied to the flat part of the lead.
Contact time must be limited to 10 seconds at up to
300 °C.
When using a dedicated tool, all other leads can be
soldered in one operation within 2 to 5 seconds between
270 and 320 °C.
Page 62
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
14.5Suitability of surface mount IC packages for wave and reflow soldering methods
1. All surface mount (SMD) packages are moisture sensitive. Depending upon the moisture content, the maximum
temperature (with respect to time) and body size of the package, there is a risk that internal or external package
cracks may occur due to vaporization of the moisture in them (the so called popcorn effect). For details, refer to the
Drypack information in the
2. These packages are not suitable for wave soldering as a solder joint between the printed-circuit board and heatsink
(at bottom version) can not be achieved, and as solder may stick to the heatsink (on top version).
3. If wave soldering is considered, then the package must be placed at a 45° angle to the solder wave direction.
The package footprint must incorporate solder thieves downstream and at the side corners.
4. Wave soldering is only suitable for LQFP, TQFP and QFP packages with a pitch (e) equal to or larger than 0.8 mm;
it is definitely not suitable for packages with a pitch (e) equal to or smaller than 0.65 mm.
5. Wave soldering is only suitable for SSOP and TSSOP packages with a pitch (e) equal to or larger than 0.65 mm; it is
definitely not suitable for packages with a pitch (e) equal to or smaller than 0.5 mm.
1999 Aug 2562
Page 63
Philips SemiconductorsPreliminary specification
XGA RGB to TFT graphics engineSAA6712E
15 DEFINITIONS
Data sheet status
Objective specificationThis data sheet contains target or goal specifications for product development.
Preliminary specificationThis data sheet contains preliminary data; supplementary data may be published later.
Product specificationThis data sheet contains final product specifications.
Limiting values
Limiting values given are in accordance with the Absolute Maximum Rating System (IEC 134). Stress above one or
more of the limiting values may cause permanent damage to the device. These are stress ratings only and operation
of the device at these or at any other conditions above those given in the Characteristics sections of the specification
is not implied. Exposure to limiting values for extended periods may affect device reliability.
Application information
Where application information is given, it is advisory and does not form part of the specification.
16 LIFE SUPPORT APPLICATIONS
These products are not designed for use in life support appliances, devices, or systems where malfunction of these
products can reasonably be expected to result in personal injury. Philips customers using or selling these products for
use in such applications do so at their own risk and agree to fully indemnify Philips for any damages resulting from such
improper use or sale.
17 PURCHASE OF PHILIPS I
Purchase of Philips I
components in the I2C system provided the system conforms to the I2C specification defined by
Philips. This specification can be ordered using the code 9398 393 40011.
2
C COMPONENTS
2
C components conveys a license under the Philips’ I2C patent to use the
1999 Aug 2563
Page 64
Philips Semiconductors – a w orldwide compan y
Argentina: see South America
Australia: 3 Figtree Drive, HOMEBUSH, NSW 2140,
United States: 811 East Arques Avenue, SUNNYVALE, CA 94088-3409,
Tel. +1 800 234 7381, Fax. +1 800 943 0087
Uruguay: see South America
Vietnam: see Singapore
Yugoslavia: PHILIPS, Trg N. Pasica 5/v, 11000 BEOGRAD,
Tel. +381 11 62 5344, Fax.+381 11 63 5777
For all other countries apply to: Philips Semiconductors,
International Marketing & Sales Communications, Building BE-p, P.O. Box 218,
5600 MD EINDHOVEN, The Netherlands, Fax. +31 40 27 24825
The information presented in this document does not form part of any quotation or contract, is believed to be accurate and reliable and may be changed
without notice. No liability will be accepted by the publisher for any consequence of its use. Publication thereof does not convey nor imply any license
under patent- or other industrial or intellectual property rights.
1999
Internet: http://www.semiconductors.philips.com
67
Printed in The Netherlands545004/01/pp64 Date of release: 1999 Aug 25Document order number: 9397 750 04715
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.