Presentation is loading. Please wait.

Presentation is loading. Please wait.

FTDI Chip – Embedded Video Engine

Similar presentations


Presentation on theme: "FTDI Chip – Embedded Video Engine"— Presentation transcript:

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?


Download ppt "FTDI Chip – Embedded Video Engine"

Similar presentations


Ads by Google