Handheld devices are becoming more advanced and handling more
multi-media applications than ever before. A mobile application that in
the past was only able to run on a high-end laptop personal computer
(PC) can now be easily implemented on a personal digital assistant
(PDA) device or Smartphone device.
It's also clear that handheld products are converging in capability,
blurring the lines between one's mobile phone, PDA, digital still
camera (DSC), video camera and audio/video personal media player (PMP).
As handheld devices continue to advance in sophistication, their
capabilities and features will continue to become more like PCs or
With larger, more colorful, high resolution displays, high speed
connectivity, an abundance of nonvolatile storage and QWERTY keyboards,
these devices, which also in many cases run a mobile version of the
Windows operating system, will soon make the need for carrying a laptop
A capability that is also starting to emerge in these handheld
devices is the ability to drive an external monitor, projector or
television. This capability is commonly known as video graphics array
(VGA) or TV-out functionality. It is predicted that greater than 40% of
all Smartphones will include TV-out functionality as a de-facto feature
While adding a feature such as VGA or TV-out may seem as simple as
adding the appropriate connector, its addition presents many system
design challenges in the areas of power management, device
interoperability, and user interaction. This article will discuss these
issues and present a solution to these technical system design
challenges based on QuickLogic's programmable solution platform.
Adding the ability to drive an external display from a handheld device
presents the following system challenges:
Management: Full speed (60 frames per second (fps) VGA or 30 fps
NTSC) video requires the inclusion of additional power-hungry
components such as extra memory devices for frame buffering, graphics
processors, video digital to analog converters (DACs) and NTSC
(National Television System Committee) /PAL (Phase Alternating Line)
Combined, these extra components can add a serious drain to the
system's power budget, affecting the overall energy consumed by the
device, which in turn diminishes battery life. When these components
are added, their power must be managed properly so as to consume the
least amount of power when operational, and to consume very little to
no power when unused.
Interoperability: Adding the feature and capability to drive an
external display device gives the user the ability to connect the
system to any display brand or technology of any geographical region or
age. Thus, it becomes important to provide flexibility in output video
timing and resolution to match the majority of common worldwide
Furthermore, the timing and resolution of the native display
internal to the device may not match the requirements of the display
externally connected to the device. Thus the VGA or TV-out subsystem
must include features such as frame rate conversion and video
scaling/cropping. Also, adjusting the parameters provided by these
features must be intuitive and easy for the user to manage.
Interaction: Aside from the requirement of the external display
subsystem being easy to manage, the user must also be able to provide
tactile input to the device when using the external display. Many PDA
or Smartphone devices have liquid crystal display (LCD) touch screens
that act as the main interface to the user, and thus must continue to
accept user input when an externally connected display is in use.
It is not acceptable for the user to use an LCD touchscreen for
input to the device if the respective display beneath the touch sensor
matrix is not operational. This means that the external display and
internal native display must operate at the same time (i.e.,
simulscan). While this may seem simple enough, it can be quite a
challenge if the internal and external displays differ in aspect ratio,
video timing (frame rate) and resolution.
Handheld Device Example
In a specific handheld device example, the device includes a native VGA
(480x640) resolution color active matrix LCD display oriented in
"portrait" mode. Portrait type displays (instead of landscape displays)
are common in handheld devices since they match the native shape of the
device and also resemble an 8½ x 11 sheet of paper or
Advanced handheld devices include the ability to rotate the image 90
degrees based upon the user's orientation of the device, such as when
displaying video versus static images or using a QWERTY keyboard for
user input. While the image can be easily rotated 90 degrees by the
graphics processor, the scan direction is fixed with respect to the
native display device.
For a portrait type LCD display, the
direction is from left to right, top to bottom with the display's short
side oriented at the top. This is a 3:4 aspect ratio screen, but
differs in scan direction by 90 degrees from a typical 4:3 (640x480)
Thus, an X/Y swap
operation is required to display the same image on
both display devices simultaneously. While the frame rate (vertical
sync) timing in these two cases could be kept constant between the two
displays, the number of lines and line rate (horizontal sync) timing
With respect to the display image, the native display is written to
line-by-line and the simultaneous external display is written to
column-by-column. Since an entire frame of lines must be available to
construct one image column, a full frame buffer is required to
successfully perform the X/Y swap operation.
Taking this example a bit further, if the native portrait VGA LCD
display must be locked to a 60 Hz frame rate and is to be used
simultaneously with an external PAL (50 Hz frame rate) or NTSC (59.94
Hz frame rate) display, then the frame rate (vertical sync) timing will
also differ between the two displays.
Differing frame rates for the native display and the external
display means that the X/Y swap image buffer must also handle a
different write versus read rate, and thus must be able to accommodate
different pixel clock rates as well as incorporate the ability to
manage (dynamically drop or re-use) multiple temporal frame buffers.
The X/Y swap and frame rate conversion operations must occur in real
time, consume as little power as possible and require as few components
and the least amount of printed circuit board (PCB) area as possible.
All these technical requirements must be met while keeping bill of
materials (BOM) cost to a minimum.
Handheld Device Example
While the previous problem description presents a significant digital
design challenge, it is perfect for a QuickLogic low power solution
platform containing embedded FIFOs and that is capable of interfacing
to multiple external high-speed components at varying I/O
For this solution a QuickLogic PolarPro programmable solution
platform has been chosen in an 8 mm x 8 mm 132-ball BGA package. The
frame buffer is implemented using a single x16 mobile (1.8 V) SDRAM
device. The video encoder function is implemented using a Chrontel
VGA/NTSC/PAL encoder device.
This entire video subsystem is driven by a graphics processor, which
drives the QuickLogic device and the internal portrait LCD display
simultaneously with the same data and timing (480x640 resolution, 60 Hz
frame rate, progressive scanned, RGB565 (16-bit) format).
The QuickLogic PolarPro device is responsible for the following
Operation: This function is implemented simply in how the
external SDRAM memory is written to and read from with regards to the
implemented addressing scheme. Incoming video is written to the
PolarPro device's input FIFO which decouples the LCD pixel clock
frequency from the SDRAM clock frequency.
The SDRAM clock frequency is fixed at a rate derived from the
incoming 100 MHz master clock. Data is read from the input FIFO and
written to the SDRAM memory on a line-by-line per single column basis
with respect to the output image orientation. Data is then read from
the SDRAM memory in a column-by-column per single line format with
respect to the output image orientation.
This data is moved through the output FIFO which decouples the SDRAM
clock from the TV-output clock. The output FIFO directly drives the
VGA/NTSC/PAL encoder device. All SDRAM accesses are performed as burst
operations to maximize bus efficiency.
Conversion: This function manages the multiple frame buffers in
SDRAM to allow a 60 Hz input frame rate with an output frame rate of 60
Hz for VGA, 59.94 Hz for NTSC or 50 Hz for PAL. While the VGA/NTSC/PAL
encoder chip can provide an appropriate pixel clock frequency for these
three output modes, it expects the 640x480 progressive scanned
landscape data and vertical and horizontal synchronization timing
presented to it to be compliant with the chosen output standard.
Thus, the PolarPro device is responsible for generating the output
VSYNC and HSYNC timing based upon the chosen mode, given the output
pixel clock as a reference. Multiple frame buffers are stored and
managed in SDRAM to properly construct an output image of a differing
frame rate from the incoming image.
Dropping or re-use of frames stored in SDRAM is automatically
employed by the PolarPro device based upon the timing differences
between the incoming and outgoing frame rates. Furthermore, frame rate
conversion is achieved with standard SDRAM devices and a single 16-bit
bi-directional data bus. No dual-port, dual-bus or "pingpong" device
approach is used to manage the SDRAM frame buffer.
Management: The design within the PolarPro device includes the
ability to selectively stop all display subsystem clocks and shut down
the attached SDRAM device to conserve battery capacity in the system.
The PolarPro device also natively includes a mode entitled Very Low
Power (VLP) in which the device can be commanded to enter a low power
quiescent state, drawing as low as 2.2 micro Amperes at 1.8 V.
In VLP mode, all internal register and FIFO bits are retained, and
the device can be "woken up" at the command of the system CPU within
250 microseconds. In operational mode, the PolarPro device draws less
30 mA at 1.8 V while actively performing all dynamic operations.
The host CPU in the system communicates with the PolarPro device by
means of the Inter-Integrated Circuit (I2C) bus. Using this interface,
the CPU is able to configure the design with the proper output timing
and format, and configure the power management features.
Level Translation: The PolarPro device provides up to
four I/O voltage domains. The incoming LCD interface, the SDRAM
interface and the outgoing TV-out interface can all operate at
differing I/O voltage levels. This is of particular importance when
reducing power is a key system goal " mobile (1.8 V) SDRAM can be used
simultaneously in the system while the Graphics Processor and LCD
Encoder devices can also operate at their higher (>1.8 V) required
It is important to note that while the design discussed previously
solves the X/Y swap challenge with this specific particular design
implementation, the PolarPro platform is inherently programmable. Thus,
it is a simple task to modify the design to support additional power
management features, decrease or increase the supported display
resolution or increase the color depth supported in the design.
For a handheld device with TV-out functionality, if the internal,
native portrait display is to be simul-scanned with the externally
attached display device, a video subsystem design comprising of a
device capable of X/Y Swap operation and frame rate conversion must be
As discussed previously, to properly solve this problem, the chosen
device must consume very little static and dynamic power, contain
embedded FIFOs for clock domain crossing, and have the flexibility to
interface to external devices with various I/O voltages.
Judd E. Heape is Director of
Product Applications for QuickLogic
Corporation in Sunnyvale, California. Judd has been in the industry
for over 15 years (at QuickLogic and Texas Instruments), has five
granted US Patents and has authored one worldwide JEDEC standard. Judd
holds a degree in Electrical Engineering from the Georgia Institute of