Presentation is loading. Please wait.

Presentation is loading. Please wait.

FTDI Chip – Embedded Video Engine Designing with the FT800.

Similar presentations


Presentation on theme: "FTDI Chip – Embedded Video Engine Designing with the FT800."— Presentation transcript:

1 FTDI Chip – Embedded Video Engine Designing with the FT800

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

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 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 HaveWant Where can we see these benefits?

10 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 Have Want

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 FT bit ADC + processing enables location to be determined.

14 Design Cycle 1.Se le ct yo ur FT 80 0 ha rd w ar e 2.C o nf ir m yo ur C o nt ro lle r 3.Ut ili se th e ap pr o pr iat e co m pil er 4.D es ig n yo ur ap pli ca ti o n 1.Select your FT800 hardware 2.Confirm your Controller 3.Utilise the appropriate compiler 4.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 Display Connections – Data Spreading CSPREAD RGB Timing with CSPREAD disabled RGB Timing with CSPREAD enabled

20 Development flow: 7 Stages

21 Startup & Config 1.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: REGISTERWQV GA VGA FT_DispWidth FT_DispHeight FT_DispHCycle FT_DispHOffse t 4370 FT_DispHSync 0 00 REGISTERWQV GA VGA FT_DispHSync FT_DispVCycl e FT_DispVOffs et 1213 FT_DispVSync 0 00 FT_DispVSync 1 102

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: o Reg_Touch_Mode_Definition o Reg_Touch_Charge_Definition o Reg_Touch_Settle Definition o Values dependant upon display

25 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 FT800 Step 2 Create the Code (part 3) Enable the LCD

26 Data Paths

27 Graphic Processor Data Path

28 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

31 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)

32 FT800 Graphic Primitives – Basic Shapes LINE STRIP – anti-aliased lines, connected head-to-tail EDGE STRIP – Above, Below, Left, Right – anti aliased edge strips

33 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

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

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 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_MOD E REG_GPIO CMD_GRADIENT POINT_SIZE CMD_CALIBRATE

39 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 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 Software – Graphics Commands LINE_WIDTH POINT_SIZE RESTORE_CONTEXT SAVE_CONTEXT SCISSOR_SIZE SCISSOR_XY STENCIL_FUNC STENCIL_MASK STENCIL_OP TAG TAG_MASK

41 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 Software – Graphic Engine Functions CMD_SKETCH CMD_SNAPSHOT CMD_LOGO MEMORY COMMANDS CMD_MEMCRC CMD_MEMZERO CMD_MEMSET CMD_MEMWRITE CMD_MEMCPY CMD_APPEND OTHER COMMANDS CMD_COLDSTART CMD_INTERRUPT CMD_REGREAD CMD_CALIBRATE CMD_SPINNER CMD_STOP CMD_SCREENSAVER BITMAP COMMANDS CMD_INFLATE CMD_LOADIMAGE CMD_LOADIDENTITY CMD_TRANSLATE CMD_SCALE CMD_ROTATE CMD_SETMATRIX CMD_GETMATRIX

42 Widget example: Buttons/keys

43 Buttons cmd_button(10, 10, 140, 100, 31, 0, "Press!"); // X Y width height font cmd_button(10, 10, 140, 100, 31, OPT_FLAT, "Press!"); 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_fgcolor(0xb9b900), cmd_button(10, 10, 50, 25, 26, 0, "Banana"); cmd_fgcolor(0xb97300), cmd_button(10, 40, 50, 25, 26, 0, "Orange"); cmd_fgcolor(0xb90007), cmd_button(10, 70, 50, 25, 26, 0, "Cherry");

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 Cmd_gradient(BackgroundColor); Cmd_gradient(PowerSignalBackgroundColor); Cmd_clock(NineClocksWithOneHourChange); Cmd_text(PowerRangeValues); Gpu_draw(PowerSignalLineStrip); Display;

48 A pplication 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_gradient(BackgroundColour); Cmd_clock(SingaporeTime; Cmd_text(Singapore); Cmd_text(Pescadero; Display;

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

67 Supporting documentation

68 FT800 Document Resources

69 VM800P board setup

70 VM800P

71

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: xamples/FT800_Projects.htm xamples/FT800_Projects.htm 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: xamples/FT800_Projects.htm xamples/FT800_Projects.htm Unzip to a new folder, FT_App_Refrigerator.ino, found within: \FT800_DEMOAPP_Refrigerator_V1.1\FT800_DEMOAPP_Refrig erator_V1.1\FT800_DEMOAPP_Refrigerator_V1.1\Project\Arduin o\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_Refrig erator_V1.1\FT800_DEMOAPP_Refrigerator_V1.1\Project\Arduin o\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 Smart Meter/ Smart home controller: It could combine with Zigbee or WiFi for Smart Home applications. Central Air Conditioner

90 Others for home electric goods Massage Chair Refrigerator Lighting Control

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 IP PhonePOS Phone Door Security

93 Industry HMI interface Disk ServerUPS Power Meter

94 Vending Machine/ Smart card payment Smart card scanner for payment Vending Machine

95 Health tech (or blood-pressure/ handheld devices)

96 FT800 Applications – Money counting machine

97 Others – home router For wireless router

98 MFP/ Embroidery Machine Multi Function Printer Embroidery Machine

99 Toy related applications Electric Piano Low-end gamer Childs computer

100 QUESTIONS?


Download ppt "FTDI Chip – Embedded Video Engine Designing with the FT800."

Similar presentations


Ads by Google