Download presentation
1
FTDI Chip – Embedded Video Engine
Designing with the FT800 750+ modules out to market between Sept to Dec 2013 800+modules out to market between Q1 2014
2
Agenda Introduction to “EVE” Key features and benefits
Hardware and system requirements Do you require Audio? Display connections Development flow (software) What are display objects FT800 ‘is not complicated’ Application examples: multiple display objects Application creation : Clocks EVE Code Creation EVE Hardware options Supporting Utilities Supporting Documentation VM800P Board Set up
3
FTDI Chip Overview “Design Made Easy”
Multiple award winning solutions for USB and Display technology Recent introduction of two Application Orientated Controller (AOC) microcontroller families Free customer support ‘Royalty free’ drivers and software Technically qualified sales network Full range of associated development kits and USB interface cables
4
“EVE” Embedded Video Engine
“ With the EVE concept, FTDI Chip is looking to change the way in which people interact with everyday technology, by providing the display, audio and touch functionality needed to create innovative new products while simultaneously being very cost effective and not placing heavy demands on the developers.”
5
Typical Hardware Current designs usually require
High-end µC typically 32-bit with abundant IO + external memory Higher cost and board area Graphics library and sometimes an Embedded OS required Expensive frame buffer IC required for display memory Touch and audio implementations needed
6
FT800 Hardware Low cost MCUs enabled (ATMEGA 328, PIC, 8051, etc)
48 pin QFN for reduced PCB area SPI/I²C interface options for reduced pins, simple interface 262k colour (RGB – 6,6,6) WQVGA graphics Touch controller Audio output
7
FT800 Block Diagram
8
EVE Roadmap
9
Have Want Where can we see these benefits?
Upgrade to modern Human Machine Interface (HMI) Replace mechanical switch (expensive, bespoke) Increased functionality w/graphical feedback – e.g. display and control temperature Aesthetic versatility
10
Have Want Where can we see these benefits?
Replace mechanical controls – save on expense and space Company logos instead of buttons Audio feedback Add adverts/information within commercial environments
11
“EVE” Key features and benefits
12
Key Features and benefits
The FT800’s object oriented approach renders images in a line by line fashion with 1/16th of a pixel resolution No expensive frame buffer (less RAM) required lowering system cost Anti-Aliasing Allows the FT800 to produce sharper, smoother edges with enhanced image quality, even on lower resolution displays. Alpha blending and masking algorithms Create shadows / 3D / fade effects In-built widgets for complex shapes Colour Dither Allows the FT800 to calculate for 8-bit colour despite only providing pins for 6-bit (RGB – 6,6,6) Improves half-tone appearance 8kbyte RAM stores display list Approximately 2000 items Programmable Timing Allows the FT800 to adjust HSYNC and VSYNC timing enabling control of many different displays.
13
Key Features and benefits Mono audio (single pin) output from PWM
64-voice polyphonic synthesiser – Play pre-stored sounds allowing for fast implementation of sound generation e.g. bells, chirps, beeps, alarms, clicks, DTMF tones Audio wave playback for mono-8-bit linear PCM, 4-bit ADPCM and µ-Law coding format at sampling frequency from 8kHz to 48kHz Designed for resistive touch screens Includes median filtering and touch force sensing to adjust the screens sensitivity. 4 wire control (X+, X-, Y+, Y-) Screen pressure alters resistance between the +/- signals with the value returned to the FT800. 10 bit ADC + processing enables location to be determined.
14
Select your FT800 hardware
Design Cycle Select your FT800 hardware Confirm your Controller Utilise the appropriate compiler Design your application Select your FT800 hardware Confirm your Controller Utilise the appropriate compiler Design your application
15
Do you require Audio?
16
Designing with the FT800 – Hardware Audio Circuit
17
Display connections
18
Display Connections – RGB Swizzle
What happens if the LCD Panel has a different pin out?
19
Data Spreading CSPREAD
Display Connections – Data Spreading CSPREAD RGB Timing with CSPREAD disabled RGB Timing with CSPREAD enabled The FT800 supports spreading of the RGB data to avoid all 18 bits transitioning at the same time. Enabling “CSPREAD” may help with system power consumption and electromagnetic compatibility (EMC) tests since fewer signals are changing simultaneously
20
Development flow: 7 Stages
21
Startup & Config Configure the SPI/I2C interface
SPI supports Mode 0 to 30MHz I2C supports up to 3.4Mbit/s 2. Wake up the FT800 Fundamentally a dummy read to address 0 and configure the PLL
22
Startup 3. Configure the TFT display timing parameters
Many displays will have different timing for horizontal and vertical sync. FT800 has a set of 10 registers to set the synchronisation FT800 has 3 additional registers to control actual pixel clocking: FT_DispPCLK – Pixel clock divisor FT_DispSwizzle – Sync of RGB pixel clocking FT_DispPCLKPol – Polarity of clock
23
Startup & Config Typical values for frame synchronisation: REGISTER
WQVGA VGA FT_DispWidth 480 320 FT_DispHeight 272 240 FT_DispHCycle 548 408 FT_DispHOffset 43 70 FT_DispHSync0 REGISTER WQVGA VGA FT_DispHSync1 41 10 FT_DispVCycle 292 263 FT_DispVOffset 12 13 FT_DispVSync0 FT_DispVSync1 2
24
Startup & Config 4. Configure the TFT display touch parameters
Theoretically only required if using the touch function. 19 registers to control sensitivity (charge and settle) and monitor feedback Key ones are: Reg_Touch_Mode_Definition Reg_Touch_Charge_Definition Reg_Touch_Settle Definition Values dependant upon display
25
FT800 Step 2 Create the Code (part 3) Enable the LCD
5. Create the display list Multiple paths for this. Direct to 8kRAM (2000 objects) Note: An object may be visual, audio or touch. Via j1 co-processor. 6. Complete and swap the display list 7. Compile and load the code into the system processor
26
Data Paths
27
Graphic Processor Data Path G Ram - Raw data e.g. bitmaps Direct writing to DL Display list – simple circle widget J1 FIFO – calculation widget e.g. clock , complicated widgets
28
processor ctrl/data paths
Audio and touch processor ctrl/data paths
29
What are display objects?
30
FT800 Graphic objects ‘EVE’ displays are created using two primary types of objects: Primitive objects (simple shapes) Widget objects Display Lists are the key to drawing images on the LCD. There are six primitives available: Points are anti-aliased points with a radius of 1 to 256 pixels. Lines are anti-aliased lines with a width of 1 to 256 pixels.
31
Primitives – Basic Shapes
FT800 Graphic Primitives – Basic Shapes POINTS – anti-aliased points, point radius is pixels LINES – anti-aliased lines, with width of pixels (width is from center of the line to boundary) Display Lists are the key to drawing images on the LCD. There are six primitives available: Points are anti-aliased points with a radius of 1 to 256 pixels. Lines are anti-aliased lines with a width of 1 to 256 pixels.
32
Primitives – Basic Shapes
FT800 Graphic Primitives – Basic Shapes LINE STRIP – anti-aliased lines, connected head-to-tail EDGE STRIP – Above, Below, Left, Right – anti aliased edge strips Line Strips are multiple anti-aliased lines, connected head-to-tail. Edge Strips are similar to Line Strips, except the screen is filled solid in a selected direction (above, below, left or right).
33
Primitives – Basic Shapes
FT800 Graphic Primitives – Basic Shapes RECTS – round-cornered anti-aliased rectangles (curvature of the corners can be adjusted using LINE WIDTH) BITMAPS – rectangular pixel arrays, in various color formats Rectangles are round-cornered, anti-aliased rectangles where the corner radius is set by the line width. Bitmaps are rectangular pixel arrays read from the object RAM. Various color formats and translations are available.
34
FT800 Graphic Engine Widgets
TEXT – draw text of varying font types and sizes BUTTON – draw a button CLOCK – draw an analog clock face GAUGE – draw a gauge with optional pointer and tick marks GRADIENT – draw a smooth color gradient KEYS – draw a row of keys PROGRESS – draw a progress bar showing two colors SLIDER – draw a slider bar with knob SCROLLBAR – draw a scroll bar DIAL – draw a knob with an optional pointer TOGGLE – draw a selection bar with two choices (yes/no, on/off, etc.) NUMBER – draw a decimal number with optional sign In addition to the primitives available through the Display List, the FT800 provides a selection of “Widgets” through its Graphics Engine as noted in this slide. Use of these widgets only require a few commands. Other commands are available, such as SNAPSHOT (take a snapshot of the current screen), TRANSLATE (manipulate a bitmap), SKETCH (draw from the touch panel as input), LOADIMAGE (store a JPEG image) and INFLATE (decompress a file into memory). Commands are included to encapsulate Display List primitives as well. The full list of commands is available in the FT800 Programmer Guide. The graphics engine allows complex images to be drawn with minimal commands and host MCU processing. Graphics Engine commands are written to the Command Buffer section of memory. A total of 4Kbytes is available in a ring buffer.
35
FT800 Graphic Engine Widgets
Graphics functionality 2 – alpha blend, stencil buffer functionality. Coprocessor Widget set 13
36
FT800 Graphic Engine Widgets
Coprocessor in built functionality ~8 – jpeg decode (baseline), inflate, calibration, logo, screen saver, sketch, snapshot, set font Coprocessor in built operations – 1D memory operation, bitmap post processing, register read/write, interrupt generation etc. Coprocessor track – linear and rotary track.
37
FT800 is not complicated
38
Sample applications (at the end) show these commands in operation.
FT800 Registry and Command Set 72 registers which are classified into 5 groups Graphics Engine Registers Audio Engine Registers Touch Engine Registers Co-processor Engine Registers Miscellaneous Registers. 65 Commands which are classified into 5 groups Graphics Commands Widget Commands Memory Commands Bitmap Commands Other Commands REG_SWIZZLE REG_TOUCH_MODE REG_GPIO POINT_SIZE CMD_GRADIENT CMD_CALIBRATE Programmers guide – detailed explanation of every command and registry entry. Sample applications (at the end) show these commands in operation. Programmers will know what they are looking at.
39
Display List Functions
Software – Display List Functions PRIMITIVES (basic shapes) BITMAPS POINTS LINES LINE STRIP EDGE STRIP_R EDGE_STRIP_L EDGE_STRIP_A EDGE_STRIP_B RECTS DRAWING ACTIONS BEGIN END VERTEX2II VERTEX2F EXECUTION CONTROL JUMP MACRO CALL RETURN DISPLAY
40
Software – Graphics Commands ALPHA_FUNC BITMAP_HANDLE
BITMAP_LAYOUT BITMAP_SIZE BITMAP_SOURCE BITMAP_TRANSFORM_A-F BLEND_FUNC CELL CLEAR CLEAR_COLOR_A CLEAR_COLOR_RGB CLEAR_STENCIL CLEAR_TAG COLOR_A COLOR_MASK COLOR_RGB LINE_WIDTH POINT_SIZE RESTORE_CONTEXT SAVE_CONTEXT SCISSOR_SIZE SCISSOR_XY STENCIL_FUNC STENCIL_MASK STENCIL_OP TAG TAG_MASK
41
Graphic Engine Functions
Software – Graphic Engine Functions WIDGET Commands CMD_TEXT CMD_BUTTON CMD_CLOCK CMD_BGCOLOR CMD_FGCOLOR CMD_GRADCOLOR CMD_GAUGE CMD_GRADIENT CMD_KEYS CMD_PROGRESS CMD_SCROLLBAR CMD_SLIDER CMD_DIAL CMD_TOGGLE CMD_NUMBER MEMORY Commands CMD_MEMCRC CMD_MEMZERO CMD_MEMSET CMD_MEMWRITE CMD_MEMCPY CMD_APPEND BITMAP Commands CMD_INFLATE CMD_LOADIMAGE CMD_LOADIDENTITY CMD_TRANSLATE CMD_SCALE CMD_ROTATE CMD_SETMATRIX CMD_GETMATRIX OTHER COMMANDS CMD_COLDSTART CMD_INTERRUPT CMD_REGREAD CMD_CALIBRATE CMD_SPINNER CMD_STOP CMD_SCREENSAVER CMD_SKETCH CMD_SNAPSHOT CMD_LOGO
42
Widget example: Buttons/keys
43
Buttons cmd_button(10, 10, 50, 25, 26, 0, "One");
cmd_button(10, 40, 50, 25, 26, 0, "Two"); cmd_button(10, 70, 50, 25, 26, 0, "Three"); cmd_button(10, 10, 140, 100, 31, 0, "Press!"); // X Y width height font cmd_fgcolor(0xb9b900), cmd_button(10, 10, 50, 25, 26, 0, "Banana"); cmd_button(10, 40, 50, 25, 26, 0, "Orange"); cmd_fgcolor(0xb97300), cmd_fgcolor(0xb90007), cmd_button(10, 70, 50, 25, 26, 0, "Cherry"); cmd_button(10, 10, 140, 100, 31, OPT_FLAT, "Press!");
44
Keys Code demonstrates the usage of the keys function
Draws buttons with characters given as input parameters Flat and 3D effects, draw at (x,y) coordinates or centre of the display Inbuilt or custom fonts can be used for key display
45
Application examples using multiple display objects
46
Power Graph Application Cmd_gradient(BackgroundColor);
Gpu_draw(PowerSignalEdgeStripAbove); Gpu_draw(StencilForEdgeStripAbove); Cmd_gradient(PowerSignalBackgroundColor); Gpu_draw(PowerSignalLineStrip); Cmd_clock(NineClocksWithOneHourChange); Cmd_text(NineClocksTime); Gpu_draw(VerticalTransparentLinesAboveClocks); Gpu_draw(TransparentEdgeStripLeftForPowerValues); Cmd_text(PowerRangeValues); Gpu_draw(HorizontalTranparentLinesForPowerValues);
47
Power Graph Screenshot Gpu_draw(PowerSignalLineStrip);
Cmd_text(PowerRangeValues); Cmd_gradient(PowerSignalBackgroundColor); Cmd_clock(NineClocksWithOneHourChange); Cmd_gradient(BackgroundColor); Gpu_draw(PowerSignalLineStrip); Display;
48
Application example: ‘Clocks’
49
Clocks Application Cmd_gradient(BackgroundColor);
Cmd_clock(SingaporeTime); Cmd_track(TrackSingaporeClock); Cmd_text(Singapore); Cmd_clock(PescaderoTime); Cmd_track(TrackPescaderoClock); Cmd_text(Pescadero); Gpu_draw(DrawHomeBitmap);
50
Clocks Screenshot Cmd_text(Pescadero; Cmd_gradient(BackgroundColour);
Cmd_text(Singapore); Cmd_text(Pescadero; Display; Cmd_clock(SingaporeTime;
51
EVE Code creation
52
Software development prototype setup
PC running Microsoft Visual studio acting as microcontroller FTDI high speed SPI cable FT800 Basic module to control 4.3" display with display and black bezel enclosure
53
Code creation points (circles)
54
Code creation points (circles)
55
Code creation points (circles)
56
Application code creation
57
EVE Hardware options
58
FT800Q IC 48 pin VQFN package Tape and Reel (2500 pcs) or Tray (250 pcs) packaging options RoHS Compliant -40Deg C to +85 Deg C Operating Temperature
59
VM800C (Credit Card) Development Hardware
Development board containing with FT800 Includes connector for RGB video timing and touch control signals to the display Includes audio amp Includes connector to mate with external MCU via SPI May be supplied with or without display Display support for 3.5”, 4.3” and 5.0 “ QVGA and WQVGA displays without display or with display
60
VM800B (Basic) Development Hardware
Development board containing with FT800 Support for 3.5”, 4.3” and 5.0 “ QVGA and WQVGA displays Precision fitted bezel in black or pearl Includes audio amp Includes connector to mate with external MCU via SPI
61
VM800B/VM800C Block Diagram
62
USB to SPI Connection VA800A-SPI C232HM-DDHSL-0
63
VM800P Plus Module Plus module with on board Atmega MCU
Support for 3.5”, 4.3” and 5.0 “ QVGA and WQVGA displays Audio amplifier & speaker Precision fitted bezel in black or pearl USB micro – power/programming SD Card slot – BMP`s audio files Battery operation – Real Time Clock
64
VM800P Plus Module Block Diagram
65
Supporting utilities
66
EVE Support Utilities SOFTWARE: Sample application including FT_GPU.h and Hardware Abstraction Layer (HAL). Img_cvt windows utility for formatting images such that EVE can use them Aud_cvt windows utility for formatting audio files such that EVE can use them fnt_cvt windows utility for formatting fonts to bitmaps such that EVE can use them All available from Conversion tools that allow you to convert an image, audio file of font into a format that the EVE series recognises.
67
Supporting documentation
68
FT800 Document Resources Jump to EVE page
69
VM800P board setup
70
VM800P
71
VM800P
72
Install Drivers Plug in the USB cable to the PC
73
Load a program Download the Example 13- FT_App_Signals sample app from the web site: Unzip to a new folder, double click on the project FT_App_Signals.ino, found within: \Downloads\FT_App_Signals\FT_App_Signals\Project\Aurdino\FT_App_Signals\FT_App_Signals.ino This will automatically open the Ardunio IDE tool chain.
74
IDE Select Board
75
IDE Select Port
76
Program the ATMega328
77
Program the ATMega328 Error if the incorrect com port is selected
78
Load a sample app The sample application will run after a reset. First screen is the three point calibrate
79
Run the sample app
80
Load a program SD card images
Download the Example 22- Refrigerator sample app from the web site: Unzip to a new folder, FT_App_Refrigerator.ino, found within: \FT800_DEMOAPP_Refrigerator_V1.1\FT800_DEMOAPP_Refrigerator_V1.1\FT800_DEMOAPP_Refrigerator_V1.1\Project\Arduino\FT_App_Refrigerator
81
Load a program SD card images
Copy contents of Test folder to VM800P SD card Double click on the project FT_App_Refrigerator.ino, found within: \FT800_DEMOAPP_Refrigerator_V1.1\FT800_DEMOAPP_Refrigerator_V1.1\FT800_DEMOAPP_Refrigerator_V1.1\Project\Arduino\FT_App_Refrigerator
82
IDE will open with project
83
Load a sample app The sample application will run after a reset. First screen is the three point calibrate
84
Run the sample app
85
Slide Summary FT800Applications
86
Cooking Machines Rice Cookers Induction Cookers Oven/ Microwave
Juice Maker
87
Coffee/ Tea Machines
88
Washer/Dryer Machines
89
Air Conditioner/ Smart Homes Central Air Conditioner
Smart Meter/ Smart home controller: It could combine with Zigbee or WiFi for Smart Home applications.
90
Others for home electric goods Massage Chair Lighting Control
Refrigerator
91
Industry Field: Elevator display for each floor
Display and audio, do not need touch function FTDI Example
92
Industry Field: Elevator
display for each floor Door Security IP Phone POS Phone
93
Industry HMI interface Power Meter Disk Server UPS
94
Smart card scanner for payment
Vending Machine/ Smart card payment Smart card scanner for payment Vending Machine
95
blood-pressure/ handheld devices)
Health tech (or blood-pressure/ handheld devices)
96
Money counting machine
FT800 Applications – Money counting machine
97
Others – home router For wireless router
98
Multi Function Printer
MFP/ Embroidery Machine Multi Function Printer Embroidery Machine
99
Toy related applications Low-end gamer Electric Piano Childs computer
100
QUESTIONS?
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.