Microchip logo
  • All
  • Products
  • Documents
  • Applications Notes

MCU Guided Selection Tool for Graphics

Welcome to the Graphics Guided Selection Tool. This tool helps you find a part from Microchip's broad portfolio of solutions that will fit your graphics needs.


{{currentQuestion.Title}}

{{a.Title}}

{{a.Description}}

No results were found for your requirements.

{{result.Title}}




Basic Concepts

Key Graphics Definitions

Refresh Rate: The rate at which the screen is "repainted". Generally 50-60 MHz is acceptable.

Frame Buffer: The place in memory where pixel data for the frame currently being displayed and subsequent frames are stored.

Color Depth: Expressed in bits per pixel (bpp). This is the number of possible colors that a pixel can represent.

BLIT: Stands for bit block transfer and is a data operation commonly used in computer graphics in which several bitmaps are combined into one using a boolean function.

Sprites: A two dimensional bitmap that is integrated into a larger scene.

Graphics Sub-System​

The basic components required to build a graphics sub-system are:

  • Display panel
  • Frame buffer
  • Display controller
  • Microcontroller
  • Software
  • Touch (optional)
Basic Concept Graphic
Display Panel
+

Display Panel

Display panels come in various sizes and resolutions. There are various factors that influence the choice of a display panel. Some of them are:

  • Application requirements
    • Color or monochromatic
  • Image details
    • Resolution
    • Color depth
  • Viewing distance
    • Screen size
  • Smart or dumb display panel
  • Type of interface
    • RGB
    • LVDS
  • Infrastructure
    • Availability of hardware and software support

Display-panel

 

Did You Know?

Microchip offers a Display Manager plug-in, the industry's first GUI Display Driver Configuration tool that enables quick support for new, unsupported and non-standard displays in MPLAB® Harmony. Click here to learn more.

16-bit PIC24 DA microcontrollers support Microchip Graphics Library and Visual Graphics Display Design (VGDD) to enable graphics interface design in minutes.

Frame Buffer
+

Frame Buffer

Frame buffer refers to the place in memory (usually RAM type) where pixel data for the frame currently being displayed and subsequent frames are stored.

The size of the frame buffer is determined by the screen size and the color depth​.

You can calculate the frame buffer size using the formula:

Frame buffer size (Bytes) = Number of Pixels X Color Depth (Bits) / 8

E.g.: For a QVGA display at 16 bpp color depth, the frame buffer memory required is 320x240x16/8 = 153,600 Bytes.

  • As the color depth and display resolution increase, the frame buffer size grows.
  • Most applications may use more than a single frame buffer which would increase the memory requirements as well.
  • The frame buffer can be stored in the microcontroller RAM, in external SRAM or integrated into an external display controller.

* The minimum memory required for a 24 bpp is more because of our 32-bit word length

Did You Know?

The PIC32MZ family offers up to 512 KB of SRAM which can be used as the frame buffer to drive upto WVGA display without the need of any external memory or a dedicated controller. Click here to learn more.

PIC24 DA family features an integrated graphics acceleration and a display controller to directly drive up to 4.3" WQVGA displays.

Display Controller
+

Display Controller

The display glass must be constantly refreshed by feeding the horizontal and vertical pixel data repeatedly from the frame buffer. This can be achieved in two ways:

  • Dedicated display controller: External/Internal to the MCU
  • MCUs with Direct Memory Access (DMA) and PMP/EBI interface: This approach is called Low-Cost Controllerless Graphics (LCCG)

graphics-advisors-graphical-systems-display-controller

 

Did You Know?

The PIC32MZ family offers up to 512 KB of SRAM which can be used as the frame buffer to drive upto WVGA display without the need of any external memory or a dedicated display controller. Click here to learn more.

PIC24 DA family features an integrated graphics acceleration and a display controller to directly drive up to 4.3" WQVGA displays.

 

Microcontroller
+

Microcontrollers

The application code running inside the microcontroller decides which data should be stored in the frame buffer and as the frame buffer changes, the display content also changes. The microcontroller must have sufficient processing power (MIPS) to render the required shapes in the frame buffer. The choice depends on:

  • Application requirements
    • Processing power required
    • Frame buffer
    • Additional frame buffer for 2D image processing
    • If other MCU features are required like connectivity, capacitive touch and so on
  • How a customer wants to drive the display module

 

Did You Know?

The PIC32 family of MCUs offer best-in-class 32-bit MCU performance and are integrated with a rich set of peripherals. Click here to learn more.

PIC24 DA family offers high peripheral integration including graphics accelerator, display controller and USB-OTG.

Software
+

Software

Any graphics application requires a software display driver which provides for:

  • Setting the color of a pixel
  • Implementing of APIs to draw fundamental shapes, for instance, a line, rectangle, bar, circle, text, image and so on.
  • More complex graphic elements, like labels, buttons, check boxes, sliders and progress bars are implemented in higher layers, which in turn, use the Software Display Driver.
  • 2-D image processing and dynamic event handling

 

Did You Know?

The award-winning MPLAB Harmony® Software Framework offers the choice of two best-in-class GUI design tools and graphics libraries, completely free of charge. Click here to learn more.

16-bit PIC24 DA microcontrollers support Microchip Graphics Library and Visual Graphics Display Design (VGDD) to enable graphics interface design in minutes.

Touch
+

Touch

Touch is becoming an important feature in most graphics applications which require human machine interface. Essentially there are two types of touch.

  • Resistive Touch
    • Consists of two layers with an air gap in-between
    • When a stylus or finger presses down on the outer surface, the measure of resistance between the two surfaces at the point of contact leads to detection of touch position.
    • Advantages:
      • Low production cost
      • High resistance to dust and water
      • Best used with finger or stylus or when there is no human contact (i.e. gloves) 
  • Capacitive Touch
    • Relay on sensing the conductivity from the skin on fingertip to the screen to determine the touch location
    • Advantages
      • Highly responsive compared to resistive touch
      • Supports multi-touch