Enabling a TFT LCD Display on an Intel Galileo Board



Similar documents
Specification Update. January 2014

Software Solutions for Multi-Display Setups

Intel HTML5 Development Environment. Tutorial Test & Submit a Microsoft Windows Phone 8* App (BETA)

The Case for Rack Scale Architecture

Intel Core TM i3 Processor Series Embedded Application Power Guideline Addendum

Intel HTML5 Development Environment. Tutorial Building an Apple ios* Application Binary

2013 Intel Corporation

Video Encoding on Intel Atom Processor E38XX Series using Intel EMGD and GStreamer

Creating Full Screen Applications Across Multiple Displays in Extended Mode

Intel HTML5 Development Environment Article Using the App Dev Center

Intel Technical Advisory

Intel SSD 520 Series Specification Update

Internal LVDS Dynamic Backlight Brightness Control

WHITE PAPER. LVDS Flat Panel Display Interface on Intel Desktop Boards. July 2009 Order Number: E

Customizing Boot Media for Linux* Direct Boot

Displaying Stereoscopic 3D (S3D) with Intel HD Graphics Processors for Software Developers August 2011

Intel Media SDK Library Distribution and Dispatching Process

Power Benefits Using Intel Quick Sync Video H.264 Codec With Sorenson Squeeze

Intel Core i5 processor 520E CPU Embedded Application Power Guideline Addendum January 2011

Intel Retail Client Manager Audience Analytics

Partition Alignment of Intel SSDs for Achieving Maximum Performance and Endurance Technical Brief February 2014

BSP for Windows* Embedded Compact* 7 and Windows* Embedded Compact 2013 for Mobile Intel 4th Generation Core TM Processors and Intel 8 Series Chipset

Creating Overlay Networks Using Intel Ethernet Converged Network Adapters

Intel 810 and 815 Chipset Family Dynamic Video Memory Technology

Intel Media SDK Features in Microsoft Windows 7* Multi- Monitor Configurations on 2 nd Generation Intel Core Processor-Based Platforms

iscsi Quick-Connect Guide for Red Hat Linux

Intel Small Business Advantage (Intel SBA) Release Notes for OEMs

Intel Internet of Things (IoT) Developer Kit

Intel Data Migration Software

Intel Data Direct I/O Technology (Intel DDIO): A Primer >

Intel 845G/GL Chipset Dynamic Video Memory Technology

Migration to New Display Technologies on Intel Embedded Platforms

Intel Modular Server System MFSYS25

USB 3.0* Radio Frequency Interference Impact on 2.4 GHz Wireless Devices

Intel Desktop Board DG43NB

Intel HTML5 Development Environment. Article - Native Application Facebook* Integration

Intel Extreme Memory Profile (Intel XMP) DDR3 Technology

Intel Unite. User Guide

Intel Desktop Board DP55WB

User Experience Reference Design

Intel Media Server Studio Professional Edition for Windows* Server

Intel Desktop Board DG43RK

Intel Solid-State Drive Pro 2500 Series Opal* Compatibility Guide

Intel Service Assurance Administrator. Product Overview

Intel Atom Processor E3800 Product Family

DATASHEET. ADAM Arduino Display Adaptor Module. Arduino Compatible Shield P/N: 4Display-Shield-FT843 For the 4D Systems 4DLCD-FT843 Display

Intel 965 Express Chipset Family Memory Technology and Configuration Guide

Douglas Fisher Vice President General Manager, Software and Services Group Intel Corporation

Intel 845G/845GL/845GV Chipset

Hetero Streams Library 1.0

Running Windows 8 on top of Android with KVM. 21 October Zhi Wang, Jun Nakajima, Jack Ren

How to Configure Intel Ethernet Converged Network Adapter-Enabled Virtual Functions on VMware* ESXi* 5.1

Intel Desktop Board D945GCPE

Intel Media Server Studio - Metrics Monitor (v1.1.0) Reference Manual

Intel Ethernet and Configuring Single Root I/O Virtualization (SR-IOV) on Microsoft* Windows* Server 2012 Hyper-V. Technical Brief v1.

3.2 inch QVGA TFT Color LCD User s Guide Version 1 & 2

Intel Retail Client Manager

Intel Desktop Board DG41BI

Intel Desktop Board DQ43AP

QUADRO AND NVS DISPLAY RESOLUTION SUPPORT

Haswell Cryptographic Performance

Intel Desktop Board DG45FC

ARM* to Intel Atom Microarchitecture - A Migration Study

Intel 865G Chipset Dynamic Video Memory Technology

Interfacing Intel 8255x Fast Ethernet Controllers without Magnetics. Application Note (AP-438)

Intel Retail Client Manager

Intel Platform Controller Hub EG20T

Intel Desktop Board D945GCPE Specification Update

