We detect you are using an unsupported browser. For the best experience, please visit the site using Chrome, Firefox, Safari, or Edge. X
Maximize Your Experience: Reap the Personalized Advantages by Completing Your Profile to Its Fullest! Update Here
Stay in the loop with the latest from Microchip! Update your profile while you are at it. Update Here
Complete your profile to access more resources.Update Here!
0
$0.00
Item Qty
Your cart is empty.

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)

Display Panels


Display panels come in various sizes and resolutions, and the factors that influence the choice of a display panel include:

  • Application requirements, such as color or monochromatic
  • Image details, such as resolution and color depth
  • Viewing distance, such as screen size
  • Smart or dumb display panel
  • Type of interface, such as RGB and LVDS
  • Infrastructure, such as availability of hardware and software support

Frame Buffer


Frame buffer refers to the place in memory (usually RAM type) that stores the pixel data for the displayed frame and subsequent frames. 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 × Color depth (bits) ÷ 8

Example: For a QVGA display at 16 bpp color depth, the frame buffer memory required is 320 × 240 × 16 ÷ 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 MCU 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 PIC32CZ CA family offers up to 1,024 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.

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)

Did You Know?

The PIC32MZ DA family offers up to 128 MB of DDR2 DRAM that can be used as the frame buffer to drive upto WVGA display along with an integrated display controller and a graphics processor.

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 Microchip Graphics Suite (MGS) offers the choice of two best-in-class GUI design tools and graphics libraries, completely free of charge.

Touch


Touch is becoming an important feature in most graphics applications that require a Human Machine Interface (HMI). There are essentially 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 (e.g. gloves) 
  • Capacitive Touch
    • Relies 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