Specifications
Chapter 1: Overview of the ZVG
1 – 2
A. What is the ZVG?
The ZVG (which stands for Zektor Vector Generator) is a vector generator which
attaches to a PC through a ECP compatible parallel port, and allows a PC to control
a vector monitor.
It is capable of running a wide variety of different X/Y (Vector) monitors, and
allows this by incorporating a number of jumper settings, and user selectable
parameters.
Vector information is sent to the ZVG through an IEEE 1284 compatible ECP port.
The ZVG has a small command buffer (255 bytes), and must receive a constant
stream of vector information to continuously display vectors.
The ZVG features an analog vector generator for very smooth vector generation. To
accomplish the critical timings needed to generate the vectors, the ZVG uses two
processors. The first is an Atmel Atmega16 CPU, used to handle parallel port I/O,
command parsing, and vector timing calculations. The second is an Atmel
AT90S2313 CPU, used to handle actual vector timing.
Much effort has gone into assuring the ZVG operates safely. A power on selftest is
run on both processors. These tests include calculating a Fletcher’s Checksum on all
firmware, and testing the ability of both processors to communicate properly.
If a checksum error is detected in either processor, or either processor does not pass
the communications test, the ZVG will indicate this by blinking the status LED (if
possible), and will not attempt to generate vectors.
The Atmega16 uses brown out detection, and watchdog timers are incorporated into
both processors. To assure the AT90S2313 always resets properly (it does not offer
brown out detection), the Atmega16 always forces the AT90S2313 through a watch
-
dog reset upon power up.
On power up, all I/O is immediately set to a monitor safe state, and any detected
errors holds this state. The monitor safe state consists of all Z-axis levels set to zero,
the Z-axis blanked, and the X and Y axes held to the center of the screen.
A background timer (in addition to the watchdog timer) is used to check for vector
activity. If no vectors have been drawn for 250ms the ZVG will return to it’s safe
state, preventing burn in, and / or the overheating of the monitor’s X/Y driver tran
-
sistors, in the case of a PC lockup or loose cable.