Intel Desktop Board DG41TY

Intel Desktop Board DG31PR

Microcontroller Display Interfacing Techniques

Designing Feature-Rich User Interfaces for Home and Industrial Controllers

Intel Desktop Board DQ45CB

Intel IoT Gateways: Publishing Data to an MQTT Broker Using Python

Intel IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor: Spread-Spectrum Clocking to Reduce EMI

Intel 815 Chipset Platform for Use with Universal Socket 370

Understanding LCD Memory and Bus Bandwidth Requirements ColdFire, LCD, and Crossbar Switch

21152 PCI-to-PCI Bridge

with PKI Use Case Guide

Enabling Innovation in Mobile User Experience. Bruce Fleming Sr. Principal Engineer Mobile and Communications Group

RAID and Storage Options Available on Intel Server Boards and Systems

Camera Sensor Driver Development And Integration

This guide explains how to install an Intel Solid-State Drive (Intel SSD) in a SATA-based desktop or notebook computer.

Riding silicon trends into our future

Cloud based Holdfast Electronic Sports Game Platform

Intel Desktop Board DQ35JO

Intel Compute Stick STCK1A32WFC User Guide. Intel Compute Stick STCK1A32WFC

White Paper Amy Chong Yew Ee Online Sales Account Manager APAC Online Sales Center Intel Corporation. BOM Cost Reduction by Removing S3 State

Intel Q35/Q33, G35/G33/G31, P35/P31 Express Chipset Memory Technology and Configuration Guide

VNF & Performance: A practical approach

Revision History. Revision Revision History Date

Using GStreamer for hardware accelerated video decoding on Intel Atom Processor E6xx series

Intel Integrated Native Developer Experience (INDE): IDE Integration for Android*

Introduction to graphics and LCD technologies. NXP Product Line Microcontrollers Business Line Standard ICs

Prepared by: Paul Lee ON Semiconductor

Intel Desktop Board DP43BF

Intel vpro Technology. How To Purchase and Install Symantec* Certificates for Intel AMT Remote Setup and Configuration

Intel Desktop Board DG33TL

Transcription:

Whitepaper Wallace Lee Intel Corporation Enabling a TFT LCD Display on an Intel Galileo Board June 2014 330809-001

Executive Summary Intel Quark X1000 is a 32-bit sub-atom System-on-a-Chip (SoC) at onefifth the size of the Intel Atom processor and uses one-tenth of the power. The chip is targeted primarily for headless applications. Consequently, the Customer Reference Board (CRB) for Intel Quark, the Intel Galileo board, was purposely built without display capability. The price, power, and performance make the Intel Quark SoC a perfect match for fixed-function, connected, embedded devices such as an Internet-of-Things (IoT) gateway with no user interface a class of device traditionally invisible to the enduser. It is the convergence of trends that triggered the need for some form of display and touch capabilities on the Intel Galileo board to support increasingly demanding IoT applications. Nevertheless, we have observed an increased blurring of the distinction between embedded devices and consumer products ranging from smartphones, tablets, and home appliances to industrial control systems and a vast array of handheld mobile devices. Additionally, there is the trend of increasing richness in features of many small system. Consequently, we ran out of space on the surface of these things to fit all buttons and switches that would be needed to operate them. It is these convergence of trends that trigger the needs for some form of display and touch capabilities on the Intel Galileo board to support increasingly demanding IoT applications [1]. 2

Contents Enabling Display on Intel Galileo... 4 Terminology... 4 TFT LCD Screen Selection Criteria... 5 Display Resolution... 5 Dot Pitch... 5 Viewable Size... 5 Response Time... 5 Refresh Rate... 6 RGB Color Model... 6 Color Support... 6 Backlight... 6 View Angle... 6 Transmissive/Reflective/Transflective LCD... 6 Touch Capable... 7 Display Interface... 7 Hardware & Software Configuration... 8 Robopeak 2.8 USB TFT LCD Touch Screen... 8 Integrating Robopeak USB Display Driver in Yocto*... 9 Adafruit 2.8 TFT Touch Shield v2... 10 Using Adafruit TFT Shield on an Intel Galileo Board via Arduino Sketch... 10 Conclusion... 12 References... 13 3

Enabling Display on Intel Galileo This whitepaper explains how to connect a Thin-Film Transistor (TFT) display to an Intel Galileo board in the absence of an on-chip graphics controller. The paper includes TFT screen selection guidelines and describes hardware and software configurations. Two examples are described. One example demonstrates the process of enabling a 2.8 Robopeak* Mini USB display on Yocto* for use with an Intel Galileo board. Another example shows how to enable an SPI-based 2.8 TFT Display on Intel Galileo board in Arduino* Sketch. Terminology This whitepaper use the following terms and definitions. Terminology TFT LCD MIPI DSI GPU SoC Description Thin-Film Transistor Liquid Crystal Display Mobile Industry Processor Interface Display Serial Interface Graphics Processing Unit System-on-a-Chip 4

