Start
Typical
MCU Tasks
Microcontroller
Mode
Watch
This!
Put the GP-22050 to Work
Closing
the Lid
Sources and
PDF
MICROCONTROLLER
MODE
Unless
your project is complex or computationally intense,
you’re most likely to find yourself writing
code to do simple binary transfers—which may
or may not correspond to internal or external
events—to a microcontroller’s I/O port pins.
For instance, I’m currently working on a real-world
project that basically monitors time, switches,
and sensors to determine which of the device’s
motors, fans, or valves to activate or deactivate.
This
month, I’ll cover the topic of doing microcontroller
things without microcontrollers. I happen to
have in my possession a Byte Paradigm GP-22050
waveform generator that can be plugged into
a microcontroller’s I/O fabric (e.g., the aforementioned
microcontroller-controlled mechanical device).
It can perform the same basic I/O operations
as a microcontroller.
The
GP-22050 wasn’t designed to replace your project’s
microcontroller. It was designed to help you
develop and debug your microcontroller-based
projects. The GP-22050 easily attains microcontroller
mode. It can clock digital data in and out of
its 16-bit I/O port and 6-bit control/trigger
port at speeds ranging from 800 Hz to 50 MHz.
Thus, the GP-22050 easily ramps up to attain
microcontroller mode and allows you to do microcontroller
things without a microcontroller.
The
GP-22050 is touted as an arbitrary digital waveform
generator. Its six control signal outputs can
also be configured as a mix of control outputs
and trigger inputs. As with most digital applications,
a clock is needed to keep everything orderly.
In addition to providing a programmable output
clock signal, the GP-22050 can operate on its
own internal clock or use an external reference
clock. If you don’t need to move bits at 50
MHz, you can run it in Static mode, which allows
you to manually define static signal levels
on selected GP-22050 output pins.
The
GP-22050’s control outputs can also operate
in Manual mode by specifying default values.
When the default values option is invoked, clicking
the associated default value check box will
put a 1 on the related control pin. Leaving
the default value check box blank will output
a 0 on the selected control pin.
The
GP-22050 can also be configured to act as a
state analyzer. In State Analyzer mode, the
GP-22050’s 16 data lines act as inputs and the
incoming bit pattern is sampled and stored.
Samples of incoming data patterns can also be
viewed in real time when the GP-22050 is in
Real-Time Monitor mode, which is a mode akin
to a logic probe on steroids.
If
you need to embed the GP-22050 functionality
into your application, the GP-22050 package
comes with a C/C++ DLL and scripting library.
Also, if you have a target that uses a JTAG
interface, the GP-22050 provides basic JTAG
operational capability as well. Although the
GP-22050 is capable of doing some really complex
and amazing things, the GP-22050 feature I found
most useful was the ability to create an arbitrary
digital waveform using information stored in
a configuration/data file. To show you how this
feature works, I attached an HD44780-based LCD
panel to the GP-22050 (see Figure 1, p. 62).
|

(Click
here to enlarge)
|
Figure
1—Nothing fancy here. The GP-22050 stands
in for a microcontroller. The target device
could just as well be a memory device (e.g.,
EEPROM or a microcontroller) because the
system’s logical stimulus is contained totally
within the GP-22050. |