The Sieg Defense Platform (SDP) consists of seven components: a touch
screen; a microcontroller; two FPGAs (these count as two separate components);
the stepper motors and circuitry used to aim the air hose at its target;
a black-and-white CMOS camera; and a VGA monitor.
Figure 1, below, illustrates the data flow between these seven components.
Figure 1. The dataflow between the seven components of the SDP.
Here is a brief description of the purpose of each of the seven components
that make up the SDP, and how they interact with one another.
Touch Screen
The touch screen responds to the user’s touch by sending data corresponding
to the coordinates of the touch. This information is sent via RS-232
protocol to our microcontroller.
Microcontroller
Our microcontroller receives the coordinates of a user’s touch
screen touch. This information is processed and then sent to our
first FPGA, FPGA 1, using a simplified Xbus interface (simplified in the
sense that the interface is simplex; we only need to send data in one direction,
from the microcontroller to FPGA 1).
FPGA 1
This FPGA is responsible for controlling the stepper motors.
In order to do this, it keeps track of where the user touched on the touch
screen as well as the current motor position (that is, where the air hose
is currently aiming). Our microcontroller sends the location of a
user’s touch to FPGA 1, via our simplified Xbus interface. Based
on this information, FPGA 1 sends control signals to an IC, which in turn
controls the stepper motors. FPGA 1 also sends the location of the
user’s touch and the current motor position to our second FPGA, FPGA 2.
Stepper Motors and Circuitry
An IC (the MC3479 from Motorola) drives the stepper motors.
We use an IC to drive the stepper motors because our XS40 boards are unable
to source the current necessary to drive the motors. FPGA 1 controls
the signals sent out by the IC. FPGA 1 tells the IC to drive the
motors either clockwise (which corresponds to moving the air hose left
or down, depending on the motor) or counter-clockwise (which corresponds
to moving the air hose right or up, depending on the motor).
CMOS Camera
A black-and-white CMOS camera sends images to FPGA 2.
FPGA 2
This FPGA is responsible for controlling the image that is displayed
on the VGA monitor. FPGA 2 displays the image from the CMOS camera
and also draws two sets of crosshairs over this image. One of these
crosshairs indicates where on the touch screen the user touched and the
second set of crosshairs indicates the current motor position.
VGA Monitor
We use a standard VGA monitor to display the images from the CMOS
camera. The monitor is driven by FPGA 2.