PNX1300/01/02/11 Data Book
Philips Semiconductors
7-8
PRELIMINARY SPECIFICATION
The horizontal timing signal VO_IO1, shown in
Figure 7-15
, corresponds to the horizontal-blanking in-
terval. It is active low from the EAV code at the start of
the line to the SAV code at the start of active video for the
line.
7.10
GENLOCK MODE
In Genlock mode, the EVO is not synchronization master
but receives frame timing signals on VO_IO2. The EVO
operates in Genlock mode when SYNC_MASTER = 0,
EVO_CTL. EVO_ENABLE = 1 and EVO_CTL. GEN-
LOCK = 1.
The active edge can be programmed using the VO_CTL
VO_IO2_POS bit. The initial transition of the frame tim-
ing signal on VO_IO2 causes the Frame Line Counter to
be set to the value in VO_FRAME. FRAME_PRESET.
After reaching FRAME_LENGTH, the Frame Line
Counter starts counting again from 1.
EVO_SLVDLY. SLAVE_DLY is typically used to com-
pensate for any delay in the frame timing source or inter-
nal pipeline synchronization anywhere in a line. Internal-
ly, the active edge of VO_IO2 is delayed by SLAVE_DLY
VO_CLK clock cycles. Typically, it will allow FRAME_
PRESET to be loaded at the beginning of a new line.
With
correct
values
FRAME_PRESET loaded, the PNX1300 can generate
frames totally synchronized with the active edge of
VO_IO2. All the internal MMIO registers (except of
of
SLAVE_DLY
and
course VO_CTL) should be programmed with the same
values as for SYNC_MASTER mode. See
Figure 7-16
.
In Genlock mode, the EVO is free-running according to
the values programmed in its internal registers before the
initial VO_IO2 active edge. Just after receiving the active
edge that will synchronize the EVO, output values may
be erroneous for several VO_CLK cycles, but it is guar-
anteed that the next frame will be correct.
After the first synchronizing edge, if the next one hap-
pens according to the values programmed in the EVO
MMIO registers, no change will appear in the output tim-
ing of the EVO. If the active edge of VO_IO2 does not
match the programmed value, a new synchronization
phase is performed.
Typically, this is programmed as follows: SLAVE_DLY is
loaded with the number of clock cycles for one video line
minus the number of delay cycles used by the EVO to
synchronize itself. FRAME_PRESET is programmed
with the value 2. With this programming, the active edge
of VO_IO2 will happen just before the first byte (pream-
ble) of the first line.
The first active edge of VO_IO2 is delayed internally by
SLAVE_DLY VO_CLK cycles so that it appears internally
just before the start of the second line minus the internal
EVO pipeline delay. After this internal pipeline delay, the
line counter is loaded by FRAME_PRESET, (
‘
2
’
), and the
EVO starts sending data for line 2.
For the next frame, if the internal EVO programming
matches the VO_IO2 timing, the EVO will appear to start
4
19 20
265 266
283
1
4
One Frame
One Line
Field 2
Field 1
Blanking
Blanking
Active Video
Active Video
Vertical
Sync
Video
Lines
NTSC
PAL
263264
282
525
3
Blanking
Blanking
23
310 311
312 313
335 336
623 624 6251
22
1
VO_IO2
Figure 7-14. EVO VO_IO2 timing in FIELD_SYNC mode.
Image Line: Image Width
Blanking
Image Width, Pixels
Field Width, Pixels
SAV
EAV
VO_IO1
Image Data
EAV
Blanking
Figure 7-15. EVO VO_IO1 timing in FIELD_SYNC mode.