TFT LCD Screen Selection Criteria There is a variety of TFT screen types in the market today. This section examines the various parameters used commonly to describe a screen to help readers choose the right screen for their application. Display Resolution Corresponds to the number of pixels on the screen. It is usually quoted as Width x Height with units in pixels. Table 1 shows the display resolution found commonly in a TFT LCD screen. Table 1 Display Resolution Type Definition CGA 320 x 200 QVGA 320 x 240 VGA 640 x 480 WVGA 850 x 480 SVGA 800 x 600 HD720 1280 x 720 HD1080 1920 x 1080 UXGA 1600 x 1200 WQXGA 2560 x 1600 Dot Pitch The distance between the centers of two adjacent pixels. A smaller dot pitch results in a sharper image. Dot pitch is commonly found to be the same horizontally and vertically. Viewable Size Also known as the active display area. It is the size of a display panel measured on its diagonal. Common sizes on typical mobile devices are 1.5, 2.0, 2.8, 3.2, 5 and 7. Response Time The amount of time a pixel in a display takes to change its state (that is, brightness, colors, and so on). 5

Refresh Rate Not to be confused with Frame Rate. This parameter indicates the number of times in a second that the display hardware updates its buffer. RGB Color Model A display hardware that uses the RGB model to represent the color of a pixel by adding the three additive primary colors, red, green, blue components to reproduce a broad array of colors. It is the most commonly used method to represent a color in computing. Color Support Represents the number of distinct colors supported by the display hardware. For example, an 8-bit color code supports a maximum of 256 unique colors. 16-bit color (High Color) supports a total of 65536 colors, and 24-bit color (True Color) supports a maximum of 16,777,216 color variations. Backlight The form of illuminations used in a Liquid Crystal Display (LCD) since LCDs do not produce light themselves. View Angle This is the maximum angle at which a display can be viewed with acceptable visual performance. Transmissive/Reflective/Transflective LCD This refers to the viewing modes of the LCD display: Transmissive LCDs use a backlight for the image to be visible. It gives better brightness at the expense of higher power consumption. This type of screen is not suitable for outdoor use without shades as direct sunlight overwhelms the backlight. Reflective LCDs require a light source (that is, natural light) from the front to illuminate the display. The main advantages are low power and light weight since there is no backlight. However, viewing is difficult when used in a dark room or outside at night. Transflective LCDs combine both the Transmissive and Reflective modes. It uses a backlight mechanism with the addition of a reflective mirror to let light pass through from the back. 6

Touch Capable Some TFT LCD screens come with a Resistive/Capacitive touch sensor where the touch controller is integrated into screen s flex cable. This feature is useful for the implementation of a human machine interface. Display Interface Graphical data is usually transferred to a TFT LCD screen from where it is stored through either a serial (reduced pin configuration) or a parallel data interface. The choice of display interface is dependent on the data communication modes made available by the TFT LCD controller. Serial interface examples include: SPI (3-wire or 4-wire), I 2 C, USB, MIPI DSI, HDMI, LVDS, anddp. Parallel transfer requires more I/O pins, and commonly uses the 8/9/16/18-bit Intel 8080 & Motorola* 6800 system interface. Note: TFT display hardware with a serial interface such as SPI/I 2 C/USB is more appropriate for an Intel Galileo board than using parallel transfer due to the lack of native GPIOs. However, the operating frequency of the serial transport interface will determine the maximum pixel resolution at a designated frame rate and the number of bits per pixel (BPP) or vice versa. For example, assuming an SPI interface operating at 20 MHz, a TFT display supporting a pixel resolution of 320 x 240 @ 18 bpp will have a frame rate of approximately 14 fps (20 MHz/[320 x 240 x 18 bpp]). 7

Hardware & Software Configuration Since Intel Quark SoCs do not have a built-in GPU, there is no display interface available on the Intel Galileo board. Nonetheless, the growth in the smartphone and tablet segments has spurred the growth of a TFT LCD driver IC that will eventually enable a low-cost TFT LCD panel solution for small systems that do not have a GPU such as the Intel Galileo board. In this section, we show how to configure an Intel Galileo board to display graphics. Two different TFT LCD screen options are explored to illustrate the idea: the Robopeak* 2.8 USB TFT LCD Touch Screen (enabled as a frame-buffer device in Yocto*) and the Adafruit* 2.8 TFT Touch Shield for Arduino v2 (drawing graphics in Arduino* sketch). Note: Please refer to the Intel Galileo Datasheet [3] for more detailed technical information about the board. Robopeak 2.8 USB TFT LCD Touch Screen The display hardware is available from http://www.dfrobot.com. See Table 2 for the screen specification. Table 2 Robopeak USB Display Specification Feature Specification Display Resolution 320 x 240 Color Depth 16 bpp Screen Size 2.8 Communication Interface Touch Screen USB 2.0 Full-Speed via Micro USB Single Point Touch The Robopeak USB display is connected to the Intel Galileo board by simply plugging the display into the USB host interface of the Intel Galileo board. 8

