81.1.1.Video Features
81.1.2.Microcontroller Features
81.1.3.OSD Features
81.1.4.Teletext Features
81.1.5.Audio Features
81.1.6.General Features
91.2.Chip Architecture
101.3.System Application
112.Video Processing
112.1.Introduction
112.2.Video Front-end
112.2.1.Input Selector
112.2.2.Clamping
112.2.3.Automatic Gain Control
112.2.4.Analog-to-Digital Converters
122.2.5.Digitally Controlled Clock Oscillator
122.2.6.Analog Video Output
252.11.1.CRT Measurement and Control
262.11.2.SCART Output Signal
272.11.3.Average Beam Current Limiter
272.11.4.Analog RGB Insertion
272.11.5.Fast-Blank Monitor
292.12.Synchronization and Deflection
292.12.1.Deflection Processing
292.12.2.Angle and Bow Correction
292.12.3.Horizontal Phase Adjustment
302.12.4.Vertical and East/West Deflection
302.12.5.EHT Compensation
312.12.6.Protection Circuitry
312.13.Reset Function
312.14.Standby and Power-On
2
322.15.I
322.15.1.Control and Status Registers
442.15.1.1.Scaler Adjustment
462.15.1.2.Calculation of Vertical and East-West Deflection Coefficients
583.8.1.Character Code Mapping
593.8.2.Character Font ROM
603.8.3.Latin Font Mapping
613.8.4.Cyrillic Font Mapping
623.8.5.Arabic Font Mapping
633.8.6.Character Font Structure
643.9.National Character Mapping
663.10.Four-Color Mode
673.11.OSD Layer
683.12.Command Language
763.13.I/O Register
1265.18.1.Port Assignment
1275.18.2.Universal Ports P1 to P3
1275.18.2.1.Features
1285.18.2.2.Universal Port Mode
1285.18.3.Universal Port Registers
1295.18.4.I
1295.18.4.1.Features
1305.18.5.Audio Ports P42 to P46
1305.18.5.1.Features
1315.18.6.CLK20 Output Port
1315.18.6.1.Features
1325.19.I/O Register Cross Reference
2
C Ports P40 and P41
VCT 38xxA
Micronas5
Page 6
VCT 38xxAADVANCE INFORMATION
Contents, continued
PageSectionTitle
1366.Specifications
1366.1.Outline Dimensions
1386.2.Pin Connections and Short Descriptions
1426.3.Pin Descriptions for PSDIP64 package
1446.4.Pin Descriptions for PMQFP128 package
1456.5.Pin Configuration
1476.6.Pin Circuits
1506.7.Electrical Characteristics
1506.7.1.Absolute Maximum Ratings
1506.7.2.Recommended Operating Conditions
1506.7.2.1.General Recommendations
1516.7.2.2.Analog Input and Output Recommendations
1526.7.2.3.Recommended Crystal Characteristics
1536.7.3.Characteristics
1536.7.3.1.General Characteristics
1536.7.3.2.Test Input
1546.7.3.3.Reset Input
1546.7.3.4.I
1556.7.3.5.20-MHz Clock Output
1556.7.3.6.Analog Video Output
1556.7.3.7.A/D Converter Reference
1566.7.3.8.Analog Video Front-End and A/D Converters
1586.7.3.9.Analog RGB and FB Inputs
1596.7.3.10.Horizontal Flyback Input
1596.7.3.11.Horizontal Drive Output
1596.7.3.12.Vertical Safety Input
1596.7.3.13.Vertical Protection Input
1606.7.3.14.Vertical and East/West D/A Converter Output
1606.7.3.15.Interlace Output
1606.7.3.16.Sense A/D Converter Input
1606.7.3.17.Range Switch Output
1616.7.3.18.D/A Converter Reference
1616.7.3.19.Analog RGB Outputs, D/A Converters
1646.7.3.20.Scan Velocity Modulation Output
1646.7.3.21.Analog Audio Inputs and Outputs
1656.7.3.22.ADC Input Port
1656.7.3.23.Universal Port
1666.7.3.24.Memory Port
2
C Bus Interface
1677.Application
1718.Glossary of Abbreviations
1719.References
17210.Data Sheet History
6Micronas
Page 7
ADVANCE INFORMATIONVCT 38xxA
Video/Controller/Teletext IC Family
Release Note: This data sheet describes functions
and characteristics of the VCT 38xxA-B2.
1. Introduction
The VCT 38xxA is an IC family of high-quality singlechip TV processors. Modular design and a submicron
technology allow the economic integration of features
in all classes of TV sets. The VCT 38xxA family is
based on functional blocks contained and approved in
existing products like VDP 3120B, TPU 3050S, and
CCZ 3005K.
Each member of the family contains the entire video,
display and deflection processing for 4:3 and 16:9 50/
60-Hz TV sets. The integrated microcontroller is supported by a powerful OSD generator with integrated
teletext acquisition which can be upgraded with onchip page memory. With volume control and audio
input select the basic audio features for mono TV sets
are integrated. An overview of the VCT 38xxA singlechip TV processor family is given in Fig. 1–1 on
page 7.
The VCT 38xxA family offers a rich feature set, covering the whole range of state-of-the-art 50/60-Hz TV
applications.
VCT 38xxA
Family
Adaptive Comb Filter
Picture Improvements
(Color Transient Improv.,
Soft Limiter,
8-Bit Microcontroller
96 kB ROM, 1 kB RAM
Flash Option
Color Decoder
Tube Control
OSD Generator
Audio Control
VCT 3801A
VCT 3802A
VCT 3803A
VCT 3804A
VCT 3811A
VCT 3831A
VCT 3832A
VCT 3833A
VCT 3834A
Fig. 1–1: VCT 38xxA family overview
Micronas7
✔
✔
✔
✔✔
✔✔
✔
✔✔
✔✔✔
✔✔✔✔
Black-Level Expander)
✔
✔✔
✔✔
✔
Panorama Scaler
10 Page Teletxt
1 Page Teletxt
✔
✔
✔
✔
ext. Prog. Memory
ext. Page Memory
PMQFP128
PMQFP128
Page 8
VCT 38xxAADVANCE INFORMATION
1.1. Features
1.1.1. Video Features
– four composite video inputs, two S-VHS inputs
– analog YC
– composite video monitor
– multistandard color decoder (1 crystal)
– multistandard sync decoder
– black-line detector
– adaptive 2H comb filter Y/C separator
– horizontal scaling (0.25 to 4)
– Panoramavision
– black-level expander
– dynamic peaking
– soft limiter (gamma correction)
– color transient improvement
– programmable RGB matrix
– analog RGB/Fastblank input
– half-contrast switch
– picture frame generator
– scan velocity modulation output
– high-performance H/V deflection
– angle and bow correction
– separate ADC for tube measurements
– EHT compensation
rCb
input
1.1.3. OSD Features
– 3 kB OSD RAM on chip
– WST level 1.5 compliant
– WST level 2 parallel attributes
– 32 foreground/background colors
– programmable color look-up table
– 1024 mask programmable characters
– 24 national languages
(Latin, Cyrillic, Greek, Arabic, Farsi, Hebrew)
– character matrix 8x8, 8x10, 8x13, 10x8, 10x10, 10x13
– vertical soft scroll
– 4-color mode for user font
1.1.4. Teletext Features
– four programmable video inputs
– acquisition is independent from display part
– adaptive data slicer
– signal quality detection
– WST, PDC, VPS, and WSS acquisition
– high-level command language
– EPG, FLOF, and TOP support
– 10 pages memory on chip
– up to 500 pages with external SRAM
1.1.2. Microcontroller Features
– 8-bit, 10-MHz CPU (65C02)
– 96 kB program ROM on chip
– 1 kB program RAM on chip
– memory banking
– 16-input, 16-level interrupt controller
– patch modul for 10 ROM locations
– two 16-bit reloadable timers
– capture compare modul
– watchdog timer
– 14-bit PWM for voltage synthesis
– four 8-bit PWMs
– 10-bit ADC with 15:1 input MUX
2
– I
C bus master interface
– 24 programmable I/O ports
1.1.5. Audio Features
– three mono inputs
– two mono outputs
– programmable channel select
– volume control for one mono channel
1.1.6. General Features
– submicron CMOS technology
– low-power standby mode
– single 20.25-MHz crystal
– 64-pin PSDIP package
– 128-pin PMQFP package
– emulator chip for software development
8Micronas
Page 9
ADVANCE INFORMATIONVCT 38xxA
1.2. Chip Architecture
SGND
VSUPAF
VRT
GNDAF
VCT 38xx
VSUPD
GNDD
VERT
22
EW
PROT
HFLB
SENSE
RSW2GNDM
XREF
VRD
HOUT
VIN
CIN
VOUT
4
3
Video
Front-end
Video
TPU
24 kB
24 kB ROM
3kB
3kB
OSD
OSD RAM
Comb
Filter
DMA
Color
Decoder
BE
RDY
Panorama
Scaler
8
CPU
1kB
CPU RAM
2
C
I
MSync
Color, Prio
VSync
Display
Processor
Pict.Improv.
I2C Master
8-bit PWM
14-bit PWM
15:1 Mux
10-bit ADC
2 Timer
2 CapCom
Video
Back-end
Audio
Reset
Logic
3
4
2
3
2
RGBOUT
SVM
RGBIN
VSUPAB
GNDAB
AOUT
AIN
I2C
RESQ
TEST
16 kB
Text RA M
31
ADB, DB, CB
96 kB
CPU ROM
GNDS
VSUPS
Fig. 1–2: Block diagram of the VCT 38xxA (shaded blocks are optional)
Watchdog
24 IO Ports
12
Pxy
VSUPP1
Clock
Oscillator
CLK20
GNDP1
XTAL1
XTAL2
Micronas9
Page 10
VCT 38xxAADVANCE INFORMATION
1.3. System Application
Analog Video
CVBS1
CVBS2
Analog RGB
R
Y
C
r
C
b
Y
C
GBFB
20.25 MHz
VCT 38xxA
512 kB
SRAM
DB
ADB
Analog Audio
Tuner/SCART/FrontAV
CECEOE2WE2
512 kB
ROM/
FLASH
OE1
WE1
Loudspeaker
CRT
optional memory extension
Fig. 1–3: Single-chip TV with VCT 38xxA
10Micronas
Page 11
ADVANCE INFORMATIONVCT 38xxA
2. Video Processing
2.1. Introduction
The VCT 38xxA includes complete video, display, and
deflection processing. In the following sections the
video processing part of the VCT 38xxA will be named
VDP for short.
All processing is done digitally, the video front-end and
video back-end are interfacing to the analog world.
Most functions of the VDP can be controlled by software via I
2
C bus slave interface (see Section 2.15. on
page 32).
2.2. Video Front-end
This block provides the analog interfaces to all video
inputs and mainly carries out analog-to-digital conversion for the following digital video processing. A block
diagram is given in Fig. 2–1.
Most of the functional blocks in the front-end are digitally controlled (clamping, AGC, and clock-DCO). The
control loops are closed by the Fast Processor (‘FP’)
embedded in the video decoder.
2.2.2. Clamping
The composite video input signals are AC-coupled to
the IC. The clamping voltage is stored on the coupling
capacitors and is generated by digitally controlled current sources. The clamping level is the back porch of
the video signal. S-VHS chrominance is also AC-coupled. The input pin is internally biased to the center of
the ADC input range. The chrominance inputs for
need to be AC-coupled by 220 nF clamping
YC
rCb
capacitors. It is strongly recommended to use 5-MHz
anti-alias low-pass filters on each input. Each channel
is sampled at 10.125 MHz with a resolution of 8 bit and
a clamping level of 128.
2.2.3. Automatic Gain Control
A digitally working automatic gain control adjusts the
magnitude of the selected baseband by +6/–4.5 dB in
64 logarithmic steps to the optimal range of the ADC.
The gain of the video input stage including the ADC is
213 steps/V with the AGC set to 0 dB. The gain of the
chrominance path in the YC
adapted to a nominal amplitude of 0.7 V
mode is fix and
rCb
. However, if
pp
an overflow of the ADC occurs an extended signal
range from 1 V
can be selected.
pp
2.2.1. Input Selector
Up to seven analog inputs can be connected. Four
inputs are for input of composite video or S-VHS luma
signal. These inputs are clamped to the sync back
porch and are amplified by a variable gain amplifier.
Two chroma inputs can be used for connection of
S-VHS carrier-chrominance signal. These inputs are
internally biased and have a fixed gain amplifier. For
analog YC
signals (e.g. from DVD players) one of
rCb
the selected luminance inputs is used together with
CBIN and CRIN inputs.
CVBS/Y
CVBS/Y
CVBS/Y
CVBS/Y
CVBS/Y
Chroma
Chroma
VOUT
VIN1
VIN2
VIN3
VIN4
CIN1
CIN2
CRIN
3
Clamp
Gain
Input
Mux
BiasADC
Clamp
Chroma
CBIN
mux
2.2.4. Analog-to-Digital Converters
Two ADCs are provided to digitize the input signals.
Each converter runs with 20.25 MHz and has 8 bit resolution. An integrated bandgap circuit generates the
required reference voltages for the converters. The two
ADCs are of a 2-stage subranging type.
AGC
+6/–4.5 dB
ADC
digital CVBS or Luma
digital Chroma
System Clocks
Reference
Generation
DVCO
±150
ppm
Frequency
20.25 MHz
Fig. 2–1: Video front-end
Micronas11
Page 12
VCT 38xxAADVANCE INFORMATION
2.2.5. Digitally Controlled Clock Oscillator
The clock generation is also a part of the analog frontend. The crystal oscillator is controlled digitally by the
control processor. The clock frequency can be
adjusted within
±150 ppm.
2.2.6. Analog Video Output
The input signal of the Luma ADC is available at the
analog video output pin. The signal at this pin must be
buffered by a source follower. The output voltage is
2 V, thus the signal can be used to drive a 75-
Ω line.
The magnitude is adjusted with an AGC in 8 steps
together with the main AGC.
2.3. Adaptive Comb Filter
The adaptive comb filter is used for high-quality luminance/chrominance separation for PAL or NTSC signals. The comb filter improves the luminance resolution (bandwidth) and reduces interferences like
cross-luminance and cross-color artifacts. The adaptive algorithm can eliminate most of the mentioned
errors without introducing new artifacts or noise.
A block diagram of the comb filter is shown in Fig. 2–2.
The filter uses two line delays to process the information of three adjacent video lines. To have a fixed
phase relationship of the color subcarrier in the three
channels, the system clock (20.25 MHz) is fractionally
locked to the color subcarrier. This allows the processing of all color standards and substandards using a
single crystal frequency.
The CVBS signal in the three channels is filtered at the
subcarrier frequency by a set of bandpass/notch filters. The output of the three channels is used by the
adaption logic to select the weighting that is used to
reconstruct the luminance/chrominance signal from
the 4 bandpass/notch filter signals. By using soft mixing of the 4 signals switching artifacts of the adaption
algorithm are completely suppressed.
The comb filter uses the middle line as reference,
therefore, the comb filter delay is one line. If the comb
filter is switched off, the delay lines are used to pass
the luma/ chroma signals from the A/D converters to
the luma/ chroma outputs. Thus, the comb filter delay
is always one line.
Various parameters of the comb filter are adjustable,
hence giving to the user the ability to adjust his own
desired picture quality.
Two parameters (KY, KC) set the global gain of luma
and chroma comb separately; these values directly
weigh the adaption algorithm output. In this way, it is
possible to obtain a luma/chroma separation ranging
from standard notch/bandpass to full comb decoding.
The parameter KB allows to choose between the two
proposed comb booster modes. This so-called feature
widely improves vertical high-to-low frequency transitions areas, the typical example being a multiburst to
DC change. For KB=0, this improvement is kept moderate, whereas, in case of KB=1, it is maximum, but
the risk to increase the “hanging dots” amount for
some given color transitions is higher.
Using the default setting, the comb filter has separate
luma and chroma decision algorithms; however, it is
possible to switch the chroma comb factor to the current luma adaption output by setting CC to 1.
Another interesting feature is the programmable limitation of the luma comb amount; proper limitation, associated to adequate luma peaking, gives rise to an
enhanced 2-D resolution homogeneity. This limitation
is set by the parameter CLIM, ranging from 0 (no limitation) to 31 (max. limitation).
The DAA parameter (1:off, 0:on) is used to disable/
enable a very efficient built-in “rain effect” suppressor;
many comb filters show this side effect which gives
some vertical correlation to a 2-D uniform random
area, due to the vertical filtering. This unnatural-looking phenomenon is mostly visible on tuner images,
since they are always corrupted by some noise; and
this looks like rain.
Bandpass
Filter
CVBS Input
Chroma Input
1H Delay Line
1H Delay Line
Bandpass/
Notch
Filter
Bandpass
Filter
Luma / Chroma Mixers
Adaption Logic
Luma Output
Chroma Output
Fig. 2–2: Block diagram of the adaptive comb filter (PAL mode)
12Micronas
Page 13
ADVANCE INFORMATIONVCT 38xxA
2.4. Color Decoder
In this block, the standard luma/chroma separation and
multi-standard color demodulation is carried out. The
color demodulation uses an asynchronous clock, thus
allowing a unified architecture for all color standards.
A block diagram of the color decoder is shown in Fig.
2–3. The luma as well as the chroma processing, is
shown here. The color decoder provides also some
special modes, e.g. wide band chroma format which is
intended for S-VHS wide bandwidth chroma.
Luma / CVBS
MUXMUX
1 H Delay
If the adaptive comb filter is used for luma chroma separation, the color decoder uses the S-VHS mode processing. The output of the color decoder is YC
4:2:2 format.
Notch
Filter
CrossSwitch
Luma
Chroma
rCb
in a
IF Compensation
Chroma
DC-Reject
Fig. 2–3: Color decoder
2.4.1. IF-Compensation
With off-air or mistuned reception, any attenuation at
higher frequencies or asymmetry around the color
subcarrier is compensated. Four different settings of
the IF-compensation are possible:
The last setting gives a very large boost to high frequencies. It is provided for SECAM signals that are
decoded using a SAW filter specified originally for the
PAL standard.
Fig. 2–4: Frequency response of chroma IF-compensation
Micronas13
Page 14
VCT 38xxAADVANCE INFORMATION
PAL/NTSC
SECAM
2.4.2. Demodulator
The entire signal (which might still contain luma) is
now quadrature-mixed to the baseband. The mixing
frequency is equal to the subcarrier for PAL and NTSC,
thus achieving the chroma demodulation. For SECAM,
the mixing frequency is 4.286 MHz giving the quadrature baseband components of the FM modulated
chroma. After the mixer, a low-pass filter selects the
chroma components; a downsampling stage converts
the color difference signals to a multiplexed half-rate
data stream.
The subcarrier frequency in the demodulator is generated by direct digital synthesis; therefore, substandards such as PAL 3.58 or NTSC 4.43 can also be
demodulated.
2.4.3. Chrominance Filter
The demodulation is followed by a low-pass filter for
the color difference signals for PAL/NTSC. SECAM
requires a modified low-pass function with bell-filter
characteristic. At the output of the low-pass filter, all
luma information is eliminated.
The low-pass filters are calculated in time multiplex for
the two color signals. Three bandwidth settings (narrow, normal, broad) are available for each standard.
For PAL/NTSC, a wide band chroma filter can be
selected. This filter is intended for high bandwidth
chroma signals, e.g. a non-standard wide bandwidth
S-VHS signal.
2.4.4. Frequency Demodulator
The frequency demodulator for demodulating the
SECAM signal is implemented as a CORDIC structure.
It calculates the phase and magnitude of the quadrature components by coordinate rotation.
The phase output of the CORDIC processor is differentiated to obtain the demodulated frequency. After
the deemphasis filter, the Dr and Db signals are scaled
to standard C
switch.
2.4.5. Burst Detection / Saturation Control
In the PAL/NTSC-system the burst is the reference for
the color signal. The phase and magnitude outputs of
the CORDIC are gated with the color key and used for
controlling the phase-locked-loop (APC) of the demodulator and the automatic color control (ACC) in PAL/
NTSC.
The ACC has a control range of +30...
Color saturation can be selected once for all color
standards. In PAL/NTSC it is used as reference for the
ACC. In SECAM the necessary gains are calculated
automatically.
For SECAM decoding, the frequency of the burst is
measured. Thus, the current chroma carrier frequency
can be identified and is used to control the SECAM
processing. The burst measurements also control the
color killer operation; they are used for automatic standard detection as well.
amplitudes and fed to the crossover
rCb
−6 dB.
Fig. 2–5: Frequency response of chroma filters
2.4.6. Color Killer Operation
The color killer uses the burst-phase/burst-frequency
measurement to identify a PAL/NTSC or SECAM color
signal. For PAL/NTSC, the color is switched off (killed)
as long as the color subcarrier PLL is not locked. For
SECAM, the killer is controlled by the toggle of the
burst frequency. The burst amplitude measurement is
used to switch-off the color if the burst amplitude is
below a programmable threshold. Thus, color will be
killed for very noisy signals. The color amplitude killer
has a programmable hysteresis.
14Micronas
Page 15
ADVANCE INFORMATIONVCT 38xxA
2.4.7. Automatic Standard Recognition
The burst-frequency measurement is also used for
automatic standard recognition (together with the status of horizontal and vertical locking) thus allowing a
completely independent search of the line and color
CVBS
8
Notch
filter
Chroma
Process.
Y
C C
a) conventionalb) S-VHS
r b
Luma
8
chroma
8
Chroma
Process.
Y
C C
r b
standard of the input signal. The following standards
can be distinguished:
PAL B,G,H,I; NTSC M; SECAM; NTSC 44; PAL M;
CVBS
8
Notch
filter
Y
PAL N; PA L 6 0
1 H
Delay
C C
r b
For a preselection of allowed standards, the recognition can be enabled/disabled via I
2
C bus for each stan-
Chroma
Process.
c) compensated
dard separately.
If at least one standard is enabled, the VCT 38xxA regularly checks the horizontal and vertical locking of the
CVBS
Notch
1 H
8
Delay
filter
Y
input signal and the state of the color killer. If an error
exists for several adjacent fields a new standard
search is started. Depending on the measured line
number and burst frequency, the current standard is
selected.
For error handling the recognition algorithm delivers
the following status information:
Chroma
Process.
d) comb filter
Fig. 2–6: NTSC color decoding options
C C
r b
– search active (busy)
– search terminated, but failed
– found standard is disabled
– vertical standard invalid
– no color found
2.4.8. PAL Compensation/1-H Comb Filter
The color decoder uses one fully integrated delay line.
Only active video is stored.
The delay line application depends on the color standard:
– NTSC:1-H comb filter or color compensation
– PAL:color compensation
– SECAM: crossover switch
In the NTSC compensated mode, (Fig. 2–6c), the color
signal is averaged for two adjacent lines. Thus,
cross-color distortion and chroma noise is reduced. In
the NTSC comb filter mode, (Fig. 2–6d), the delay line
is in the composite signal path, thus allowing reduction
of cross-color components, as well as cross-luminance. The loss of vertical resolution in the luminance
channel is compensated by adding the vertical detail
signal with removed color information.
CVBS
8
Notch
filter
Chroma
Process.
1 H
Delay
a) conventional
Luma
8
Chroma
8
Chroma
Process.
1 H
Delay
b) S-VHS
Fig. 2–7: PAL color decoding options
CVBS
8
Notch
filter
Chroma
Process.
1 H
Delay
Fig. 2–8: SECAM color decoding
MUX
Y
C C
r b
Y
C C
r b
Y
C C
r b
Micronas15
Page 16
VCT 38xxAADVANCE INFORMATION
dB
MHz
10
02 4 6 8 10
0
–10
–20
–30
–40
dB
MHz
10
02 4 6 8 10
0
–10
–20
–30
–40
PAL/NTSC notch filter
SECAM notch filter
2.4.9. Luminance Notch Filter
If a composite video signal is applied, the color information is suppressed by a programmable notch filter.
The position of the filter center frequency depends on
the subcarrier frequency for PAL/NTSC. For SECAM,
the notch is directly controlled by the chroma carrier
frequency. This considerably reduces the cross-luminance. The frequency responses for all three systems
are shown in Fig. 2–9.
2.5. Horizontal Scaler
The 4:2:2 YC
signal from the color decoder is pro-
rCb
cessed by the horizontal scaler. The scaler block
allows a linear or nonlinear horizontal scaling of the
input video signal in the range of 0.25 to 4. Nonlinear
scaling, also called “Panoramavision”, provides a geometrical distortion of the input picture. It is used to fit a
picture with 4:3 format on a 16:9 screen by stretching
the picture geometry at the borders. Also, the inverse
effect can be produced by the scaler. A summary of
scaler modes is given in Table 2–1.
The scaler contains a programmable decimation filter,
a 1-line FIFO memory, and a programmable interpolation filter. The scaler input filter is also used for pixel
skew correction (see Section 2.4.10. on page 16). The
decimator/interpolator structure allows optimal use of
the FIFO memory. The controlling of the scaler is done
by the internal Fast Processor.
Table 2–1: Scaler modes
ModeScale
Description
Factor
Fig. 2–9: Frequency responses of the luma
notch filter for PAL, NTSC, SECAM
2.4.10.Skew Filtering
The system clock is free-running and not locked to the
TV line frequency. Therefore, the ADC sampling pattern is not orthogonal. The decoded YC
converted to an orthogonal sampling raster by the
signals are
rCb
skew filters, which are part of the scaler block.
The skew filters allow the application of a group delay
to the input signals without introducing waveform or
frequency response distortion.
The amount of phase shift of this filter is controlled by
the horizontal PLL1. The accuracy of the filters is 1/32
clocks for luminance and 1/4 clocks for chroma. Thus
the 4:2:2 YC
data is in an orthogonal pixel format
rCb
even in the case of nonstandard input signals such as
VCR.
Compression
4:3
→ 16:9
0.75
linear
4:3 source displayed on
a 16:9 tube,
with side panels
Panorama
4:3
→16:9
Zoom
4:3
→ 4:3
nonlinear
compr
1.33
linear
4:3 source displayed on
a 16:9 tube,
Borders distorted
Letterbox source (PAL+)
displayed on a 4:3 tube,
vertical overscan with
cropping of side panels
Panorama
→ 4:3
4:3
nonlinear
zoom
Letterbox source (PAL+)
displayed on a 4:3 tube,
vertical overscan, borders distorted, no cropping
2.6. Black-line Detector
In case of a letterbox format input video, e.g. Cinemascope, PAL+ etc., black areas at the upper and lower
part of the picture are visible. It is suitable to remove or
reduce these areas by a vertical zoom and/or shift
operation.
The VCT 38xxA supports this feature by a letterbox
detector. The circuitry detects black video lines by
measuring the signal amplitude during active video.
For every field the number of black lines at the upper
and lower part of the picture are measured, compared
to the previous measurement and the minima are
stored in the I
2
C-register BLKLIN. To adjust the picture
16Micronas
Page 17
ADVANCE INFORMATIONVCT 38xxA
amplitude, the external controller reads this register,
calculates the vertical scaling coefficient and transfers
the new settings, e.g. vertical sawtooth parameters,
horizontal scaling coefficient etc., to the VCT 38xxA.
Letterbox signals containing logos on the left or right
side of the black areas are processed as black lines,
while subtitles, inserted in the black areas, are processed as non-black lines. Therefore, the subtitles are
visible on the screen. To suppress the subtitles, the
vertical zoom coefficient is calculated by selecting the
larger number of black lines only. Dark video scenes
with a low contrast level compared to the letterbox area
are indicated by the BLKPIC bit.
2.7. Test Pattern Generator
The YC
where YC
outputs can be switched to a test mode
rCb
data are generated digitally in the
rCb
VCT 38xxA. Test patterns include luma/chroma ramps
and flat fields.
2.8. Video Sync Processing
Fig. 2–10 shows a block diagram of the front-end sync
processing. To extract the sync information from the
video signal, a linear phase low-pass filter eliminates
all noise and video contents above 1 MHz. The sync is
separated by a slicer; the sync phase is measured. A
variable window can be selected to improve the noise
immunity of the slicer. The phase comparator mea-
sures the falling edge of sync, as well as the integrated
sync pulse.
The sync phase error is filtered by a phase-locked loop
that is computed by the FP. All timing in the front-end is
derived from a counter that is part of this PLL, and it
thus counts synchronously to the video signal.
A separate hardware block measures the signal back
porch and also allows gathering the maximum/minimum of the video signal. This information is processed
by the FP and used for gain control and clamping.
For vertical sync separation, the sliced video signal is
integrated. The FP uses the integrator value to derive
vertical sync and field information.
The information extracted by the video sync processing is multiplexed onto the hardware front sync signal
(FSY) and is distributed to the rest of the video processing system.
The data for the vertical deflection, the sawtooth, and
the East-West correction signal is calculated by the
VCT 38xxA. The data is buffered in a FIFO and transferred to the back-end by a single wire interface.
Frequency and phase characteristics of the analog
video signal are derived from PLL1. The results are fed
to the scaler unit for data interpolation and orthogonalization and to the clock synthesizer for line-locked
clock generation. Horizontal and vertical syncs are
latched with the line-locked clock.
video
input
low-pass
1 MHz
&
sync slicer
Horizontal
Sync
Separation
Clamp &
Signal
Meas.
Vertical
Sync
Separation
Fig. 2–10: Sync separation block diagram
Phase
Separator
Low-pass
clamping, colorkey, FIFO_write
Sawtooth
Parabola
Calculation
counter
&
Front-end
Timing
FIFO
PLL1
Generator
Synthesizer
Front
Sync
Clock
Syncs
Vertical
Serial
Data
Front Sync
Skew
Vblank
Field
Clock
H/V Syncs
Vertical
E/W
Sawtooth
Micronas17
Page 18
VCT 38xxAADVANCE INFORMATION
2.9. Macrovision Detection
Video signals from Macrovision encoded VCR tapes
are decoded without loss of picture quality. However, it
might be necessary in some applications to detect the
presence of Macrovision encoded video signals. This
is possible by reading the Macrovision status register
(FP-RAM 0x170).
Macrovision encoded video signals typically have AGC
pulses and pseudo sync pulses added during VBI. The
amplitude of the AGC pulses is modulated in time. The
Macrovision detection logic measures the VBI lines
and compares the signal against thresholds.
The window wherein the video lines are checked for
Macrovision pulses can be defined in terms of start
and stop line (e.g. 6-15 for NTSC).
2.10.Display Processing
In the display processing the conversion from digital
to analog RGB is carried out. A block diagram is
YC
rCb
shown in Fig. 2–18 on page 24. In the luminance processing path, contrast and brightness adjustments and
a variety of features, such as black-level expansion,
dynamic peaking and soft limiting, are provided. In the
chrominance path, the C
signals are converted to
rCb
4:4:4 format and filtered by a color transient improvement circuit. The YC
signals are converted by a
rCb
programmable matrix to RGB color space.
The display processor provides separate control settings for two pictures, i.e. different coefficients for a
‘main’ and a ‘side’ picture.
The digital OSD insertion circuit allows the insertion of
a 5-bit OSD signal. The color space for this signal is
controlled by a partially programmable color look-up
table (CLUT) and contrast adjustment.
2.10.2.Black-Level Expander
The black-level expander enhances the contrast of the
picture. Therefore the luminance signal is modified
with an adjustable, non-linear function. Dark areas of
the picture are changed to black, while bright areas
remain unchanged. The advantage of this black-level
expander is that the black expansion is performed only
if it will be most noticeable to the viewer.
The black-level expander works adaptively. Depending
on the measured amplitudes ‘L
’ and ‘L
min
max
’ of the
low-pass-filtered luminance and an adjustable coefficient BTLT, a tilt point ‘L
= L
L
t
+ BTLT (L
min
’ is established by
t
- L
max
min
).
Above this value there is no expansion, while all luminance values below this point are expanded according
to:
= Lin + BAM (Lin - Lt)
L
out
A second threshold, L
, can be programmed, above
tr
which there is no expansion. The characteristics of the
black-level expander are shown in Fig. 2–11and Fig.
2–12.
L
out
L
BAM
BTLT
L
min
L
max
L
tr
t
The OSD signals and the display clock are synchronized to the horizontal flyback. For the display clock, a
L
BTHR
tr
L
in
gate delay phase shifter is used. In the analog backend, three 10-bit digital-to-analog converters provide
the analog output signals.
2.10.1.Luma Contrast Adjustment
Fig. 2–11: Characteristics of the black-level expander
The tilt point L
is a function of the dynamic range of
t
the video signal. Thus, the black-level expansion is
The contrast of the luminance signal can be adjusted
by multiplication with a 6-bit contrast value. The contrast value corresponds to a gain factor from 0 to 2,
where the value 32 is equivalent to a gain of 1. The
only performed when the video signal has a large
dynamic range. Otherwise, the expansion to black is
zero. This allows the correction of the characteristics of
the picture tube.
contrast can be adjusted separately for main picture
and side picture.
18Micronas
Page 19
ADVANCE INFORMATIONVCT 38xxA
a)
b)
L
max
L
t
L
min
L
t
Fig. 2–12: Black-level expansion
a) luminance input
b) luminance input and output
2.10.3.Dynamic Peaking
Especially with decoded composite signals and notch
filter luminance separation, as input signals, it is necessary to improve the luminance frequency characteristics. With transparent, high-bandwidth signals, it is
sometimes desirable to soften the image.
dB
20
15
10
5
0
–5
–10
–15
–20
02 4 6 8 10
MHz
Fig. 2–13: Dynamic peaking frequency response
In the VCT 38xxA, the luma response is improved by
‘dynamic’ peaking. The algorithm has been optimized
regarding step and frequency response. It adapts to
the amplitude of the high-frequency part. Small AC
amplitudes are processed, while large AC amplitudes
stay nearly unmodified.
The dynamic range can be adjusted from
−14 to
+14 dB for small high-frequency signals. There is separate adjustment for signal overshoot and for signal
undershoot. For large signals, the dynamic range is
limited by a non-linear function that does not create
any visible alias components. The peaking can be
switched over to “softening” by inverting the peaking
term by software.
The center frequency of the peaking filter is switchable
from 2.5 MHz to 3.2 MHz. For S-VHS and for notch filter
color decoding, the total system frequency responses
for both PAL and NTSC are shown in Fig. 2–14.
Transients, produced by the dynamic peaking when
switching video source signals, can be suppressed via
the priority bus.
Micronas19
Page 20
VCT 38xxAADVANCE INFORMATION
dB
20
15
10
5
0
-5
-10
-15
-20
02 4 6 8 10
dB
20
15
10
5
0
-5
-10
-15
-20
02 4 6 8 10
dB
20
15
10
5
0
-5
-10
-15
-20
02 4 6 8 10
CF=3.2 MHz
CF=3.2 MHz
CF=3.2 MHz
S-VHS
MHz
PAL/SECAM
MHz
NTSC
MHz
dB
20
15
10
5
0
-5
-10
-15
-20
02 4 6 8 10
dB
20
15
10
5
0
-5
-10
-15
-20
02 4 68 10
dB
20
15
10
5
0
-5
-10
-15
-20
02 4 68 10
CF=2.5 MHz
CF=2.5 MHz
CF=2.5 MHz
MHz
MHz
MHz
Fig. 2–14: Total frequency response for peaking filter and S-VHS, PAL, NTSC
20Micronas
Page 21
ADVANCE INFORMATIONVCT 38xxA
2.10.4.Digital Brightness Adjustment
The DC-level of the luminance signal can be adjusted
by adding an 8-bit number in the luminance signal path
in front of the softlimiter.
With a contrast adjustment of 32 (gain+1) the signal
can be shifted by 100 %. After the brightness addition,
the negative going signals are limited to zero. It is
desirable to keep a small positive offset with the signal
to prevent undershoots produced by the peaking from
being cut. The digital brightness adjustment works
separately for main and side picture.
2.10.5.Soft Limiter
The dynamic range of the processed luma signal must
be limited to prevent the CRT from overload. An appropriate headroom for contrast, peaking and brightness
can be adjusted by the TV manufacturer according to
the CRT characteristics. All signals above this limit will
be ‘soft’-clipped. A characteristic diagram of the soft
limiter is shown in Fig. 2–15. The total limiter consists
of three parts:
Part 1 includes adjustable tilt point and gain. The gain
before the tilt value is 1. Above the tilt value, a part
(0...15/16) of the input signal is subtracted from the
input signal itself. Therefore, the gain is adjustable
from 16/16 to 1/16, when the slope value varies from
0 to 15. The tilt value can be adjusted from 0 to 511.
Part 2 has the same characteristics as part 1. The subtracting part is also relative to the input signal, so the
total differential gain will become negative if the sum of
slope 1 and slope 2 is greater than 16 and the input
signal is above the both tilt values (see characteristics).
Finally, the output signal of the soft limiter will be
clipped by a hard limiter adjustable from 256 to 511.
2.10.6.Chroma Interpolation
A linear phase interpolator is used to convert the
chroma sampling rate from 10.125 MHz (4:2:2) to
20.25 MHz (4:4:4). All further processing is carried out
at the full sampling rate.
Output
511
400
300
200
100
tilt 1 [ 0...511]tilt 2 [ 0...511]
0
01002003004005006007008009001023
Part 1Part 2
slope 1
[0...15]
0
2
4
6
8
10
12
14
0
2
4
6
8
10
12
14
slope 2
[0...15]
Hard limiter
range=
256...511
Fig. 2–15: Characteristic of soft limiter A and B and hard limiter
2.10.7.Chroma Transient Improvement
sharpened chroma signals are limited to a proper
value automatically.
The intention of this block is to enhance the chroma
resolution. A correction signal is calculated by differentiation of the color difference signals. The differentiation can be selected according to the signal bandwidth,
e.g. for PAL/NTSC/SECAM or digital component signals, respectively. The amplitude of the correction signal is adjustable. Small noise amplitudes in the correction signal are suppressed by an adjustable coring
circuit. To eliminate ‘wrong colors’, which are caused
by over and undershoots at the chroma transition, the
Calculation Example for the
Softlimiter Input Amplitude.
(The real signal processing in
the limiter is 2 bit more than
described here)
Y Input16...235 (ITUR)
Black Level16 (constant)
Contrast 63
Dig. Brightness 20
BLEoff
Peaking off
Limiter input signal:
(Yin-Black Level)
(235-16)
Limiter Input
⋅Contr./32 + Brightn.
⋅ 63/32 + 20 = 451
Micronas21
Page 22
VCT 38xxAADVANCE INFORMATION
a) CrCb input of DTI
b) C
rCb
input + correction signal
c) sharpened and limited C
rCb
t
t
t
Cr in
C
b
in
a)
b)
Ampl.
C
r
out
C
b
out
c)
2.10.9.RGB Processing
After adding the post-processed luma, the digital RGB
signals are limited to 10 bits. Three multipliers are
used to digitally adjust the white drive. Using the same
multipliers an average beam current limiter is implemented (see Section 2.11.1. on page 25).
2.10.10.OSD Color Look-up Table
The VCT 38xxA has five input lines for an OSD signal.
This signal forms a 5-bit address for a color look-up
table (CLUT). The CLUT is a memory with 32 words
where each word holds a RGB value.
Bits 0 to 3 (bit 4=0) form the addresses for the ROM
part of the OSD, which generates full RGB signals (bit
0 to 2) and half-contrast RGB signals (bit 3).
Bit 4 addresses the RAM part of the OSD with 16
freely programmable colors, addressable with bit 0 to
3. The programming is done via the I
2
C bus.
Fig. 2–16: Digital color transient improvement
2.10.8.Inverse Matrix
A 6-multiplier matrix transcodes the C
and Cb signals
r
to R-Y, B-Y, and G-Y. The multipliers are also used to
adjust color saturation in the range of 0 to 2. The coefficients are signed and have a resolution of 9 bits.
There are separate matrix coefficients for main and
side pictures. The matrix computes:
−Y= MR1*C
R
G−Y= MG1*Cb+MR2*C
B−Y= MB1*Cb+MR2*C
+MR2*C
b
r
r
r
The initialization values for the matrix are computed
from the standard ITUR (CCIR) matrix:
R
G
B
1
0
1
1
−0.345
1.773
=
1.402
−0.713
0
Y
C
b
C
r
For a contrast setting of CTM+32, the matrix values
are scaled by a factor of 64 (see Table 2–4 on
page 34).
The amplitude of the CLUT output signals can be
adjusted separately for R, G, and B via the I
2
C bus.
The switchover between video RGB and OSD RGB is
done via the priority decoder.
2.10.11.Picture Frame Generator
When the picture does not fill the total screen (height
or width too small) it is surrounded with black areas.
These areas (and more) can be colored with the picture frame generator. This is done by switching over
the RGB signal from the matrix to the signal from the
OSD color look-up table.
The width of each area (left, right, upper, lower) can be
adjusted separately. The generator starts on the right,
respectively lower side of the screen and stops on the
left, respectively upper side of the screen. This means,
it runs during horizontal, respectively vertical flyback.
The color of the complete border can be stored in the
programmable OSD color look-up table in a separate
address. The format is 3 x 4-bit RGB. The contrast can
be adjusted separately.
The picture frame generator includes a priority master
circuit. Its priority is programmable and the border is
generated only if the priority is higher than the priority
of the other sources (video/OSD). Therefore, the border can be underlay or overlay depending on the picture source.
22Micronas
Page 23
ADVANCE INFORMATIONVCT 38xxA
2.10.12.Priority Decoder
The priority decoder selects the picture source
depending on the programmed priorities. Up to eight
levels can be selected for OSD and the picture frame –
where 0 is the highest. The video source always has
the lowest priority. A 5-bit information is attached to
each priority (see Table 2–4 on page 34). These bits
are programmable via the I
2
C bus and have the follow-
ing meanings:
– one of two contrast, brightness and matrix values for
main and side picture
– RGB from video signal or color look-up table
– disable/enable black-level expander
– disable/enable peaking transient suppression when
signal is switched
– disable/enable analog Fast-Blank input
RGB
N1N2
CoringGain1Gain2
2.10.13.Scan Velocity Modulation
The RGB input signal of the SVM is converted to Y in a
simple matrix. Then the Y signal is differentiated by a
filter of the transfer function 1-Z
-N
, where N is programmable from 1 to 6. With a coring, some noise can be
suppressed. This is followed by a gain adjustment and
an adjustable limiter. The analog output signal is generated by an 8-bit D/A converter.
The signal delay can be adjusted by
±3.5 clocks in
half-clock steps. For the gain and filter adjustment
there are two parameter sets. The switching between
these two sets is done with the same RGB switch signal that is used for switching between video-RGB and
OSD-RGB for the RGB outputs (see Fig. 2–17).
RGB Switch
LimitDelay
Matrix and
Shaping
Modulation
Notch
Differentiator
-Nx
1-Z
Coring
adjustment
Gain
adjustment
Fig. 2–17: SVM Block diagram
2.10.14.Display Phase Shifter
A phase shifter is used to partially compensate the
phase differences between the video source and the
flyback signal. By using the described clock system,
this phase shifter works with an accuracy of approximately 1 ns. It has a range of 1 clock period which is
equivalent to
±24.7 ns at 20.25 MHz. The large
amount of phase shift (full clock periods) is realized in
the front-end circuit.
Limiter
Delay
adjustment
D/A
Converter
Output
Micronas23
Page 24
24Micronas
Fig. 2–18: Digital back-end
VCT 38xxAADVANCE INFORMATION
dig.
Y in
8
5
dig. OSD in
8
dig.
in
C
rCb
Contrast
Expander
Blanking
for CRT Measurement
Black-
Level
prio
Interpol
4:4:4
Dynamic
peaking
prio
Cr
DTI
(C
Brightness
+ Offset
Softlimiter
White-Drive
Measurement
luma insert
for CRTmeasurement
Y
CLUT,
Contrast
Picture
Frame
Generator
White-Drive R
x beam Curr. Lim.
C
LOCK
Display
& Clock
Control
Phase
Horizontal
Flyback
dig.
Rout
Shift
Matrix
R’
)
r
R
White-Drive G
x Beam curr. Lim.
0...1 Clock
Phase
Matrix
G’
G
Shift
0...1 Clock
10
10
dig.
Gout
PRIO in
3
PRIO
Decoder
DTI
(C
Cb
Side Picture
select
Coefficients
Main Picture
White-Drive
)
b
x Beam Curr. Lim.
Phase
dig.
Bout
Shift
Matrix
B’
Matrix
Saturation
B
0...1 Clock
Scan
Velocity
Modulation
10
SVMout
Page 25
ADVANCE INFORMATIONVCT 38xxA
2.11.Video Back-end
The digital RGB signals are converted to analog RGBs
using three video digital-to-analog converters (DAC)
with 10-bit resolution. An analog brightness value is
provided by three additional DACs. The adjustment
range is 40 % of the full RGB range.
Controlling the white-drive/analog brightness and also
the external contrast and brightness adjustments is
done via the Fast Processor, located in the front-end.
Control of the cutoff DACs is done via I
2
C bus regis-
ters.
Finally cutoff and blanking values are added to the
RGB signals. Cutoff (dark current) is provided by three
9-bit DACs. The adjustment range is 60 % of full scale
RGB range.
The analog RGB-outputs are current outputs with current-sink characteristics. The maximum current drawn
by the output stage is obtained with peak white RGB.
An external half contrast signal can be used to reduce
the output current of the RGB outputs to 50 %.
2.11.1.CRT Measurement and Control
The display processor is equipped with an 8-bit
PDM-ADC for all measuring purposes. The ADC is
connected to the SENSE input pin, the input range is 0
to 1.5V. The bandwidth of the PDM filter can be
selected; it is 40/80 kHz for small/large bandwidth setting. The input impedance is more than 1 M
Ω.
Cutoff and white-drive current measurement are carried out during the vertical blanking interval. They
always use the small bandwidth setting. The current
range for the cutoff measurement is set by connecting
a sense resistor to the MADC input. For the white-drive
measurement, the range is set by using another sense
resistor and the range select switch 2 output pin
(RSW2). During the active picture, the minimum and
maximum beam current is measured. The measurement range can be set by using the range select
switch 1 pin (RSW1) as shown in Fig. 2–19 and Fig. 2–
20. The timing window of this measurement is programmable. The intention is, to automatically detect
letterbox transmission or to measure the actual beam
current. All control loops are closed via the external
control microprocessor.
Beam Current
A
SENSE
D
MADC
RSW1
RSW2
R2
R3
R1
Fig. 2–19: MADC range switches
black
ultra black
active measurement resistor
Lines
RSW1=on, RSW2=on
PICTURE MEAS.
PMSO
R1||R2||R3
CR + IBRM + WDRV⋅WDR
CR + IBRM
CG + IBRM
cutoff
R
cutoff
CB + IBRM
R1
TUBE MEASUREMENT
G
white
drive
R
cutoff
B
R1||R3R1||R2||R3
RSW2
=on
R
G
B
RSW1=on, RSW2=on
PICTURE MEAS.
PMSTTML
Fig. 2–20: MADC measurement timing
Micronas25
Page 26
VCT 38xxAADVANCE INFORMATION
In each field two sets of measurements can be taken:
a) The picture tube measurement returns results for
– cutoff R
– cutoff G
– cutoff B
– white-drive R or G or B (sequentially)
b) The picture measurement returns data on
– active picture maximum current
– active picture minimum current
The tube measurement is automatically started when
the cutoff blue result register is read. Cutoff control for
RGB requires one field only, whereas a complete
white-drive control requires three fields. If the measurement mode is set to ‘offset check’, a measurement
cycle is run with the cutoff/white-drive signals set to
zero. This allows to compensate the MADC offset as
well as input the leakage currents. During cutoff and
white-drive measurements, the average beam current
limiter function (see Section 2.11.3. on page 27) is
switched off and a programmable value is used for the
brightness setting. The start line of the tube measurement can be programmed via I
2
C bus, the first line
used for the measurement, i.e. measurement of cutoff
red, is 2 lines after the programmed start line.
The picture measurement must be enabled by the control microprocessor after reading the min./max. result
registers. If a ‘1’ is written into bit 2 in subaddress 25,
the measurement runs for one field. For the next measurement a ‘1’ has to be written again. The measurement is always started at the beginning of active video.
tube measurement
picture meas. start
active video
field 1/ 2
picture meas. end
small window for tube
measurement (cutoff, white drive)
large window for active picture
picture meas. start
Fig. 2–21: Windows for tube and picture measurements
2.11.2.SCART Output Signal
The RGB output of the VCT 38xxA can also be used to
drive a SCART output. In the case of the SCART signal, the parameter CLMPR (clamping reference) has to
be set to 1. Then, during blanking, the RGB outputs
are automatically set to 50 % of the maximum brightness. The DC offset values can be adjusted with the
cutoff parameters CR, CG, and CB. The amplitudes
can be adjusted with the drive parameters WDR,
WDG, and WDB.
The vertical timing for the picture measurement is programmable, and may even be a single line. Also the
signal bandwidth is switchable for the picture measurement.
Two horizontal windows are available for the picture
measurement. The large window is active for the entire
active line. Tube measurement is always carried out
with the small window. Measurement windows for picture and tube measurement are shown in Fig. 2–21.
26Micronas
Page 27
ADVANCE INFORMATIONVCT 38xxA
2.11.3.Average Beam Current Limiter
The average beam current limiter (BCL) uses the
SENSE input for the beam current measurement. The
BCL uses a different filter to average the beam current
during the active picture. The filter bandwidth is
approx. 2 kHz. The beam current limiter has an automatic offset adjustment that is active two lines before
the first cutoff measurement line.
The beam current limiter function is located in the
front-end. The data exchange between the front-end
and the back-end is done via a single-wire serial interface.
The beam current limiter allows the setting of a threshold current. If the beam current is above the threshold,
the excess current is low-pass filtered and used to
attenuate the RGB outputs by adjusting the white-drive
multipliers for the internal (digital) RGB signals, and
the analog contrast multipliers for the analog RGB
inputs, respectively. The lower limit of the attenuator is
programmable, thus a minimum contrast can always
be set. During the tube measurement, the ABL attenuation is switched off. After the white-drive measurement line it takes 3 lines to switch back to BCL limited
drives and brightness.
Typical characteristics of the ABL for different loop
gains are shown in Fig. 2–22; for this example the tube
has been assumed to have square law characteristics.
2.11.4.Analog RGB Insertion
The VCT 38xxA allows insertion of external analog
RGB signals. The RGB signal is key-clamped and
inserted into the main RGB by the Fast-Blank switch.
The external RGB input can be overlaid or underlaid to
the digital picture. The external RGB signals can be
adjusted independently as regards DC level (brightness) and magnitude (contrast).
All signals for analog RGB insertion (RIN, GIN, BIN,
FBLIN) must be synchronized to the horizontal flyback,
otherwise a horizontal jitter will be visible. The
VCT 38xxA has no means for timing correction of the
analog RGB input signals.
2.11.5.Fast-Blank Monitor
The presence of external analog RGB sources can be
detected by means of a Fast-Blank monitor. The status
of the Fast-Blank input can be monitored via an I
2
bus register. There is a 2 bit information, giving static
and dynamic indication of a Fast-Blank signal. The
static bit is directly reading the Fast-Blank input line,
whereas the dynamic bit is reading the status of a
flip-flop triggered by the negative edge of the FastBlank signal.
With this monitor logic it is possible to detect if there is
an external RGB source active and if it is a full screen
insertion or only a box. The monitor logic is connected
directly to the FBLIN pin.
C
Fig. 2–22: Beam current limiter characteristics:
beam current output vs. drive
BCL threshold: 1
Micronas27
Page 28
VCT 38xxAADVANCE INFORMATION
digital
SVM in
digital
R in
digital
G in
digital
B in
8
10
10
10
8-bit
DAC
SVM
1.88 mA
10-bit
DAC
Video
3.75 mA
10-bit
DAC
Video
3.75 mA
10-bit
DAC
Video
3.75 mA
white drive R
int. brightness *
white drive G
int. brightness *
int. brightness *
white drive B
0.94 mA
9-bit
DAC
1.5 mA
9-bit
DAC
1.5 mA
9-bit
DAC
1.5 mA
cutoff R
cutoff G
cutoff B
9-bit
DAC
2.2 mA
9 bit
DAC
2.2 mA
9 bit
DAC
2.2 mA
blanking
750
µA
blanking
µA
750
blanking
750
µA
analog
SVM out
analog
R out
analog
G out
analog
B out
serial interface
white drive R
white drive G
white drive B
int . brightness
ext. contrast
ext. brightness
ext. contrast *
white drive R *
key
Fig. 2–23: Video back-end
beam current lim.
ext. brightness *
white drive R
9-bit
DAC
1.5 mA
9-bit
U/I-DAC
3.75 mA
clamp
analog
R in
9-bit
DAC
1.5 mA
white drive G
ext. brightness *
9-bit
U/I-DAC
3.75 mA
ext. contrast *
white drive G *
beam current lim.
clampclamp
analog
G in
ext. contrast *
white drive B *
ext. brightness *
beam current lim.
white drive B
9-bit
DAC
1.5 mA
9-bit
U/I-DAC
3.75 mA
analog
B in
fast
blank in
HV
blank &
measurem.
timing
8 bit
ADC
measurm.
SENSE
Input
measurement
I/O
buffer
28Micronas
Page 29
ADVANCE INFORMATIONVCT 38xxA
2.12.Synchronization and Deflection
The synchronization and deflection processing is distributed over front-end and back-end. The video
clamping, horizontal and vertical sync separation and
all video related timing information are processed in
the front-end. Most of the processing that runs at the
horizontal frequency is programmed on the internal
Fast Processor (FP). Also the values for vertical and
East/West deflection are calculated by the FP software.
The generation of horizontal and vertical drive signals
can be synchronized to the video timing extracted in
the front-end or to a free running line counter in the
back-end.
2.12.1.Deflection Processing
The deflection processing generates the signals for the
horizontal and vertical drive (see Fig. 2–24). This block
contains two phase-locked loops:
– PLL2 generates the horizontal and vertical timing,
e.g. blanking, clamping and composite sync. Phase
and frequency are synchronized by the front sync
signal.
– PLL3 adjusts the phase of the horizontal drive pulse
and compensates for the delay of the horizontal output stage. Phase and frequency are synchronized
by the oscillator signal of PLL2.
2.12.3.Horizontal Phase Adjustment
This section describes a simple way to align PLL
phases and the horizontal frame position.
1. With HDRV the duration of the horizontal drive pulse
has to be adjusted
2. With POFS2 the delay between input video and display timing (e.g. clamping pulse for analog RGB)
has to be adjusted
3. With CSYDEL the delay between video and analog
RGB (OSD) has to be adjusted.
4. With CSYDEL and HPOS the horizontal position of
both, the digital and analog RGB signal (from
SCART) relative to the clamping pulse has to be
adjusted to the correct position, e.g. the pedestal of
the generator signal.
5. With POFS3 the position of horizontal drive/flyback
relative to RGB has to be adjusted
6. With NEWLIN the position of a scaled video picture
can be adjusted (left, middle, center, etc; versions
with panorama scaler only).
7. With HBST and HBSO, the start and stop values for
the horizontal blanking have to be adjusted.
Note: The processing delay of the internal digital video
path differs depending on the comb filter option of the
VCT 38xxA. The versions with comb filter have an
additional delay of 34 clock cycles.
The horizontal drive circuitry uses a digital sine wave
generator to produce the exact (subclock) timing for
the drive pulse HOUT. The generator runs at 1 MHz.
Under control of the EHPLL bit and the internal voltage
supervision it is either synchronized by the deflection
PLL or it is free running. In the output stage the frequency is divided down to give drive-pulse period and
width. The drive pulse width is programmable. The
horizontal drive uses an open drain output transistor.
After power on or during reset the HOUT generation is
switched to a free running mode with a fix duty cycle of
50 %. For normal operation the EHPLL bit has to be
set first. During the switch the actual period of HOUT
can vary by up to 1
2.12.2.Angle and Bow Correction
The Angle and Bow correction is part of the horizontal
drive PLL. This feature allows a shift of the horizontal
drive pulse phase depending on the vertical position
on the screen. The phase correction has a linear
(angle) and a quadratic term (bow).
µs.
Micronas29
Page 30
VCT 38xxAADVANCE INFORMATION
HFLB
PLL3
MSY
FSY
VDATA
Main
Sync
Generator
Front
Sync
Interface
Vertical
Data
Skew
Measure-
ment
blanking, clamping, etc.
Display
Timing
Phase
Comparator
Low-pass
Comparator
Low-pass
&
vertical reset
Phase
&
+
DCO
DCO
Angle &
Bow
PLL2
Line
Counter
Sinewave
Generator
DAC
&
LPF
Generation
Clock & Control
E/W
correction
Sawtooth
Sync
1:64
&
Output
Stage
PWM
15-bit
PWM
15-bit
HOUT
INTLC
VPROT
EW
VERT
VERTQ
Fig. 2–24: Deflection processing block diagram
2.12.4.Vertical and East/West Deflection
The calculations of the vertical and East/West deflection waveforms is done by the internal Fast Processor
(FP). The algorithm uses a chain of accumulators to
generate the required polynomial waveforms. To produce the deflection waveforms, the accumulators are
initialized at the beginning of each field. The initialization values must be computed by the TV control processor and are written to the front-end once. The
waveforms are described as polynomials in x, where x
varies from 0 to 1 for one field.
P: a + b(x-0.5) + c(x-0.5)
2 +
d(x-0.5)3 + e(x-0.5)
4
The initialization values for the accumulators a0..a3 for
vertical deflection and a0..a4 for East/West deflection
are 12-bit values.
Fig. 2–25 shows several vertical and East/West deflection waveforms. The polynomial coefficients are also
stated.
In order to get a faster vertical retrace timing, the output impedance of the vertical D/A-converter can be
reduced by 50 % during the retrace.
2.12.5.EHT Compensation
The vertical waveform can be scaled according to the
average beam current. This is used to compensate the
effects of electric high-tension changes due to beam
current variations. EHT compensation for East/West
deflection is done with an offset corresponding to the
average beam current.
30Micronas
Page 31
ADVANCE INFORMATIONVCT 38xxA
2.12.6.Protection Circuitry
Picture tube and drive stage protection is provided
through the following measures:
– Vertical flyback protection input:
This pin searches for a negative edge in every field,
otherwise the RGB drive signals are blanked.
– Drive shutoff during flyback:
This feature can be selected by software.
– Safety input pin:
This input has two thresholds. Between zero and the
lower threshold, normal functioning takes place.
Between the lower and the higher threshold, the
RGB signals are blanked. Above the higher threshold, the RGB signals are blanked and the horizontal
drive is shut off. Both thresholds have a small hysteresis.
Vertical:
0,1,0,0
0,1,1,0
0,1,0,1
Fig. 2–25: Vertical and East/West deflection waveforms
2.13.Reset Function
Reset of all VDP functions is performed by the RESQ
pin. When this pin becomes active, all internal registers and counters are lost. The TV controller can activate the RESQ pin by software (see Section 5.7.2. on
page 90).
When the RESQ pin is released, the internal reset is
still active for 4
µs. After that time, the initialization of
all required registers is performed by the internal Fast
Processor. This takes approximately 60
initialization procedure it is not possible to access the
VDP via the I
2
C interface.
µs. During this
The VDP has clock and voltage supervision circuits to
generate a stable HOUT signal. The voltage supervision activates an internal reset signal when the supply
East/West:a,b,c,d
for the digital circuits (VSUP
a,b,c,d,e
0,0,1,0,0
0,0,0,0,1
0,0,1,1,1
) goes below ~2.5 V for
D
more than 50 ns. This reset signal is extended by
µs after VSUP
50
is back again.
D
2.14.Standby and Power-On
The VDP does not have a standby mode. To disable all
the analog and digital video functions, it is necessary
to switch off the supplies for analog front-end
(VSUP
circuitry (VSUP
), analog back-end (VSUPAB) and digital
AF
).
D
Micronas31
Page 32
VCT 38xxAADVANCE INFORMATION
2.15.I2C Bus Slave Interface
Communication between the VDP and the TV controller is done via I
2
I
C bus please refer to the Philips manual ‘I2C bus
2
C bus. For detailed information on the
Specification’.
2
The VDP has two I
ibility with VPC/DDP applications)
front-end and one in the back-end. Both I
faces use I
2
C clock synchronization to slow down the
interface if required. Both I
level of subaddress: the I
to address the VDP and a subaddress selects one of
the internal registers. The I
C bus slave interfaces (for compat-
− one in the
2
C bus inter-
2
C bus interfaces use one
2
C bus chip address is used
2
C bus chip addresses are
given below:
2
Table 2–2: I
Chip
Address
front-end
back-end
C chip addresses
A6A5A4A3A2A1A0R/W
10001111/0
10001011/0
2
Fig. 2–26 shows I
C bus protocols for read and write
operations of the interface; the read operation requires
an extra start condition and repetition of the chip
address with read command set.
2.15.1.Control and Status Registers
Tabl e 2 –3 gives definitions of the VDP control and status registers. The number of bits indicated for each
register in the table is the number of bits implemented
in hardware, i.e. a 9-bit register must always be
accessed using two data bytes but the 7 MSB will be
‘don’t care’ on write operations and ‘0’ on read operations. Write registers that can be read back are indicated in Table 2–3.
Functions implemented by software in the on-chip control microprocessor (FP) are explained in Table 2–5.
A hardware reset initializes all control registers to 0.
The automatic chip initialization loads a selected set of
registers with the default values given in Table 2–3.
The register modes given in Table 2–3 are
– w:write only register
The registers of the VDP have 8 or 16-bit data size;
16-bit registers are accessed by reading/writing two
8-bit data words.
SS1000 111
1000 111
SDA
SCL
WAck
AckW0111 1100
0111 1100
AckS1 or 2 byte Data
Ack
1
0
1000 111Rhigh byte Data
– w/r:write/read data register
– r:read data from VDP
– v:register is latched with vertical sync
– h:register is latched with horizontal
P
I2C write access
subaddress 7c
2
I
Ack
low byte Data
W
R
PS
Ack
Nak
S
P
Nak P
=
=
=
=
=
=
C read access
subaddress 7c
0
1
0
1
Start
Stop
2
Fig. 2–26: I
C bus protocols
32Micronas
Page 33
ADVANCE INFORMATIONVCT 38xxA
Table 2–3: I2C control and status registers of the video front-end
I2C Sub
address
Number
of bits
ModeFunctionDefaultName
FP Interface
h’358rFP status
bit [0]write request
bit [1]read request
bit [2]busy
h’3616wbit[8:0]9-bit FP read address
bit[11:9]reserved, set to zero
h’3716wbit[8:0]9-bit FP write address
bit[11:9]reserved, set to zero
h’3816w/rbit[11:0]FP data register, reading/writing to this
register will autoincrement the FP read/
write address. Only 16 bit of data are
transferred per I
2
C telegram.
Black Line Detector
h’1216rread only register, do not write to this register!
after reading, LOWLIN and UPLIN are reset to 127 to start a
new measurement
bit[6:0]number of lower black lines
bit[7]always 0
bit[14:8]number of upper black lines
bit[15]normal/black picture
FPSTA
FPRD
FPWR
FPDAT
BLKLIN
LOWLIN
UPLIN
BLKPIC
Miscellaneous
h’2916w/rTest pattern generator:
bit[10:0]reserved (set to 0)
bit[11]0/1disable/enable test pattern generator
bit[13:12]output mode:
h’699w vluma peaking filter, the gain at high frequencies and small signal
amplitudes is: 1 + (k1+k2)/8
bit [3:0]0..15k1: peaking level undershoot
bit [7:4]0..15k2: peaking level overshoot
bit [8]0/1peaking value normal/inverted
(peaking/softening)
h’6d9w vluma peaking filter, coring
bit [4:0]0..31coring level
bit [7:5]reserved
bit [8]0/1peaking filter center frequency high/
low
bit [5:0]gain1
bit [8:6]differentiator delay 1 (0= filter off, 1...6= delay)
h’569w vtext mode coefficients
bit [5:0]gain 2
bit [8:6]differentiator delay 2 (0= filter off, 1...6= delay)
h’529w vlimiter
bit [6:0]limit value
bit [8:5]not used, set to “0”
h’4e9w vdelay and coring
bit [3:0]adjustable delay, in 1/2 display clock steps,
(value 5 : delay of SVMOUT is the same as for
RGBOUT
bit [7:4]coring value
bit [8]not used, set to “0”
Display Controls
h’4a
h’46
h’42
9
9
9
w v
w v
w v
cutoff Red
cutoff Green
cutoff Blue
60
60
100
4
4
0
7
0
0
0
0
SVM1
SVG1
SVD1
SVM2
SVG2
SVD2
SVM3
SVLIM
SVM4
SVDEL
SVCOR
CR
CG
CB
Tube- and Picture-Measurements
h’7b9w vpicture measurement start line
bit [8:0](TML+9)..511first line of picture measurement23
h’6b9w vpicture measurement stop line
bit [8:0](PMST+1)..511last line of picture measurement308
h’7f9w vtube measurement line
bit [8:0]0..511start line for tube measurement15
h’258w/rtube and picture measurement control
bit [0]0/1disable/enable tube measurement
bit [1]0/180/40 kHz bandwidth for
picture measurement
bit [2]0/1disable/enable picture measurement
(writing a ’1’ starts one measurement
cycle)
bit [3]0/1large/small picture measurement window,
will be disabled from bit[3] in address h’32
bit [4]0/1measure / offset check for adc
bit [7:5]reserved
h’1316w/rwhite drive measurement control
bit [9:0]0..1023 RGB values for white drive beam current
measurement
bit [10]reserved
bit [11]0/1RGB values for white drive beam current
measurement disabled/enabled
PMST
PMSO
TML
0TPM
TMEN
PMBW
PMEN
PMWIN
OFSEN
WDM
WDRV
512
EWDM
0
Micronas37
Page 38
VCT 38xxAADVANCE INFORMATION
I2C Sub
address
Number
of bits
ModeFunctionDefault Name
8r measurement result registers
h’18
h’19
h’1a
h’1d
h’1c
h’1b
minimum in active picture
maximum in active picture
white drive
cutoff/leakage red
cutoff/leakage green
cutoff/leakage blue,
read pulse starts tube measurement
h’1e8r measurement adc status and Fast-Blank input status
measurement status register
bit [0]0/1tube measurement active / complete
bit [2:1]white drive measurement cycle
00red
01green
10blue
11reserved
bit [3]0/1picture measurement active / complete
bit [4]0/1Fast-Blank input Low / High (static)
bit [5]1Fast-Blank input negative transition since
last read (bit reset at read)
bit [7:6]reserved
−
MRMIN
MRMAX
MRWDR
MRCR
MRCG
MRCB
− PMS
Vertical Timing
h’679w vvertical blanking start
bit [8:0]0..511first line of vertical blanking305
h’779w vvertical blanking stop
bit [8:0]0..511last line of vertical blanking25
h’5f9w vvertical free run period
bit [8:0] free running field period = (value+4) lines309
Horizontal Deflection and Timing
h’7a9w vquadratic term of angle & bow correction
bit [8:0]
−256..+255(± 500 ns)
h’769w vlinear term of angle & bow correction
bit [8:0]
−256..+255(± 500 ns)
h’6e9w vadjustable delay of PLL2, clamping, and blanking (relative to
front sync)
adjust clamping pulse for analog RGB input
bit [8:0]
−256..+255(± 8 µs)
h’729w vadjustable delay of flyback, main sync, csync and analog RGB
(relative to PLL2)
adjust horizontal drive or csync
bit [8:0]
−256..+255(± 8 µs)
VBST
VBSO
VPER
0BOW
0ANGLE
−141 POFS2
0POFS3
h’7e9w vadjustable delay of main sync (relative to flyback)
120 HPOS
adjust horizontal position for digital picture
bit [8:0]20 steps=1
h’5b9w vstart of horizontal blanking
µs
1 HBST
bit [8:0]0..511
38Micronas
Page 39
ADVANCE INFORMATIONVCT 38xxA
I2C Sub
address
Number
of bits
ModeFunctionDefault Name
h’579w vend of horizontal blanking
bit [8:0]0..511
h’62
h’66
h’6a
PLL2/3 filter coefficients, 1of5 bit code (n+ set bit number)
9
9
9
w v
w v
w v
bit [5:0]proportional coefficient PLL3, 2
bit [5:0]proportional coefficient PLL2, 2
bit [5:0]integral coefficient PLL2, 2
−n−1
−n−1
−n−5
h’1516w/rhorizontal drive and vertical signal control register
bit [5:0]0..63horizontal drive pulse duration in
(internally limited to 4..61)
bit [6]0/1disable/enable horizontal PLL2 and PLL3
bit [7]0/11: disable horizontal drive pulse during
flyback
bit [8]reserved, set to ’0’
bit [9]0/1enable/disable ultra black blanking
bit [10]0/10: all outputs blanked
1: normal mode
bit [11]0/1enable/disable clamping for analog RGB
input
bit [12]0/1disable/enable vertical free running mode
(FIELD is set to field2, no interlace)
bit [13]0/1enable/disable vertical protection
bit [14]reserved, set to ’0’
bit [15]0/1disable/enable phase shift of display clock
µs
48 HBSO
2
PKP3
1
PKP2
2
PKI2
HVC
32
HDRV
0
EHPLL
0
EFLB
0
0
DUBL
1
EBL
0
DCRGB
0
SELFT
0
DVPR
0
1
DISKA
h’9d8w/rsync output control
bit [0]invert INTLC
bit [4:1]reserved, set to ’0’
bit [5]force INTLC to polarity defined in ‘INTLCINV’
Miscellaneous
h’328w/rFast-Blank interface mode
bit [0]0internal Fast-Blank from FBLIN pin
1force internal Fast-Blank signal to High
bit [1]0/1internal Fast-Blank active High/Low
bit [2]0/1disable/enable clamping reference for
RGB outputs
bit [3]1full line MADC measurement window,
disables bit [3] in address h’25
bit [4]0/1horizontal flyback input active High/Low
bit [6:5]reserved (set to 0)
bit [7]vertical output select
0VERTQ output
1INTLC output
h’4b9w vFast-Blank input, priority mask register
bit [7:0]0/1disable/enable analog Fast-Blank input
0SYCTRL
INTLCINV
INTLCFO
0FBMOD
FBFOH
FBPOL
CLMPR
FLMW
FLPOL
VOS
0PBFB
1)
Micronas39
Page 40
VCT 38xxAADVANCE INFORMATION
Table 2–5: Control registers of the Fast Processor for control of the video front-end functions
bit[11]status bit, normally write 0. After the FP has switched to a
new standard, this bit is set to 1 to indicate operation
complete. Standard is automatically initialized when the
insel register is written.
h’148Enable automatic standard recognition (ASR)
bit[0]0/1PAL B,G,H,I(50 Hz)4.433618
bit[1]0/1NTSC M(60 Hz)3.579545
bit[2]0/1SECAM (50 Hz)4.286
bit[3]0/1NTSC44(60 Hz)4.433618
bit[4]0/1PAL M (60 Hz)3.575611
bit[5]0/1PAL N (50 Hz)3.582056
bit[6]0/1PAL 60(60 Hz)4.433618
bit[10:7] reserved set to 0
bit[11]1reset status information ‘switch’ in asr_status
(cleared automatically)
0: disable recognition; 1: enable recognition
Note: For correct operation don’t change FP reg. 20h and 21h, while
ASR is enabled!
0ASR_ENA
40Micronas
Page 41
ADVANCE INFORMATIONVCT 38xxA
FP Subaddress
FunctionDefaultName
h’14eStatus of automatic standard recognition
bit[0]1error of the vertical standard (neither 50 nor 60 Hz)
bit[1]1detected standard is disabled
bit[2]1search active
bit[3]1search terminated, but failed
bit[4]1no color found
bit[5]1standard has been switched (since last reset of this
flag with bit[11] of asr_enable)
bit[4:0]
00000 all ok
00001 search not started, because vwin error detected
(no input or SECAM L)
00010 search not started, because detected vert. standard
not enabled
0x1x0 search started and still active
01x00 search failed (found standard not correct)
01x10 search failed, (detected color standard not enabled)
10000 no color found (monochrome input or switch betw.
CVBS/SVHS necessary)
h’21Input select:writing to this register will also initialize the standard
bit[1:0]luma selector
00VIN1
01VIN2
10VIN3
11VIN4
bit[2]chroma selector
0CIN1
1CIN2
bit[4:3]IF compensation
00off
016 dB/Okt
1012 dB/Okt
1110 dB/MHz only for SECAM
bit[11]status bit, write 0, this bit is set to 1 to indicate
operation complete.
0ASR_STATUS
VWINERR
DISABLED
BUSY
FAILED
NOCOLOR
SWITCH
INSEL
00
VIS
0
CIS
00
IFC
01
CBW
FNTCH
LOWP
HPLLMD
h’22Available for versions with panorama scaler only!
0SFIF
picture start position, this register sets the start point of active video,
this can be used e.g. for panning. The setting is updated when ’sdt’
register is updated.
h’23luma/chroma delay adjust. The setting is updated when ’sdt’ register is
0LDLY
updated.
bit[5:0]reserved, set to zero
bit[11:6]luma delay in clocks, allowed range is +1 ...
−7
Micronas41
Page 42
VCT 38xxAADVANCE INFORMATION
FP Subaddress
FunctionDefaultName
h’2fYCrCb mode control register
bit[6:0]reserved (set to 0)
bit[7]1ADC over-/underflow
(has to be reset after read if used)
bit[8]0disable/enable YC
bit[9]ADC range
0nominal input amplitude (
1extented input amplitude (
bit[11:10]reserved (set to 0)
Note: Activate the YC
− enabling YC
rCb
mode by
rCb
− selecting simple PAL or NTSC M, svhs=1, comb=0 in the std register
− setting cbw=2 in the insel register
h’27comb filter control register
bit[0]0comb coefficients are calculated for luma/chroma
1comb coefficients for luma are used for luma and
chroma
bit[1]0luma comb strength depends on signal amplitude
1luma comb strength is independent of amplitude
bit[2]0reduced comb booster
1max comb booster
bit[4:3]0..3comb strength for chroma signal
bit[6:5]0..3comb strength for luma signal
bit[11:7]0..31 overall limitation of the calculated comb coefficients
0no limitation
31max limitation (1/2)
rCb
±350 mV)
±500 mV)
Comb Filter
0YC
rCb
CMB_UC
0
CC
0
DAA
1
KB
3
KC
2
KY
0
CLIM
Color Processing
h’30
Saturation control
2070ACC_SAT
bit[11:0]0...4094 (2070 corresponds to 100% saturation)
h’f9crystal oscillator center frequency adjustment value for line-lock mode
True adjust value is DVCO
− ADJUST. For factory crystal alignment,
−2048 ... 2047−720DVCO
read onlyADJUST
using standard video signal: set DVCO = 0, set lock mode, read crystal
offset from ADJUST register and use negative value for initial center
frequency adjustment via DVCO.
h’b5crystal oscillator line-locked mode, autolock feature. If autolock is
400AUTOLOCK
enabled, crystal oscillator locking is started automatically.
bit[11:0]threshold; 0: autolock off
42Micronas
Page 43
ADVANCE INFORMATIONVCT 38xxA
FP Subaddress
h’12
FunctionDefaultName
general purpose control bits
bit[2:0]reserved, do not change
bit[3]vertical standard force
bit[8:4]reserved, do not change
bit[9]disable flywheel interlace
bit[11:10]reserved, do not change
to enable vertical free run mode set vfrc to 1 and dflw to 0
when the registers are updated the bit is set to 1
Micronas43
Page 44
VCT 38xxAADVANCE INFORMATION
FP Subaddress
h’41luma offset register
FunctionDefaultName
1)
bit[6:0]luma offset 0..127
ITU-R output format:57
CVBS output format: 4
h’42 active video length for 1-h FIFO
1)
bit[11:0]length in pixels
h’43scaler1 compression coefficient
1)
For compression by a factor c the value c*1024 is required.
bit[11:0]allowed values from 1024..40951024
h’44scaler2 expansion coefficient
1)
For expansion by a factor c the value 1/c*1024 is required.
bit[11:0]allowed values from 256..10241024
h’45scaler1/2 nonlinear scaling coefficient
h’47
h’4b
h’4c
h’50
scaler1 window controls
−
5 12-bit registers for control of the nonlinear scaling
scaler2 window controls
−
5 12-bit registers for control of the nonlinear scaling
1)
1)
57YOFFS
1080FFLIM
SCINC1
SCINC2
1)
0SCINC
0SCW1_0
0SCW2_0
− 4
− 4
2.15.1.1. Scaler Adjustment
In case of linear scaling, most of the scaler registers
need not be set. Only the scaler mode, active video
length, and the fixed scaler increments (scinc1/scinc2)
must be written.
The adjustment of the scaler for nonlinear scaling
modes should use the parameters given in Table 2–6.
Table 2–6: Set-up values for nonlinear scaler modes
RegisterScaler Modes
‘waterglass’
border 35%
‘panorama’
border 30%
center compression
3/45/64/36/5
scinc11643142710241024
scinc210241024376611
scinc90568556
fflim945985921983
− 01101158394
scw1
scw1
− 1156166147153
− 2317327314339
scw1
scw1
− 3363378378398
scw1
− 4473493461492
− 0110115122118
scw2
scw2
− 1156166186177
scw2
− 2384374354363
− 3430425418422
scw2
scw2
− 4540540540540
44Micronas
Page 45
ADVANCE INFORMATIONVCT 38xxA
Table 2–7: Control Registers of the Fast Processor for control of the video backend functions
− default values are initializied at reset
FP Subaddress
FunctionDefaultName
FP Display Control Register
h’130White Drive Red (0...1023)700WDR
h’131White Drive Green (0...1023)700WDG
h’132White Drive Blue (0...1023)700WDB
h’139Internal Brightness, Picture (0...511), the center value is 256, the range
256IBR
1)
1)
1)
allows for both increase and reduction of brightness.
h’13cInternal Brightness, Measurement (0...511), the center value is 256, the
256IBRM
brightness for measurement can be set to measure at higher cutoff current. The measurement brightness is independent of the drive values.
h’13aAnalog Brightness for external RGB (0...511), the center value is 256, the
256ABR
range allows for both increase and reduction of brightness.
h’13bAnalog Contrast for external RGB (0...511)350ACT
1)
The white drive values will become active only after writing the blue value WDB, latching of new values is indi-
h’105Test register for BCL/EHT comp. function, register value:
0BCLTST
0normal operation
1stop ADC offset compensation
x>1use x in place of input from Measurement ADC
FP Display Control Register, Deflection
h’103interlace offset,
−2048..2047
0INTLC
This value is added to the SAWTOOTH output during one field.
h’102discharge sample count for deflection retrace,
7DSCC
SAWTOOTH DAC output impedance is reduced for DSCC lines after vertical retrace.
h’11fvertical discharge value,
−1365DSCV
SAWTOOTH output value during discharge operation, typically same as
A0 init value for sawtooth.
h’10bEHT compensation vertical gain coefficient, 0...5110EHTV
h’10aEHT compensation time constant, 0...15 --> 3.2..410 msec15EHTTM
h’10fEHT compensation east/west gain coefficient,
−1024...102315EHTEW
Micronas45
Page 46
VCT 38xxAADVANCE INFORMATION
P = a + b(x – 0.5) + c(x – 0.5)2 + d(x – 0.5)3 + e(x – 0.5)
4
a0 = (a · 128 – b · 1365.3 + c · 682.7 – d · 682.7) / 128
FP Display Control Register, Vertical Sawtooth
h’110DC offset of SAWTOOTH output
0OFS
This offset is independent of EHT compensation.
h’11baccu0 init value
−1365A0
h’11caccu1 init value900A1
h’11daccu2 init value0A2
h’11eaccu3 init value0A3
FP Display Control Register, East-West Parabola
h’12baccu0 init value
−1121A0
h’12caccu1 init value219A1
h’12daccu2 init value479A2
h’12eaccu3 init value
−1416A3
h’12faccu4 init value1052A4
2.15.1.2. Calculation of Vertical and East-West
Deflection Coefficients
Vertical Deflection 60 Hz
abcd
In Table 2–8 the formula for the calculation of the
deflection initialization parameters from the polynominal coefficients a,b,c,d,e is given for the vertical and
East-West deflection. Let the polynomial be:
a0 128–1365.3+682.7–682.7
a11083.5–1090.2+1645.5
a2429.9–1305.8
The initialization values for the accumulators a0..a3 for
vertical deflection and a0..a4 for East-West deflection
are 12-bit values. The coefficients that should be used
to calculate the initialization values for different field
frequencies are given below, the values must be
scaled by 128, i.e. the value for a0 of the 50 Hz vertical
deflection is:
Table 2–8: Calculation of Initialization values for
Vertical Sawtooth and East-West Parabola
Vertical Deflection 50 Hz
abcd
a0 128–1365.3+682.7–682.7
a1899.6–904.3+1363.4
a2296.4–898.4
a31023.5
East-West Deflection 50 Hz
ab c d e
a0128–341.31365.3–85.3341.3
a1111.9–899.684.8–454.5
a2586.8–111.1898.3
a372.1–1171.7
a4756.5
East-West Deflection 60 Hz
ab c d e
a0128–341.31365.3–85.3341.3
a1134.6–1083.5102.2–548.4
a2849.3–161.21305.5
a3585.9
46Micronas
a3125.6–2046.6
a41584.8
Page 47
ADVANCE INFORMATIONVCT 38xxA
3. Text and OSD Processing
3.1. Introduction
The VCT 38xxA includes a World System Teletext
(WST) decoder, whose display capabilities are also
used for OSD generation. In the following sections the
text and OSD processing part of the VCT 38xxA will be
named TPU for short.
With integrated CPU, RAM and ROM, an adaptive data
slicer, a display controller, and a number of interfaces,
the TPU offers acquisition and display of various teletext and data services such as WST, PDC, VPS, and
WSS. Fig. 3–1 shows the functional block diagram of
the TPU.
The TPU operates independently from the TV controller and can be controlled by software via I
2
C bus interface (see Section 3.14. on page 82). The TV controller
is not burdened with the task of teletext decoding and
communicates with the TPU via a high-level command
language.
The TPU performs the following tasks:
– teletext data acquisition(hardware)
– teletext data decoding(software)
3.3. Text Controller
The TPU operates with its own 65C02 core running at
10.125 MHz. The core can address up to 64 kBytes of
memory.
The CPU memory contains 640 Bytes RAM, 12 kBytes
program ROM and 12 kBytes character ROM. The
character ROM holds the font data and is separated
from the program ROM to save CPU time. The CPU
can still access the character ROM via a DMA interface including wait cycles. The display controller can
also access the CPU memory via the same DMA interface. By this means it is possible to locate part of the
character font in program ROM or part of the program
code in character ROM.
The SRAM interface connects a standard SRAM to the
internal bus structure. The address bus is 19 bit wide,
addressing SRAMs up to 4 Mbit. Smaller SRAMs can
also be connected.
The SRAM interface has to handle 3 asynchronous
data streams. The CPU needs access to every memory location of the SRAM. During VBI the slicer writes
up to 22 teletext lines of 43 Bytes into the acquisition
scratch memory. During text display the display controller copies teletext rows from display memory into its
internal row buffer.
On VCT 38xxA the SRAM interface of the TPU is connected to the memory bus of the TV controller. This is
done to save pins and to give the TV controller faster
access to the display memory. Refer to DMA Interface
(chapter 5.9. on page 96) for more details.
NMIFFFB, FFFA
Control WordFFF9
Memory SegmentAbsolute Address
Zero Page0000
Stack Page0100
OSD Buffer0100
I/O Page0200
Extra Page0300
Character ROM5000
Program ROMD000
− 00FF
− 01FF
− 019F
− 02FF
− 037F
− 7FFF
− FFFF
After reset the TPU will not use the SRAM interface
until receiving the I
2
C command “DRAM_MODE” (see
Section 3.12. on page 68).
Micronas47
Page 48
VCT 38xxAADVANCE INFORMATION
TPU
Clamping
AGC
2
I
C Bus
Interface
Timer
Interrupt
Watchdog
ADC
Program
RAM
Sync
Interface
Program
ROM
DMA
Interface
Character
ROM
Slicer
65C02
WST
Layer
OSD
Layer
SRAM
Interface
Color &
Prio
Interface
Fig. 3–1: Block diagram of the TPU
48Micronas
Page 49
ADVANCE INFORMATIONVCT 38xxA
3.5. Teletext Page Management
Zero Page
Stack Page
I/O Page
Extra Page
0000
1000
12K
Character ROM
8000
BE
RDY
D000
DMA
Interface
DATA
Display
BUSREQ
ADR
12K
Program ROM
ADR
DATA
65C02
Fig. 3–2: Memory environment of text controller
As a state-of-the-art teletext decoder, the TPU is able
to store and manage a sufficient number of teletext
pages to absorb the annoying transmission cycle
times. The number of available pages is only limited by
the memory size. With an intelligent software and a
4-Mbit SRAM it is possible to store and to control more
than 500 teletext pages.
The management of such a data base is a typical software task and is therefore performed by the 65C02.
Using a fixed length page table with one entry for every
possible page, the software distributes the content of
the acquisition scratch buffer among the page memory.
The page size is fixed to 1 kByte, only ghost rows are
chained in 128-Byte segments to avoid unused memory space.
A stored teletext page cannot be displayed directly,
because of the row-adaptive transmission and the
level 2 enhancements (row 26
−29). Therefore, the
CPU has to transfer the selected teletext page into a
display page buffer, adding extra data such as character set extension and non-spacing attributes.
3.5.1. Memory Manager
The Memory manager is the core of the internal TPU
firmware. Most of the acquisition and display related
functions are controlled by this management.
3.4. Teletext Acquisition
The only task of the slicer circuit is to extract teletext
lines from the incoming composite video signal and to
store them into the acquisition scratch buffer of the
internal/external SRAM. No page selection is done at
this hardware level.
Four analog sources can be connected, thus it is possible to receive text from one channel while watching
another on the screen. After clamping and AGC amplifier the analog video signal is converted into binary
data. Sync separation is done by a sync slicer and a
horizontal PLL, which generate the horizontal and vertical timing. By these means, no external sync signals
are needed and any available signal source can be
used for teletext reception.
The teletext information itself is acquired using adaptive slicers on bit and byte level with soft error detection to decrease the bit error rate under bad reception
conditions. The slicer can be programmed to different
bit rates for reception of PAL, NTSC or MAC world system teletext as well as VPS, WSS, or CAPTION signals.
Acquisition
Scratch
Memory
Page
Table
Memory
Manager
Display
Memory
Display
Controller
Fig. 3–3: Memory Manager
Page
Memory
Micronas49
Page 50
VCT 38xxAADVANCE INFORMATION
08 00 00 = 4Mbit
02 00 00 = 1Mbit
00 80 00 = 256Kbit
00 40 00
00 30 00
00 20 00
00 10 00
00 00 00
4kBytes
TTX Display Bank
n x 1 kByte
Page Memory
SRAM
4kBytes
Display Bank
4kBytes
Page Table
4kBytes
Acquisition
Scratch
3.5.2. Memory Organization
The upper end of the memory is defined by the SRAM
size, the lower end can be defined with the
PAGE_MEMORY command. Default memory organization is shown in Fig. 3–4.
The memory organization depends on available SRAM
size. If external SRAM is not available, there is only
one display bank for OSD and teletext and the page
memory starts at a different location (see Table 3–1).
3.5.3. Page Table
The memory management is based on a fixed size
page table, which has entries for every hexadecimal
page number from 100 to 8FF. The page table starts
with page 800 and contains a 2-Byte page pointer for
every page.
The page table can be read with the command
READ_PAGE_INFO sending the page number and
reading the 2-Byte page pointer containing:
– SRAM pointer
– cycle flag
– memory flag
– subpage flag
– update flag
– protection flag
Fig. 3–4: Memory organization
Table 3–1: Memory Organisation
Memory
Segment
Address
Display Bankh’3000h’4000h’3000h’0000
TTX Bankh’2000h’4000h’3000h’0000
Page Tableh’0000h’0000h’0000no
Acquisition Scratchh’1000h’1000h’1000no
SRAM Size
≥128k19k16k3k
Page Memoryh’4000h’1800h’1800no
The SRAM pointer gives the location where the page
is stored in memory. The page size is fixed to 1 kByte,
only ghost rows are allocated dynamically.
The cycle flag will be set as soon as this page is
detected in the transmission cycle even if it cannot be
stored in memory. Only if the page is really stored in
memory, the memory flag will be set. The subpage flag
will be set for every page in cycle if the page subcode
is different from 0000H or 3F7FH. The update flag is
set every time a page is stored and will be reset only
for the display page after updating the display memory.
A page with protection flag set will never be removed
from memory.
The memory manager uses page priorities to decide
which pages should be stored or removed from memory. If no more memory is available, pages with lowest
priority are removed automatically and the higher priority pages are stored at their place. By setting the page
priority the programmer has control over the memory
management.
The page table is fully controlled by the memory manager and should never be written by external software.
To change the page table flags the command
CHANGE_PAGE_INFO can be used.
50Micronas
Page 51
ADVANCE INFORMATIONVCT 38xxA
Table 3–2: Page Table Format
Index2-Byte Page Pointer
000
start magazine 8
001
...
100
Cycle
Flag
Memory
Flag
Subpage
Flag
11-bit SRAM PointerUpdate
Flag
Protect
Flag
...
1F0
hexadecimal pages (e.g. TOP)
...
7FE
7FF
end magazine 7
status
language
subcode insubcode reqpriority
control
4−11
12−14
packet x/00
row flag
0−7
row flag
8−15
row flag
16−23
row flag
24−31
8 Byte8 Byte
ghost row pointer subpage pointer
packet x/01
1 kByte page data
packet x/24
24 Byte
subcode
high
subcode
low
indexpagemag
Fig. 3–5: Page format
Micronas51
Page 52
VCT 38xxAADVANCE INFORMATION
ghost
pointer
Page Table
page 100
page pointer
ghost
pointer
ghost block
0000
ghost block
3.5.4. Ghost Row Organization
Page-related ghost rows are stored in blocks of
128 Bytes. These ghost blocks are linked together
using 2-Byte ghost row pointers. The first pointer can
be found in the basic page, all following pointers are
part of the block header. A zero pointer indicates the
end of the chain.
Table 3–3: Ghost Row Identification
Row Number TagRow
000empty
001row 25
010row 26
011row 27
100row 28
101row 29
110row 30
111row 31
3-bit row number4-bit designation code
Fig. 3–6: Ghost row organization
Every ghost block contains 3 ghost rows which can be
identified by 3 row identification bytes in the block
header. The row identification contains designation
code and row number. The row number is reduced to a
3-bit tag. All ghost rows in one block belong to the
same page. If the memory manager removes a page
from memory, the linked ghost blocks will also be
removed.
3.5.5. Subpage Manager
Any page in cycle can have a number of subpages,
identified by subcode. In normal mode the subpage
manager will acquire only one subpage of every
requested page. This subpage can be any if subcode
FFFF is requested or it will be selected according to
the requested subcode.
After a PAGE_REQUEST command with subcode
F0xx, the subpage manager will acquire all subpages
of the requested page. The subpages will be chained
in the same order as they are transmitted, i.e. every
new subcode will be added at the end of chain. The
page table entry points to the subpage which was
transmitted first after the page request. The
‘aa’‘aa’‘aa’row 2row 1row 3 ghost row pointer
8 Byte block header
40 Byte row 1 data
40 Byte row 2 data
40 Byte row 3 data
Fig. 3–7: Ghost block structure
READ_PAGE_INFO command will reply the page
table pointer and the actual number of subpages in
chain.
After a PAGE_REQUEST command with subcode
F1xx, the subpage manager will acquire all subpages
of the requested page but will allocate only a limited
amount of memory to store these subpages. The
parameter “page subcode low” will define the length (in
number of subpages) of a ring buffer in page memory
which will hold the recently received subpages. In this
case, the READ_PAGE_INFO command will return an
index pointing to the most recently updated subpage in
chain, together with the subcode of this page.
52Micronas
Page 53
ADVANCE INFORMATIONVCT 38xxA
The DISPLAY_PAGE_REQUEST command searches
and displays a page according to the requested display subcode. The search starts from page table and
continues through the subpage chain if there is any. A
rolling header will be displayed if the requested subpage cannot be found in memory.
A requested display subcode FFFF (don’t care subcode) will only search and display the first subpage in
chain, thus there is no rolling subpage anymore. A
DISPLAY_PAGE_REQUEST command with subcode
F0xx (follow subcode) will search and display the last
received subpage in chain, thus it is possible to
request all subpages in background while still showing
rolling subpages in display.
Page Table
page pointer
page 100
subcode 0003
page 100
subcode 0001
subpage
pointer
subpage
pointer
3.6. WST Display Controller
The display controller reads data from a display page
buffer in the internal/external SRAM. The display page
buffer is organized in rows which are separated into
level 1 data such as character codes and spacing
attributes and into level 2 data, such as character set
extension and non-spacing attributes. To limit the
memory amount for level 2 data, a slightly modified
stack model is used, in which one pointer bit for every
character location indicates the presence of additional
parallel attributes. Fig. 3–9 shows the organization of
the stack row buffer. In this stack model the number of
non-spacing attributes per row is limited to 40, which
agrees with the WST and CEPT specification.
Level 2 Buffer
Char 3 Attr.
1
Char 3 Attr.
1
Char 3 Attr.
1
0
Char 3 Attr.
1
Char 6Attr.
Char 6 Attr.
1
0
Char 6 Attr.
1
Char 10 Attr.
1
Char 10 Attr.
Char 10 Attr.
1
Pointer
0
0
1
0
0
1
0
0
0
1
Level 1 Buffer
Char 1
Char 2
Char 3
Char 4
Char 5
Char 6
Char 7
Char 8
Char 9
Char 10
Fig. 3–8: Subpage organization
page 100
subcode 0002
0000
0
Char 36 Attr.
0
0
0
0
1
0
0
0
0
Char 36
Char 37
Char 38
Char 39
Char 40
Fig. 3–9: Stack Row Buffer
The display controller includes two row buffers. The
first row buffer holds a copy of a teletext row from the
display page buffer. This decreases the data rate
through the SRAM interface by a factor of 10 or 8,
because new teletext row data is needed only after
10 lines in PAL or 8 lines in NTSC mode. The second
row buffer stores all display attributes in parallel, to
allow level 2 display without additional decoding.
Micronas53
Page 54
VCT 38xxAADVANCE INFORMATION
To present a WST level 2 display, the teletext display
controller has to evaluate the following attributes in
parallel, that is for every character location:
Additional attributes are defined to improve the display
of CAPTION and OSD text:
– 1-bit italics
– 1-bit shadow
– 1-bit color mode
The display controller delivers 5-bit digital color information, a shadow signal for contrast reduction, and a
fast blank signal. The color bus is used to address the
color-lookup-table (CLUT) in the video processor. By
this means, the full level 2 color spectrum can be displayed.
54Micronas
Page 55
ADVANCE INFORMATIONVCT 38xxA
3.7. Display Memory
The TPU supports a variable number of display memories, each 4 kBytes large. One bank is used to store
the display information of the selected teletext page.
The bank location can be defined with the command
DISPLAY_TTX_POINTER. Other banks can be used
to store any kind of display data in level 1 or level 2 format. Switching between these banks is fast and can be
programmed with the command DISPLAY_POINTER.
Bank switching allows generation of OSD menus without affecting the teletext display.
4 to 0-5-bit value defining full row background color
Table 3–6: Level 1 spacing attributes
CodeFunctionAction Notes
00Alpha Blackset alpha
01Alpha Red
02Alpha Green
03Alpha Yellow
04Alpha Blue
05Alpha Magenta
06Alpha Cyan
07
Alpha White
08Flash Normal
09
Flash Offset at
0A
Boxing Offset at double
0BBoxing Onset at double
0C
Size Normalset at
0DSize Double Height
0ESize Double Width
0FSize Double
10Mosaic Blackset mosaic
11Mosaic Red
12Mosaic Green
13Mosaic Yellow
14Mosaic Blue
15Mosaic Magenta
16Mosaic Cyan
17Mosaic White
18Concealset at
19
Contiguous Mosaicset at
1ASeparated Mosaicset at
1BESC
1C
Black Backgroundset at
1DNew Backgroundset at
1EHold Mosaicset at
1F
Release Mosaic
Shaded attributes are default at start of each display row.
mode and
foreground
color of
following alpha
characters
select
character set 0
mode and
foreground
color of
following
mosaic
characters
select
character set 1
Table 3–7: Level 2 parallel attributes
76543210Function
P00ColorForeground Color
P01ColorBackground Color
P10FlashFlash Mode
P1100LSet Character Set
P11010DHDWSize
P110110UUnderline/Separated
P110111I Inverted
P111000CConceal
P111001WWindow/Boxing
P111010SShadow
P111011ITItalic
P111100CMColor Mode
Table 3–8: Color look-up table
43210Display Color
00000Black
00001Red
00010Green
00011Yellow
00100Blue
00101Magenta
00110Cyan
00111White
01000Transparent
01001Reduced Red
01010Reduced Green
01011Reduced Yellow
01100Reduced Blue
01101Reduced Magenta
01110Reduced Cyan
01111Reduced White
1xxxxProgrammable
Table 3–4: Flash modes
43210Function
00000Off
00001Normal
00101Normal Fast Phase 1
01001Normal Fast Phase 2
01101Normal Fast Phase 3
00010Inverted
00110Inverted Fast Phase 1
01010Inverted Fast Phase 2
01110Inverted Fast Phase 3
00011Color Table
00111Color Table Phase 1
01011Color Table Phase 2
01111Color Table Phase 3
100xxIncremental
101xxDecremental
56Micronas
Page 57
ADVANCE INFORMATIONVCT 38xxA
3.8. Character Generator
Characters are addressed using a 10-bit character
code. The 2 MSBs of the character code define 1 of 4
character sets. Character set selection is done using
level 2 parallel attributes (see Table 3–7 on page 56).
Each character set contains 224 characters. The first
32 characters in each character set are reserved for
control codes (see Table 3–6 on page 56). On a single
screen, 896 different characters can be displayed.
Characters can be displayed in several pixel resolutions provided that the according font is available. The
character generator supports horizontal resolution of
8 or 10 pixel/char and vertical resolution of 8, 10, or
13 lines/char. Characters can be combined without
separating borders to create more complex character
definitions (e.g. kanji or icons).
20.25 MHz. To get 10-bit pixel information from the
character font, two memory cycles are needed. The
character font is part of the mask-programmable ROM,
but supplied with its own bus structure (see Fig. 3–2 on
page 49). By this means the data transfer between
character ROM and teletext display controller does not
stop the CPU.
Both bus structures are connected via a memory interface which allows cross-connections using DMA or
wait cycles. If the character font size exceeds
12 kBytes, part of the character font can be shifted into
the program ROM which causes DMA cycles. Therefore only less frequently used characters should be
placed into the program ROM. Vice versa seldom used
CPU code can be put into the character ROM.
The WST specification defines a number of 7-bit code
tables, which are filled with 96 characters only (the
MSB is used for parity check). In the G0 code table
some characters have several language dependent
variations. Additionally characters from the G0 code
table can be combined with diacritical marks from the
G2 code table (row 26). Furthermore different code
tables are defined for languages like cyrillic, greek or
arabic. Thus it is not possible to simply transform the
code tables into a continuous character font ROM without getting unused ROM space and multiple defined
character fonts.
This problem is solved by implementing a character
code mapping (see Fig. 3–11 on page 58). The
5 MSBs of each character code are mapped into
another 5-bit code which is then used to address the
character font ROM. By this means the whole character font is subdivided into 32 blocks of 32 characters
which can freely be distributed over the 4 character
sets.
The character code mapping is implemented as RAM
and can be programmed by software. After reset the
TPU initializes the mapping RAM for standard WST
latin code tables.
The TV controller can select predefined mappings for
latin, cyrillic and arabic teletext via the command
DISPLAY_MODE (see Table 3–16 on page 70). The
same command allows selection of a user defined
mapping which has to programmed in advance using
command USER_MAPPING.
16 x 1320 x 2020 x 1732
20 x 1320 x 2020 x 1740
combined character (1x 2)
10 x 1640 x 1640 x 1440
µs400640
µs320512
µs6401024
Micronas57
Page 58
VCT 38xxAADVANCE INFORMATION
3.8.1. Character Code Mapping
10-bit Character Code = 2-bit Character Set (level 2) + 8-bit Character Value (level 1)
Character Set 0
000H
080H
100H
180H
200H
280H
300H
380H
G0
G0
G0
National
National
National
National
Character Set 1
G1
G0
G1
National
National
National
National
Character Set 2
G2
G2
G2
User
User
User
User
Character Set 3
G3
G3
G3
User
User
User
User
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Font Pointer
Mapping RAM
32 x 5 bit
block of 32 char
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Character ROM
12800 Byte
G0
G0
G0
National
National
National
National
G1
G1
G2
G2
G2
User
User
User
User
G3
G3
G3
Greek
Greek
Cyrillic
Cyrillic
Cyrillic
Hebrew
Arabic
Arabic
Arabic
Farsi
Fig. 3–11: Character code mapping
58Micronas
Page 59
ADVANCE INFORMATIONVCT 38xxA
3.8.2. Character Font ROM
The character font ROM is mask-programmable.
Design of customer specific characters (user font) is
supported by a Windows™ based PC tool named
MOFA (Micronas OSD and Font Assembler). In combi-
nation with the VCT 38xxA emulator board it is possible to download character fonts and verify them on the
TV screen.
Fig. 3–12: Character font ROM
Micronas59
Page 60
VCT 38xxAADVANCE INFORMATION
3.8.3. Latin Font Mapping
Fig. 3–13: Latin font mapping
60Micronas
Page 61
ADVANCE INFORMATIONVCT 38xxA
3.8.4. Cyrillic Font Mapping
Fig. 3–14: Cyrillic font mapping
Micronas61
Page 62
VCT 38xxAADVANCE INFORMATION
3.8.5. Arabic Font Mapping
Fig. 3–15: Arabic font mapping
62Micronas
Page 63
ADVANCE INFORMATIONVCT 38xxA
3.8.6. Character Font Structure
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10
Line 1
Line 2
Line 3
Line 4
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10
Line 1
Line 2
Line 3
Line 4
In “Four-Color Mode” the color depth of single or multiple characters can be increased to 4 colors (e.g. to display icons or 3-D effects). A special font organization is
required because two consecutive characters will be
combined. The number of 4-colored characters is only
limited by font size.
The “Four-Color Mode” is controlled via the level 2 parallel attribute “Color Mode”. Setting the bit CM to 1
activates the “Four-Color Mode” until the end of row or
until the bit CM is set to 0 again. At the start of each
display row the “Four-Color Mode” is disabled.
A character with active “Four-Color Mode” attribute will
be combined with its font neighbor to define a 2
bit/pixel character matrix. The 2 additional colors are
derived from the active foreground and background
colors by inverting bit 3 of the color code. Using the
programmable part of the CLUT it is possible to display
characters in 4 out of 4096 colors.
If the “Four-Color Mode” attribute is set for a character
with even character code n, this character is combined
with its font neighbor addressed by code n + 1. If the
“Four-Color Mode” attribute is set for a character with
odd character code, this character is combined with
itself.
The neighbor character does not change the definition
of foreground and background pixel which is used to
control flash and mix mode.
Table 3–13: Color Allocation
Pixel DefinitionColor Allocation
Character nCharacter
n+1
00background
10foreground
01background .xor. 8
11foreground .xor. 8
Matrix of Character n
Fig. 3–18: Four-color mode
+
Matrix of Character n+14 Color Display
0010
=
0111
66Micronas
Page 67
ADVANCE INFORMATIONVCT 38xxA
3.11.OSD Layer
Apart from the WST layer, there is an additional OSD
layer on chip. The OSD layer accesses the CPU memory via DMA to read text, display attributes, and character font information. The color outputs of the OSD
layer can have higher priority than the WST layer outputs. Thus, it is possible to overlay the teletext display
with an additional layer for user guidance (see Fig. 3–
19).
Full Screen Layer
WST Layer
OSD Layer
Fig. 3–19: Display layer
The OSD layer reads text strings addressed by a programmable text pointer. Codes smaller than 80h will
address the character font, codes greater or equal 80h
are interpreted as control codes to change color or
character set (see Table 3–14). After reading a control
code the OSD layer will do an additional read to get the
next character code.
CodeFunctionNotes
01Underline Ononly for 13 scanlines/character
02
03Flash On
04
05Italics On
06
07Transparentlayer becomes transparent
08Shadowlayer becomes transparent and
0CENDend of layer
0DCRend of text line
0E
80
Shaded attributes are default at start of each text line.
Underline Off
Flash Off
Italics Off
contrast is reduced to 66%
− 7F ASCII Characterusing font 1 or font 2
− FF Control CodeOnly one control code per character
is allowed. Depending on OSD
Mode, the control code defines
either color or character set.
Colorbit 0 = foreground color blue
bit 1 = foreground color green
bit 2 = foreground color red
bit 3 = background color blue
bit 4 = background color green
bit 5 = background color red
bit 6 = replace white by transparent
bit 7 = 1
Character Setbit 0 = bit 7 of character code
bit 1 = bit 8 of character code
bit 2 = bit 9 of character code
bit 3 =
bit 4 =
bit 5 =
bit 6 = latching shift to character set
bit 7 = 1
Micronas67
Page 68
VCT 38xxAADVANCE INFORMATION
3.12.Command Language
The TPU supports a command language, allowing the
TV controller to start complex processing inside the
TPU with simple commands. The TV controller is not
The application software has to send commands to the
TPU via I
2
C bus using the command subaddresse
SUB4 (see Section 3.14.1.3. on page 83).
burdened with time consuming tasks like page searching or data shuffling.
Tabl e 3 –15 lists all available commands. For a more
detailed description of the command language see
Tabl e 3 –16.
Note:
If not otherwise designated, all parameters in the following table are specified as single bytes. As write
parameter magazine numbers 8 and 0 have the same meaning, as read parameter the magazine number is a
true 4-bit number (e.g. magazine 8= 00001000). For write parameters the values in parentheses indicate
default values after reset (in hex notation). For compatibility reasons every undefined bit in a write parameter should be set to ‘0’. Undefined bits in a read parameter should be treated as “don’t care”.
Table 3–16: Command language
CodeFunctionWrite ParameterRead ParameterNotes
Operational & Test Commands
00Dummyno action
01Resetsoftware reset of 65C02
02Escapeescape to other codes
03VersionCPU pointer high
04Testreserved for testing
05Testreserved for testing
06DRAM Modedram mode(06)
flash inc(05)
control enable(FF)
07Acquisition Modeacquisition mode(00)
init subcode high(FF)
init subcode low(FF)
gain max(1F)
filter max(1F)
Memory Management Commands
14Read DRAM Sizedram size high
25Page Memorydram bank(00)
dram high(40)
27Page Table Resetreset page table
CPU pointer low
gain
filter
dram size low
dram mode
show version in OSD layer
CPU pointer to text in ROM
dram mode = I/O page register 028EH
flash freq = flash inc / (256 * 0.00324)
control enable:
bit0 = no slicer adaption
bit1 = no bit error in framing code
bit2 = limit slicer adaption
init subcode:
automatic subcode request after
page table reset
gain max:only used if bit2 = 1
filter max:only used if bit2 = 1
dram size:
000CH = 3kByte SRAM
004CH = 19kByte SRAM
0200H = 128kByte SRAM
0240H = 144kByte SRAM
0400H = 256kByte SRAM
0800H = 512kByte SRAM
dram mode:
see I/O page register 028EH
start of page memory
execute page table reset
reset ghost row status
reset data service status
reset cycle count
reset memory count
reset ghost count
reset priorities
clear rolling header
clear VPS data
clear WSS data
magazine parallel
70Micronas
Page 71
ADVANCE INFORMATIONVCT 38xxA
Table 3–16: Command language, continued
CodeFunctionWrite ParameterRead ParameterNotes
42Reset Ghost Row Statusghost row status:
29Read Page Cycleghost row status
38Page Priorityenable(00)
border(FF)
37Read Priorityhighest priority
Page Related Commands
12Page Requestmagazine number
page number
page subcode high
page subcode low
priority
quantity
start magazine number
start page number
20Read Page Infomagazine number
page number
22Change Page Infomagazine number
page number
page table flags
2 Byte cycle count
2 Byte memory count
2 Byte ghost count
data service status
memory status
lowest priority
border priority
magazine number
page number
number of open requests
removed magazine
number
removed page number
page pointer high
page pointer low
subpage count
ghost row count
ring buffer index
page subcode high
page subcode low
bit0 = row 24 in cycle
bit1 = row 25 in cycle
bit2 = row 26 in cycle
bit3 = row 27 in cycle
bit4 = row 28 in cycle
bit5 = row 29 in cycle
bit6 = row 30 in cycle
bit7 = row 31 in cycle
= number of pages in cycle
= number of pages in memory
= number of ghost blocks in memory
data service status:
bit0 = 8/30 format 1 updated
bit1 = 8/30 format 2 updated
bit2 = VPS updated
bit3 = WSS updated
bit4 = CAPTION 1st field updated
bit5 = CAPTION 2nd field updated
memory status:
bit0 = memory full
enable:
bit0 = enable priority manager
border:
min/max border for page priorities
= max priority in page memory
= min priority in page memory
= min/max border for page priorities
= page with lowest priority
remove pages from memory beginning
at start page if page priority is disabled,
ignores start page if page priority is
enabled
magazine number:
bit0
−3 = magazine number
bit4= not used
bit5= hex request
bit6= backward request
bit7= forced request
= ignore cycle flag
= pointer from page table
= number of subpages in chain
= number of ghost rows in chain
if page request with subcode F1xx
page table flags:
bit0 = protection
bit1 = update
bit2 = not used
bit3 = not used
bit4 = not used
bit5 = subpage
bit6 = memory
bit7 = cycle
Micronas71
Page 72
VCT 38xxAADVANCE INFORMATION
Table 3–16: Command language, continued
CodeFunctionWrite ParameterRead ParameterNotes
28Search Next Pagemagazine number
page number
search code
51Read Next Pagemagazine number
page number
21Read Page Rowmagazine number
page number
subpage number high
subpage number low
row number
32Copy Page Rowmagazine number
page number
subpage number high
subpage number low
row number
destination dram bank
destination dram high
destination dram low
35Read Ghost Rowmagazine number
page number
subpage number high
subpage number low
row number
designation code
TOP Commands
40Read TOP StatusTOP status 1
30Read TOP Codemagazine number
page number
50Read BTTLBTTL error
52Change BTT magazinemagazine number(01)all TOP commands then refer to this
43Search MPTnumber of MPTs
magazine number
page number
page pointer high
page pointer low
subpage count
ghost row count
magazine number
page number
40 Byte row datarow 0
40 Byte row data row 25
TOP status 2
BTT code
MPT code
8 Byte BTTL data
magazine number
page number
subpage number high
subpage number low
...
search in page table for cycle flag
magazine number:
bit0
−3 = magazine number
bit4= take search code
bit5= hex search
bit6= backward search
bit7= include start page
search code:
bit0= search protection flag
bit1= search update flag
bit2
−4 = not used
bit5= search subpage flag
bit6= search memory flag
bit7= search cycle flag
calculate next page number
magazine number:
bit0
−3 = magazine number
bit4= not used
bit5= hex calculation
bit6= backward calculation
bit7= not used
− 24
copy 40Byte text row from page
memory into DRAM
− 28
TOP status 1:
bit0 = not used
bit1 = MPT link in PLT
bit2 = MPET link in PLT
bit3 = AIT link in PLT
bit4 = BTT in memory
bit5 = MPT in memory
bit6 = MPET in memory
bit7 = AIT in memory
TOP status 2:
bit0
−5 = not used
bit6 = all MPET in memory
bit7 = all AIT in memory
code:
bit0
−3 = data
bit6= hamming error
BTTL error:
bit6= hamming error in BTTL
BTTL data:
bit0
−3 = data
bit6= hamming error
magazine
search in PLT
72Micronas
Page 73
ADVANCE INFORMATIONVCT 38xxA
Table 3–16: Command language, continued
CodeFunctionWrite ParameterRead ParameterNotes
23Search MPETnumber of MPETs
39Search AITnumber of AITs
41Search AIT Titlemagazine number
page number
44Copy AIT Titlemagazine number
page number
destination dram bank
destination dram high
destination dram low
34Search Next TOP Codemagazine number
page number
code condition
45Search Direct Choicedirect choice codenumber of AIT entries
magazine number
page number
subpage number high
subpage number low
...
magazine number
page number
subpage number high
subpage number low
...
5 Byte data
12 Byte title
5 Byte data
12 Byte title
magazine number
page number
code
code flag
magazine number
page number
...
search in PLT
search in PLT
search in AIT
magazine number:
bit0
−3 = magazine number (0#8)
bit4
−6 = not used
bit7= ignore title language
data:
bit0
−3 = data
bit6= hamming error
search in AIT and copy title into dram
magazine number:
bit0
−3 = magazine number (0#8)
bit4
−6 = not used
bit7= ignore title language
data:
bit0
−3 = data
bit6= hamming error
search in BTT
magazine number:
bit0
−3 = magazine number
bit4
−5 = not used
bit6= backward search
bit7= include start page
code condition:
low nibble = BTT code
high nibble = search condition
0 = BTT code in low nibble
1 = BTT code # 0
2 = block page
3 = group page
4 = normal page
5 = subtitle page
6 = TV page
7 = block/TV page
8 = group/block/TV page
9 = subpage
a = block/TV subpage
b = group/block/TV subpage
c= title page
d = future page
e = future page
code:
code flag:
search in AIT
f= future page
bit0
−3 = BTT code
bit6= hamming error
bit0= subtitle page found
bit1= TV page found
bit2= block page found
bit3= group page found
bit4= normal page found
bit5= future page found
bit6= title page found
bit7= subpage found
Micronas73
Page 74
VCT 38xxAADVANCE INFORMATION
Table 3–16: Command language, continued
CodeFunctionWrite ParameterRead ParameterNotes
Miscellaneous Data Commands
36Read 8/30 Rowdesignation code40 Byte row data only format 1 and 2 are supported
15Read VPSframing code
53Read WSSframing code
54Read CAPTION 1counter
55Read CAPTION 2counter
19Read Rolling Header24 Byte rolling headerevery row 0 in cycle
31Read Rolling Time8 Byte rolling timeusing time pointer
16Read Qualitytext lines
18Read Reset Sourcereset sourcereset source:
46Read Hamminghamming (8,4) Bytedatahamming Byte:
47Read Hamming 2hamming (24,18) 1st Byte
hamming (24,18) 2nd Byte
hamming (24,18) 3rd Byte
33Copy Datasource dram bank
source dram high
source dram low
length
destination dram bank
destination dram high
destination dram low
= 78H
= incremented every WSS reception
= 102 WSS elements from group 1 on
= incremented every reception in field 1
= 3x oversampling
= incremented every reception in field 2
= 3x oversampling
updated every VBI
bit0 = clock supervision
bit1 = voltage supervision
bit2 = watchdog
all bits in reset source are reset after
read
bit0
−3 = data
bit6= hamming error
address:
bit0
−5 = address
bit7= hamming error
mode:
bit0
data:
copy data from DRAM to DRAM
display mode:
display mode:see above
character set:6,38,40,55,70,128
font mapping:0=latin
page memory is copied to TTX pointer
display starts at pointer using scroll
counter as line offset
clear display bank beginning at pointer
(26 rows * 86 Bytes)
−4 = mode
bit0
−6 = data
bit0 = forced boxing
bit1 = reveal
bit2 = box
bit3 = time hold
bit4 = page hold
bit5 = row 24 hold
bit6 = row 25 hold
bit7 = row 26 hold
1=cyrillic/greek
2=arabic/farsi/hebrew
128=user defined
−15
74Micronas
Page 75
ADVANCE INFORMATIONVCT 38xxA
Table 3–16: Command language, continued
CodeFunctionWrite ParameterRead ParameterNotes
13Display Time Pointerdram high(20)
26Display Page Requestmagazine number
24Read Display Pagemagazine number
48Display Columndram high
49Display Filldram high
56OSD Font Pointerfont mode(00)
57Display Read Columndram high
58User Character Setlanguage 000(00)
59User ESC Character Setesc language 000(00)
60Full Row Attributefull row attribute
61User Mapping32 Byte mapping data32 Bytes are copied into mapping ram
dram low(20)
page number
subpage number high
subpage number low
display delay(1E)
dram low
length
Byte list
...
dram low
length
character
font pointer high
font pointer low
extension font pointer high
extension font pointer low
dram low
length
language 001(01)
language 010(02)
language 011(03)
language 100(04)
language 101(05)
language 110(06)
language 111(07)
esc language 001(00)
esc language 010(00)
esc language 011(00)
esc language 100(00)
esc language 101(00)
esc language 110(00)
esc language 111(00)
number of rows
start row
page number
subpage number high
subpage number low
Byte list
...
8 Byte time string from packet x/00 is
copied to time pointer
magazine number:
bit0
−3 = magazine number
bit4= change display delay
bit5= display clear (on update)
bit6
−7 = not used
subpage number:
F0xx for rolling subpages
display delay:
delay after row 0 reception in steps
of 3.24ms (255 = no update)
only used if bit4 = 1
current page in display
write to dram with increment of 86 Bytes
= number of bytes in list
repeated write of 1 character to dram
= number of repeated writes
font mode:
bit0 = 0 = reset OSD font 2 pointer
bit0 = 1 = load OSD font 2 pointer
read from dram with increment of
86 Bytes
= number of Bytes to read
If character set 128 is selected via
command 08 “Display Mode”, these 8
languages will be selected by option bits
C14,C13,C12 when ESC code is
inactive.
If character set 128 is selected via
command 08 “Display Mode”, these 8
languages will be selected by option bits
C14,C13,C12 when ESC code is active.
set full row attribute of specified rows
without changing level 2 bit
via I/O page register 0276H
with following parameters
Micronas75
Page 76
VCT 38xxAADVANCE INFORMATION
3.13.I/O Register
Most hardware-related functions of the TPU are controlled by memory mapped I/O of the 65C02. The
application software has access to the I/O registers via
2
C bus using the CPU subaddresses SUB1 and SUB2
I
Most of the I/O registers can only be written and will
not return useful data when read by application software. Reset values are written by TPU during initialization.
(see Section 3.14.1.1. on page 82).
Note:
For compatibility reasons, every undefined bit of a
write register should be set to ‘0’. Undefined bits of
a read register should be treated as “don’t care”.
0200 HR/WCONTROL REGISTER
BitResetWrite FunctionRead Function
all00 HDuring reset the control register is loaded with the contents of the address FFF9H, but it can be read and
701 = CPU disable
601 = program RAM disable
501 = program ROM disable
401 = character ROM disable
301 = DMA interface disable
201 = I/O page disable
101 = test mode on
001 = burnin test mode (only if test pin high)
written via software.
0 = CPU enable
0 = program RAM enable
0 = program ROM enable
0 = character ROM enable
0 = DMA interface enable
0 = I/O page enable
0 = test mode off
0 = normal test mode
1 = burnin test mode
0 = normal test mode
0202 HWriteSTANDBY
BitResetFunction
201 = digital circuitry power off(CPU still active with slow clock)
101 = analog front-end power off
0213 HWriteINTERFACE MODE
BitResetFunction
101 = standby enable(if bit 2 of register 0202H = 1)
0 = digital circuitry power on
0 = analog front-end power on
0 = standby disable
0251 HWriteBLANKING STOP
BitResetFunction
all07 Hhorizontal stop of blanking pulse in character increments
correct blanking pulse cannot be guaranteed if blanking start = blanking stop
76Micronas
Page 77
ADVANCE INFORMATIONVCT 38xxA
0252 HWriteBLANKING START
BitResetFunction
all00 Hhorizontal start of blanking pulse or self-timed HSYNC in character increments
0254 HWriteDISPLAY MODE 1
BitResetFunction
701 = OSD layer always uses FONT 1
611 = enable OSD layer
511 = active flash phase of OSD layer
401 = 13 scanlines/character
3 to 00With this scan line the OSD layer starts display of the first text line. By slow incrementing of this value soft
correct blanking pulse cannot be guaranteed if blanking start = blanking stop
0 = OSD layer changes from FONT 1 to FONT 2 if ASCII
0 = disable OSD layer
0 = inactive flash phase of OSD layer
0 = 8 scanlines/character
scroll begins.
≥20H
0255 HWriteDISPLAY MODE 2
BitResetFunction
701 = OSD layer control code defines character set
311 = 10.125MHz display clock
211 = font pointer offset 10 scanlines/character
101 = font pointer offset 16 scanlines/character
011 = 10 scanlines/character
025A HWritePRIO MODE
BitResetFunction
5 to 3110prio code for shadow pixel
2 to 0101prio code for normal pixel
025B HR/WFB Mode
BitResetWrite FunctionRead Function
all00 Hevery read resets status
70color bit 4(color output of OSD layer)
60color bit 3(color output of OSD layer)
401 = inverted color output
0 = OSD layer control code defines color
0 = 20.25MHz display clock
0 = font pointer offset 8 or 16 scanlines/character (depending on bit 1)
0 = font pointer offset 8 scanlines/character
0 = 8 or 13 scanlines/character (depending on bit 4 in register 0254 H)
0 = normal color output
Micronas77
Page 78
VCT 38xxAADVANCE INFORMATION
0260 HWriteOSD LAYER VERTICAL START
BitResetFunction
all00 H
60 H
0261 HWriteOSD LAYER VERTICAL STOP
BitResetFunction
all01 H
28 H
0262 HWriteOSD LAYER HORIZONTAL START
BitResetFunction
all16 H8-bit value defining horizontal start position (in character)
9-bit value defining vertical position (in scanline)
1st write:bit 0 = MSB
2nd write:bit 7 to 0 = 8 LSBs
9-bit value defining vertical position (in scanline)
1st write:bit 0 = MSB
2nd write:bit 7 to 0 = 8 LSBs
0264 HWriteOSD LAYER TEXTPOINTER
BitResetFunction
all
0265 HWriteOSD LAYER 2nd COLOR START
BitResetFunction
all01 H
0266 HWriteOSD LAYER 2nd COLOR
BitResetFunction
6 to 00C H7-bit value defining 2nd color
0267 HWriteWST LAYER VERTICAL START
BitResetFunction
all00 H
−16-bit value defining memory address of text
38 H
24 H
1st write:bit 7 to 0 = 8 MSBs
2nd write:bit 7 to 0 = 8 LSBs
9-bit value defining vertical start for 2nd color (in scanline)
1st write:bit 0 = MSB
2nd write:bit 7 to 0 = 8 LSBs
2nd color is used during 1 text row (8, 10 or 13 scanlines) after 2nd color start
9-bit value defining vertical position (in scanline)
1st write:bit 0 = MSB
2nd write:bit 7 to 0 = 8 LSBs
0268 HWriteWST LAYER HORIZONTAL START
BitResetFunction
all0F H8-bit value defining horizontal start position (in character)
78Micronas
Page 79
ADVANCE INFORMATIONVCT 38xxA
026A HWriteWST LAYER VERTICAL STOP
BitResetFunction
all01 H
28 H
026B HWriteWST LAYER LAST ROW
BitResetFunction
all01 H
1E H
026C HWriteRGB MODE
BitResetFunction
501 = WST layer mixed mode
4 to 3011 = WST layer top
201 = OSD layer mixed mode
1 to 0011 = OSD layer top
9-bit value defining vertical position (in scanline)
1st write:bit 0 = MSB
2nd write:bit 7 to 0 = 8 LSBs
9-bit value defining last scanline of the last row to display level 1 double height
after this scanline the level 1 double height attribute will not be decoded anymore
1st write:bit 0 = MSB
2nd write:bit 7 to 0 = 8 LSBs
401 = next CPU write without WEQ but with address increment
0 = normal CPU write mode
301 = reset address pointer and switch off refresh during standbyt
0 = keep address pointer and refresh during standby
211 = display channel enable
0 = display channel disable
111 = slicer channel enable
0 = slicer channel disable
029C HReadACQ SOFT ERROR COUNTER
BitResetFunction
5 to 0
029E HReadACQ SYNC STATUS
BitResetFunction
7
6
−6-bit soft error counter
counts number of soft error corrected bytes
counter stops at 63
reset after read
−1 = field 1set at line 624 (PAL) or line 524 (NTSC)
0 = field 2reset at line 313 (PAL) or line 263 (NTSC)
−1 = vertical retraceset at line 628 (PAL) or line 528 (NTSC)
0 = vertical windowreset at line 624 (PAL) or line 524 (NTSC)
80Micronas
Page 81
ADVANCE INFORMATIONVCT 38xxA
029F HWriteACQ STANDARD
BitResetFunction
701 = CAPTION enable in field 2
601 = CAPTION enable in field 1
501 = VPS enable
7 to 50VPS and CAPTION cannot be used at the same time, therefore these combinations are used to enable
411 = acquisition enable
1 to 0000 = PAL mode
0 = CAPTION disable in field 2
0 = CAPTION disable in field 1
0 = VPS disable
WSS reception on a PAL+ signal
0 =
1 = VPS
2 = CAPTION field 1
3 = WSS & VPS
4 = CAPTION field 2
5 = WSS & VPS
6 = CAPTION field 1&2
7 = WSS
0 = acquisition disable
10 = NTSC mode
11 = Caption full field mode
02A3 HWriteACQ VIDEO INPUT
BitResetFunction
1 to 0000 = VIN1
02A4 HReadACQ HSYNC COUNTER
BitResetFunction
7 to 00number of detected horizontal sync pulses per frame divided by 4
01 = VIN2
10 = VIN3
11 = VIN4
sync pulse is detected if within horizontal window of HPLL
counter is latched with vertical sync, the register can be read at any time
Micronas81
Page 82
VCT 38xxAADVANCE INFORMATION
3.14.I2C-Bus Slave Interface
Communication between the TPU and the TV controller is done via I
2
I
C bus please refer to the Philips manual ‘I2C bus
2
C bus. For detailed information on the
Specification’.
The TPU acts as a slave transmitter/receiver and uses
clock synchronization to slow down the data transfer if
necessary. General call address will not be acknowledged.
Different memories and functions of TPU can be
accessed by subaddressing. The byte following the
slave address byte is defined as the subaddress byte.
2
Maximum length of an I
C telegram is 256 Bytes following slave address and subaddress byte. The interface supports data transfer with autoincrement.
2
C bus interface is interrupt-driven and uses an
The I
internal 48-Byte buffer to collect I
2
C data in real-time
without disturbing internal processes. This is done to
avoid clock synchronization as far as possible. When
the TPU has to process the I
gram has not yet been stopped, the I
2
C buffer and the I2C tele-
2
C clock line will
be held down.
2
The time required to process the I
on other processes running inside the TPU firmware.
Thus the following I
2
C telegram addressing the TPU
C buffer depends
can be held after the slave address byte until the old
telegram is completely processed.
3.14.1.Subaddressing
Access to all memory locations and to the command
interface is achieved by subaddressing. Both the external DRAM and the internal CPU memory can be
addressed completely. The TPU acknowledges 6 different subaddresses following the slave address (see
Ta bl e 3–17 on page 82).
The following symbols are used to describe the I
2
example telegrams:
<start condition
>stop condition
abaddress bank byte
ahaddress high byte
aladdress low byte
cccommand byte
dddata byte
ssstatus byte
..0
− n continuation bytes
C
2
Table 3–17: I
C bus subaddresses
NameBinary ValueHex ValueModeFunction
TPU0010 001x22, 23W, RTPU slave address
Sub 10111 100078Wsubaddressing CPU (static)
Sub 20111 100179Wsubaddressing CPU (autoincrement)
Sub 30111 10107AWsubaddressing DRAM (autoincrement)
Sub 40111 10117BWsubaddressing command language
Data0111 11007CR/Wsubaddressing data register
Status0111 11017DRstatus register
3.14.1.1. CPU Subaddressing
page 76). The static CPU subaddress can be used to
bit 7 = command wait
bit 6 = command invalid
bit 5 = command found no data
bit 4 = not used
bit 3 = not used
bit 2 = not used
bit 1 = 0
bit 0 = 0
write more than 1 Byte into the same I/O page register.
There are 2 CPU subaddresses to access CPU memory: either with static memory address or with autoincrementing memory address. The main purpose of
CPU subaddressing is to write text into the OSD buffer
and to access the I/O page (see Section 3.13. on
The CPU subaddress has to be followed by 2 address
bytes defining the CPU memory address. The follow-
ing data byte is written into this address. In the case of
autoincrement the continuation bytes are written into
incrementing memory addresses.
82Micronas
Page 83
ADVANCE INFORMATIONVCT 38xxA
The CPU telegram can be stopped after the 2 memory
address bytes. The following I
2
C telegram subaddressing the data register will continue data transfer to or
from the CPU memory. The data transfer will always
start at the CPU memory address (autoincrement is
not saved).
< 22 78 ah al dd .. >
< 22 79 ah al dd .. >
< 22 79 ah al > < 22 7C dd .. >
Data is directly written into CPU memory without using
2
C buffer of TPU and without waiting for a stop
the I
condition.
3.14.1.2. DRAM Subaddressing
DRAM access is necessary to generate level 2 displays. The external DRAM can be addressed on byte
level. The maximum DRAM size of 16 Mbit requires a
21-bit memory address pointer. The format of the
DRAM address pointer is shown in Fig. 3–20.
5-bit Bank8-bit High8-bit Low
3.14.1.3. Command Subaddressing
TPU supports a command language, allowing the host
controller to start complex processing inside the TPU
with simple commands (see Section 3.12. on
page 68). Commands have to be sent to the command
subaddress.
The command subaddress has to be followed by the
command code. The following data bytes are taken as
command parameters.
The execution time for commands depends on other
processes running inside the TPU firmware, therefore
the host controller has to read the status register to get
information about the running command before reading command parameter or starting other commands.
The status register returns information about the command interface. The ‘command wait’ bit is set during
execution of a command and is reset when a command is executed completely and read parameters are
available. If a non-existing command is sent to the
TPU, the ‘command invalid’ bit is set. If a command
could not be executed successfully, the ‘command
found no data’ bit is set. In this case the read parameters of this command are not valid.
Fig. 3–20: DRAM address pointer
The DRAM subaddress has to be followed by
3 address bytes defining the DRAM address pointer.
The following data byte is written into this address.
DRAM subaddressing always uses autoincrement.
Separate read and write DRAM address pointers are
saved for autoincrement.
The DRAM telegram can be stopped after the 3 address pointer bytes. The following I
2
C telegram subaddressing the data register will continue data transfer to
or from the DRAM.
When reading the DRAM, the first data byte the TPU
returns is a dummy byte, which has to be ignored.
< 22 7A ab ah al dd .. >
< 22 7A ab ah al > < 22 7C dd .. >
< 22 7A ab ah al > < 22 7C < 23 dd ..>
Data written to the DRAM subaddress is collected first
in the I
2
C buffer of TPU and is copied to DRAM when
the buffer is full (48 Bytes) or after stop condition. During the time the buffer is copied to DRAM the TPU will
hold the I
2
C clock line down.
Reading data from the DRAM subaddress is also buffered internally. Reading the first byte will only empty the
2
C buffer. Every time the buffer is empty, the TPU will
I
copy 48 Bytes from DRAM into the I
this time the TPU will hold the I
2
2
C buffer. During
C clock line down.
Reading status from TPU is done by subaddressing
the status register followed by repeated start condition
and slave read address (see Fig. 3–21).
Telegrams subaddressing the command interface are
buffered and processed after receiving the stop condition. Therefore the command code and all necessary
command parameters have to be included in a single
telegram.
3.14.1.4. Data Subaddressing
Writing data to TPU memory is possible by subaddressing the data register directly. The data is then
written into memory addressed by the foregoing telegram.
< 22 7C dd .. >
Reading data from TPU is done by subaddressing the
data register followed by a repeated start condition and
slave read address (see Fig. 3–21). The returned data
depend on the subaddress selected in the preceding
TPU telegram.
< 22 7C < 23 dd .. >
Micronas83
Page 84
VCT 38xxAADVANCE INFORMATION
SAckWAckAckP0010001
SAckWAck
0010001
SAckWAck
0010001
SAckWAck
0010001
SAckWAck
0010001
SAckWAckS
0010001
0111 1000
0111 1001
0111 1010
0111 1011
0111 1100
0111 11000010001
n Byte Sub 1
n Byte Sub 2
n Byte Sub 3
n Byte Sub 4
n Byte Data
AckP
AckP
AckP
AckP
Ack
R
n
−1 Byte Data
last Byte Data
Ack
Nak
SAckWAckS
0010001
SDA
0111 1101
1
0
0010001Ack
PS
SCL
R
W
R
Ack
Nak
S
P
Fig. 3–21: I2C bus protocol
3.14.1.5. Hardware Identification
A separate I
2
C bus slave register is reserved to read
out the hardware version of VCT 38xxA. This register
is active in standby mode.
I2C Sub
address
Number
of bits
ModeFunctionDefault Name
Ack
Status
Status
0
=
1
=
0
=
1
=
Start
=
Stop
=
=
Interrupt
=
Data from TPU
NakPP
h’9F16rHardware version number
bit[7:0]hardware id (A3=h’13, B1=h’21 a.s.o.)
bit[15:8]product code VCT38xy (VCT3832=h’32)
read
only
HWID
TC
PROD
84Micronas
Page 85
ADVANCE INFORMATIONVCT 38xxA
4. Audio Processing
4.1. Introduction
The audio processing allows input selection and volume control for mono audio sources either from tuner
or from SCART input.
AIN1
AIN2
AIN3
AOUT1
AOUT2
Fig. 4–1: Audio processing
Table 4–1: Audio control register
4.2. Input Select
Both audio output channels can be switched to any of
the three audio input channels. Only the audio output
channel AOUT1 can be volume controlled.
4.3. Volume Control
The analog volume control covers a range from
+18 dB and
−75 dB. The lowest step is the mute posi-
tion. Step size is split into a 3-dB and a 1.5-dB range.
−75 dB...−54 dB :3 dB step size
−54 dB...+18 dB : 1.5 dB step size
2
4.4. I
C-Bus Slave Interface
The input selection and analog volume is controlled via
the audio control register ACON. This I
2
C register is
activated by the chip address of the video back-end
processing (see Table 2–2 on page 32).
The TV controller basically consists of the CPU, RAM,
ROM, and a number of peripheral modules.
For instance:
– a memory banking module is included to allow
access to more than 64 kB memory.
– a bootloader software is included to allow in-system-
downloading of external code to Flash memory via
2
C interface.
the I
The TV controller runs the complete software necessary to control a TV set. The software includes control
of the audio, video, OSD, and text processors on chip,
as well, as control of external devices like tuner or stereo decoder.
Communication between the TV controller and external devices is done either via I
2
C bus interface or via
programmable port pins.
The TV Controller is clocked with f
OSC
= f
XTAL
/2.
5.2.1. CPU Slow Mode
To reduce power consumption considerably, the user
can reduce the internal CPU clock frequency to 1/256
of the normal f
value. In this CPU Slow mode, pro-
CPU
gram execution is reduced to 1/256 of the normal
speed, but clocking of most other modules remains
unaffected. The modules that are affected by CPU
Slow mode are:
1. CPU and Interrupt Controller with all internal and
external interrupts
2. RAM, ROM and DMA
3. Watchdog
Some modules must not be operated during CPU Slow
mode. Refer to module sections for details.
After reset the CPU is in Fast mode (f
CPU
= f
OSC
).
CPU Slow mode is enabled by clearing flag CPUFST
in standby register SR1. The CPU clock frequency
reduction to f
delay of 256 f
/256 will take effect after a maximum
OSC
periods.
OSC
5.2. CPU
The CPU is fully compatible to WDC’s W65C02 microprocessor. The processor has 8-bit registers/accumulator, an 8-bit data bus, and a 16-bit address bus. For
further information about the CPU core, please refer to
the WDC W65C02 data sheet.
fast mode
f
OSC
PH2
CCUPH2
RW
WE
Returning CPU to Fast mode is done by setting flag
CPUFST to High. The CPU clock frequency will immediately change to its normal f
Fig. 5–1 shows the memory access signals during
CPU fast and slow mode.
slow mode
OSC
value.
OE
Fig. 5–1: Memory access signals
86Micronas
Page 87
ADVANCE INFORMATIONVCT 38xxA
5.3. RAM and ROM
On-chip RAM is composed of static RAM cells. The
RAM will hold all information during reset, as long as
the specified operating voltages are available.
The 64PSDIP Multi Chip Module contains a 128-KByte
Flash EEPROM of the ST M29W010B type. These
devices exhibit electrical Byte program and block erase
functions. Refer to the ST M29W010B data sheet for
details.
5.3.1. Address Map
The following ROM addresses are reserved and cannot be used to store program code.
Table 5–1: Reserved (physical) addresses
AddressesUsage
00FFC6
− 00FFD5
00FFD6 − 00FFD7
00FFD8 − 00FFF7
00FFF8
00FFF9
00FFFA − 00FFFB
00FFFC − 00FFFD
0xFFFE − 0xFFFF
Manufacturer ROM ID
reserved for bootloader
Interrupt Vectors
reserved
Control Word (during reset)
NMI Vector (expanded by
Interrupt Controller)
Reset Vector
IRQ/BRK Vector
A 16-Byte address space is reserved as “Manufacturer
ROM ID”. This area contains a unique ROM ID number
which has to be agreed between Micronas and the
customer. Especially the first 6 digits identify customer
and version. As an example a Micronas demo software
is identified like “MI1108 240700 TV”.
Tabl e 5 –2 shows the internal memory segmentation.
Internal program RAM and ROM can be disabled via
the Control Register (chapter 5.4. on page 87). The
internal text RAM can be disabled via Standby Register 0 (see page 89).
All memory locations not available internally will be
addressed as external memory. It is possible to operate with internal and external memory in parallel, but
overlapping memory segments will always be
addressed internally.
A segment of the internal ROM is reserved for bootloader code. Via this bootloader code it is possible to
download additional code into the internal RAM and
execute this code. The downloaded code can be used
to program the external Flash EEPROM.
2
After reset the bootloader checks the I
C bus pins SDA
and SCL for a special identification sequence. If no
identification sequence is detected, the bootloader
starts the application program code.
The bootloader checks the address FFD6/FFD7 of the
external memory if there is a predefined pattern
(A55Ah). If so, it starts the external application software else it starts the internal application software.
5.4. Control Register
The Control Register CR serves to configure the ways,
by which certain system resources are accessed during operation. The main purpose is to obtain a variable
system configuration during IC test.
Upon each High transition on the RESQ pin internal
hardware reads data from address location 00FFF9h
and stores it to the CR. The state of the TEST pin at
this timepoint specifies which program storage source
is accessed for this read:
– With the TEST pin Low, the control byte is read from
internal program storage (mask ROM). With location
00FFF9h set to FFh, this is the setting for standalone operation.
– With the TEST pin High, the control byte is read
from external memory via the test bus (for test purposes only).The system will thus start up according
to the configuration defined in address location
00FFF9h and automatically copied to register CR.
During internal memory access, the pins DB0-DB7,
WExQ and OExQ are tristate. For emulation and test
purposes it is possible to change this behavior via the
Micronas87
Page 88
VCT 38xxAADVANCE INFORMATION
1: 1F01 2: CR 3: Control Register
bit76543210
r/w RESLNG TSTTOG DISEXT MFM TSTROM IROMIRAMICPU
resetValue of 00FFF9h
RESLNGReset Pulse Length
OSC
OSC
.
.
r/w1:Pulse length is 4095/f
r/w0:Pulse length is 16/f
This bit specifies the length of the reset pulse which is
output at pin RESQ following an internal reset. If pin
TEST is 1 the first reset after power on is short. The
following resets are as programmed by RESLNG. If pin
TEST is 0 all resets are long.
TSTTOGTEST Pin Toggle
r/w1:Pin TEST can toggle the Multi Function
pins.
r/w0:Pin TEST can’t toggle the Multi Function
pins.
This bit is used for test purposes only. If TSTTOG is
true in IC active mode, pin TEST can toggle the Multi
Function pins between Bus mode and normal mode.
Table 5–5: Some commonly used settings for address
location 00FFF9h.
CodeTEST
Operation Mode
Pin
FFh0Stand-alone with internal ROM
or Flash
DFh0Emulator mode (CPGA257
package)
ABh1External program storage con-
nected to Multi Function pins in
Bus mode
Table 5–3: TSTROM and IROM usage in mask ROM
parts
TSTROMIROMselected program storage
11internal CPU ROM
01internal Test ROM
DISEXTDisable External Memory Access
r/w1:DB0
−DB7, WExQ and OExQ output pins
are tristate during internal memory
access (see Fig. 5–2 on page 89).
r/w0:DB0
−DB7, WExQ and OExQ output pins
are active during internal memory access.
MFMMulti Function pin Mode
r/w1:Enable normal mode.
r/w0:Enable Test Bus mode.
TSTROMTest ROM (mask ROM parts only)
r/w1:Disable internal Test ROM.
r/w0:Enable internal Test ROM (@ IROM=1).
IROMInternal ROM
r/w1:Enable internal CPU ROM.
r/w0:Disable internal CPU ROM.
IRAMInternal RAM
r/w1:Enable internal CPU RAM.
r/w0:Disable internal CPU RAM.
The Standby registers allow the user to switch on/off
power or clock supply of single modules. With these
flags it is possible to greatly influence power consumption and its related electromagnetic interference.
For details about enabling and disabling procedures
and the standby state refer to the specific module
descriptions.
The minimum IC current consumption is obtained with
all standby registers set to 00h.
4: 1F08 5: SR0 6: Standby Register 0
bit76543210
r/wPWM1 PWM0TRAMCCC TVPWM
reset00000000
PWM1Pulse Width Modulator 1
r/w1:Module active.
r/w0:Module off.
PWM0Pulse Width Modulator 0
r/w1:Module active.
r/w0:Module off.
CCCCapture Compare Counter
r/w1:Module active.
r/w0:Module off.
TVPWMTuning Voltage Pulse Width Modulator
r/w1:Module active.
r/w0:Module off.
7: 1F09 8: SR1 9: Standby Register 1
bit76543210
r/wCPUFSTADCTIM1TIM0
reset01000000
CPUFSTCPU Fast Mode
r/w1:Fast mode: f
r/w0:Slow mode: f
CPU
CPU
= f
= f
XTAL
XTAL
/ 2
/ 512
ADCADC Module
r/w1:Module active.
r/w0:Module off.
TIM1Timer 1
r/w1:Module active.
r/w0:Module off.
TRAMText RAM
r/w1:Module active
r/w0:Module off
TIM0Timer 0
r/w1:Module active.
r/w0:Module off.
Micronas89
Page 90
VCT 38xxAADVANCE INFORMATION
10: 1F0A 11: SR2 12: Standby Register 2
bit76543210
r/wPWM3 PWM2I2CMB
reset00000000
PWM3Pulse Width Modulator 3
r/w1:Module active.
r/w0:Module off.
PWM2Pulse Width Modulator 2
r/w1:Module active.
r/w0:Module off.
2
I2CI
C-Bus Master Interface
r/w1:Module active.
r/w0:Module off.
MBMemory Banking
r/w1:Module active.
r/w0:Module off.
5.6. Test Registers
Test registers are for manufacturing test only. They
must not be written by the user with values other than
their reset values (00h). They are valid independent of
the TEST input state.
In all applications where a hardware reset may not
occur over long times, it is good practice to force a
software reset on these registers within appropriate
intervals.
22: 1FFC 23: TST4 24: Test Register 4
bit76543210
wFor testing purposes only
reset00000000
25: 1FFB 26: TST5 27: Test Register 5
bit76543210
rFor testing purposes only
reset00000000
5.7. Reset Logic
5.7.1. Alarm Function
An alarm comparator on the pin RESQ allows the
detection of a threshold higher than the reset threshold. An alarm interrupt can be triggered with the output
of this comparator.
The interrupt source output of this module is routed to
the Interrupt Controller logic. But this does not necessarily select it as input to the Interrupt Controller.
Check section “Interrupt Controller” for the actually
selectable sources and how to select them.
The intended use of this function is made, when a system uses a 3.3V regulator with an unregulated input. In
this case, the unregulated input, scaled down by a
resistive divider, is fed to the RESQ pin. With falling
regulator input voltage this alarm interrupt is triggered
first. Then the reset threshold is reached and
VCT 38xxA is reset before the regulator drops out.
13: 1FFE 14: TST1 15: Test Register 1
bit76543210
wFor testing purposes only
reset00000000
16: 1FFF 17: TST2 18: Test Register 2
bit76543210
wFor testing purposes only
reset00000000
19: 1FFD 20: TST3 21: Test Register 3
bit76543210
wFor testing purposes only
reset00000000
The time interval between the occurrence of the alarm
interrupt and the reset may be used to save process
data to nonvolatile memory. In addition, power saving
steps like turning off other devices may be taken to
increase the time interval until reset. The alarm interrupt is a level triggered interrupt. The interrupt is active
as long as the voltage on pin RESQ remains between
the two thresholds of alarm and reset (see Fig. 5–3 on
page 92).
5.7.2. Software Reset
The TV controller software can generate a reset via
the Reset Control Register (see page 94). To prevent
the TV controller from carrying out a reset in this case,
the internal CPU reset can be disconnected from the
RESQ pin.
90Micronas
Page 91
ADVANCE INFORMATIONVCT 38xxA
5.7.2.1. From Standby into Normal Mode
To switch the whole TV application from standby operation into normal mode the controller has to perform
the following sequence:
To switch the whole TV application from normal mode
into standby operation the controller has to perform the
following sequence:
– RC.DCOCLP = 1, RC.I2CEN = 0
– wait 1ms for stable 20.25MHz DCO
– RC.SELCLK = 0
– turn off power supply
– set TPU into standby mode
– SR0 = 2, SR1 = 8, SR2 = 0
5.7.3. Internal Reset Sources
The VCT 38xxA contains three internal circuits that are
able to generate a system reset: watchdog, supply
supervision, and clock supervision.
All internal resets are directed to the open drain output
of pin RESQ. Thus a “wired or” combination with external reset sources is possible. The RESQ pin is current
limited and therefore large external capacitances may
be connected.
All internal reset sources initially set a reset request
flag. This flag activates the pull-down transistor on the
RESQ pin. An internal reset prolongation counter
starts, as soon as no internal reset source is active any
more. It counts 4096 f
periods (for alternative set-
CPU
tings refer to register CR) and then resets the reset
request flag, thus releasing the RESQ pin.
Micronas91
Page 92
VCT 38xxAADVANCE INFORMATION
CPU Reset
V
REFPOR
VSUP
S
Bandgap
V
REFA
V
REFR
V
REFPOR
Watchdog
+
-
Clock
Supervision
RESET
Interrupt
Source
internal Reset to DMA, TPU, VDP
>1
RC.RESDIS
>1
CSW0.CSA
&
&
Reset extension
16 or 4096
oscillator pulses
>1
>1
RC.VSI
RC.TPUI
RC.ALI
RC.RESOUT
SQ
R
Voltage
Supervision
TPU
Watchdog
+
-
+
-
>1
reset
>1
Reset
Control
V
V
RC
VSUP
REFA
REFR
RESQ
D
Fig. 5–3: Block diagram of reset logic
5.7.3.1. Supply Supervision
An internal bandgap reference voltage is compared to
VSUP
. A VSUPS level below the Supply Supervision
S
threshold VREFPOR will permanently pull the pin
RESQ low and thus hold the VCT 38xxA in reset state
(see Fig. 5–3 on page 92). This reset source is active
after reset and can be enabled/disabled by flag CSA in
register CSW0.
5.7.3.2. Clock Supervision
The Clock Supervision monitors the CPU clock frequency f
. A frequency level below the clock super-
CPU
vision threshold of approx. 200 kHz will permanently
pull the pin RESQ low and thus hold the IC in reset
(see Fig. 5–3 on page 92). This reset source is active
after reset and can be enabled/disabled by flag CSA in
register CSW0.
A frequency exceeding the specified clock frequency is
not detected.
92Micronas
Page 93
ADVANCE INFORMATIONVCT 38xxA
5.7.3.3. Watchdog
The Watchdog module serves to monitor undisturbed
program execution. A failure of the program to retrigger
the Watchdog within a preselectable time will pull the
RESQ pin low and thus reset the VCT 38xxA (see Fig.
Once the Watchdog is enabled, it cannot be disabled anymore, neither by software nor by pulling
down the external RESQ pin. Only after power up
the watchdog is disabled.
5–3 and Fig. 5–4). The Watchdog reset source is only
enabled after the first write access to register CSW1
(see Section 5.7.3.2. on page 92).
2.write 3.write
& even& odd
reset in
power on
Trigger Reg1Timer RegisterTrigger Reg2
8
=
&
Q
2.write & even
3.write & odd
≥1
write CSW1
D
C
S
1. write
≥1
CSW1CSW1
1. write
88
1. write
&
SQ
R
≥1
load
8-Bit-Counter
&
SQ
R
CSW1
clk = f
reset out
CSW1.WDRES
CPU
/8192
zero
Fig. 5–4: Block diagram of watchdog
The Watchdog contains a down-counter that generates a reset when it wraps from zero to FFh. It is
reloaded with the content of the watchdog timer register, when, on a write access to register CSW1, watchdog trigger registers 1 and 2 contain bit complemented
values. Resetting the VCT 38xxA initializes the watchdog timer register to FFh, thus forcing the Watchdog to
create a maximum reset interval.
The Watchdog is controlled by register CSW1. The
first write access to it loads the timer register value setting the Watchdog’s unretriggered reset interval. The
desired interval can be programmed by setting the
CSW1 value to:
Value
Interval f
------------------------------------1–=
8192
×
CPU
The resolution of the Watchdog is 8192/f
CPU
. In CPU
Slow mode (see Section 5.2.1. on page 86), the watchdog is clocked with the reduced CPU clock.
The second and all following even numbered write
accesses load watchdog trigger register 1, the third
and all following odd numbered write accesses load
watchdog trigger register 2.
In all future, the CPU has to write alternatingly to register CSW1 value and bit complement value, thus retriggering the up-counter. Failure to retrigger will result in
an overflow of the up-counter generating a Watchdog
reset.
It is not allowed to change a chosen value. Writing a
wrong value to CSW1 immediately sets the flag
CSW1.WDRES and prohibits further retriggering of the
watchdog counter.
CSW1.WDRES is true after a Watchdog reset. Only a
Supply Supervision reset or a write access to register
CSW1 clears it.
Micronas93
Page 94
VCT 38xxAADVANCE INFORMATION
5.7.4. External Reset Sources
As long as the reset input comparator on the pin
RESQ detects the Low level, the VCT 38xxA is in reset
state. On this pin, external reset sources may be wireored with the internal reset sources, leading to a system-wide reset signal combining all system reset
sources.
5.7.5. Summary of Module Reset States
After reset, the controller modules are set to the following reset states:
Table 5–6: Status after reset
ModuleStatus
CPUCPU Fast mode.
Interrupt
Controller
Interrupts are disabled. Priority registers, request flip-flops and stack
are cleared.
If the source of one of these interrupts is still active,
resetting the interrupt flag will not work and no further
interrupt will be generated.
I2CENI2C Enable
r/w1:Enable I2C output from FE/BE.
r/w0:Disable I2C output.
DCOCLPDCO clamping
r/w1:DCO input clamped to 0.
r/w0:DCO input controlled by front-end.
SELCLKSelect clock source
r/w1:From PLL.
r/w0:From DCO.
RESDISReset Disable
r/w1:Disable internal CPU reset.
r/w0:Enable internal CPU reset.
RESOUTRESQ Output
w1:RESQ output active.
w0:RESQ output inactive.
Ports Normal mode. Output is tristate.
WatchdogSwitched off. SW activation is pos-
sible.
Clock
monitor
EMU IC: Active. SW may toggle.
normal IC: Permanently active.
5.7.6. Reset Registers
28: 1F07 29: RC 30: Reset Control Register
bit76543210
wALIVSITPUII2CEN DCOCLP SELCLK RESDIS RESOUT
rALIVSITPUII2CEN DCOCLP SELCLK RESDIS0
reset00001000
This register controls the reset logic and clock generation.
This register controls the Watchdog module. Only values between 1 and 255 are allowed.
VSIVSUP
r1:VSUP
r0:no pending VSUP
w1:reset VSUP
Voltage Supervision Interrupt
D
supervision was interrupt source
D
D
supervision interrupt
D
supervision interrupt
TPUITPU Watchdog Interrupt
r1:TPU watchdog was interrupt source
r0:no pending TPU watchdog interrupt
w1:reset TPU interrupt flag
WDRES Watchdog Reset Source
r1:Watchdog was reset source.
w:Any write access to CSW1 resets this
flag.
First write the desired watchdog time value to this register. On further writes, to retrigger the Watchdog,
alternatingly write a value (not necessarily the former
time value) and its bit complemented value. Never
change the latter value.
94Micronas
Page 95
ADVANCE INFORMATIONVCT 38xxA
5.8. Memory Banking
*D0 ... D7
Banking
Register
A15 ... A19
Interrupt
65C02
Controller,
DMA
Logic
*A15
*A0 ... A14
*Processor internal Bus
A0 ... A14
Fig. 5–5: Block diagram of Memory Banking
The 8-bit processor W65C02 only allows access to
64 kByte of memory space. To allow access to the
expanded memory range above 64 kByte, a specific
banking hardware is implemented. The physical
address range above 32 kBytes (A15 = 1) is separated
into several banks of which only one at a time is
enabled and selected by the Banking register (BR),
which is programmable as any other standard peripheral register by writing the desired value into its specific address. The content of the BR is also readable,
so the software may check the current bank at any
time. The applied software is responsible to program
the BR with the correct bank number at the right time.
Since the upper 32 kBytes range is switched immediately after programming the BR, correct function is not
guaranteed if it is changed by a program sequence
running in a switched bank. BR settings need to be
done in the lower 32 kBytes (A15 = 0), which is the
non-switchable master bank (bank 0).
A15 ... A19
Address
Decoder,
Memory,
I/O
A0 ... A14
5.8.1. Banking Register
37: 1F0F 38: BR 39: Banking Register
bit76543210
r/wBN
reset00000001
BNBank Number
r/w:number of 32 kByte memory bank
Setting BN = 0 should be avoided because it will mirror
the non-switchable master bank (bank 0) into the
upper 32-kByte area (A15 = 1). RAM, I/O pages and
reserved addresses may be manipulated unintentionally.
RESET initializes BN = 1 to read control byte and reset
vector from bank 1. Also, interrupt vectors have to
reside in bank 1, because the Interrupt Controller generates the appropriate address of bank 1, but it does
not change the contents of the BR. Interrupt functions
have to reside in the non-switchable master bank
(bank 0). Otherwise,they need to be in each used
bank, because after getting the vector the unchanged
contents of the BR determine the current bank which is
valid if A15 is “1”.
Micronas95
Page 96
VCT 38xxAADVANCE INFORMATION
CPU RAM/ROMText RAMTPU Address Space
000000H
000FFFH
reserved
001E00H
002000H
008000H
00FFFFH
Bank 0Bank 1
078000H
Bank 3
Bank 2
088000H
080000H
084000H
Bank 5-14
Bank 4
087FFFH
0A8000H
0A0000H
Bank 16
Bank 15
0F8000H
Bank 20
Bank 17-19
Bank 21-30
Bank 31
DMA
128kbyte
256kbyte
512kbyte
16kbyte
≥128k Text RAM
000000H
Page
Ta b le
001000H
Scratch
002000H
TTX
Bank
003000H
OSD
Bank
004000H
Page
Memory
020000H
040000H
07FFFFH
19k Text RAM
000000H
Page
Ta bl e
001000H
Scratch
001800H
Page
Memory
004000H
OSD&TTX
Bank
16k Text RAM
000000H
Page
Ta bl e
001000H
Scratch
001800H
Page
Memory
003000H
OSD&TTX
Bank
int. ROM
ext. RAMint. RAMext. ROM
I/O-Reg
Fig. 5–6: Memory Banking shown with the maximal size of addressable memory
5.9. DMA Interface
The DMA interface connects the TPU SRAM interface
to the CPU memory bus (see Fig. 5–7). This is done to
avoid extra pins for external TPU page memory.
As long as the DMA interface is disabled, the TPU cannot access the CPU address bus and therefore should
not transfer data to/from the internal/external SRAM.
To ensure this, the controller should reset the TPU
The DMA interface must not be operated during CPU
Slow mode. The DMA interface can be disabled via
DMAIM.DMAEN.
before disabling the DMA interface. After reset the
TPU will not access the memory until receiving the I
command “DRAM_MODE” (see Section 3.12. on
page 68).
2
C
96Micronas
Page 97
ADVANCE INFORMATIONVCT 38xxA
A[18:0]
TPU
SRAM
D[7:0]
DMA Interface
Interface
RWQ
Fig. 5–7: Block diagram of DMA interface
In general, all TPU addresses are mapped into bank
16 to 31 of the CPU address space by forcing the MSB
of the address bus to “1” (see Fig. 5–8). Additionally
4 memory segments can be mapped into any address
area by programming a set of DMA registers (see
Fig. 5–9).
Address
Mapping
PH2
RWQ
RDY
BE
CPU
ADB[19:0]DB[7:0]RWQ
Special care should be taken when mapping TPU
addresses into the RAM area of bank 0. Any overlap between TPU memory (e.g. OSD Bank) and
controller memory (e.g. non zero page variables)
must be avoided.
A[18:8]
TPU Address Bus
A19 = “1”
map
1
1212
Fig. 5–8: DMA address mapping
map
2
Mux 1:5
12
ADB[19:8]
map
3
12
map
4
1212
match4
match3
match2
match1
3
Decoder
Micronas97
Page 98
VCT 38xxAADVANCE INFORMATION
&
=
≥1
MASK n
CMP n
MAP n
match
&
&
A[19:8]
A[19:8]
n: mapping logic 1 to 4
12
12
12
12
If the mapping logic does not find any address match,
the TPU address is directly put on the CPU address
bus with A19 set to “1”. In case of multiple matches,
the priority is map1 > map2 > map3 > map4.
76: 1E0C 77: CMP1H 78: Compare 1 High Byte
79: 1E0D 80: CMP2H 81: Compare 2 High Byte
82: 1E0E 83: CMP3H 84: Compare 3 High Byte
85: 1E0F 86: CMP4H 87: Compare 4 High Byte
The Interrupt Controller has 16 input channels (see
Fig. 5–10 on page 100). Each input has its own interrupt vector pointing to an interrupt service routine
(ISR). One of 15 priority levels can be assigned to
each input or the input can be disabled. The Interrupt
Controller is connected to the NMI input of the CPU.
But despite of the non-maskable interrupt input, it is
possible to disable all interrupt sources in total in the
Interrupt Controller.
5.10.1.Features
– 16 interrupt inputs.
– 16 interrupt vectors.
– 15 individual priority levels.
– Global/individual disable of interrupts.
– Single interrupt service mode.
5.10.2.General
Interrupt requests are served in the order of their programmed priority level. Interrupt requests of the same
priority level are served in descending order of interrupt input number.
operates with the new vector of the interrupt service
routine.
When the Interrupt Controller writes the new vector to
the address bus, the interrupt pending flag of this vector is set, indicating that no interrupt is pending.
The software must pull the top entry from the priority
stack at the end of an interrupt service routine. This
happens with the write access to the interrupt return
register IRRET. Then the next entry (with lower priority) is visible at top of stack and is compared with the
priority latch.
The Interrupt Controller and related circuitry is clocked
by the CPU clock and participates in CPU Fast and
Slow mode.
5.10.3.Initialization
After reset, all internal registers are cleared but the
Interrupt Controller is active. When an interrupt
request arrives, it will be stored in the respective pending register IRP/IRRET. But it will not trigger an interrupt as long as its interrupt priority register IRPRIxy is
set to zero.
Proper SW configuration of the interrupt sources in
peripheral modules has to be made prior to operation.
Each of the 16 interrupt inputs clears a flag in the interrupt pending register (IRRET and IRP), which can be
read by the user. A pending interrupt enables the output of the corresponding priority register (IRPRI10 to
IRPRIFE) which is connected to a parallel priority
decoder together with the other priority registers. The
decoder outputs the highest priority and its input number to a latch. The latched priority is compared with the
top entry of the priority stack. The top entry of the priority stack contains the priority of the actual served
interrupt. Lower entries contain interrupts with lower
priority whose interrupt service routines were started
but interrupted by the higher priority interrupts above. If
the latched priority is lower or equal than the top of
stack priority, nothing happens. If the latched priority is
higher than the top of stack priority, a NMI is sent to the
CPU and the latched priority is pushed on the stack.
The Interrupt Controller signals an interrupt by NMI
input to the CPU. After the current instruction is finished the CPU starts an interrupt sequence. First it
puts the program bank register, the program counter
High byte, the program counter Low byte and the program status register to the stack. Then the CPU writes
the vector address Low byte (00FFFAh) to the bus.
The Interrupt Controller recognizes this address and
stops the CPU by the RDY signal. Now the Interrupt
Controller writes the vector address Low and High byte
of the corresponding interrupt number to the bus and
releases the CPU by releasing RDY. The CPU now
Before enabling individual inputs, make sure that no
previously received signal on that input has cleared its
pending flag which may trigger the Interrupt Controller.
Clear all pending interrupts with the flag IRC.CLEAR to
avoid such an effect.
5.10.4.Operation
Activation of an interrupt input is done by writing a priority value ranging from 1h to Fh to the respective
IRPRIxy register. Upon an interrupt request, pending
or fresh, the Interrupt Controller will immediately generate an interrupt.
During operation, changes in the priority register setting may be made to obtain varying interrupt servicing
strategies. Flags IRC.DAINT, IRC.DINT and
IRC.A1INT allow some variation in the Interrupt Controller response behavior.
5.10.5.Inactivation
There are two possibilities to disable an interrupt within
the Interrupt Controller. Changing the priority of an
interrupt input to zero disables this interrupt locally.
Interrupts are globally disabled by writing a zero to flag
IRC.DINT of register IRC.
Micronas99
Page 100
100Micronas
VCT 38xxAADVANCE INFORMATION
Int-Input 1
Int-Input 2
Int-Input 3
Int-Input 4
Pending
Register
R
Q
S
R
Q
S
R
Q
S
R
Q
S
Priority
Registers
IRPRI10
IRPRI32
4
prio
4
4
4
clke
Parallel
Priority
Decoder
Priority
Latch
4
priority
44
input #
clke
Priority
Stack
15 x 4
clke
Ctrl
A
A>B
B
push
pull
CCUNMIDISCCUNMI
&
NMI
IRRET write
DMAE
RDY
Int-Input 15
Int-Input 16
R
Q
S
R
Q
S
Clear Request
IRPRIFE
16
Fig. 5–10: Block diagram of interrupt logic
00FFFA
4
Interrupt
Vect or
4
Ta bl e
16
enable
PAT CH
DMAE
Ph2
A
A=B
B
A0...A23
&
clke
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.