feature article
Subscribe Now

Embedded Display Control Applications Using FPGAs

Embedded LCD Control Applications Requirements

Graphical LCD displays are increasingly designed into demanding embedded display control and video applications such as Human Machine Interfaces (HMI) for industrial consoles, vending machines, automotive and marine dashboard clusters, household appliances, medical devices and gaming machines.  A key requirement for efficient controller design is effective solution scaling as well as optimization for both cost and performance.  Designers often need to integrate third-party display control solutions into their own designs, which require IP that is stable and easy to integrate with designers’ own IP modules and processor interfaces.

System designers are turning to the use of programmable logic devices such as FPGAs to implement advanced LCD graphics solutions in their designs in order to support multiple display and processor types, as well as to respond to changing market standards and requirements within a compressed window of opportunity.  Following are some of the important general requirements for embedded LCD control applications, and how FPGAs excel in meeting these requirements:

Support Multiple Displays

The display market does not have well-defined standards for driving interfaces and timing, so a great deal of flexibility is needed for a single video controller to drive different displays.  Programmable logic provides the flexibility to implement different bit-streams, depending on the application, to configure FPGAs to support multiple LCD displays in the same video controller.

Solution Scaling

HMI applications range from ultra low cost consumer applications such as vending machines, to complex industrial, marine and automotive consoles.  FPGAs provide seamless support, with the same IP building blocks, for both small, low cost FPGA devices driving low cost QVGA TFT and very high performance, high resolution WSXGA displays with an 80MHz video clock.

Advanced Graphics with Low Processor Horsepower

HMI applications require reading multiple frame buffer areas into different layers and blending them into a single image, enabling complex graphics effects within the display controller.  Programmable logic platforms, due to the inherent parallelism of the FPGA, are able to implement at low cost what would otherwise have required an expensive processor.

Graphics Acceleration

Sophisticated HMI applications require advanced image compositing and functionalities ranging from basic BitBlt to advanced Porter-Duff alpha blending operations.  FPGA-based acceleration engines make it easy to implement graphics acceleration functions.

Efficient Design Capability

Programmable logic delivers efficient design capabilities via programmable registers in the FPGA that are designed to offer full control of the display driving signals and to adapt the display drivers to different standards such as TTL or LVDS, to change the clock frequency, to change different control signal timings and different color bit organizations.  FPGAs make it simple to integrate TFT LCD Timing controllers (TCON) and to control the display power-up sequence and other analog circuits.

Flexibility and Protection from Obsolescence

HMI applications depend on high-bandwidth frame buffer memory controllers to support external memory devices for frame buffer storage.  Programmable logic allows powerful memory controllers to be implemented for different kinds of memory, protecting the manufacturer’s investment in the FPGA platform.  Processor obsolescence is another area where programmable logic provides significant investment protection.  The flexibility of FPGAs allows processor interfaces to be implemented via USB, SPI or custom interfaces, making it easy to change processors or integrate into the designer’s own choice of processors.

Fig 1.jpg

Figure 1 – Embedded Display Control Device Implemented in an FPGA

Figure 1 shows a typical embedded display control device implemented in an FPGA.

The embedded display control device, in this case the FPGA, communicates with a host system or processor for control tasks, and with a touch-screen LCD panel for display output.  It interfaces to DDR memory for display page storage and refresh and with video input streams for real-time external video overlay.  The host system monitors status and issues commands to the FPGA.  The FPGA implements advanced functions for video control, graphics acceleration, touch-screen interface control, video input scaling, cropping and positioning and peripheral expansion via SPI.

Application:  Vending Machine Graphical User Interface

Vending has gone through significant changes over the past few years.  Traditional vending machine user interfaces used to be based on low cost character LCD displays and electromechanical pushbuttons.  New generations of innovative free-standing vending machines now incorporate colorful displays with on-screen text and overlaid video.  They incorporate built-in LCD panels that function as touch screens, displays for showing product information, intuitive interfaces and advertising.  Machines are still evolving to integrate different payment systems and Graphical User Interfaces. 

This application example profiles a product by a leading European manufacturer of free-standing vending machines for hot beverages.  The manufacturer needed an innovative new graphic LCD touch screen HMI to be configured for product selection and video advertising.


The application demanded a programmable video controller supporting a wide range of touch screen TFT with different graphical resolutions for a scalable family of machines, with an integrated touch screen controller.  The manufacturer needed a low cost embedded interface; support for Picture in Picture, initial Splash Image rendition, OSD (On Screen Display) overlay controlled by external microcontroller and overlaid video for product advertising.

