Fs453/4 and Fs455/6
Fs453/4 and Fs455/6
Fs453/4 and Fs455/6
The FS453/4 and FS455/6 Product Brief provides general information for all
users.
Throughout this document "FS453" is used as a general term to reference the FS453,
FS454, FS455, and FS456. The FS453 and FS454 are the PQFP versions of the chip,
and the FS455 and FS456 are the BGA versions of the chip. The FS454 and FS456
support Macrovision anti-copy protection, while the FS453 and FS455 do not.
Document Overview
The Software/Firmware Reference provides information necessary for programming the FS453 Video
Processor. (For the purpose of this document, the FS453 and the FS454 are identical.) The document
has two major parts:
1. How to Program the FS453 explains two different methods: programming through the
Application Programming Interface (API), and programming the device directly using tables. The
programming discussion begins on page 4.
Developers who want to write a custom interface to the FS453 can use the API that is provided
with the FS453 source code. Using the Application Programming Interface starts on page 4.
Developers who need to program the FS453 in as few steps as possible (BIOS developers for
example) can use tables instead. Using tables requires writing register values directly to the
FS453 from a table of known values. Developers can simplify the process by using the FS453’s
built in Quick Program Register to automatically set up the device for a known environment.
Then they only need to initialize the Graphics Controller with a complementary set of register
values. Using Tables begins on page 9.
2. Control Register Definitions details all available registers. This section begins on page 12.
The Quick Program Register table is on page 70.
1.1 Overview
There are two ways to program the FS453: through the Application Programming Interface (API), and
through using tables. Developers who want to write a custom interface to the FS453 can leverage their
effort by using the API that comes with the FS453 source code. Developers who need to program the
FS453 in as few steps as possible (e.g. BIOS developers), can write register values directly to the device
from a table of known values.
1.2.2.2 Initialization
Prior to calling any other FS453 functions, the function FS453_init() must be called to initialize the driver.
If this function returns an error, there is a problem with the FS453 device or the FS453 driver, and
programming the FS453 cannot be done.
When a program is finished using the FS453 library, the function FS453_cleanup() must be called to
disconnect from the FS453 driver.
1.2.2.3.1 TV Standard
The function FS453_set_tv_standard() selects the TV standard to use for TV output. Constants are
defined for each supported standard and include variants of NTSC and PAL as well as HD modes. The
1.2.2.4.2 Filtering
The functions FS453_set_flicker_filter() and FS453_set_sharpness() configure the flicker filter settings for
the VGA-to-TV conversion. Flicker filtering requires a tradeoff between vertical resolution and visible
flicker. A high sharpness setting, for example, will appear to have slightly more flicker than a low one, but
fine detail, such as lettering, will be cleaner.
Valid flicker filter settings range from 0 (no filtering, maximum visible flicker) to 16 (maximum filtering,
minimum visible flicker). Valid sharpness settings range from 0 (no sharpness enhancement) to 20
(maximum sharpness enhancement). The sharpness adjustment modifies the effect of the flicker filter for
short horizontal lines, like those found in text. Sharpness has little effect when the flicker filter setting is
low, and maximum effect when the setting is high.
The function FS453_set_ring_filter() configures the horizontal luma bandwidth filter. This filter limits or
enhances the edge rate on the luma signal, which softens or sharpens vertical lines on the TV. Valid
values range from –128 to +127, where negative values enhance edges, and positive values soften
edges. In a system without user-adjustable horizontal filtering, a slightly negative value can be used to
tune the part for precise frequency response.
The function FS453_set_yc_filter() enables or disables luma and chroma filtering for composite video
signals (SDTV) in the encoder. Generally, these filters should be off for maximum image quality, but they
can improve the displayed image on some televisions without internal filters.
1.2.2.4.4 Closed-captioning
The function FS453_set_cc_enable() enables or disables closed-captioning. When closed-captioning is
enabled, the FS453 drives out the closed-captioning waveform on the proper line, based on the TV
standard. The function FS453_cc_send() configures the FS453 to place a close-captioning character
pair waveform in one field. Parameters to the function control whether the characters are placed in the
first field or second field, and whether the function should wait for the next field if this field’s data has not
yet been sent. To send a sequence of characters, a caller can just loop through the sequence, sending
the character pairs with the wait flag set. A better solution is to set the characters for a field in a VGA
vertical interrupt handler, without setting the wait flag, to avoid the overhead of polling the FS453.
implement a replacement for the low-level layer or to implement a replacement for the entire Serial I/O
block, if Serial I/O transfers are to be handled in a different manner.
Target-specific interface
(e.g. Win9x VxD, Linux device driver, etc.)
iface
config
access
I2C
The QPR is a 16-bit register. The upper 4-bits are reserved and must be set to the binary value 1001.
The lower 12-bits of the register are used to configure the FS453 settings. The Quick Program Register
table on page 70 gives a complete description of the bits.
In any given QPR mode, the registers in the graphics controller must be programmed to work with the
selected QPR values.
A successful write to the QPR register can be followed immediately by additional serial I/O writes. This
allows the programmer to modify registers that are affected by the QPR logic, without worrying about
timing constraints. For example, a certain design might require different DAC signal routing, or provide
different input sync polarity than expected.
The QK_PN bits determine whether a PAL or an NTSC video standard is selected.
The QK_GMODE bits determine which VGA mode will be expected. Possible choices are 640 x 480, 720
x 480 (or 720 x 576), 800 x 600, and 1024 x 768. (Which 720 x NNN mode is available depends on the
TV standard selected. NTSC uses a 720 x 480 mode; PAL uses a 720 x 576 mode.) Note that DOS
character mode, used on many systems during boot, is usually a 720 pixel mode.
The QK_UO bits select the Scan mode. Underscan reduces the video image in size to fit within the
television viewable area. Overscan completely fills the television "active" area. The Underscan mode
area is approximately ten to fifteen percent smaller than the corresponding Overscan mode area.
The VGA pass-through mode can be set by writing 9030h to the QPR register.
General Page
Name Offset Default Value
Function Number
General Page
Name Offset Default Value
Function Number
SDTV Output MISC_46 46h 09h 37
SDTV Output MISC_47 47h 00h 38
SDTV Output HSYNC_WID 48h 7Eh 38
SDTV Output BURST_WID 49h 44h 39
SDTV Output BPORCH 4Ah 76h 39
SDTV Output CB_BURST 4Bh 3Bh 39
SDTV Output CR_BURST 4Ch 00h 40
SDTV Output MISC_4D 4Dh 00h 40
SDTV Output BLACK_LVL 4Eh 0246h 40
SDTV Output BLANK_LVL 50h 003Ch 41
SDTV Output NUM_LINES 57h 0183h 41
SDTV Output WHITE_LVL 5Eh 00C8h 42
SDTV Output CB_GAIN 60h 89h 42
SDTV Output CR_GAIN 62h 89h 42
SDTV Output TINT 65h 00h 43
SDTV Output BR_WAY 69h 16h 43
SDTV Output FR_PORCH 6Ch 20h 43
SDTV Output NUM_PIXELS 71h 00B4h 44
SDTV Output 1ST_LINE 73h 15h 44
SDTV Output MISC_74 74h 02h 45
SDTV Output SYNC_LVL 75h 48h 46
SDTV Output VBI_BL_LVL 7Ch 004Ah 46
SDTV Output SOFT_RST 7Eh 00h 46
SDTV Output ENC_VER 7Fh 20h 47
SDTV Output WSS_CONFIG 80h 07h 47
SDTV Output WSS_CLK 81h 0072h 48
SDTV Output WSS_DATAF1 83h 000000h 48
SDTV Output WSS_DATAF0 86h 000000h 49
SDTV Output WSS_LNF1 89h 00h 49
SDTV Output WSS_LNF0 8Ah 00h 50
SDTV Output WSS_LVL 8Bh 03FFh 50
SDTV Output MISC_8D 8Dh 00h 51
Control VID_CNTL0 92h 0000h 53
HDTV Output HD_FP_SYNC 94h 0000h 55
HDTV Output HD_YOFF_BP 96h 0000h 55
HDTV Output SYNC_DL 98h 0000h 56
Control LD_DET 9Ch 0000h 57
General Page
Name Offset Default Value
Function Number
Control DAC_CNTL 9Eh 0000h 59
Control PWR_MGNT A0h 000Fh 60
Color Matrix RED_MTX A2h 0000h 61
Color Matrix GRN_MTX A4h 0000h 61
Color Matrix BLU_MTX A6h 0000h 61
Color Matrix RED_SCL A8h 0000h 62
Color Matrix GRN_SCL AAh 0000h 62
Color Matrix BLU_SCL ACh 0000h 62
SDTV Output CLOSED CAPTION FIELD 1 AEh 0000h 63
SDTV Output CLOSED CAPTION FIELD 2 B0h 0000h 64
SDTV Output CLOSED CAPTION CONTROL B2h 0000h 64
CLOSED CAPTION BLANKING
SDTV Output B4h 0000h 65
VALUE
CLOSED CAPTION BLANKING
SDTV Output B6h 0000h 65
SAMPLE
HDTV Output HACT_ST B8h 0000h 66
HDTV Output HACT_WD BAh 0000h 66
HDTV Output VACT_ST BCh 0000h 67
HDTV Output VACT_HT BEh 0000h 67
SDTV Output PR AND PB RELATIVE SCALING C0h 0000h 68
SDTV Output LUMA BANDWIDTH C2h 0000h 69
QPR QUICK PROGRAM REGISTER C4h 8000h 70
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved IHO
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved IVO
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved IHW
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VSC
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HUSC HDSC
2.2.1.6 BYPASS
Address Offset 0Ah
Default Value 0000h
Attribute R/W
Size 16 Bits
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CAC_BYPASS
HDS_BYPASS
B_BYPASS
Reserved
Reserved
Reserved
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
GCC_CK_LVL
PAL_NTSCIN
CACQ_CLR
CBAR_480P
CDEC_BP
P656_OUT
SYNC_MS
FIFO_CLR
P656_LVL
Reserved
Reserved
Reserved
Reserved
NCO_EN
SRESET
Bits Name Description
15 Reserved
15 Reserved Reserved. Must be set to 0.
Graphics Controller Clock Switching Level. If = 1, the GCC clock output
13 GCC_CK_LVL switching level is Low Voltage (1.5V to 3.3V) signaling determined by pin 57. If
= 0, it is open-drain GTL signaling.
Pixel Port ITU-R BT.656 Output Switching Level. If = 1, the ITU-R BT.656
12 P656_LVL port output switching level is LVTTL (3.3V). If = 0, it is open-drain GTL
signaling.
Pixel Port ITU-R BT.656 In. Enables an auxiliary ITU-R 656 input port when =
11 P656_IN
1. See note below for restrictions on this bit.
Pixel Port ITU-R BT.656 Out. Enables an auxiliary ITU-R 656 port when = 1.
10 P656_OUT
See note below for restrictions on this bit.
480P Color Bars. When = 1, it enables the high definition 480P color bar test
9 CBAR_480P
pattern generator.
ITU-R BT.656 PAL or NTSC Input. Sets the number of lines written through
8 PAL_NTSCIN the FIFO. When = 1, there are 576 lines for PAL. When =0, there are 487 lines
for NTSC.
Sync Master or Slave. When = 1, FS453 outputs HSync and VSync to the
7 SYNC_MS
GCC. When = 0, syncs are accepted from the GCC.
FIFO Clear. Setting this bit to 1 clears the FIFO depth registers and the FIFO
6 FIFO_CLR State register. The bit must remain set to 1 for at least one field to ensure state
is cleared.
CACQ Clear. Setting this bit to 1 clears the CACQ status flag in register 34h
5 CACQ_CLR
(STATUS PORT).
2-3 Reserved
Enable NCO Latch. When this bit is set, it transfers the NCO and PLL words
from the Serial I/O registers into the NCO and PLL. This ensures all
1 NCO_EN
parameters take effect simultaneously. (The PLL Post-divider register is not
latched by this bit; post-divider values take effect immediately.) See note.
Soft Reset. Resets the FS453. Register settings are preserved and all state
0 SRESET machines are reset. While SRESET is high (= 1), DAC outputs are blanked.
Note:
NCO_EN: The NCO_EN bit has no effect if internal device clocks are disabled for power-down mode. In
the PWR_MGNT register (A0h) bit 11 (CLKOFF) must be set to 0 for the NCO_EN bit to latch the PLL
and NCO settings.
The FS453’s video port is only available when the Graphics input mode does not use the upper 12 bits of the pixel
port (P12-P23). Port connections are shown in Table 4 below. P656_IN and P656_OUT cannot both be set to 1.
ITU-R BT.656 data streams require a 27 MHz clock. In FS453 designs that utilize the optional ITU-R
BT.656 video port, the video port’s 27 MHz clock must be derived from the FS453’s 27 MHz reference
clock. It is never a good idea to share a single, un-buffered, clock signal with multiple devices. **Designs
that rely on the FS453’s video port should use a clock source that provides multiple buffered copies of a
27 MHz reference clock signal.
The first output from the clock buffer must be connected to the FS453’s pin 63 (XTAL_IN). A second
output from the clock buffer must to be connected to the ITU-R BT.656 companion chip in the design.
When the FS453’s video port is configured as an input, the second reference clock must drive the ITU-R
BT.656 video source (in effect slaving it to the FS453). When the FS453’s video port is configured as an
output, the second reference source must be routed with the ITU-R BT.656 output data to the target
device.
Note that the 27 MHz clock does not follow the same electrical path as the ITU-R BT.656 data. The 27
MHz clock connects directly between the clock buffer and the ITU-R BT.656 companion chip, while the
ITU-R BT.656 data is processed by a video ASIC; the ITU-R BT.656 video source when the port is an
input and the FS453 when the port is an output. This means that there will be an unknown phase delay
between the 27 MHz clock and the ITU-R BT.656 data. The total delay between the 27 MHz clock and
the ITU-R BT.656 data is not critical, but the relative phase delay between the two is critical. One must
ensure that the setup and hold time requirements of the FS453’s Digital Pixel Input Port are met if the
video port is configured as an input. If the video port is configured as an output, the setup and hold time
requirements of the target ITU-R BT.656 device must be met. If the setup and hold time requirements
are not met, the length of the ITU-R BT.656 27 MHz clock trace (the second output from the clock buffer)
should be changed.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BRDG_RST
UIM_CCLK
UIM_DCLK
UV_SWAP
P_ORDER
UIM_DEC
Reserved
UIM_E
Reserved UIM_MOD
UIM_MOD Mapping: The UIM_MOD (Universal Input Mux, UIM) bits select the mode for P0-P23. The intention is to
support as many different 3D and GCC graphic controllers, CPU support chips, and integrated CPUs as possible
(collectively referred to in this data sheet as "GCC"). Table 5 shows the mapping in each mode for the digital RGB
from the GCC to the appropriate port or extended port pin:
UIM_MOD 0 1 1 2 3 3 3
P Port M888D M888I M565I M555 N888 N666 N565
LOW HIGH LOW HIGH LOW HIGH LOW HIGH
P23 X X X X X X X X R7 R5 R4
P22 X X X X X X X X R6 R4 R3
P21 X X X X X X X X R5 R3 R2
P20 X X X X X X X X R4 R2 R1
P19 X X X X X X X X R3 R1 R0
P18 X X X X X X X X R2 R0 0
P17 X X X X X X X X R1 0 0
P16 X X X X X X X X R0 0 0
P15 X X X X X X X X G7 G5 G5
P14 X X X X X X X X G6 G4 G4
P13 X X X X X X X X G5 G3 G3
P12 X X X X X X X X G4 G2 G2
P11 G3 R7 G4 R7 G2 R4 G2 X G3 G1 G1
P10 G2 R6 G3 R6 G1 R3 G1 R4 G2 G0 G0
P9 G1 R5 G2 R5 G0 R2 G0 R3 G1 0 0
P8 G0 R4 B7 R4 B4 R1 B4 R2 G0 0 0
P7 B7 R3 B6 R3 B3 R0 B3 R1 B7 B5 B4
P6 B6 R2 B5 G7 B2 G5 B2 R0 B6 B4 B3
P5 B5 R1 B4 G6 B1 G4 B1 G4 B5 B3 B2
P4 B4 R0 B3 G5 B0 G3 B0 G3 B4 B2 B1
P3 B3 G7 G0 R2 0 0 X X B3 B1 B0
P2 B2 G6 B2 R1 0 0 X X B2 B0 0
P1 B1 G5 B1 R0 0 0 X X B1 0 0
P0 B0 G4 B0 G1 0 0 X X B0 0 0
Table 6 provides YCrCb Port Mapping Modes for the system's graphic controller chip (GCC).
UIM_MOD 4 5 6 7 8 9 10
P Port M444C M444T1 M565T2 M422 N656 N601 N444
LOW HIGH LOW HIGH LOW HIGH LOW HIGH
P23 X X X X X X X X X X Cb7
P22 X X X X X X X X X X Cb6
P21 X X X X X X X X X X Cb5
P20 X X X X X X X X X X Cb4
P19 X X X X X X X X X X Cb3
P18 X X X X X X X X X X Cb2
P17 X X X X X X X X X X Cb1
P16 X X X X X X X X X X Cb0
P15 X X X X X X X X X C7 Cr7
P14 X X X X X X X X X C6 Cr6
P13 X X X X X X X X X C5 Cr5
P12 X X X X X X X X X C4 Cr4
P11 Cr7 Y7 Y3 Cr7 Y4 Cr7 C7 Y7 YC7 C3 Cr3
P10 Cr6 Y6 Y2 Cr6 Y3 Cr6 C6 Y6 YC6 C2 Cr2
P9 Cr5 Y5 Y1 Cr5 Y2 Cr5 C5 Y5 YC5 C1 Cr1
P8 Cr4 Y4 Y0 Cr4 Cb7 Cr4 C4 Y4 YC4 C0 Cr0
P7 Cr3 Y3 Cb7 Cr3 Cb6 Cr3 C3 Y3 YC3 Y7 Y7
P6 Cr2 Y2 Cb6 Cr2 Cb5 Y7 C2 Y2 YC2 Y6 Y6
P5 Cr1 Y1 Cb5 Cr1 Cb4 Y6 C1 Y1 YC1 Y5 Y5
P4 Cr0 Y0 Cb4 Cr0 Cb3 Y5 C0 Y0 YC0 Y4 Y4
P3 Cb7 Cb3 Cb3 Y7 Y0 Cr2 X X X Y3 Y3
P2 Cb6 Cb2 Cb2 Y6 Cb2 Cr1 X X X Y2 Y2
P1 Cb5 Cb1 Cb1 Y5 Cb1 Cr0 X X X Y1 Y1
P0 Cb4 Cb0 Cb0 Y4 Cb0 Y1 X X X Y0 Y0
Table 7 provides 48 Bit Port Mapping Modes for the system's graphic controller chip (GCC).
UIM_MOD 11 12
P Port Multiplexed High/Low Multiplexed Even/Odd
LOW HIGH LOW HIGH
P23 G3(even) G3(odd) G3(even) R7(even)
P22 G2(even) G2(odd) G2(even) R6(even)
P21 G1(even) G1(odd) G1(even) R5(even)
P20 G0(even) G0(odd) G0(even) R4(even)
P19 B7(even) B7(odd) B7(even) R3(even)
P18 B6(even) B6(odd) B6(even) R2(even)
P17 B5(even) B5(odd) B5(even) R1(even)
P16 B4(even) B4(odd) B4(even) R0(even)
P15 B3(even) B3(odd) B3(even) G7(even)
P14 B2(even) B2(odd) B2(even) G6(even)
P13 B1(even) B1(odd) B1(even) G5(even)
P12 B0(even) B0(odd) B0(even) G4(even)
P11 R7(even) R7(odd) G3(odd) R7(odd)
P10 R6(even) R6(odd) G2(odd) R6(odd)
P9 R5(even) R5(odd) G1(odd) R5(odd)
P8 R4(even) R4(odd) G0(odd) R4(odd)
P7 R3(even) R3(odd) B7(odd) R3(odd)
P6 R2(even) R2(odd) B6(odd) R2(odd)
P5 R1(even) R1(odd) B5(odd) R1(odd)
P4 R0(even) R0(odd) B4(odd) R0(odd)
P3 G7(even) G7(odd) B3(odd) G7(odd)
P2 G6(even) G6(odd) B2(odd) G6(odd)
P1 G5(even) G5(odd) B1(odd) G5(odd)
P0 G4(even) G4(odd) B0(odd) G4(odd)
If the mode and clock bits are set to the specified values, then the input clocks will be sampled as follows.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved NCON
31-25 Reserved
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved NCOD
31-25 Reserved
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved
PLLG PLLM
Note:
For a complete description on how to configure the NCON, NCOD, PLL M, PLL N, PLL_EP and
PLL_IP registers, please see the note that follows 1Ch, the PLL Post-Divider register description
on page 29.
100 MHz 1 2 X X
150 MHz 2 3 2 X
200 MHz 3 4 3 X
250 MHz 4 5 4 3
300 MHz 5 6 5 4
Table 10: Suggested PLLG Settings
2.2.1.13 PLL N
Address Offset 1Ah
Default Value 00AEh
Attribute R/W
Size 16 Bits
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved PLLN
Note:
For a complete description on how to configure the NCON, NCOD, PLL M, PLL N, PLL_EP and
PLL_IP registers, please see the note that follows 1Ch, the PLL Post-Divider register description
on page 29.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved
Reserved
PLL_EP PLL_IP
2.2.1.15 Notes for NCON, NCOD, PLL M, PLL N, PLL_EP and PLL_IP Registers:
The FS453 synthesizes a 0.78125-150 MHz clock from the 27 MHz XTAL_IN and supplies this clock
(CLKOUT) to the GCC. The clock is buffered and returned to the FS453 (CLKIN_P) synchronous to the
pixel data and sync information. This clock has a 1.5 Hz resolution and can be adjusted so that the VGA
scaled input data rate exactly matches the ITU-R BT.656 output data rate.
The FS453 clock generation circuit operates in one of two modes, NCO mode or PLL mode. In NCO
mode, the numerically controlled oscillator is used to achieve the finest clock resolution, using a dithered
clock. In PLL mode, the NCO is bypassed and the clock is not dithered.
The NCON, NCOD, PLL M, PLL N registers are latched when the NCO_GN bit in Register CR (0Ch) on
page 18 is set =1.
Output clock frequency calculation and limits, in the order handled by the clock generation
circuit:
External
M EP
Output
Divider Divider
Clock
NTSC: TV_HTotal = 858 This is the total number of pixels in NTSC 656 line (active and blank)
NTSC: TV_VTotal = 525 This is the total number of lines in NTSC 656 field
PAL: TV_HTotal = 864 This is the total number of pixels in PAL 656 line (active and blank)
PAL: TV_VTotal = 625 This is the total number of lines in PAL 656 field
Method for calculating PLL numbers in non-NCO mode, for adjustable scaling:
Set M equal to VGA-VTotal. This constrains the VGA-VTotal to 250 through 3000, which should not pose
a problem.
Set N x P equal to TV-HTotal x TV-VTotal / VGA-HTotal. Select VGA-HTotal to contain factors of (TV-
HTotal x TV-VTotal). For NTSC, the product factors to (2 x 3 x 3 x 5 x 5 x 7 x 11 x 13). For PAL, the
product factors to (2 x 2 x 2 x 2 x 2 x 3 x 3 x 3 x 5 x 5 x 5 x 5). Be careful to leave factors that can be
used as P.
The following requirements must also be met: N must be a number within 27 to 270. The minimum pixel
clock multiplied by P must be at least 100 MHz. The maximum pixel clock multiplied by P must be at
most 300 MHz.
To adjust vertical scaling, VGA-VTotal must be changed. The M value must be changed to match VGA-
VTotal. The N and P values will be constant.
For PAL, N x P must equal 864 x 625 / VGA-HTotal. Select VGA-HTotal as 1000. N x P must equal 540.
A value of 3 for P will allow a pixel clock frequency range of 33 to 100 MHz, which is sufficient for this
VGA mode. This means N is 180.
Set NCON and NCOD to 0.
Registers for NTSC:
10h (NCON) = 00000000h
14h (NCOD) = 00000000h
18h (PLL_M) = 2279h
1Ah (PLL_N) = 0099h
1Ch (PLL_P) = 0202h
Registers for PAL:
10h (NCON) = 00000000h
14h (NCOD) = 00000000h
18h (PLL_M) = 2279h
1Ah (PLL_N) = 00B3h
1Ch (PLL_P) = 0202h
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved SHP
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved FLK
2.2.1.18 GPIO – General Purpose I/O and General Purpose Output Enable
Address Offset 28h
Default Value 0000h
Attribute R/W
Size 16 Bits
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
GPIO Pin
0 50
1 52
2 3
3 2
Table 11: GPIO Bit to Pin Map
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CACQ_ST
FIFO_ST
Reserved REV
Notes:
FIFO Status: The FS453 does not have a frame memory. In the FS453, the scaled input data frame rate and the
SDTV output data field rate are the same. The FIFO takes up the slack during the asynchronous horizontal blanking
interval of the input and output. If a data overrun occurs, the FIFO data overrun flag is set.
Counter Acq Status: At any time, if the input and output data frame/field timing are offset, then the TV counter will
re-acquire, removing that effect. The event will set the Counter Acq Status Flag.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FIFOF FIFOU
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved FIFO_LAT
15-8 Reserved
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Note:
For NTSC CHR_FREQ = 21F07C1Fh Program as: 1F7CF021h
For PAL CHR_FREQ = 2A098ACBh Program as: CB8A092Ah
For PAL-M CHR_FREQ = 21E6EFE3h Program as: E3EFE621h
7 6 5 4 3 2 1 0
CHR_PHASE
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
RGB_SETUP
CVBS_EN
RGB_SYNC YC_DELAY
7 6 5 4 3 2 1 0
COMP_YUV
CHR_BW1
Reserved COMP_GAIN
7 6 5 4 3 2 1 0
HSYNC_WID
7 6 5 4 3 2 1 0
Reserved BURST_WID
7 6 5 4 3 2 1 0
BPORCH
7 6 5 4 3 2 1 0
CB_BURST
7 6 5 4 3 2 1 0
CR_BURST
7 6 5 4 3 2 1 0
Reserved ENC_MODE
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
9-6 BLACK_LVL1-0
Black Level. This is the SDTV setup amplitude value.
7-0 BLACK_LVL9-2
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
9-8 BLANK_LVL1-0 Blanking Level. This is the SDTV blank level amplitude
value.
7-0 BLANK_LVL9-2
Note:
See also register 7Ch, VBI BLANK LEVEL, on page 46.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NUM_LINES1-0
Reserved NUM_LINES9-2
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
9-8 WHITE_LVL1-0
White level. This is the SDTV white level amplitude value.
7-0 WHITE_LVL9-2
7 6 5 4 3 2 1 0
CB_GAIN
7 6 5 4 3 2 1 0
CR_GAIN
7 6 5 4 3 2 1 0
TINT
7 6 5 4 3 2 1 0
Reserved BR_WAY
Note:
"Breezeway," "Front Porch" and other common video terms refer to specific sections of the composite
video waveform:
7 6 5 4 3 2 1 0
Reserved FR_PORCH
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
1ST_LINE
7 6 5 4 3 2 1 0
INVERT_TOP
UV_ORDER
PAL_MODE
SYS625_50
CHR_BW0
VSYNC5
CH_PH_R
7 6 5 4 3 2 1 0
SYNC_LVL
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
9-8 VBIBL_LVL1-0 VBI Blanking Level. This is the SDTV blank level amplitude
value for VBI lines
7-0 VBIBL_LVL9-2
Note:
Refer to Register 50h, Blank Level, on page 41.
7 6 5 4 3 2 1 0
Reserved SOFT_RST
7 6 5 4 3 2 1 0
ENC_VER
7 6 5 4 3 2 1 0
WSS_CLKBY
WSS_TYPE
WSSF1_EN
WSSF0_EN
Reserved
Reserved
WSS_EDGE
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Note:
WSS Clock Frequency = (WSS_CLK / 212) x (27 MHz)
23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
19-16 WSS_DATAF03-0
15-8 WSS_DATAF011-4 WSS Data for Field 0. Consult the WSS standard for data definitions.
7-0 WSS_DATAF019-12
7 6 5 4 3 2 1 0
WSS_LNF1
7 6 5 4 3 2 1 0
WSS_LNF0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WSS_LVL1-0
Reserved WSS_LVL9-2
7 6 5 4 3 2 1 0
NOTCH_WD
NOTCH_EN
Reserved NOTCH_FREQ
Hex Combination
Index Register NTSC PAL PAL-M PAL-N PAL-N
40h CHR_FREQ 0x1F7CF021h 0xCB8A092Ah 0xE3EFE621h 0xCB8A092Ah 0x4694F612h
44h CHR_PHASE 00h 00h 00h 00h 00h
48h HSYNC_WID 7Eh 7Eh 7Eh 7Eh 7Eh
49h BURST_WID 44h 40h 44h 40h 44h
4Ah BPORCH 76h 8Ah 76h 8Ah 8Ah
4Bh CB_BURST 3Bh 2Ch 29h 29h 2Ch
4Ch CR_BURST 00h 1Fh 1Dh 1Dh 1Fh
4Eh BLACK_LVL 011Ah 00FBh 011Ah 011Ah 00FBh
50h BLANK_LVL 00F0h 00FBh 00F0h 00F0h 00FBh
5Eh WHITE_LVL 0320h 0320h 0320h 0320h 0320h
60h CR_GAIN 89h 91h 89h 89h 91h
62h CB_GAIN 89h 91h 89h 89h 91h
69h BR_WAY 16h 1Ah 12h 1Ah 1Ah
6Ch FRNT_PORCH 20h 18h 20h 18h 18h
Misc_740
74h0 0b 1b 0b 0b 1b
VSYNC5
MISC_741-2
74h1-2 10b 00b 00b 00b 00b
CH_PH_R
Misc_743
74h3 0b 1b 0b 1b 1b
SYS625_50
Misc_744
74h4 0b 1b 1b 1b 1b
INVERT_TOP
Misc_746
74h6 0b 1b 1b 1b 1b
PAL_MODE
75h SYNC_LVL 10h 10h 10h 10h 10h
7Ch WSS_LVL 00F0h 00FBh 00F0h 00F0h 00FBh
Table 13: Typical Encoder Register Values for SDTV Standards
Note:
The Quick Program Register automatically programs the correct register settings for NTSC and PAL.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SYNC_BI_TRI
MATRIX_BYP
PRPB_SYNC
HSYNC_INV
VSYNC_INV
BLANK_INV
TOP_FIELD
OBIN_USIG
SYNC_ADD
VID_MODE
VSYNC5_6
SYNC_LVL
INT_PROG
FIELD_INV
FIELD_MS
Bits Name Description
Top Field. Selects the Interlaced HDTV Top Field. If set =1, the first
15 TOP_FIELD
active line is in Field 2, otherwise the first active line is in Field 1.
Offset Binary or Unsigned. If set =1, RED_SCL, GRN_SCL, and
BLU_SCL process input data in the YCrCb offset binary format. If clear,
14 OBIN_USIG
input data is scaled in the RGB unsigned format. See Table 15:
Matrix Configurations on page 63.
Sync on Pr and Pb. When set =1, inserts syncs on Y, Pr, and Pb
13 PRPB_SYNC
components. When clear, inserts sync on Y component only.
Vertical Sync Width. Selects HDTV composite vertical sync width
12 VSYNC5_6 parameter. When set =1, VSync is 5 half lines, otherwise it is 6 half
lines long.
Blank Invert. Inverts the input BLANK signal. If set to 0, BLANK
(pin 38) low indicates active pixels, and high indicates pixels that
are in the blanking area. If set to 1, BLANK high indicates active
11 BLANK_INV pixels, and low indicates pixels that are in the blanking area.
Note that a BLANK signal is not required. At a minimum the pin
must be tied high or low, with this bit set appropriately, in order
to see a picture.
Field Invert. Inverts the sensed field state for an interlaced input.
This bit is only used if the FIELD_MS bit is set to 0 and the input
mode is interlaced. (For normal use, this is only HDTV 1080i
mode.) If set to 0, HSync low at the falling edge of VSync
indicates that the current field state is high. If set to 1, HSync
10 FIELD_INV
low at the falling edge of VSYNC indicates that the current field
state is low. (In HDTV 1080i mode, the field state is low during
the first field.) Note that HSync and VSync for purposes of this
logic are inverted with respect to the actual input signals if the
HSYNC_INV or VSYNC_INV bits are set, respectively.
Vertical Sync Invert. Inverts the input VSync signal. If set to 0,
vertical timing is measured with respect the rising edge of VSync
9 VSYNC_INV
(active high). If set to 1, vertical timing is measured with respect
to the falling edge of VSync (active low).
Horizontal Sync Invert. Inverts the input HSync signal. If set to 0,
horizontal timing is measured with respect the rising edge of
8 HSYNC_INV
HSync (active high). If set to 1, horizontal timing is measured
with respect to the falling edge of HSync (active low).
Note:
Field Master or Slave: When this bit is set to 1, or if the input image is progressive, the field is arbitrarily
generated internal to the FS453. That is, the FS453 is the field master. When set to 0 and the input
image is interlaced, the field is generated by decoding the incoming HSync and VSync signals. That is,
the FS453 is the field slave, and the current field state is provided to the FS453 by the graphics controller.
If this bit is set to 0 and the input image is progressive, the FS453 will still arbitrarily generate an internal
field state for an interlaced output, but the state will not appear on pin 37, which will always be low. (Note
that SDTV modes normally use a progressive input mode.)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FP_WID HSYNC_WID
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Y_OFF HBP_WID
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SYNC_DL
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DET_RDY
Reserved
LD_MSK LD_VAL
DAC Signals
DAC A Y, Green
DAC B C, Red, Pr
DAC C Blue, Pb
DAC D CVBS
The load-detection software can tell the difference between when a system is connected to a YPrPb TV
and when it is connected to an S-Video TV (CVBS is always enabled). The load-detection software
cannot tell the difference between interlaced and progressive TVs, and YPrPb and SCART TVs.
When a DAC performs load-detection, it does not output a video signal. As a result, load detection must
be performed while the system is booting, and when it changes video modes. Systems that rely on load-
detection should include the load-detection software in both the BIOS and the driver.
In order for a system to work with load-detection, the video cables must be connected to the device and
the TV before the device is powered on. If the cabling is changed while the system is running, then the
user will have to manually tell the system to reconfigure its DAC assignments. Likewise, the user will
have to manually tell the system to switch between interlaced and progressive outputs. When
progressive outputs are enabled, S-Video and CVBS will be disabled.
To disable load detection and return to normal use, write the value 8000h to LD_DET.
The LD_DET register has no effect if the device clocks are disabled for power-down mode. In the
PWR_MGNT register (A0h), bit 11 (CLKOFF) must be set to 0 for the load detection circuit to function.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DAC_DMUX
DAC_CMUX
DAC_BMUX
DAC_AMUX
Reserved
DAC_DMUX
0: Signal 0 to DAC D
7-6 1: Signal 1 to DAC D
2: Signal 2 to DAC D
3: Signal 3 to DAC D
DAC C Output Mux.
DAC_CMUX
0: Signal 0 to DAC C
5-4 1: Signal 1 to DAC C
2: Signal 2 to DAC C
3: Signal 3 to DAC C
DAC B Output Mux.
DAC_BMUX
0: Signal 0 to DAC B
3-2 1: Signal 1 to DAC B
2: Signal 2 to DAC B
3: Signal 3 to DAC B
DAC A Output Mux.
DAC_AMUX
0: Signal 0 to DAC A
1-0 1: Signal 1 to DAC A
2: Signal 2 to DAC A
3: Signal 3 to DAC A
Note:
See Table 14: Video Output Modes on page 54 for definitions of signals based on video output modes.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DAC_D_OFF
DAC_C_OFF
DAC_B_OFF
DAC_A_OFF
BGAP_OFF
CLK_SOFF
DAC_D_LP
DAC_C_LP
DAC_B_LP
DAC_A_LP
GTLIO_PD
Reserved
CLKOFF
PLL_PD
Note: DAC should be in normal power mode for HDTV output modes 720p and 1080i.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved RED_MTX
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved GRN_MTX
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved BLU_MTX
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved RED_SCL
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved GRN_SCL
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved BLU_SCL
GRN_MTX
RED_MTX
GRN_SCL
RED_SCL
BLU_MTX
BLU_SCL
VIDEO
VIDEO Matrix Offset
OUTPUT
INPUT Bypass Binary
& FORMAT
NTSC
RGB 0 -- 77 150 29 160 219 126
(ALL)
NTSC
YCrCb 1 1 -- -- -- 256 256 256
(ALL)
PAL
RGB 0 -- 77 150 29 160 219 126
(ALL)
PAL
YCrCb 1 1 -- -- -- 256 256 256
(ALL)
480p
RGB 0 -- 77 150 29 88 138 74
(YPrPb)
480p
YCrCb 1 1 -- -- -- 146 160 146
(YPrPb)
720p
RGB 0 -- 54 183 19 88 138 74
(YPrPb)
720p
YCrCb 1 1 -- -- -- 146 160 146
(YPrPb)
1080i
RGB 0 -- 54 183 19 88 138 74
(YPrPb)
1080i
YCrCb 1 1 -- -- -- 146 160 146
(YPrPb)
VGA
RGB 1 0 -- -- -- 138 138 138
(RGB)
Table 15: Matrix Configurations
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC_F1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC_F2
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC_EN_F2
CC_EN_F1
EPARITY
Reserved
F2_LOS F1_LOS
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RGB_BLNK YC_BLNK
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved CC_BKS
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved HACT_ST
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved HACT_WD
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved VACT_ST
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved VACT_HT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PB_SC PR_SC
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved Y_BW
2
1
0
GAIN in Decibels
2
3
4
6
7
9
10
0 1 2 3 4 5 6 7 8
FREQUENCY in MHz
Y_BW = 0
Y_BW = 127
Y_BW = -128
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
QK_ GMODE
QK_YC_IN
QK_OM
QK_UO
QK_UIM
QK_OS
QK_PN
QK_FF
1 0 0 1
Note:
When using this register, you must also program the CRTC registers in the GCC. See Table 1: CRTC
values for SDTV modes, on page 10 and Table 2: CRTC values for HDTV modes on page 10 for more
information.
3. Revision History
August 20, 2002: Release, V1.0. Data Sheet reorganized into separate reference guides. The new Data
Sheet package consists of a Product Brief, Hardware Reference, Software/Firmware Reference, and a
Physical (Layout) Reference. Software/Firmware Reference revised.
December 13, 2002: Release, V2.0. New tables and figures added. Notes revised. Register names
clarified.
July 1, 2004: Release V3.0 Added FS455/6 packaging information. Incorporated video port and DAC
application notes. Miscellaneous minor edits.
January 24, 2005: Release V3.1 Updated Lead-Free ordering information. Minor modifications to PLL M
and Pump Control and TINT register information.
4. Order Information
Order Number Temperature Range Screening Package Product
444-2133 0°C to 70°C Commercial 80 Lead PQFP FS453, Tape & Reel
444-2134 0°C to 70°C Commercial 80 Lead PQFP FS454, Tape & Reel
444-2137 0°C to 70°C Commercial 88 Lead FBGA FS455, Tape & Reel
444-2138 0°C to 70°C Commercial 88 Lead FBGA FS456, Tape & Reel
Package Markings:
FOCUS
Enhancements
<FS45x><LF><solder>
<YYWWR>
<fab lot id>
solder = lead-free solder type (only present on devices with lead-free solder)
See HTTP://WWW.JEDEC.ORG/DOWNLOAD/SEARCH/JESD97.PDF
Note:
Any of the above SKUs can be ordered with lead-free solder. To place an order for a part with lead-free
solder, append “LF” to the end of the SKU. For example 444-2137LF would be an FS455 with lead-free
solder. All of these devices utilize the same die. They function identically except for Macrovision features
(enabled in FS454 :& FS456), package type, and solder type.
Please forward suggestions and corrections as soon as possible to the email address below. The
information herein is accurate to the best of FOCUS’ knowledge, but not all specifications have
been characterized or tested at the time of the release of this document. Parameters will be
updated as soon as possible and updates made available.
All parameters contained in this specification are guaranteed by: design, characterization, sample testing
or 100% testing as appropriate. Focus Enhancements reserves the right to change products and
specifications without notice. This information does not convey any license under patent rights of Focus
Enhancements, Inc. or others.