Key Requirements - TFT Timing Pixel Clock - used to push pixels to display – Importance: determines how fast the display is refreshed Vertical Blanking Time - Sync time between frames
Trang 1Renesas Electronics America Inc.
Graphic System Design Considerations
Trang 2Renesas Technology & Solution Portfolio
Trang 3Microcontroller and Microprocessor Line-up
Wide Format LCDsIndustrial & Automotive, 130nm
350µA/MHz, 1µA standby
44 DMIPS, True Low Power Embedded Security, ASSP
25 DMIPS, Low Power
10 DMIPS, Capacitive Touch
Industrial & Automotive, 150nm
190µA/MHz, 0.3µA standby
Industrial, 90nm
200µA/MHz, 1.6µA deep standby
Automotive & Industrial, 90nm
600µA/MHz, 1.5µA standby
Automotive & Industrial, 65nm
600µA/MHz, 1.5µA standby Automotive, 40nm
500µA/MHz, 35µA deep standby
Industrial, 40nm
200µA/MHz, 0.3µA deep standby
Industrial, 90nm
1mA/MHz, 100µA standby
Industrial & Automotive, 130nm
144µA/MHz, 0.2µA standby
Trang 4‘Enabling The Smart Society’
Trang 5Agenda
Trang 6Introduction
Trang 8Key Requirements
Trang 9Key Requirements - Displays
Most common display technology in embedded systems
Many varieties of LCDs (color, monochrome, grayscale, etc…)
Requires backlight
Better contrast ratio than LCD
Lighter than LCD
Uses less power than LCD
Does not emit light
No power required to maintain color
Commonly used on electronic readers (Amazon Kindle)
Trang 10Key Requirements - Display Controllers
Timing Controller
clk, hsync, vsync, desync and data
Additional derived Sync signals
Trang 11Key Requirements - Display Controllers
H Sync
V Sync
Trang 12Key Requirements - TFT Timing
Pixel Clock - used to push pixels to display
– Importance: determines how fast the display is refreshed
Vertical Blanking Time - Sync time between frames
– Importance: visible framebuffer(s) can only be updated during vertical blanking
‘Missing‘ Data Enable Sync
for several lines marks vsync
(frame sync)
Trang 13Key Requirements - Framebuffer Memory
Example 640x480pixels w/16bpp RGB 5:6:5 color
– Double Buffered
• 640*480pixels*2 bytes/pixel * 2 buffers = 1,228,800 bytes
Static RAM (SRAM)
– Faster but larger and more expensive– Usually internal to MCU and best used for framebuffers if available
Dynamic RAM (DRAM)
– Must be refreshed periodically therefore slower– Usually external to MCU and best used for caching drawing objects
Trang 14Key Requirements - Framebuffer Pixel Format
Trang 15Key Requirements - Drawing Engine
framebuffer pixels
Trang 17Drawing Engine – Textures and Warping
Array of pixels mapped to primitive
Trang 18Drawing Engine – Fast Memory Transfers
DMA
Accesses memory independently of the CPU
Each row is a separate DMA instruction
Manually skip pixels at front/end of each row
One DMA instruction
Many Options
– Direct Blit– Stretch Blit– Transparency– Per Pixel Alpha Blending– Color Keying
– Coloring– RLE Decompression
=>
25% Transparency
=>
Trang 19Drawing Engine - Fonts
Rendering fonts is very CPU intensive
Each glyph has a lot of position information
Glyphs are frequently pre-rendered
Glyphs represented by array of pixels
Faster to draw
Significant memory used
Glyphs do not scale easily
Glyphs represented by set of curves
Slower to draw
Reduced memory requirement
Glyphs scale easily
Trang 20Drawing Engine – Image Compression
Lossless compression method
Works best with line drawings, text, or icons
Simple algorithm (diagram below)
JPEG
Complex algorithms for encoding/decoding
Lossy compression method
Best suited for photographs
Supports increased level of compression w/quality tradeoff
8 pixel x 4 byte = 32 byte
3
3 pixel x 4 byte + 3 cnt x 1 byte = 15 byte
Trang 21System Design Discussion
Trang 22System Design Discussion – Low End System
Trang 23System Design Discussion – Mid Level System
Trang 24System Design Discussion – High End System
Trang 25System Design Example
Trang 26System Example - Requirements
• Background: 24bpp RGB 6:6:6 color w/single FB
• Center: 24bpp RGB 6:6:6 color w/double FB
• Gauges: 16bpp RGB 5:6:5 color w/double FB
Heads Up Display (HUD)
– 240 x 320 pixels (10 fps)– 1 layer
• 16bpp RGB 5:6:5 color w/single framebuffer
18bpp
60 Hz RGB Interface
Trang 27System Example - Derive Timing Requirement
Trang 28Example System - Derive Drawing Time
Background: Drawn only once, so timing is not critical
Update Time ≈ X*Y*(bytes/pixel)*(1/memory rate[MB/s])*1.25 Approximation of 2.5% overhead
Update Time ≈ 2 gauges* X*Y*(1/pixel rate[MPixel/s])*1.25 Approximation of 2.5% overhead
Trang 29Example System - Derive Drawing Time
240x320 drawn from images in SDRAM (120Mb/s)
Update Time ≈ X*Y*(1/pixel rate[MPixel/s])*1.25 Approximation of 2.5% overhead
Trang 30Example System - Drawing Time Summary
with the system design requirements given for memory
interface speed, screen resolution, and 2D drawing engine speed.
Trang 31Example System - Derive Memory Requirement
Trang 32Example System - Derive Memory Requirement
• 5 different screens are supported, so assume
5 times the framebuffer size is enough flash
Trang 33Example System using a V850 DP4-H
Graphic Subsystem 120MHz
2D Drw Engine RLE Decompression Serial Flash IF
2x Video OUT 2x TCON
32-bit CPU
V850E2M Core
160 MHz
1.15 – 1.3 V (Core), 2.7- 3.6 V, 2.7 – 5.5V (I/O) -40 to +85°C, -40 to +105°C (limited spec)
Trang 34Conclusion
Trang 35Conclusion
Trang 36Questions?
Trang 37‘Enabling The Smart Society’