and utilize counter-timers and DMA technology.
While It’s Pretty Cool, there are
The AGI uses an analog oscilloscope for its graphics
output display. You’ll have to dust off your old analog
oscilloscope or perhaps buy a vintage unit off eBay. The
Oscilloscope Requirements sidebar details the features
you need to look for when evaluating possible scope
candidates for use with this project. Since we use an
oscilloscope as the display screen, the size and display
color is fixed by the cathode ray tube inside the scope.
While each individual point is displayed on the screen
as either ‘full ON’ or ‘full OFF,’ variable brightness is easily
achieved by varying the point-density of the dots that
make up each graphic feature (more on this in Part 2).
Why an Arduino Due?
At first, I labored over the multitude of CPU boards
available, but it soon became apparent only one board
would “Due.” (I know, it’s a terrible pun.) Even though the
Beagle Bone and Raspberry Pi families have faster CPUs
and more memory, only the Arduino Due CPU includes a
pair of DMA-driven on-chip DACs.
Getting XY Data Out to the Scope
While programmed I/O using an Arduino
analog Write() command is a common way to output data
to the DACs, the AGI uses DMA techniques. We’ll discuss
this further in Part 2, but for now, suffice it to say that we
connect the DMA hardware inside the Due to a
COUNTER-TIMER which automatically sends the X-Y data
array out through the DACs to the oscilloscope screen at
very high speeds.
For the AGI project, the Due provides two DAC
outputs; each of which translates a 12-bit unsigned
integer into one of 4,096 different analog voltage
levels. As measured at the processor DAC pins, the
CPU outputs a voltage of 0.5V when converting the
integer value 0, and outputs 2.75V when converting
the integer value 4095. Dividing this 2. 25 volt peak-to-peak voltage range by 4096 means that each step
or bit change at the DAC input results in a 550 µV
change at the DAC output. These signals are buffered
by the AGI circuits before they are sent on to the
oscilloscope for display.
In addition to resolution, DAC speed is also
FIGURE 4. DAC speed and AGI timing signals.
AGI Oscilloscope Requirements
Overall plot quality is influenced by the quality and
performance of the oscilloscope and CRT used. This project
works well only with analog oscilloscopes; digital scopes
will only produce poor looking output.
There are many analog scopes manufactured by
Tektronix, HP, Phillips, Leader, GW-Instek, and others that
will work well. Used models are often available starting at
less than $50. Look for these key features as you evaluate
• Screen size: Larger is better!
• For best display quality, scope frequency response
should be 10 MHz or more.
• Scope must support an X-Y operating mode.
— Scopes that support XY mode typically have panel
markings that clearly show XY inputs and settings.
• Scope must have a Z axis or “Intensity Drive” input.
— Check the rear panel of the scope to find this
24 February 2018