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





 

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 ToolsCurrency 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).