## Theory of Operation

Introduction

The scope clock uses a highly uncommon method called Lissajous figures to draw
characters on the screen. Whereas most every other oscilloscope display in the
world uses short line segments or dots to form characters, the scope clock
sweeps the electron beam with sine and cosine waves. Always moving, the beam
produces smooth, gentle curves with no bright spots or jaggies.

A Lissajous figure is produced when an oscilloscope beam is moved in the X axis
by a sine wave, and a matching sine wave that is 90 degrees out of phase
(called quadrature) is applied to the Y axis. Most people who have taken an
electronics or physics class have done this experiement, then wondered what
possible use it could have in the real world. Well, here's that use.

Circle Generator

The scope clock has special circuitry called a circle generator. This consists
of five parts: The wave shaper, the shape selector, the DACs, the X-Y summer and
the arc blanker.

The wave shaper starts with a 38.4 KHz square wave that is produced by dividing
the 19.6608 MHz processor clock by 512. This square wave is sent through a
series of low-pass and band-pass filters to turn it into a 38.4 KHz sine wave,
then through more filters to shift its phase by 90 degrees. The sine wave is
also inverted to produce a negative wave, needed to make a backslash.

The wave selector determines which version of the wave is sent to the Y axis.
The X axis always receives the original sine wave. If that wave is sent to the Y
axis also, then a forward slash, a line with positive slope, will be produced.
If the inverted wave is sent to the Y axis, then a backslash will be produced.
If a 90 degree quadrature wave is sent to the Y axis, then a circle will be
produced.

The DACs are four digital-to-analog converters whose job is to scale the circle
size and position the center of the circle on the screen. These are special
DACs called multiplying DACs. A multiplying DAC will multiply, in the analog
domain, the voltage applied to its reference input by a scale factor equal
to the number loaded into the DAC divided by its input number range.

For example, if a 1 volt peak-to-peak sine wave is fed into the DAC and its
register is loaded with 64, which is 1/4 of its range of 256, then the outrput
will be a 1/4 volt peak-to-peak sine wave.

Two of the DACs are used to scale the sine waves for the X and Y axes. The other
two have 5 volts as their input, and simply produce X and Y offset voltages to
move the circle on the screen.

There are two summers, one each for the X and Y axes. A summer adds the offset
voltage and the sine wave and another offset voltage from the centering knob to
produce a signal that is amplified and sent to the oscilloscope tube deflection
plates.

The arc blanker switches the electron beam on and off as the sine waves sweep
out the circle on the screen. It is made from an 8-way multiplexer that selects
one bit of the arc code byte at a time as the circle is swept. The selection is
done by using three higher-frequency bits from the frequency divider that
produces the 38.4 KHz square wave.

The selected control bit is passed to the blanking circuit, which shifts it in
voltage and applies it to the grid of the CRT.

Controller

Because the circle generator hardware does most of the work, only a very simple
8-bit microcontroller is used to guide it. This is a Freescale (nee Motorola)
HC908GP32 processor with 32 Kbytes of ROM and 512 bytes of RAM.

The job of the microcontroller in the scope clock is to set up the circle-
generating hardware with the needed parameters for each character segment.

The code draws characters as a series of segments. Each segment is a single
circle, arc or line. A typical character has two to five segments.

A sector blanking control allows the creation of arcs. There are eight sectors,
each from one center axis of the circle to the nearest 45 degree point. Any of
the 256 combinations of eight sectors may be blanked.

The brightness of a segment is a function of the display time and the segment
size (height and width). It is necessary to make the segment display time an
integer multiple of the circle drawing period. This is accomplished by using
a programmed delay loop.

The circle generator runs at 38.4 KHz. This means that the minimum display time
(one revolution of the circle generator) is 26 microseconds long. For a standard
segment of perhaps 20 radius, the display time is 260 microseconds. This
translates to the ability to display about 40 small characters in 1/60 second.

Display size
The 3" diameter screen is 256 units square, which makes each unit about 0.01"
or 1/4 millimeter. The Maximum diameter is 255 units (2.5"), minimum is 1 unit
(.01"). The minimum usable circle diameter is about 1/32" or about 4 units.

Font

A basic font has been designed at 20 tall x 12 wide, proportional spaced. This
is big enough for 8 lines of text of 16 characters each. A double
sized font would be more readable from a distance, giving 4 lines of 8
characters each. Doubling in size again yields the time display size, giving
two lines of 4 characters each.

The font is stored as two tables: an index into the segment table sorted by
ASCII value, and a segment table with a series of segment groups, each
terminated by a flag containing the character width.

Each segment requires six bytes of data: X,Y position (circle center), X,Y
diameter, a shape code (\ or O or /) and the eight arc bits.

Back to the SC200 page.

Last updated March 19, 2008