Displays
Paradigm Shifts In Embedded Displays
A new approach to implementing GUIs could see their use increase even further in embedded products. Lee Chee Ee, Engineering Manager at FTDI Chip, & Prashanth Boggarapu, Senior Software Engineer at FTDI, explore further in this ES Design magazine article.
The The widespread proliferation of touchscreen displays is giving the manufacturers of such items of equipment the opportunity to update their products. It will allow them to move from switches and buttons towards the implementation of control/data input mechanisms that have greater versatility, are easier to upgrade and more enjoyable to operate. And, as well as the touch and graphics elements, sound is now being brought into the mix too.
A conventional intelligent display system, with touch and audio functions included, is shown in Figure 1. There is a high performance microcontroller unit (MCU) at the heart of this system that is central to creating and manipulating the graphic images — typically this is done in a pixel by pixel fashion. It is usually accompanied by a high capacity NAND Flash memory which houses the extensive graphics library required, plus a large frame buffer to process the image content and drive the display. Finally a touch controller is needed to take care of the touchscreen stimulus and an audio digital-to-analogue converter is needed for the sound.
The system will normally consist of three to six separate chips with large parallel bus structures for the video implementation, which leads to a substantial bill of materials cost, utilises a considerable amount of board space and results in a relatively large power budget.
The presence of a high performance MCU with abundant I/O, plus the necessity for a large external memory, are both restricting when looking to implement GUIs in non-consumer applications, which can often be of a cost-sensitive nature. Furthermore, the inherent complexity of this type of system will have a large design overhead associated with it and is likely to push the capabilities of engineers who are not normally familiar with GUI implementation.
Simpler GUIs
If some form of more cost-effective, streamlined and power efficient deployment were possible, then it would be much easier to justify implementation of advanced GUIs into various parts of the non-consumer sphere. The engineering team at FTDI Chip were given this problem to tackle and the resulting solution is shown in Figure 2. The simple system shown here means that less data transfer is needed between devices, with the display, touch and audio processing executed in a less complicated way, along with the advantages of a smaller footprint solution and easier development which lowers overall costs and enables faster time to market.
The foundation on which this more elegant and minimalistic display system is built is the company’s FT800 - a highly-integrated, easy to use graphic controller IC that offers display, audio and touch functionality in a compact package. What differentiates this device, and thus the display systems derived from it, is that rather than rendering the display in a pixel by pixel fashion, an object-oriented approach is used to deal with the system’s audio and visual output. Objects can be images, fonts, specific sounds, templates, overlays, etc. The controller chip comes preloaded with a broad portfolio of different fonts and sounds on its embedded ROM, making it easy for engineers to construct the GUI they require for their specific application. In addition the user can create their own objects or transfer JPEG and audio files that can be readily executed by the FT800 co-processors.
Because it is considerably less data intense, the frame buffer can be dispensed with and the large memory is effectively made redundant too. Its embedded 256kByte internal object memory can store and execute approximately 2000 objects that constitute various display needs and render the display using a 2kByte buffer. The compactness of this process is enabled by the object oriented design methodology. The FT800 houses the graphics intelligence, such that the system host processor has minimal graphic responsibilities, resulting in the usage of lower end MCUs (8-bit as opposed to 32-bit) or, because of the low bandwidth requirements, that the current MCU can be maintained while easily enabling a professional GUI to be integrated into the existing product. In fact the low bandwidth SPI or I2C interfaces are used to communicate between the system host and the FT800, rather than needing a wide data bus — markedly reducing the number of pins, board area, and IO power consumption.
The FTDI Chip FT800 is the first product release of the company’s EVE (Embedded Video Engine) advanced graphic platform, aimed at cost effective intelligent QVGA (480 x 272) and WQVGA (320 x 240) TFT display assemblies. Its built-in touch controller supports 4-wire resistive touch sensors, while the single channel audio controller accepts PCM signals and allows midi-like sound quality (so that beeps, chirps and other simple tones can be produced, as well as playback of recorded audio from and SD card or USB Flash drive). Dithering hardware provides 24-bit (true colour) support on an 18-bit interface. Its anti-aliasing feature removes jagged edges — greatly enhancing the appearance of the display’s output and resulting in sharper images. The 262k colour gamut is more than adequate for the target applications. A series of widgets facilitate the creation of complex objects e.g. analogue clocks, keys, buttons, gauges, toggle switches, tick boxes, etc. Increasing ease of use even further, the FT800 can define areas on the display and assign a specific value to it. If a touch event happens within this area the controller just has to send back a single digit of data, rather than the full XY coordinates.
Support from MikroElektronika’s VisualTFT tool permits the development of display images that can be compiled to code for the system MCU. Engineers can drag and drop objects onto a palette to create the image content that the processor must display. VisualTFT can convert the graphical input to text code which may then be compiled using a variety of different compilers. Code can be further edited using the text editor to alter location and colour of objects placed on the palette.
As the uptake of GUIs using touch interaction continues across a raft of different applications, the overall validity of the current cost/performance ratio has to be queried. By taking a totally new approach and implementing it throughout the GUI design, it is clear that engineers will now be better positioned to implement high quality, intelligent displays into their system designs without the need for major financial outlay and with only minimal impact on their development cycles.