Issue
150 January 2003
GUI
Interfacing
A
Straightforward, Simple Solution
by
Jeff Bachiochi
Without
the proper tools, even a straightforward project
like interfacing a micro to a GUI can be complicated.
So, it’s always refreshing when a company develops
technology that can simplify such a project.
Start
Support Tools Currency
Converter
iButton
Application Flow
Design In
Sources and PDF
Every
time I reach under the sink for a bottle of cleaner,
I’m forced to choose between a dozen different products.
You need to be a chemist nowadays to decide on the appropriate
purifier, disinfectant, sanitizer, or germicide for
a toxic cleanup. And these choices are independent of
whether you want the citrus fresh, mountain meadow,
or bouquet scent, not to mention the streak-free, low-residue,
or aloe-based (gentle on your hands) options. Enough
already. Just give me the soap. I don’t need colored
swirls, specially shaped bottles, or pleasant scents.
I just want it to clean.
Half
of the stuff I try doesn’t seem to cut through the goo.
But, isn’t this true of most of the things we do today?
Getting the job done can be frustrating. When you grab
a wrench, you never know whether you’re looking for
a metric or English size. Half of the parts on today’s
automobiles require special tools for removing them.
Have you ever purchased a piece of electronic equipment
only to find out after the fact that it requires a special
battery? Did your furniture come with an inadequate
assembly manual that was written in a foreign language?
Nothing is easy anymore.
When
I design a product, I like to keep things simple. Amulet
has simplified the task of interfacing a microcontroller
to a GUI front-end. The Easy GUI Browser Chip, along
with a few peripheral chips, can store and display all
of your application’s HTML-authored graphic screens.
In addition, it handles analog touch-screen input for
a complete GUI front-end, thus reducing the load on
your microcontroller. All of this is interfaced through
a simple serial interface.
GUI
ENGINE
The
AGB64LV01-QC GUI engine is an 84-pin PQFP package that
will simplify your life. It achieves this by off-loading
all of the raw LCD control from your application processor
and acting like a stand-alone HTML web page server.
As
an LCD controller, the chip supports raw dot matrix
LCDs up to 480 × 640 (VGA). A hardware UART provides
simple application communication and enables the flash
memory updates of your display pages. A parallel address
and data bus interface to SRAM for system and active
display data storage. Furthermore, an SPI interface
is used for nonvolatile, compressed (uHTML) display
screen and graphics storage. Analog touch-screen input
is supported through the SPI port using a touch-screen
IC like Burr Brown’s ADS7846. Refer to Figure 1 for
the typical circuit arrangement.
|

(Click
here to enlarge)
|
Figure
1—Amulet’s AGB64LV01 GUI controller requires few
external components to support an LCD and touch
panel. It can serve stored HTML pages to an LCD
and retrieve user feedback without the use of any
other processor. |
In
addition to general-purpose computing, the CPU was designed
to render graphics and handle I/O. The LCD controller
consists of a line buffer and raster controller. The
line buffer shares the SRAM with the CPU. A memory interface
unit is implemented to resolve arbitration between the
two. The raster controller is responsible for producing
horizontal and vertical syncs as well as the data clock
and pixel data (from the line buffer) for the LCD.
The
CPU, by way of a separate internal I/O bus, handles
the raster controller along with the three system timers,
UART, and SPI master. The SPI flash memory stores the
uHTML pages. The size of the memory is the limiting
factor for display page capacity (and how storage space
can be increased).