Reasons for Choosing an FPGA Implementation

Vending machine manufacturers can have product lines that range from very low cost machines with character based or “text” LCD displays to ultra high-end machines with large TFT LCD screens capable of displaying video.  The machines typically are based on microcontrollers for simple I/O and payment system interfaces.  The manufacturer’s main problem was to retain the same controller for all vending machines for all display types.  Figure 2 depicts the manufacturer’s traditional and advanced display interface requirements.

Fig 2.jpg

Figure 2 – Traditional & Advanced Vending Machine Display Interfaces

In this case the manufacturer used the Lattice LCD-Pro Evaluation kit and its FPGA- based plugin reference design examples to quickly develop their own SPI drivers to manage graphics peripherals.  The video controller was used to drive low cost TFT 16:9 ratio 480×272 pixels.  A/D, D/A controller IP was used to interface to low cost 4-wire analog resistive touch screens.  Embedded NOR Flash was used to store bitmap application pictures and frames.  SPI slave IP created a low cost interface between the FPGA-based video platform and embedded microcontroller.  An FPGA-based enhanced graphics accelerator was used for BitBlt sprites and texts to reproduce bitmaps at different locations on the screen.  The BitBlt technique also was used to create embedded bitmap animation for advertising.

Why not use a microcontroller with an integrated video controller?

The main advantage of a System-On-Chip (SoC) with integrated video controllers is very low cost.  However, driving different types of TFT requires interfaces not offered as standard on a SoC.  Further, the integrated video controllers do not fit all LCD models, and additional logic is needed.  Application software often needs to be changed significantly from that supplied as reference.  Also, the integrated video controllers in the SoCs that were available did not have enough horsepower to support the manufacturer’s need to integrate advertising animation.

Why not use a low cost PC, such as one based on the Intel Atom Processor?

An embedded PC platform was tested by the manufacturer.  The main requirement for a vending application is optimal performance and the best support for the advertising system.  An Intel Atom platform proved to be too expensive.  Moreover, it required a complete rewrite of the application software in the manufacturer’s existing machine lines with embedded text display.  Embedded PC platforms were not suited for driving small TFT displays, making them unsuitable for use as a single standardized platform for machine lines with small to large displays.  Moreover, an x86 platform with the traditionally available OS was not considered stable enough for a largely unattended application continuously operated by the public.

In this example the manufacturer was able to meet their engineering objectives of multiple display type support, solution scaling and advanced graphics through the flexibility and performance of FPGA implementations, while meeting the business objectives of cost optimization and time to market through the use of configurable intellectual property cores implemented in an FPGA.

Evaluation Platforms Can Enable Rapid Prototyping, Accelerated Product Development

Evaluation Platforms are becoming an essential part of the designer’s tool kit for embedded display applications.  HMI system designers today want evaluation platforms to ship complete with advanced touch-screen video graphics, plug-in reference designs, color touch-screen display, color video camera, power supply and cables.  Along with reference designs, designers also prefer transparent access to all FPGA resources.  Software support requirements include support for creating custom screens using Microsoft Visual Studio, and support for overlaid BitBlt graphics that can coexist with operating systems like Windows CE via tools like DirectDraw. The manufacturer in the vending machine application example used the Lattice LCD-Pro Advanced Video Graphics Controller, an embedded display evaluation platform based on the LatticeECP2 FPGA, for rapid prototyping and accelerated product development.


Embedded display applications require support for multiple displays and processors while catering to long equipment life cycles in industrial, automotive and vending machine environments.  Designers often require the product line to scale from ultra-low cost to high-end HMI applications.  Programmable logic provides the flexibility and compute power required to render the high-performance graphics required in sophisticated embedded display control applications without relying on expensive processors and software.  Modularity and configuration options enable effective solution scaling and optimization for either cost or performance.

Leave a Reply

featured blogs
Jul 17, 2018
In the first installment, I wrote about why I had to visit Japan in 1983, and the semiconductor stuff I did there. Today, it's all the other stuff. Japanese Food When I went on this first trip to Japan, Japanese food was not common in the US (and had been non-existent in...
Jul 16, 2018
Each instance of an Achronix Speedcore eFPGA in your ASIC or SoC design must be configured after the system powers up because Speedcore eFPGAs employ nonvolatile SRAM technology to store the eFPGA'€™s configuration bits. Each Speedcore instance contains its own FPGA configu...
Jul 12, 2018
A single failure of a machine due to heat can bring down an entire assembly line to halt. At the printed circuit board level, we designers need to provide the most robust solutions to keep the wheels...