circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

August 2006, Issue 193

Microcontroller-Free Design
A GP-22050 Plays the Role of MCU


by Fred Eady
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.