Display
Transcrição
Display
ET/IT & TI Electronic Displays Design and Driving of Embedded Displays Systems Karlheinz Blankenbach Pforzheim University, Germany Prof. Dr. Karlheinz Blankenbach Phone : +49 7231 - 28 - 6658 Pforzheim University Fax Tiefenbronner Str. 65 Email : [email protected] D-75175 Pforzheim, Germany Web : www.displaylabor.de : +49 7231 - 28 - 6060 1 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Overview • Introduction • Low resolution displays • Graphics systems • Miscellaneous • Summary Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 Embedded PC, TV, high resolution, interfaces etc. see other lecture 2 ET/IT & TI Electronic Displays Display Systems in Daily Life … developed in Germany Huge number of applications with different display driving and I/Fs ! 3 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Definition of Embedded Systems in This Lecture • µC … µP (4 – 32 Bit) • Display: 8-Segment … VGA • Indoor & outdoor use • Typically in a housing Display controller Display µC or µP (4 - 32 Bit) Power (battery or line) Data to display set display resolution and, in consequence, µC and display controller! Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 AD, DA, IO knobs, keyboard Sensors Actuators 4 ET/IT & TI Electronic Displays High End Embedded System Hardware Vision Data Display controller µC, µP PC, TV Display Controller Interface & Timing Controller Driving Principle Electro-optic Characteristic Display Glass Focus of this talk in terms of a system Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 5 Electronic Displays Displays for Mobile Applications as a System … only suitable for large volume mass production ‚Everything‘ is in an single IC ! Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 6 ET/IT & TI Electronic Displays Character Design vs. Resolution R G B 5 mm Segment 8 # of Pixel Starburst 101 102 Matrix 5x7 QVGA 10x15 103 104 XGA 10x15 105 106 ‘here’ Driving of Module µC Display controller ‚PC‘ low medium high Data Rate Software Requirements high w/o OS or Lib minor minor (OS) Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 7 Electronic Displays Embedded Display Systems Design (No Embedded PC) • Size : 0.5‘‘ … 10.4‘‘ (> public displays) • Pixel : 7 … millions (1x Segment8 … WXGA) • Color : Monochrome - grey shade - area color - color - full color • Lifetime : 2y … 20 y ; operating time 100 h … 20 y, storage time • Environment : outdoor … indoor, stationary … mobile, … • Pieces per year : 10 … millions (e. g. high end measurement device … household appliances) • Life cycle : replacement of subassemblies, supply chain, recycling, … Focus to non-ePC systems developed in Europe ! Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 8 ET/IT & TI Electronic Displays Low Cost, Low Information Content Displays Characteristics - 1 … ~1,000 pixel - Often icons, numbers, … - ‘Cheap’ - Direct drive, MUX or PM, 8 bit µC - (rest depends on application) Technologies • LCD • OLED • LED • VFD • EL (no more MP) • E-paper (samples in Europe) 9 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays System Design : Microwave Oven With or Without Display • Several options in between • End user preference ? Change to summer time ? Start 7:00 ? Low Cost - Easy to use - Limited functions High End - Complex HMI - Many functions Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 10 ET/IT & TI Electronic Displays Embedded Systems with Graphic Displays • Embedded Systems (16 - 32 bit) - Lower resolution than PCs µP bus B/W STN - Typically digital output, analogue output good for debugging - Often with OS - Often with FPD output Analogue output graphic controllers CSTN Graphics controller TFT • Low Resolution b/w - µC needs display controller - Limited to about 240 x 128 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 11 Electronic Displays Other Embedded Systems with Graphic Displays • Panel PC - ePC e.g. mounted on display - Easy to integrate into systems Just for reference because of COTS systems ! • Serial Interfacing - Easy interfacing via RS232, USB or 8-Bit - 8 Bit µC can ‘drive’ up to XGA - USB up to QVGA video stream - Suitable for low volume and if only low computing power is required Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 12 ET/IT & TI Electronic Displays 7 Action Steps acc. Donald Norman Human Action Cycle Forming a goal What happened ↔ what was intended Translate goal to task(s) Planning the action (sequence) Interpreting the outcome Perceiving what happened Executing the action (sequence) Adapted from D. Norman : "The Design of Everyday Things”, Basic Books,1988 13 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Easier Handling by Use of Innovative Display Systems Status indicator Cheap but often complex, selection via pushbuttons Software based pushbuttons (soft keys) allow multiple functions on one button (see also mobile phones) Touch screen for intuitive user action Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 Ergonomics & Price 14 ET/IT & TI Electronic Displays Style Guide for Low Res Embedded Display Systems Negative mode Positive mode Status Figures Size Characters Resolution Display Graphics (fonts, icons) Grey scale requirements Color User guidance / Manual System speed Movie Comfort Ergonomics and price rise in parallel ! End user value and price-performance ratio also ? Price Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Perceived Value 15 Electronic Displays Design ↔ Price ? Perceived value ↔ Customer sees benefit ? • Display quality Technology, size, resolution, color (depth), contrast, reflections, temperature range, luminance, dimming, comparison to next ‘reference‘ (nearby displays like mobile phone, laptop etc.), … • Ergonomics Position in device, posture while looking, viewing distance, reachability of controls, same mode all over device incl. prints, … • Recognisability Font, font size, graphics etc. set the display size Observer angle, reflections of ambient light, … • Screen Design Way how to visualize the information, menu structure, controls, … • Integration Bezel (form, color, material), transition display-bezel-device, display in off-state (color, immersible, fold-away etc.), … Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 16 ET/IT & TI Electronic Displays Screen Modes : Display - Device Different frames Contact pins visible Different mode Same mode for ??? display and text (‚good‘) No light for dark Non-uniform illumination White foreground green display color Different mode for What‘s about a black background surrounded by white (also off mode) ? ∆Emax ! display and text (‚bad‘) Green foreground – similar to display color What is really recognized and perceived by the customer ? Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Innovative Hob (Cook Top) ‚Old‘ 17 Handling || Cook Top ‚New‘ Handling ⊥ Cook Top Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 18 ET/IT & TI Electronic Displays What is a Display Driver (System) ? Row & column drivers Interface Display controller ↔ display EOC Matrix TCON Interface µC ↔ display controller µC Display controller Signal processing 19 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays What is a Display Driver ? A data to e-o converter But there are different types : • Display controller (digital ‘image’ data → interface data) Here • Interface & timing controller (interface data → driving principle, here FPD) • Row driver (row selection for matrix drive) • Column driver (data to display → grey level → EOC) µC, µP PC, TV Display Controller Interface & Timing Controller Driving Principle Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 Electro-optic Characteristic Display Glass 20 ET/IT & TI Electronic Displays Bill of Material for a Display Panel Example for 10.4" VGA Color AM LCD Polarizer etc. Misc. TFT plate Backlight Same price Controller Color filter Driver ICs Controller & driver ICs are about 25% (as color filter and TFT plate) ! 21 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Display Controller Overview Size, price, … Driving within display Direct drive MUX Passive Matrix MLA Active Matrix Resolution µC, µP PC, TV Display Controller Interface & Timing Controller Driving Principle Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 Electro-optic Characteristic Display Glass 22 ET/IT & TI Electronic Displays Comparison Direct - , Mux - and Matrix Drive Matrix Drive Direct Drive & Mux ITO wire Icon, Pixel A Dot shape Number of pixels Example Icons and/or Segment 8 Square or rectangle Low (< 1,000) High (... millions) Watch, calculator, Lap- remote control top 23 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays System Aspects of Direct - , Mux - and Matrix Drive Direct Drive & Mux Matrix Drive Application specific HW Layout (ITO), Standard or customized SW Change in specification Expensive Inexpensive Icons ++ (small and sharp) * Numbers + * Characters - * Graphics - * * Pixelated for low resolution and/or ppi LC-displays of cordless phones, calculators etc. have often both Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 24 ET/IT & TI Electronic Displays Summary of Introduction • Data to display should be the starting point for embedded display systems • Display resolution determines controller and user interface • Low information content displays can be optimized for perceived value • High resolution and low volume systems often base on COTS ePCs • Display driving has many topics like interfacing, … Displays are the key component in terms of price and user interface! 25 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Overview • Introduction • Low resolution displays • Graphics systems • Miscellaneous • Summary Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 Embedded PC, TV, high resolution, interfaces etc. see other lecture 26 ET/IT & TI Electronic Displays Overview : Low Resolution Driving Examples for LCD, other technologies similar Data to • Direct (µC - I/O) µC I/O display Seg • Character Controller µC HD 44780 Com RAM built in, no load for µC • Graphics Controller µC Column Driver T 6963 Seg Row Driver RAM Module Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 27 Electronic Displays Issues for Driving of Displays (Non-PC) • Direct (µC - I/O) + No additional IC etc. + Easy - Only lowest ‘resolution’ - SW easy but every segment has to be set • Character & Graphics Controller with Built-in RAM + Minor SW because of e.g. character generator + No load on µC, ‘no’ timing issues - Only up to mid resolution (240 x 128), some QVGA available • Graphics Displays (≥ ≥ QVGA, color) + High resolution + Some high end µC with built-in display support - Huge timing issues - Real time display driving to avoid failures - No support for pixel and graphics (use libs or OS) Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 28 ET/IT & TI Electronic Displays Proposals for Student Projects (I) 50+/-% software & hardware • 8-Bit µC like ADUC842 • Displays: - 8-Seg. - HD 44780 - T6963 VFD Driver Task: Built 3 demos each for other students with basic software 29 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Proposals for Student Projects (II) 50+/-% software & HW • 8-Bit µC like ADUC842 • LEDs: - RGB - Matrix Task: LED-based displays or animations Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 30 ET/IT & TI Electronic Displays Proposals for Student Projects (III) 50+/-% SW & HW • ADUC842 • Low res. T6963 graphics controller Task: Built example application with I/Os etc. 31 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Proposals for Student Projects (IV) 100% software • 16-Bit µC • TFT direct drive • Emulator • GNU C(++) • SW lib for objects (EMWIN) Task: Evaluation of features by examples Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 32 ET/IT & TI Electronic Displays Proposals for Student Projects (V) 100% software • FUJITSU 16-Bit µC • AM OLED CQVGA • Touch screen • C-Examples Task: Adapt SW form scratch to structure subs, make example Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 33 Electronic Displays Proposals for Student Projects (VI) 90% software, 10% LCD • Automotive graphics IC • Video input • MS VISUAL C++ • PC based • Analogue monitor output Task: Evaluation of features by examples, adapt LCD Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 34 ET/IT & TI Electronic Displays Proposals for Student Projects (VII) 90% software, 10% HW • Many ePCs have no display output • Low res display for status etc. Could be helpful • Easiest way via SW output via USB • Also for laptops with defective display Task: Build display output for ePCs with USB-µC and low res display Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 35 Electronic Displays Proposals for Student Projects (VIII) • Your idea •… x% software, y% hardware Task: tbd Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 36 ET/IT & TI Electronic Displays Details see ‘LCD‘ Direct Drive LCD VDD A Control input to Exclusive OR gate VSS VDD A B C XOR Segment D Osc input (clock) to Exclusive OR gate B VSS 180°phase shifted output of Exclusive OR gate VDD C Common VSS VB - C B-C=D D Resultant display waveform measured segment to common plate 0 Pixel Off Pixel On Pixel Off Simple driving with XOR because of automatic inversion - just set pixel ! Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 37 Electronic Displays Direct Drive for 8 - Segment LCD EXOR a b c a f d µC e f b g e c d g Common crossover Clock Segment plate Common plate Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 38 ET/IT & TI Electronic Displays Direct Drive for 8 - Segment LCD Code example ' LED 8-Seg a f define Anzeige BYTEPORT[1] g ' Binary BIT 7 6 5 4 3 2 1 0 ' Segment b e hgf ed cb a c d Point 39 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Direct Drive for 8 - Segment LCD with 4 Digits Seg 1g 1f 1a 1b 2g 2f 2a 2b 3g 3f 3a 3b 4g 4f 4a 4b Com Seg 1e 1d 1c 1dp 2e 2d 2c 2dp 3e 3d 3c 3dp 4e 4d 4c 4dp - 8 lines per digit - 4 digits : 32 seg. + 1 common 33 lines Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 40 ET/IT & TI Electronic Displays MUX Drive for 8 - Segment VFD Grid (Scan) Multiplex driving via VFD Driver scan of grids Anode (data) 1G 2G 3G 4G 41 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays MUX Drive for 8 - Segment VFD Grid (Scan) Anode (data) '***** Segments ************** 'PortNr.: 16 15 14 13 12 11 10 9 'BitNr. 7 6 5 4 3 2 1 0 'G1 – 4 - g f e d c b a ... Anzeige = 0 ' Space out GRID = 1 ein = 1 Looktab decoder, ein, Anzeige Anzeige = 0 ' Space out GRID = 2 zehn = 2 Looktab decoder, zehn, Anzeige table decoder &B00111111 &B00000110 &B01011011 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 `0 `1 `2 42 ET/IT & TI Electronic Displays Multiplex Drive for 8 - Segment LCD with 4 Digits Seg A1 B1 A2 B2 A3 B3 A4 B4 Com 1 2 3 4 Multiplex also - 2 seg per digit : named as - 4 digits : 8 seg # of µC-IOs is also limiting ! - MUX + 4 common - Duty 12 lines ≈ 35 % of direct drive 43 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Multiplex Drive Waveforms for 8 - Segment LCD (4 Digits) Duty 1/4 - Complex waveforms for COMMON and SEGMENT - Frame inversion - 4 voltages → Cannot be done by µC, display controller or LCD-µC needed ! Data Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 44 ET/IT & TI Electronic Displays µC with Built - in LCD Output • Typical 96 segments and 4 commons about 400 ‘pixel’ • Typically for 4 8-Segment digits + icons • Other configurations possible 45 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Code Example For µC with LCD - Output MUX 4 (see VFD) ~ 30 segments Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 46 ET/IT & TI Electronic Displays LED Matrix Driving TTL µC Drives 4 digit 5 x 7 LED 47 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Character Controller HD 44780 2 lines with 20 characters (font 5 x 7) + 2 icon lines - 16 Rows Display RAM µC - 40 Columns Character generator 5 x VLCD Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 48 ET/IT & TI Electronic Displays HD 44780 Interfacing • µC ↔ Controller Scan µC Data • Controller ↔ Display glass Scan Data 49 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays HD 44780 Programming No need to program fonts Character Generator ... PC : Character generation by OS . . . Instructions Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 50 ET/IT & TI Electronic Displays Example for HD 44780 Programming Instruction Initialisation 8 Bit interface, RS RW D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 1 0 0 0 0 3 x instruction 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 2 lines, 5 x 7 0 0 0 0 1 1 1 0 0 0 Display on 0 0 0 0 0 0 1 1 0 0 Display clear 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 Entry mode Write character ‘F' to LCD RAM 'ENABLE' pulse for valid data required Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 51 Electronic Displays Example for HD 44780 Programming (I) ' Initialisierung des Displays ' alle Ausgänge 0 en = 0 rw = 0 rs = 0 daten = 0 daten = 48 ' 0011 0000 ` 8-Bit IF pulse en daten = 48 ' 0011 0000 pulse en daten = 48 ' 0011 0000 pulse en pause 1 ' Function set 0011 NF00 N: Zeilen N=1:2Z, 0:1Z F: Charakter 1:5*10Dots, 0:5*8D daten = &B00111000 ' 2 Zeilen pulse en pause 1 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 52 ET/IT & TI Electronic Displays Example for HD 44780 Programming (II) ' Display on 0000 1100 daten = 12 pulse en ' Entry Mode set 0000 01 ID S daten = 6 ' 0000 0110 pulse en ID:1 increment, ID:0 decrement S:1 Displayshift ' Display clear 0000 0001 daten = 1 pulse en ' Buchstaben (4 ab `F`) schreiben rs = 1 for BU = 0 to 4 daten = 46 + BU pulse en next BU Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 53 Electronic Displays Example for HD 44780 Programming (III) /***********************************************/ /* Funktion: disp_init */ /* Initialisierung des HD 44780 */ /***********************************************/ void disp_init ( void ) { RS = 0; R_W = 0; E = 0; DB7 = 0; DB6 = 0; DB5 = 1; DB4 = 1; DB3 = 0; DB2 = 0; DB1 = 0; DB0 = 0; E = 1; _nop_(); E = 0; wait( 500 ); E = 1; _nop_(); E = 0; wait( 100 ); E = 1; _nop_(); E = 0; wait( 50 ); put_char( FUNCTION_SET ); wait( 500 ); put_char( DISPLAY_OFF ); wait( 500 ); put_char( CLS ); wait( 500 ); put_char( ENTRY ); wait( 500 ); /* Initialisierungswert 30H an Ports */ /* Schreiben in Display-Controller */ /* warten > 4.1 ms */ /* wiederholtes Schreiben */ /* warten > 100us */ /* wiederholtes Schreiben */ /* warten > 4.1 ms */ /* warten > 4.1 ms */ /* warten > 4.1 ms */ /* warten > 4.1 ms */ } Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 54 ET/IT & TI Electronic Displays Example for HD 44780 Programming (IV) /*********************************************************************/ /* Funktion: sendchar2disp */ /* Beschreibung: Sendet ein ASCII-Zeichen an das Display */ /*********************************************************************/ void sendchar2disp ( char s ) { if ( (s != '\0') && (s != '\n') ) { RS = DA; /* An Display schreiben */ split = s; DB7 = SPLIT_7; DB6 = SPLIT_6; DB5 = SPLIT_5; DB4= SPLIT_4; DB3 = SPLIT_3; DB2 = SPLIT_2; DB1 = SPLIT_1; DB0= SPLIT_0; E = 1; wait(100); E = 0; wait(100); RS = IN; /* Einschreiben in Display-Controller */ /* RS = 0 */ } if ( s == '\n' ) { RS = IN; R_W = 0; split = LF_ADR; /* šbergabewert in bdata-Bereich legen */ DB7 = SPLIT_7; DB6 = SPLIT_6; DB5 = SPLIT_5; DB4= SPLIT_4; DB3 = SPLIT_3; DB2 = SPLIT_2; DB1 = SPLIT_1; DB0= SPLIT_0; E = 1; wait(100); E = 0; wait(100); /* Einschreiben in Display-Controller */ } } Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 55 Electronic Displays Case Study for Low Res System (I) Task: Design temperature capturing & display device with warning on high temperatures • Microcontroller : … • Display :… • Warning :… • Power supply : … Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 56 ET/IT & TI Electronic Displays Case Study for Low Res System (II) Task: Design temperature capturing & display device with warning on high temperatures 8-Seg LCD Character LCD Low Res Graphics LCD 8-Seg LED 8 Seg VFD Warning Power consumption Price Advantage Issues Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 57 Electronic Displays Case Study for Low Res System (III) Task: Design temperature capturing & display device with warning on high temperatures System: … Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 58 ET/IT & TI Electronic Displays Monochrome Graphics Controller & Drivers Column drivers (SEG) Row 64k SRAM Graphics controller driver (COM) Module connector b/w QVGA LCD Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 59 Electronic Displays Graphics Controller HD 61830 Row (scan, common) Clock Max. resolution : 240 x 128, black & white µC TTL Column serial (segment, data) Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 60 ET/IT & TI Electronic Displays HD 61830 Interfacing Serial data ~ 13 pins Clock Column Row ~ 10 pins 6 LCD supply voltages 61 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Instructions for HD 61830 (Example) Can be used as Character controller or Graphics controller with character generator Graphics must be programmed pixel wise ! Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 62 ET/IT & TI Electronic Displays Low Resolution Display with Graphics Controller & µC ~ 16 lines flex cable TCON for 64 x 64 8-Bit µC Column driver Row driver Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 63 Electronic Displays Low Res Graphics Controller T6963 (I) Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 64 ET/IT & TI Electronic Displays Low Res Graphics Controller T6963 (II) Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 65 Electronic Displays Low Res Graphics Controller T6963 (II) Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 66 ET/IT & TI Electronic Displays Low Res Graphics Controller T6963 (IV) 67 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Example for T6963 (I) //********************************************************************************************************* // Displayinitialisierung // Hier werden die Grundeinstellungen des Displays vorgenommen. //********************************************************************************************************* // Übergabewerte: keine // Rückgabewerte: keine //********************************************************************************************************* void init_Display(void) { write_data2(TEXT_HOME_ADR); // Set Text Home Address write_cmd(SET_TEXT_HOME_ADR); write_data2(TEXT_AREA); write_cmd(SET_TEXT_AREA); write_data2(GRAPHIC_HOME_ADR); write_cmd(SET_GRAPHIC_HOME_ADR); write_data2(GRAPHIC_AREA); write_cmd(SET_GRAPHIC_AREA); // Set Graphic Home Address // Set Graphic Area OR_MODE; // Set Or Mode BOTH_ON; // Set Display Mode clr_Display(); } Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 68 ET/IT & TI Electronic Displays Example for T6963 (II) //********************************************************************************************************* // Adresspointer setzen // Setzt den Adresspointer auf die Stelle im RAM an der als nächstes geschrieben werden soll //********************************************************************************************************* // Übergabewerte: adresse: unsigned int (Adresse im RAM) // Rückgabewerte: keine //********************************************************************************************************* void set_ADP(unsigned int adresse) // Adress Pointer Setzen { write_data2(adresse); write_cmd(SET_ADR_POINTER); } //********************************************************************************************************* // Kommando schreiben // schickt einen Befehl an den Displaycontroller //********************************************************************************************************* // Übergabewerte: command: unsigned char (Controllerbefehl) // Rückgabewerte: keine //********************************************************************************************************* void write_cmd(unsigned char command) { status(); cmd = command; } Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 69 Electronic Displays Example for T6963 (III) //********************************************************************************************************* // Kommando schreiben // schickt einen Befehl an den Displaycontroller //********************************************************************************************************* // Übergabewerte: command: unsigned char (Controllerbefehl) // Rückgabewerte: keine //********************************************************************************************************* void write_cmd(unsigned char command) { status(); cmd = command; } //********************************************************************************************************* // Daten schreiben // schickt 1 Byte Daten an den Displaycontroller //********************************************************************************************************* // Übergabewerte: daten: unsigned char (1 Byte Daten) // Rückgabewerte: keine //********************************************************************************************************* void write_data(unsigned char daten) { status(); dat = daten; } Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 70 ET/IT & TI Electronic Displays Example for T6963 (IV) //********************************************************************************************************* // Zeichen schreiben // Gibt ein Zeichen auf dem Display aus //********************************************************************************************************* // Übergabewerte: Zeichen: unsigned char (muß gültiger ASCII-Wert sein) // Rückgabewerte: keine //********************************************************************************************************* void set_char(unsigned char Zeichen) { Zeichen -=0x20; // ASCII to Controller if (Zeichen & 128) Zeichen=0x03; // Zeichen nicht ASCII dann # ausgeben write_data(Zeichen); write_cmd(DATA_WRITE_INC); } Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 71 Electronic Displays Example for T6963 (V) //********************************************************************************************************* // Pixel setzen/rücksetzen // setzt oder löscht ein Pixel //********************************************************************************************************* // Übergabewerte: x,y: unsigned char (X-Y-Koordinaten) // set: unsigned char (0 für rücksetzen, 1 für setzen) // Rückgabewerte: keine //********************************************************************************************************* void pixel(unsigned char x, unsigned char y, unsigned char set) { set_ADP(xy_to_grRAM(x, y)); if (set==0) //für reset { write_cmd(0xF0 | (5-(x%GRAPHIC_LENGTH)) ); // Bit Reset } else { write_cmd(0xF8 | (5-(x%GRAPHIC_LENGTH)) ); // Bit Set } } Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 72 ET/IT & TI Electronic Displays Advanced Graphics Controller SOLOMON SSD 1780 - 104 x 80 x RGB x 4 Bit - Advanced graphics programming X1, Y1 fillcolor Built in SW reduces µC load and saves SW development color X2, Y2 73 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays High Resolution Displays (≥ ≥ QVGA, Non-PC) • Graphics Displays (≥ ≥ QVGA, color) [as before] + High resolution + Some high end µC with built-in display support - Huge timing issues - Real time display driving to avoid failures - No support for pixel and graphics (use of libs or OS) • Number of pixels for QVGA: 320 x 240 = 76,800 > 16 Bit no 8-Bit µC ! Same for color ≈ 140 KByte (2 Byte color [16 Bit] per pixel) ! • Data rate for CQVGA: 320 x 240 x 60 Frames/s x 2 Byte (color) ≈ 10 MHz - Not achievable with many 16-Bit µC - ‘Real time’ data output to display input (row and column data) requires huge effort Issue: New 16 and 32 Bit µC with display output Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 High res displays have LVDS input 74 ET/IT & TI Electronic Displays NXP ARM 9 with LCD Output Color LCD Controller The LH7A400’s LCD Controller is programmable to support up to 1,024 × 768, 16-bit color LCD panels. It interfaces directly to STN, color STN, TFT, AD-TFT, and HR-TFT panels. Unlike other LCD controllers, the LH7A400’s LCD Controller incorporates the timing conversion logic from TFT to HR- and AD-TFT, allowing a direct interface to these panels and minimizing external chip count. The Color LCD Controller features support for: • Up to 1,024 × 768 Resolution • 16-bit Video Bus • STN, Color STN, AD-TFT, HR-TFT, TFT panels • Single and Dual Scan STN panels • Up to 15 Gray Shades • Up to 64,000 Colors Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 75 Electronic Displays NXP ARM 9 with LCD Output Block Diagram Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 76 ET/IT & TI Electronic Displays NXP ARM 9 with LCD Output Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 77 Electronic Displays NXP ARM 9 with LCD Output Vertical Timing Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 78 ET/IT & TI Electronic Displays NXP ARM 9 with LCD Output Horizontal Timing 79 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays AM LCD - Panel with Digital RGB - Input EO Transfer Fct. Column Driver Bank Gamma Corr. Driver 1 Driver 2 Driver 3 Row R Digital input signals G Driver 1 Timing Controller B Driver Driver 2 Bank Sync Controls Power Supply LCD Module Vcom Inverter Sync Details of LCD module see ‚LCDs‘ Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 80 ET/IT & TI Electronic Displays Power Sequencing Power ON Operating Power OFF Improper power sequencing will damage display ! 81 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Embedded Systems µC -, µP bus • Graphics features - Lower resolution as PCs - Typically digital output - Less standardized as PCs - FPGA IP cores - New: UGM-I/F • ’To Do’ FPD output Graphics Controller - Interfacing µC or µP to Graphics Controller µC ↔ GC - Interfacing Graphics Controller to display GC ↔ D - Program Graphics IC and/or Operating System SW / OS Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 82 ET/IT & TI Electronic Displays Interfacing Embedded Processors to Display Controllers µC ↔ DC µC ↔ GC µC-specific configuration Complex ! 83 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Resolution ↔ Pixel Rate GC ↔ D Resolution /106 Pixel 10 UXGA SXGA XGA VGA FPD @ 60 Hz CRT @ 85 Hz 1 0.1 QVGA 0.01 0 100 200 300 400 Pixel Frequency /MHz Pixel frequency = Resolution x Frame frequency Data rate (limit for parallel interfacing) = Pixel frequency x RGB x Colour depth (limit for serial interfacing) Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 84 ET/IT & TI Electronic Displays Digital (TTL) Interfacing GC ↔ D • Signals : - CK : Pixel clock - Hsync : Line clock - Vsync : Frame clock 3 x 6 = 18 bpp - Data : 12 - 24 bpp • Many lines (length < 0.5 m) → Differential signalling input • Panel specific timing required Not standardized ! → Programmable TCON • High frequencies → EMI → Differential intra panel signalling 85 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Digital Input Timing Diagram Example for XGA 16.7 ms ≈ Vsync ≈ Data enable Vporch 21.5 µs ≈ Hporch Hsync invalid 1 2 3 ≈≈ Data GC ↔ D 768 (XGA: 768 rows) # of data per line : 1024 x RGB x bpp Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 Clocks and other controls omitted 86 ET/IT & TI Electronic Displays Adaptor Interface Board for 3.5” AMLCD Standard connector to customer board incl. single voltage supply Power supply for LCD module Power sequencing Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 87 Electronic Displays Block Diagram of 3.5” AMLCD Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 88 ET/IT & TI Electronic Displays Adaptation of LCD to Embedded System Pin of panel Pin of graphics controller 89 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Interface Timing of 3.5” AMLCD GC ↔ D Portrait orientation There is practically no timing standard ! Individual adaptation needed Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 90 ET/IT & TI Electronic Displays Interface Timing of 3.5” AMLCD Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 91 Electronic Displays Interface Timing of 3.5” AMLCD Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 92 ET/IT & TI Electronic Displays Digital RGB vs. LVDS GC ↔ D • Digital RGB • LVDS (see below) 93 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Display Color vs. Input Signal R Data GC ↔ D G Data R Data 8-bit Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 94 ET/IT & TI Electronic Displays Display Pixel Co - ordinates Row (line) , column (data) GC ↔ D Example for XGA 1,1 1,2 1,1024 2,1 2,2 2,1024 768,1 768,1024 95 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Interfacing Data to Display Timing Controller (clocks omitted) GC ↔ D LCD Type GC Output Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 96 ET/IT & TI Electronic Displays SW / OS Programming of Graphics Controller ANSI-C Library C - Code // SED 1374 - SHARP CQVGA STN 4bpp ... // Draw 100x100 rectangle starting (0,0), color : red for (y = 0; y < 100; y++) { pMem = (LPBYTE)MEM_OFFSET + (y * 320 * BitsPerPixel / 8) + 0; for (x = 0; x < 100; x+=2) { pMem++; // draws 2 pixel } } ... Each pixel of a character and for graphics must be set individually → Use subroutines, libraries or operating system (OS) 97 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Adaptation of Embedded OS (here WIN CE) (I) SW / OS Use of standard types reduce risk but only certain panels defined ! Here: LQ104V1LG61 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 98 ET/IT & TI Electronic Displays Adaptation of Embedded OS (here WIN CE) (II) SW / OS If not predefined ! Examples Beginning-of-line-wait: Values from panel spec ! Specifies the number of pixel clock periods to add to the beginning of a line transmission before the first set of pixels is sent to the display. End-of-frame line clock wait count: Specifies the number of line clock periods to add to the end of each frame. Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 99 Electronic Displays Integration of TCON into FPGA Enables LCD module with only gate and source drivers Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 100 ET/IT & TI Electronic Displays Integration of TCON into FPGA Analogue input + 32-bit µC + TCON 101 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Electronic Displays Integration of TCON into FPGA Customizable Display Controller IP-Core for Embedded Systems Thesis by C. Bayer µP MicroProcessor (µP) Interface IP DisplayController Display Interface Display Memorycontroller Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 102 ET/IT & TI Electronic Displays Integration of TCON into FPGA µP Interface Data Display Instruction Control Block ASCII Data Display Timing Graphic Data Page Generator Logic Character Data Text Character Generator Memory Controller Interface Text Page Character Memory Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI Graphics Graphic Page 103 Electronic Displays Integration of TCON into FPGA Logic Display Timing Interface Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 104 ET/IT & TI Electronic Displays Display Controller for High End Embedded Applications Typical features • Graphics functions (2D, 3D): Point, line, triangle, polygon, BLT and pattern • Output of analog RGB and digital RGB signals • Up to 1024 x 768, 8 Bit/Pixel - FUJITSU CORAL … - TOSHIBA CAPRICORN • Overlaying of layers • Video input Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 105 Electronic Displays Display Controller Layer Technology ... for simplified implementation of various data including video input Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 106 ET/IT & TI Electronic Displays Graphics Display Controller (FUJITSU) • High pin count because no standards for serial IF exits yet (APIX on the run) Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 107 Electronic Displays Graphics Display Controller with µC (TOSHIBA) Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 108 ET/IT & TI Electronic Displays Automotive Multimedia System Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 109 Electronic Displays Single Twisted Pair Automotive Pixel Link (APIX) • ‘Cheap’ line from head unit to display @ high data rate • Separation of display and controller saves cost • APIX by INOVA, Munich • Thesis e.g. by D. Lebherz Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 110 ET/IT & TI Electronic Displays Automotive Pixel Link (APIX by INOVA) Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 111 Electronic Displays Advanced Mobile Phone Colour LCD Graphics Controller • One chip solution with gate (row, scan) and source (column, data) drivers • Resolution : 176 x RGB x 220 • Up to 3 x 6 Bit colour • Build-in RAM • Power save mode: partial display, 8 colour • Multiple µC interface Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 112 ET/IT & TI Electronic Displays Serial Interfacing : LVDS, TMDS & GVIF • Reduction of lines by using twisted pair (serial data) • Small and thin cable (a must for laptops) • ‘L’ and ‘H’ are defined as voltage difference instead of voltage level → low sensitivity to EMI • LVDS is also used for digital image processing cameras • Avoid static voltage generation by large numbers of ’L' or ’H' → Bit inversion Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 113 Electronic Displays Low Voltage Differential Signalling (RS-644) Transition Minimised Differential Signalling • Multiplexing of 7 signals (7 Bit) on 1 line • Both use voltage difference (~ 0.1 V) • TMDS has current loop (disadvantage for EMI) • LVDS by NATIONAL SEMICONDUCTOR and TEXAS INSTRUMENTS mainly used in laptops and for digital image processing • TMDS by SILICON IMAGE, also named as PANEL-LINK and Digital Video Interface (DVI) Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 114 ET/IT & TI Electronic Displays Digital Low Voltage Differential Signaling GC ↔ D Standard for VGA+ panels, differential signaling like USB, Ethernet, … - PC standard: Digital Visual Interface - TV standard: High Definition Multimedia Interface (DVI with DRM) Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 115 Electronic Displays Block Diagram LVDS & TMDS LVDS : 4 data pairs TMDS : 3 data pairs Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 116 ET/IT & TI Electronic Displays Bandwidth of PANEL-Link (TMDS) MOST GTF (VESA) : Generalised Timing Formula 117 Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI TMDS Connectors Electronic Displays Digital Video Interface Only digital Digital & analog Digital Flat Panel Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 118 ET/IT & TI Electronic Displays Serializer Deserializer Interface • TTL (graphics IC out) serial TTL (display panel in) • Single twisted pair for differential signalling • Up to XGA support (65 MHz clock = 1.56 Gbit/sec) • Some implementations with USB, audio, … 24 : 1 IF Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 119 Electronic Displays Serializer Deserializer Interface • Cable have to be adapted for Bit-Error-Rate free transmission 640 Mbps No Pre-Emphasis 100% Pre-Emphasis Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 120 ET/IT & TI Electronic Displays Gigabit Video Interface • Single twisted pair for differential signalling • Up to XGA support (65 MHz clock = 1.56 Gbit/sec) Inventor : SONY • 2nd link possible for higher speeds and resolutions • No separate clock channel (skew is irrelevant) Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 ET/IT & TI 121 Electronic Displays Questions • Why are Hi Res panels so difficult to integrate into µC systems ? • LVDS is used for Embedded System panels, DVI for PC-Systems New trend: DISPLAYPORT – search web for benefits and issues • What are the benefits of high end display controllers ? • What are the benefits and limits of single twisted pair interfaces? Blankenbach / Pforzheim Univ. / www.displaylabor.de / ES Driving / Oct. 2008 122