Integrating Robopeak USB Display Driver in Yocto* The Intel Galileo board is powered by a Yocto* based OS. Like any other custom hardware, a driver is needed for the software to interact with the display hardware. The Robopeak USB driver is installed into the Yocto based OS as a kernel module providing frame buffer support. The source code (a fork of the Robopeak/rpusbdisplay project) can be downloaded from https://github.com/wallacezq/rpusbdisp [4]. Please refer to the Readme for complete build and installation instructions. Figure 1 shows a working Intel Galileo board configured to run and display Yocto Reference UI (Sato) on a Robopeak USB display hardware. Figure 1 Yocto Reference UI (Sato) Running on an Intel Galileo Board 9

Adafruit 2.8 TFT Touch Shield v2 The display hardware is available from http://www.adafruit.com. See Table 3 for the screen specification. Table 3 Adafruit 2.8 TFT Touch Shield v2 Specification Feature Specification Display Resolution 320 x 240 Color Depth 18 bpp Screen Size 2.8 Communication Interface Touch Screen TFT LCD Driver SPI 4-wire Resistive Single Point Touch attached to STMPE610 ILI9341 The screen can be connected to Intel Galileo board through the Arduino Shield interface. Using Adafruit TFT Shield on an Intel Galileo Board via Arduino Sketch The Adafruit TFT LCD library made it possible for an Arduino Sketch project to interact with the display hardware without the need of a frame buffer driver in the kernel. This is especially true for microcontroller-based Arduino device which lacks the capability to run the Linux* OS. The API is simple and easy-tounderstand. Together with its companion library, the Adafruit GFX library, it provides a common set of graphics primitives for drawing points, lines, circles, rotation, and additionally makes it very easy to draw text or shapes for various fonts, colors and sizes. Figure 2 shows output from the Adafruit sample sketch. A fork of the Adafruit TFT LCD for the Intel Galileo board can be downloaded from https://github.com/wallacezq/adafruit_ili9341 [5]. 10

Figure 2 Adafruit Sample Sketch Running on an Intel Galileo Board 11

Conclusion Many TFT displays today come with a quality display driver equipped with various communication interfaces (such as. I 2 C, SPI, USB, and so on) suitable for devices, such as the Intel Galileo board, that lack a GPU to produce a graphical human interface. This paper described two off-the-shelf small TFT displays, namely the Robopeak* USB 2.8 TFT display and the Adafruit* 2.8 TFT Shield v2 hardware and demonstrated how the device can be configured as a kernel driver or a library for use in an Arduino sketch project. 12

References [1] Trends and Implications in Embedded Systems Development: http://www.tcs.com/sitecollectiondocuments/white%20papers/tcs_hitec h_whitepaper_trends-implications-embedded-systems- Development.pdf [2] Intel Galileo board software download : https://downloadcenter.intel.com/detail_desc.aspx?dwnldid=23171 [3] Intel Galileo board datasheet & schematics : https://communities.intel.com/community/makers/documentation/galile odocuments [4] Robopeak Framebuffer Driver for the Intel Galileo board: https://github.com/wallacezq/rpusbdisp [5] Adafruit ILI9341 Library for the Intel Galileo board: https://github.com/wallacezq/adafruit_ili9341 13

The Intel Embedded Design Center provides qualified developers with webbased access to technical resources. Access Intel Confidential design materials, step-by step guidance, application reference solutions, training, Intel s tool loaner program, and connect with an e-help desk and the embedded community. Design Fast. Design Smart. Get started today. http://www.intel.com/p/en_us/embedded. Authors Wallace Lee is a Platform Application Engineer (PAE) with the Intel Internet of Things Group (IOTG). 14

By using this document, in addition to any agreements you have with Intel, you accept the terms set forth below. You may not use or facilitate the use of this document in connection with any infringement or other legal analysis concerning Intel products described herein. You agree to grant Intel a non-exclusive, royalty-free license to any patent claim thereafter drafted which includes subject matter disclosed herein. INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined". Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information. The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm This paper is for informational purposes only. THIS DOCUMENT IS PROVIDED "AS IS" WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION OR SAMPLE. Intel disclaims all liability, including liability for infringement of any proprietary rights, relating to use of information in this specification. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted herein. Intel is a trademark of Intel Corporation in the U.S. and other countries. *Other names and brands may be claimed as the property of others. Copyright 2014 Intel Corporation. All rights reserved. 15