Micros
Creating sophisticated GUIs has never been easier
Building an application that integrates an advanced colour LCD may seem like a high-end specification, but thanks to the continued price erosion of display technology it is becoming increasingly common for OEMs to replace older segmented LED displays with monochrome or colour LCD alternatives.
This gives devices an instant ‘make over’, allowing them to offer much more engaging graphical user interfaces that can extend the product lifetime and enable a host of new functionality that may have previously been difficult to make accessible from the user’s point of view. The challenge now isn’t necessarily in integrating the display but developing the graphical sub-system needed to support it. Many of the commonly used LCD panels do not integrate a frame buffer or display driver. In applications using an advanced (and expensive) graphics processor this isn’t necessarily a problem, but for many applications that need only a modestly powerful microcontroller (MCU), this could represent additional discreet components and an associated cost – which in some case could equate to more than the cost of the MCU.
Microchip has addressed this problem by developing a range of PIC MCUs that integrate a complete graphics sub-system, including a frame buffer with colour look-up table, and a display controller. In addition, the PIC24FJ DA family integrates graphics hardware accelerators that drive compute-intensive graphics performance, such as object rendering and data or image decompression. This approach allows the PIC24FJ DA MCU core to support an increased range of applications such as intelligent thermostats, vending machines, industrial controls and remote controls, for example.
##IMAGE_3_C##
All the APIs necessary to create a fast and effective graphical user interface are included in Microchip’s free graphics library, but in order to help developers further, Microchip is also offering – free of charge – its Graphics Display Designer Suite. This visual design tool enables development of user interface screens on the PC environment while the prototype is being developed. The Graphics Display Designer Suite also offers automatic code generation, such that the engineering team need not write code to draw the designed screens. For those applications where greater control over the graphics is needed, engineers are still able to customise the features offered through Microchip’s free graphics library and the capabilities delivered using the Graphics Display Designer Suite.
The graphics library offers a number of pre-defined elements, including: buttons; windows; check boxes; radio buttons, text and images. Additionally, engineers can implement edit and list boxes, sliders and scroll bars, progress bars and meters/dials. Arranged over three layers, the library comprises generic modules, along with device- and application-specific layers, which work cohesively with the input devices used to create an interactive experience. It is predominantly the Graphics Object Layer, part of the library described as generic modules, that defines and controls the displayed elements.
Other important features of the new family include the integrated RAM, which provides the all-important frame buffer, and the hardware Colour Look-up Table. There are two RAM configurations available; 96K bytes and 24K bytes. This flexibility allows the family to target a range of applications where the screen’s resolution and colour depth dictate the amount of RAM required.
In general the family can support a display up to 320 by 240 (QVGA) at 8bpp (bits per pixel) colour depth without needing an external RAM component. However with an additional, external RAM, the same device can support a larger (VGA) display at 640 by 480 at 8bpp. Table 1 gives an overview of the screen resolutions that can be supported using the integrated RAM and, where necessary, an additional external RAM device.
As Figure 1 shows, colour depth and resolution are dependent on the application and it is possible to create an application that provides an incredible colour user interface without the need for additional external RAM. The RAM also acts as interchangeable colour palettes, which means a subset of the 65,536 colour available in 16bpp can deliver 256 different colours.
##IMAGE_2_C##
The integration present in the PIC24FJ DA family is extensive. The hardware accelerators for common graphic rendering functions work alongside the minimal amount of RAM providing a frame buffer and multiple colour palettes, and the display controller. The display controller is capable of interfacing to most of the LCD variants now being used in this class of application. Together, these features make the new PIC24FJ DA family a cost-effective solution to adding advanced graphical user interfaces to a range of products.
No other MCU provider is able to offer this level of integration at a comparable price. Most other solutions would need either an external frame buffer or a display controller, both of which represent additional cost and board space. Microchip offers all this functionality in a device that costs no more than any other PIC with a comparable level of integration; no premium is charged for the fully integrated graphics sub-system in the PIC24FJ DA family.
With the addition of Microchip’s popular mTouch capacitive touch-sensing technology, USB, a range of communication peripherals and the ability to interface easily to a resistive touch-screen, the new family of PIC devices offers everything needed to create much more engaging and immersive end-applications.
Lee K. Koh, AMAD Marketing, Microchip Technology Inc,.