Application Note AN_240. FT800 From the Ground Up
|
|
|
- Rebecca Charles
- 10 years ago
- Views:
Transcription
1 AN_240 FT800 From the Ground Up Issue Date: The FTDI FT800 video controller offers a low cost solution for embedded graphics requirements. In addition to the graphics, resistive touch inputs and an audio output provide a complete human machine interface to the outside world. This application note will describe the process of integrating the FT800 into a design with a simple MCU. Use of FTDI devices in life support and/or safety applications is entirely at the user s risk, and the user agrees to defend, indemnify and hold FTDI harmless from any and all damages, claims, suits or expense resulting from such use. Future Technology Devices International Limited (FTDI) Unit 1, 2 Seaward Place, Glasgow G41 1HH, United Kingdom Tel.: +44 (0) Fax: + 44 (0) Web Site:
2 Table of Contents 1 Introduction Hardware MCU Selection Display Selection Display Connection to FT Display orientation Color Data Display Timing Display Enable Backlight Touch Panel Integration Resistive touch panel Capacitive touch panel Audio Integration MCU connection SPI slave I 2 C slave Clock, GPIO, Power & Control Example circuit Data Transfers Host Memory Read Host Memory Write Host Command Write Software Memory Map Configuration MCU setup Wake Up Configure the Display Timing
3 4.2.4 Configure the Touch Sensitivity Configure the audio Initialize and enable the display Application Create Display Lists Update the Display List Widgets & the FT800 Graphics Engine FT800 Design Summary Collateral Support from FTDI Contact Information Appendix A References Document References Acronyms and Abbreviations Appendix B List of Tables & Figures List of Tables List of Figures Appendix C Revision History
4 1 Introduction What is EVE? EVE, or the Embedded Video Engine, is a family of ICs designed to control TFT displays. The first device in this family is the FT800 which in addition to controlling the display also includes embedded support for touch control and audio output. The device is controlled over a low bandwidth SPI or I 2 C interface allowing interface to nearly any microcontroller with a SPI or I 2 C master port. Simple and low-pin-count microcontrollers can now have a high-end graphical user interface by using the FT800 with EVE technology. Unique to the FT800, images are rendered on a line by line basis. This eliminates the need for an external, and costly, frame buffer. EVE connects directly between the MCU and LCD panel. The User Interface is managed by the MCU and displayed by the FT800 graphics controller. Touch feedback is handled by the integrated resistive touch controller. The integrated PWM audio processor provides single-channel sound and file playback. Interaction to all three controllers on the FT800 video, touch and audio is accomplished through the single microcontroller interface. 3
5 2 Hardware The block diagram below shows the various connections available with the FT800: LCD panel, backlight, touch interface, audio output and finally the MCU interface. Each connection is described through this section. Figure 2.1 FT800 Block Diagram 2.1 MCU Selection Nearly any MCU can be used with the FT800. Interface requirements are: SPI Master in 4-wire Mode 0, or I 2 C Master Interrupt input level sensitive, low active, open drain output from FT800 GPIO output to drive PD_N for FT800 power modes 2.2 Display Selection Physical dimensions of a project determine what size of LCD panel to select. The FT800 supports a maximum resolution of 512 x 512 pixels. Within this specification are common screen resolutions of QVGA (320 x 240 pixels) and WQVGA (480 x 272 pixels). Typically this will lead to an actual panel size of between 3.5 and 5.0. Rectangular displays may be orientated as landscape (the longer dimension is in the X direction) or portrait (the longer dimension in the Y direction). It is necessary to determine whether the project requires the user to provide feedback directly on the display. Many displays are available with an integrated resistive touch panel, so when touch is a requirement, the proper display must be selected. The FT800 supports location and pressure status on resistive touch screens, through the use of the X± and Y± pins. Simply connect these pins to the touch panel to enable functionality. The FT800 provides noise filtering for the touch screen. 4
6 2.3 Display Connection to FT800 The FT800 will connect directly to the screen without the need for buffering Display orientation Nearly all LCD displays are orientated such that (X, Y) coordinate (0, 0) is located in the upper left corner. All (X, Y) coordinates are positive numbers. X increases as the location is moved from left-to-right; Y increases as the location moves from top-to-bottom. Touch panels follow the same coordinate system with (0, 0) in the upper left, although the accuracy may be higher than one pixel allowing for sub-pixel detection. For the FT800, the anti-aliasing feature is always enabled. Pixels can be defined by the application as a number of sub-pixels, usually in 1/16 th pixel increments. While the physical dimensions of a pixel cannot be altered, the color values are sent in such a way to smooth out the visual appearance of the various items Color Data The colors Red (R), Green (G) and Blue (B) are provided as parallel data to the display. There are 6 bits for each color. If the display supports more bits (sometimes up to 8) simply connect the FT800 data pins to the higher data bits for each color of the display. Refer to the display datasheet whether the unused pins should be left open or pulled to a particular value. The FT800 supports a re-ordering, or swizzling, of the data LCD RGB data bits pin assignments. This allows a direct PCB layout from the FT800 to the LCD connector, with the ability to positively impact electromagnetic (EMI) effects. Refer to the FT800 Datasheet for details surrounding the different connection orders Display Timing Several signals are used to coordinate all of the data and timing required by the display: PCLK Pixel Clock the master clock to latch the signals into the display VSYNC Vertical Sync defines the beginning of a frame HSYNC Horizontal Sync defines the beginning of a line DE Data Enable defines when RGB data is being driven DISP Display Enable defines when the overall display is internally powered The Pixel Clock is used to latch each pixel value and other timing signals into the display. The FT800 can drive the panel data either on rising or falling edge clocks. Display timing is typically controlled through the Pixel Clock coupled with the Vertical Sync (VSYNC) and Horizontal Sync (HSYNC) pulses. Although the physical, or active size of the display may be a given pixel size (e.g. 480 x 272), the actual number of clocks required to display the full image is not simply (Horizontal * Vertical). An image is comprised of multiple horizontal lines. Each line requires several clocks before and after the active region. In a similar fashion, the total number of lines is greater than the vertical active region with several lines above and below the active region. A typical display datasheet will define the pixel clock frequency (REG_PCLK) and whether data is clocked on rising or falling edges (REG_PCLK_POL). It will then describe the horizontal synchronization pulse start (REG_HSYNC0) and stop (REG_HSYNC1) times as a number of clocks. Vertical synchronization pulse start (REG_VSYNC0) and stop (REG_VSYNC1) are defined as a number of lines. Sometimes the total number of clocks per line (REG_HCYCLE) and lines per screen (REG_VCYCLE) are directly shown. Other times, there may be references to front porch and back porch timing. Add the front and back porch values to the active screen size in a particular direction to obtain the total number of clocks/line or lines/screen. 5
7 Finally, the offsets need to be defined. These values define exactly where in the screen the active region will be displayed. They are defined as a number of clocks from the start of the HSYNC signal (REG_HOFFSET) and the number of lines from the start of the VSYNC signal (REG_VOFFSET). During the output of each horizontal line, the Data Enable signal (DE) will be active while data is being output on the RGB signals. Some displays do not require physical HSYNC or VSYNC signals. Instead, they use the Data Enable (DE) signal which is also provided by the FT800. If DE is used, correct timing calculations and settings for VSYNC and HSYNC still apply even though they may not be connected to the display. Refer to the display datasheet for timing and connection requirements. The image below correlates the FT800 registers to the timing of a LCD panel. See Section below for programming the registers and display initialization sequence. VSYNC REG_VSYNC0 REG_VSYNC1 REG_VOFFSET REG_VCYCLE (#LINES/SCREEN) REG_VSIZE Active Display Region REG_HSIZE REG_HCYCLE (#CLOCKS / LINE) PCLK HSYNC DE R[7..2], G[7..2], B[7..2] REG_HSYNC0 REG_HSYNC1 REG_HOFFSET RGB Pixel Data Figure 2.2 FT800 LCD Timing Registers Display View 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 6
8 (EMC) tests since fewer signals are changing simultaneously. The figures below shows the LCD data timing CSPREAD disabled then enabled. Figure 2.3 LCD RGB timing with CSPREAD disabled Figure 2.4 LCD RGB timing with CSPREAD enabled CSPREAD is available with either polarity setting for PCLK Display Enable Displays may have a signal for power control, commonly called Display Enable (DISP). The FT800 provides the DISP signal as a GPIO output that the MCU application can set to logic 1 or logic 0 when required Backlight TFT displays also have a LED backlight that typically requires between 24V and 30V. An external LED driver suitable to generate this voltage is necessary. The FT800 provides a PWM output to adjust the brightness of the display s LED array. 2.4 Touch Panel Integration Incorporating a touch panel into an embedded design allows the elimination of a keyboard or other buttons for user feedback. The FT800 can supply the direct touch data, or be coupled with one of the special widgets that track position automatically Resistive touch panel Resistive panels have been available for some time and are robust solutions for many situations including industrial environments. There are no restrictions on whether the user is wearing gloves. A touch interface is simple one pair each of X and Y signals. These are connected directly to the FT Capacitive touch panel Capacitive touch panels are commonly found on tablets, phones and other similar hand-held devices. The user must use their bare finger or use a specially designed glove or stylus. A more 7
9 capable MCU may also be required to process the multiple touch points. The FT800 does not support capacitive touch panels. 2.5 Audio Integration Audio output is also provided by the FT800. As with the PWM backlight output, audio is also supplied as a PWM signal. Filtering and amplification are required to convert the PWM pulses into an analog waveform suitable to drive a speaker or headphones. The FT800 can synthesize 60 different MIDI sounds, most with pitch control. Audio file playback is also possible with files formatted as 8-bits signed PCM, 8-bits µlaw or 4-bits IMA-ADPCM. 2.6 MCU connection The last piece of the puzzle is the connection to the host MCU. The MCU needs to provide a SPI master or an I 2 C master interface as noted below SPI slave 30Mbps maximum rate Unmanaged Mode 0 Most significant bit (MSB) first The SPI MCU interface consists of the following signals: SPI_SCK SPI clock SPI_MOSI Master Out / Slave In data from the MCU to the FT800 SPI_MISO Master In / Slave Out data from the FT800 to the MCU SPI_SS_N SPI Slave Select, low active INT_N Interrupt output from FT800 PD_N Power down input to the FT800 Two GPIO signals are available to be used as necessary MODE FT800 input pull down to select SPI I 2 C slave 3.4Mbps maximum rate Configurable device address (0x20 through 0x27) The I 2 C MCU interface consists of the following signals: I2C_SCL I 2 C clock I2C_SDA I 2 C data I2C_A2, I2C_A1, I2C_A0 I 2 C Slave Address (add 0x20 for the full address) o Binary address = (MSB) 0, 1, 0, I2C_A2, I2C_A1, I2C_A0 (LSB) INT_N Interrupt output from FT800 PD_N Power down input to the FT800 One GPIO signal is available to be used as necessary MODE FT800 input pull up to select I 2 C Clock, GPIO, Power & Control The FT800 uses an external 12MHz crystal or logic-level oscillator. Two GPIO signals are required for interrupt and power control. The FT800 requires two power supplies: VCC and VCCIO. VCC provides the reference for the LCD interface and is fixed at 3.3V. VCCIO provides the reference for the MCU interface with an allowable range of 1.8V to 3.3V. An internal regulator supplies 1.2V for the FT800 core. 8
10 2.7 Example circuit An example circuit showing the FT800 with a SPI interface is shown in Figure 2.5 below. Filtering of the audio output and audio amplifier power supply is shown in the circuit below and necessary to eliminate video switching noise from altering the audio signals. The MCU interface to the FT800 (VCCIO) may be set between 1.8V and 3.3V to support a wide range of MCU and FPGA master ports. Figure 2.5 Example FT800 circuit 9
11 3 Data Transfers The FT800 supports a common data communication scheme, regardless of whether the SPI or I 2 C interface is selected. The FT800 utilizes a 4MB address space for graphic, touch and audio controller registers as well as memory buffers for use with each controller. The memory map is defined in Section 5 of the FT800 Datasheet. The host reads and writes the FT800 address space using SPI or I²C transactions. These transactions are defined as Memory Read, Memory Write, and Command Write as described in the following sections. Both interfaces use the same byte ordering. Multiple bytes are sent as Little Endian. For example, the REG_FREQUENCY register has a default value of 0x02DC6C00 after reset. When reading this value, the byte order on the MCU interface is: 0x00, 0x6Ch, 0xDC, 0x02. SPI data is sent by the most significant bit first, mode zero. I²C transactions are encapsulated in the I²C protocol. For SPI operation, each transaction starts with SS_N goes low, and ends when SS_N goes high. There s no limit on data length within one transaction, as long as the memory addresses are continuous. Access to the address space is done over three interface commands: Host Memory Read Host Memory Write Host Command Write There is no command read. 3.1 Host Memory Read For a SPI memory read transaction, the host writes two zero bits, followed by the 22-bit address and a dummy byte. After the dummy byte, the FT800 responds to each host byte with read data bytes. Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 SPI Activity Set SPI_SS_N Low (active) Command/Address 0 0 A21 A20 A19 A18 A17 A16 Address A15 A14 A13 A12 A11 A10 A9 A8 Address A7 A6 A5 A4 A3 A2 A1 A0 Dummy x x x X x x x x Byte 0 Byte n SPI Activity Read Byte 0, MSB first Read Bytes, MSB first Read Byte n, MSB first Set SPI_SS_N High (inactive) Table 3.1 FT800 Read Memory Data over SPI x = don t care, commonly set to 0. 10
12 During the time data is being read from the FT800 on the MISO signal, activity on the MOSI signal is ignored. For an I 2 C memory read transaction, bytes are packed in the I 2 C protocol as follows. A dummy byte is not required: Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 I 2 C Condition Start - Write Command/Address 0 0 A21 A20 A19 A18 A17 A16 Address A15 A14 A13 A12 A11 A10 A9 A8 Address A7 A6 A5 A4 A3 A2 A1 A0 I 2 C Condition Restart - Read Byte 0 Read Byte 0 Byte n I 2 C Condition Read Bytes Read Byte n Stop Table 3.2 FT800 Read Memory Data over I 2 C 3.2 Host Memory Write For a SPI memory write transaction, the host writes a one bit followed by a zero bit, followed by the 22-bit address, followed by the data to write. All data is streamed with a single chip select. Note there is no dummy byte between the address and data to write. Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 SPI Activity Set SPI_SS_N Low (active) Command/Address 1 0 A21 A20 A19 A18 A17 A16 Address A15 A14 A13 A12 A11 A10 A9 A8 Address A7 A6 A5 A4 A3 A2 A1 A0 Byte 0 Write Byte 0 Byte n SPI Activity Write Bytes Write Byte n Set SPI_SS_N High (inactive) Table 3.3 FT800 Write Memory Data over SPI 11
13 During the time data is being written to the FT800 on the MOSI signal, activity on the MISO signal is ignored. For an I 2 C memory write transaction, bytes are packed in the I 2 C protocol as follows: Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 I 2 C Condition Start - Write Command/Address 1 0 A21 A20 A19 A18 A17 A16 Address A15 A14 A13 A12 A11 A10 A9 A8 Address A7 A6 A5 A4 A3 A2 A1 A0 Byte 0 Write Byte 0 Byte n I 2 C Condition Write Bytes Write Byte n Stop Table 3.4 FT800 Write Memory Data over I 2 C 3.3 Host Command Write For a SPI write command write transaction, the host writes a zero bit followed by a one bit, followed by the 5-bit command, followed by two bytes of zero. All data is streamed with a single chip select. Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 SPI Activity Set SPI_SS_N Low (active) Command 0 1 C5 C4 C3 C2 C1 C0 Zero Zero SPI Activity Set SPI_SS_N High (inactive) Table 3.5 FT800 Write Command over SPI During the time the command is being written to the FT800 on the MOSI signal, activity on the MISO signal is ignored. 12
14 For an I 2 C memory write transaction, bytes are packed in the I 2 C protocol as follows: Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 I 2 C condition Start - Write Command 0 1 C5 C4 C3 C2 C1 C0 Zero Zero I 2 C Condition Stop Table 3.6 FT800 Write Command over I 2 C NOTE: Issuing the ACTIVE command wakes the FT800 from sleep or standby. The ACTIVE command is accomplished by writing three bytes of 00h to address zero. There are only six commands, so it may be desirable to create individual calls in firmware for each one: Command Value (including bits 6 & 7) Description Power Modes ACTIVE STANDBY SLEEP PWRDOWN Clock Switching CLKEXT 0x00 0x41 0x42 0x50 0x44 Switch from Standby/Sleep modes to active mode. Write three bytes of 00h to issue the ACTIVE command Put FT800 core to standby mode. Clock gate off, PLL and Oscillator remain on (default). Put FT800 core to sleep mode. Clock gate off, PLL and Oscillator off. Switch off 1.2V internal regulator. Clock, PLL and Oscillator off. Enable PLL input from Crystal oscillator or external input clock. CLK48M 0x62 Switch PLL output clock to 48MHz (default). CLK36M 0x61 Switch PLL output clock to 36MHz. Miscellaneous CORERST 0x68 Send reset pulse to FT800 core. All registers and state machines will be reset. Table 3.7 FT800 Commands 13
15 4 Software 4.1 Memory Map Memory and registers, since they are memory mapped, are accessed with the data transfers noted in section 3. MCU firmware can be configured in such a way to create a common set of calls by passing an address and size of data to read or write. Start Address End Address Size NAME Description 0x x03FFFF 256 kb RAM_G Main graphics RAM 0x0C0000 0x0C B ROM_CHIPID FT800 chip identification and revision information: Byte [0:1] Chip ID: 0800 Byte [2:3] Version ID: x0BB23C 0x0FFFFB 275 kb ROM_FONT Font table and bitmap 0x0FFFFC 0x0FFFFF 4 B ROM_FONT_ADDR Font table pointer address 0x x101FFF 8 kb RAM_DL Display List RAM 0x x1023FF 1 kb RAM_PAL Palette RAM 0x x10257F 380 B REG_* Registers 0x x108FFF 4 kb RAM_CMD Graphics Engine Command Buffer Table 4.1 FT800 Memory Map When accessing the items in the memory map above, use the following rules: All memory locations except registers (i.e. the highlighted rows) must be accessed in 4- byte increments. If an object size is not divisible by 4, then pad the data with zero values. Registers have varying bit sizes. If the register size is not on a byte boundary, read or write to the next byte size (e.g. the REG_HSYNC register is 10-bits. Access this register with a 16-bit data read). 14
16 4.2 Configuration MCU setup SPI <=10MHz initial SPI clock o Use slower clock while on internal oscillator Mode zero o CPOL = 0 clock idles at zero o CPHA = 0 data is sampled on rising edge, propagated on falling edge Little Endian data byte ordering I 2 C I 2 C address of 0x20 through 0x27, depending on the I2C_A2, I2C_A1 and I2C_A0 pins of the FT800 Maximum rate = 3.4Mbps Little Endian data byte ordering Since the data ordering is the same regardless whether SPI or I 2 C is in use, the remainder of the document will simply call the MCU-FT800 connection as the interface Wake Up After configuring the MCU interface the first step in communicating with the FT800 is to wake it up. 1) Reset the FT800 Drive PD_N low for 20ms, then back high Wait for 20ms after PD_N is high 2) Issue the Wake-up command Write 0x00, 0x00, 0x00 3) If using an external crystal or clock source on the FT800, issue the external clock command Write 0x44, 0x00, 0x00 4) Set the FT800 internal clock speed to 48MHz Write 0x62, 0x00, 0x00 5) At this point, the Host MCU SPI Master can change the SPI clock up to 30MHz 6) Read the Device ID register Read one byte from location 0x Check for the value 0x7C 7) Set bit 7 of REG_GPIO to 0 to turn off the LCD DISP signal Write 0x80 to location 0x Configure the Display Timing Once the FT800 is awake and the internal clock set and Device ID checked, the next task is to configure the LCD display parameters for the chosen display with the values determined in Section above. Note: From this point on, individual Write or Read values will not be shown. For example if the activity is Set REG_PCLK to zero, this implies a Host Memory Write to location 10246Ch with a data value of 00h. Register addresses are found in the FT800 datasheet. 1) Set REG_PCLK to zero - This disables the pixel clock output while the LCD and other system parameters are configured 2) Set the following registers with values for the chosen display. Typical WQVGA and QVGA values are shown: 15
17 Register Description WQVGA 480 x 272 QVGA 320 x 240 REG_PCLK_POL Pixel Clock Polarity 1 0 REG_HSIZE Image width in pixels REG_HCYCLE Total number of clocks per line REG_HOFFSET Horizontal image start (pixels from left) REG_HSYNC0 Start of HSYNC pulse (falling edge) 0 0 REG_HSYNC1 End of HSYNC pulse (rising edge) REG_VSIZE Image height in pixels REG_VCYCLE Total number of lines per screen REG_VOFFSET Vertical image start (lines from top) REG_VSYNC0 Start of VSYNC pulse (falling edge) 0 0 REG_VSYNC1 End of VSYNC pulse (rising edge) 10 2 Table 4.2 Typical LCD Timing Parameters 3) Enable or disable REG_CSPREAD with a value of 01h or 00h, respectively. Enabling REG_CSPREAD will offset the R, G and B output bits so all they do not all change at the same time Configure the Touch Sensitivity As mentioned above, the FT800 directly supports a resistive touch panel. When the panel is touched, pressure is applied and sensed as varying resistances in the X and Y direction. These two resistances are then correlated by the FT800 to provide the X and Y coordinates. The FT800 can be adjusted to the sensitivity of the pressure applied to the panel through the following registers: Register Description Default REG_TOUCH_MODE 2-bit value 0x0 = off 0x1= one-shot (one acquisition per write) 0x2 = frame sync 0x3 = continuous 0x3 REG_TOUCH_ADC_MODE REG_TOUCH_CHARGE 1-bit value 0x0 = single-ended (low power) 0x1 = differential (greater accuracy) 16-bit value Touch screen charge time (*6 clocks) 0x1 0x
18 Register Description Default REG_TOUCH_SETTLE REG_TOUCH_OVERSAMPLE REG_TOUCH_RZTHRESH Table 4.3 Initial Touch Screen Setup 4-bit value Touch screen settle time (*6 clocks) 4-bit value Touch screen oversample factor 16-bit value = Resistance threshold Higher number is more sensitive 0x3 0x7 0xFFFF At minimum, REG_TOUCH_MODE should be set to off (0x0) until the touch screen is ready for use, after the remaining FT800 configuration registers. The other registers can be adjusted to suit the application and target environment. This prevents any unwanted screen taps prior to calibration. Touch calibration is available through the graphics co-processor widgets. Details are available in the FT800 Programmers Guide Configure the audio Although not technically part of the display, Audio is a feature of the FT800. As such it is good practice to set the volume of the audio in conjunction with the other configuration registers. Register Description Default REG_VOL_SOUND Table 4.4 Initial Audio Output Setup 8-bit value Audio output volume 0xFF As with the touch screen, the audio output should be disabled during setup and until the application needs to output sounds. This is done by setting REG_VOL_SOUND to zero (00h). Doing so will prevent any audio pops and clicks as other registers are written, for example to play a MIDI tone or audio file Initialize and enable the display At this point, all the necessary configuration registers are initialized and the system is ready to start displaying video, as well as sensing touch events and playing audio. All of this is done through a Display List. The Display List The Display List is formed by writing a series of commands to the RAM_DL memory portion of the FT800 memory map. Graphics elements are handled through commands stored in the list. Register writes for touch and audio elements are handled in line with the Display List. The FT800 is then instructed to swap the Display List that was just created to make it active. While the active list is being shown on the LCD panel, or touch and audio activities processed, a new Display List is formed. Once ready, the lists swap again so the new commands are executed. This process continues for each update shown on the display, new audio sound, etc. 17
19 SPI / I 2 C Create NEW Display List NEW becomes ACTIVE Display Swap Clock out ACTIVE Display List LCD Panel ACTIVE becomes NEW Figure 4.1 Display List Swapping Display list commands are always 32 bits (4 bytes) long. The first command on a display list should be to address 0. Subsequent commands should be sent on an increment of 4 bytes to avoid overlap. Since the system is just starting, there is not active Display List, and the pixel clock is not yet started. The first Display List should start with a blank screen of a chosen color as an initial condition to avoid displaying any artifacts once the pixel clock is started. Here is an example start-up Display List: wr32(ram_dl + 0, CLEAR_COLOUR_RGB(0, 0, 0);//Set the initial colour to black wr32(ram_dl + 4, CLEAR(1, 1, 1); //Clear to the initial colour wr32(ram_dl + 8, DISPLAY()); //End the display list wr32(reg_dlswap, SWAP_FRAME); //Make this display list active on the //next frame wr32(address, value) indicates the MCU would write the value (CLEAR, POINT_SIZE, etc.) to the address within the display list (RAM_DL + n). This notation is used throughout other FT800 documents. Up until this point, no output has been generated on the LCD interface. With the configuration and initial display list in place, the LCD DISP signal, backlight and pixel clock can now be turned on: Register Description WQVGA 480 x 272 QVGA 320 x 240 REG_GPIO_DIR Set GPIO0,1 direction change bits 0,1 as necessary (GPIO7 is always output) 0x80 0x80 REG_GPIO Set DISP to 1 to enable the LCD panel Set other GPIO 0,1 as necessary 0x80 0x80 18
20 Register Description WQVGA 480 x 272 QVGA 320 x 240 REG_PWM_HZ Set backlight PWM frequency in Hz refer to LED power supply for frequency 0x00FA 0x00FA REG_PWM_DUTY Set backlight duty cycle (brightness) 0 = off, 80h = full brightness 0x80 0x80 REG_PCLK Set Pixel Clock Frequency (typical) Refer to LCD panel specifications ( ) 0x05 0x08 Table 4.5 Final Display Preparation NOTE: Refer to the LCD panel specifications for the required power-up sequence. It may require a different order for enabling DISP, backlight and PCLK. NOTE: If RGB signal swizzling is required, this feature should be configured before enabling PCLK. The FT800 will now turn on the display and show a blank screen. The start-up Display List is repeated until a new one is swapped in. The screen will remain blank. 4.3 Application Create Display Lists The host MCU can now update the FT800 to correspond with the application. While the initial Display List is being shown, the next display list is built. The Display List supports drawing basic graphics primitives: 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) LINE STRIP anti-aliased lines, connected head-to-tail RECTS round-cornered anti-aliased rectangles (curvature of the corners can be adjusted using LINE WIDTH) EDGE STRIP Above, Below, Left, Right anti aliased edge strips BITMAPS rectangular pixel arrays, in various color formats This list will draw a red dot with a diameter of 20 pixels at the location (192, 133): wr32(ram_dl + 0, CLEAR(1, 1, 1); //Clear the screen wr32(ram_dl + 4, COLOUR_RGB(160, 22, 22)); //Set the draw colour to red wr32(ram_dl + 8, POINT_SIZE(320)); //Set size to 320/16 = 20 pixels wr32(ram_dl + 12, BEGIN(POINTS)); //Start the point draw wr32(ram_dl + 16, VERTEX2II(192, 133, 0, 0)); //Draw circle 192 pixels from //left and 133 down wr32(ram_dl + 20, END()); //End the point draw wr32(ram_dl + 24, DISPLAY()); //End the display list (28 bytes used) wr32(reg_dlswap, SWAP_FRAME); //Make this display list active on the //next frame NOTE: The Display List always starts by clearing the screen and is always terminated by Display and swapping the list. Primitives start with BEGIN(primitive type) and end with END(), or the next BEGIN. 19
21 4.3.2 Update the Display List Subsequent changes to the display (e.g. updating an item on a menu) are done by sending a new display list over the interface to the FT800. This will be an iterative process repeated as many times as the screen requires new data. The FT800 documentation calls the Display List being built the Update List while the image the user can observe is on the Active List. Nothing new is observed until the display list is swapped over Widgets & the FT800 Graphics Engine In addition to the primitives available through the Display List, the FT800 provides a selection of Widgets through its Graphics Engine. These widgets are: TEXT draw text of varying font types and sizes NUMBER draw a decimal number with optional sign BUTTON draw a button KEYS draw a row of keys CLOCK draw an analog clock face GAUGE draw a gauge with optional pointer and tick marks DIAL draw a knob with an optional pointer PROGRESS draw a progress bar showing two colours SLIDER draw a slider bar with knob SCROLLBAR draw a scroll bar TOGGLE draw a selection bar with two choices (yes/no, on/off, etc.) GRADIENT draw a smooth color gradient SPINNER draw an animated spinner (i.e. Please Wait ) LOGO draw an animated FTDI logo 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 INFLAGE (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. These commands allow complex graphic images to be drawn with a minimum of commands and host MCU processing. Within the memory map of the FT800 is a ring buffer of 4K bytes which is used to store commands destined for the Graphics Engine. This is identified as RAM_CMD starting at location h: Figure 4.2 FT800 Graphics Engine Command Buffer 20
22 When idle, the values of REG_CMD_WRITE and REG_CMD_READ are equal. As commands are written to the ring buffer, the value of REG_CMD_WRITE is incremented. When the Graphics Engine detects the difference, it will process the commands and increment REG_CMD_READ until it again matches REG_CMD_WRITE. When issuing commands, the size of the available command buffer should be checked: Leaving one command space of 4-bytes for the freespace calculation will prevent overrun in the event the command buffer is completely full. The graphics commands are sent to the command buffer in a similar fashion as the Display List used for primitives. In fact, Display List commands can be embedded into the Graphics Engine command list. The following command list would perform the same function of blanking the display as the initial Display List in Section above. cmd(cmd_dlstart); cmd(clear_color_rgb(0, 0, 0)); cmd(clear(1, 1, 1)); cmd(display()); cmd(cmd_swap()); // start a new display list // set clear color // clear screen // end the display list // swap to the new display As with sending data for the Display List, these commands indicate to send certain bytes over the SPI or I 2 C interface to a particular memory location. For the example Command List shown here, the following data is written from the host MCU to the FT800: cmdbufferrd = rd32(reg_cmd_read); // obtain the Graphics Engine stop point cmdbufferwr = rd32(reg_cmd_write); // obtain the ring buffer starting point if (( (cmdbufferwr cmdbufferrd)) > 4) // enough space? { wr32(cmdbufferwr + 0, 0xffffff00); // CMD_DLSTART wr32(cmdbufferwr + 4, 0x ); // CLEAR_COLOR_RGB with black wr32(cmdbufferwr + 8, 0x ); // CLEAR color, stencil & tag buffers wr32(cmdbufferwr + 12, 0xffffff01); // DISPLAY() to the new list wr32(reg_cmd_write, cmdbufferwr + 16); // Update the write buffer } Unlike the Display List, however, the Graphics Engine commands may require arguments making each write a variable length. For example, the Clock widget would take the following form:... // n is the the first location after the previous command wr32(cmdbufferwr + n, 0xffffff14); // CMD_CLOCK wr16(cmdbufferwr + n + 4, 100); // X position 100 from left wr16(cmdbufferwr + n + 6, 120); // Y position 120 from top wr16(cmdbufferwr + n + 8, 50); // radius of 50 wr16(cmdbufferwr + n + 10, OPT_NOSECS); // don t display second hand wr16(cmdbufferwr + n + 12, 8); // hour = 8 wr16(cmdbufferwr + n + 14, 15); // minute = 15 wr16(cmdbufferwr + n + 16, 0); // seconds = 0 wr16(cmdbufferwr + n + 18, 0); // milliseconds = 0 // clock command is complete // issue the next command wr32(cmdbufferwr + n + 20, <next command>); // issue the next command... 21
23 Notice the 16-bit writes for each of the clock arguments. CMD_CLOCK itself is 32-bits. The data transfers above would display the following clock: Figure 4.3 FT800 Grapics Engine Clock Widget 22
24 5 FT800 Design Summary The FT800 provides an easy way to incorporate graphics displays into products providing for a lower cost solution or enabling a display into systems that could not otherwise afford this capability. With only the FT800 between the MCU and the LCD display, a vivid graphics experience with touch and audio is now possible. The overall design flow from component selection to displaying the first screen is captured here: Hardware Select MCU SPI or I2C GPIO for PD_n Interrupt Input Select Display, Audio & Touch Size = WQVGA, QVGA, up to 512 x 512 Resistive Touch Audio Amplifier Software Configure MCU Interface SPI Mode Zero -or- I2C Address Set Host MCU SPI Speed to 10MHz maximum Little Endian Data Format Wake-up FT800 Toggle PD_n low for 20ms min., then high Write 0x00, 0x00, 0x00 to wake FT800 Write 0x44, 0x00, 0x00 to select Ext Clock Write 0x62, 0x00, 0x00 to select 48MHz Host MCU SPI Speed can now go up to 30MHz REG_PCLK = zero until after display parameters are set Configure Display Set Screen Registers Vertical REG_VCYCLE, REG_VSIZE, REG_VSYNC0/1, REG_VOFFSET Horizontal REG_HCYCLE, REG_HSIZE, REG_HSYNC0/1, REG_HOFFSET Configure Touch and Audio Set Touch Registers REG_TOUCH_MODE, REG_TOUCH_RZTHRESH, Others if necessary Set Audio Register REG_VOL_SOUND = zero Write Initial Display List & Enable Display Write Application Display List Swap Display LIsts CLEAR_COLOUR_RGB(0,0,0) CLEAR(1,1,1) DISPLAY SWAP_LIST REG_PWM_DUTY brightness, PWM_HZ, frequency REG_GPIO bit 7 = 1 DISP REG_PCLK = LCD dot/pixel clock frequency CLEAR_COLOUR_RGB(0,0,0) CLEAR(1,1,1) ** APPLICATION DATA ** DISPLAY SWAP_LIST Figure 5.1 FT800 Hardware and Software Design Flow 23
25 6 Collateral Support from FTDI To assist engineers getting started with FT800 based designs there are a range of development systems provided. These include systems with and without displays; with a plastic encasement and display fitted bezel; with various screen sizes; and finally with a system host processor (Arduino/Atmel AtMega) or without a host processor. Additional documentation is available including; the FT800 datasheet, datasheets describing the VM800 development kits, FT800 Programming Guides, Sample Application software template, and an ever-growing set of sample display code and projects. For more information consult the FTDI Website: 24
26 7 Contact Information Head Office Glasgow, UK Future Technology Devices International Limited Unit 1, 2 Seaward Place, Centurion Business Park Glasgow G41 1HH United Kingdom Tel: +44 (0) Fax: +44 (0) (Sales) (Support) (General Enquiries) [email protected] [email protected] [email protected] Branch Office Tigard, Oregon, USA Future Technology Devices International Limited (USA) 7130 SW Fir Loop Tigard, OR USA Tel: +1 (503) Fax: +1 (503) (Sales) (Support) (General Enquiries) [email protected] [email protected] [email protected] Branch Office Taipei, Taiwan Future Technology Devices International Limited (Taiwan) 2F, No. 516, Sec. 1, NeiHu Road Taipei 114 Taiwan, R.O.C. Tel: +886 (0) Fax: +886 (0) Branch Office Shanghai, China Future Technology Devices International Limited (China) Room 1103, No. 666 West Huaihai Road, Shanghai, China Tel: Fax: (Sales) (Support) (General Enquiries) [email protected] [email protected] [email protected] (Sales) (Support) (General Enquiries) [email protected] [email protected] [email protected] Web Site System and equipment manufacturers and designers are responsible to ensure that their systems, and any Future Technology Devices International Ltd (FTDI) devices incorporated in their systems, meet all applicable safety, regulatory and system-level performance requirements. All application-related information in this document (including application descriptions, suggested FTDI devices and other materials) is provided for reference only. While FTDI has taken care to assure it is accurate, this information is subject to customer confirmation, and FTDI disclaims all liability for system designs and for any applications assistance provided by FTDI. Use of FTDI devices in life support and/or safety applications is entirely at the user s risk, and the user agrees to defend, indemnify and hold harmless FTDI from any and all damages, claims, suits or expense resulting from such use. This document is subject to change without notice. No freedom to use patents or other intellectual property rights is implied by the publication of this document. Neither the whole nor any part of the information contained in, or the product described in this document, may be adapted or reproduced in any material or electronic form without the prior written consent of the copyright holder. Future Technology Devices International Ltd, Unit 1, 2 Seaward Place, Centurion Business Park, Glasgow G41 1HH, United Kingdom. Scotland Registered Company Number: SC
27 Appendix A References Document References DS_FT800 PG_FT800 AN_245 AN_246 Acronyms and Abbreviations Terms EMC EVE GPIO I 2 C IC LCD MCU PCM PWM QVGA SPI TFT VGA WQVGA Description Electromagnetic Compatibility Embedded Video Engine General Purpose Input / Output Inter-Integrated Circuit Integrated Circuit Liquid Crystal Display Microcontroller Pulse Coded Modulation Pulse Width Modulation Quarter VGA (320 x 240 pixel display size) Serial Peripheral Interface Thin-Film Transistor Video Graphics Array Wide Quarter VGA (480 x 272 pixel display size) 26
28 Appendix B List of Tables & Figures List of Tables Table 3.1 FT800 Read Memory Data over SPI Table 3.2 FT800 Read Memory Data over I 2 C Table 3.3 FT800 Write Memory Data over SPI Table 3.4 FT800 Write Memory Data over I 2 C Table 3.5 FT800 Write Command over SPI Table 3.6 FT800 Write Command over I 2 C Table 3.7 FT800 Commands Table 4.1 FT800 Memory Map Table 4.2 Typical LCD Timing Parameters Table 4.3 Initial Touch Screen Setup Table 4.4 Initial Audio Output Setup Table 4.5 Final Display Preparation List of Figures Figure 2.1 FT800 Block Diagram... 4 Figure 2.2 FT800 LCD Timing Registers Display View... 6 Figure 2.3 LCD RGB timing with CSPREAD disabled... 7 Figure 2.4 LCD RGB timing with CSPREAD enabled... 7 Figure 2.5 Example FT800 circuit... 9 Figure 4.1 Display List Swapping Figure 4.2 FT800 Graphics Engine Command Buffer Figure 4.3 FT800 Grapics Engine Clock Widget
29 Appendix C Revision History Document Title: Document Reference No.: FT_ Clearance No.: FTDI# 346 Product Page: Document Feedback: Send Feedback Revision Changes Date 1.0 Initial Release
Technical Note TN_158. What is the Camera Parallel Interface?
TN_158 What is the Camera Parallel Interface? Issue Date: 2015-03-23 This technical note explains the basics of the Camera Parallel Interface, a feature of FTDI MCUs. Use of FTDI devices in life support
Application Note AN_254. FT800 Designs With Visual TFT
AN_254 FT800 Designs With Visual TFT Issue Date: 2013-09-30 The FTDI FT800 video controller offers a low cost solution for embedded graphics requirements. In addition to the graphics, resistive touch inputs
Application Note AN_299. FT800_FT801_Internal_Clock _Trimming
AN_299 FT800_FT801_Internal_Clock _Trimming Issue Date: 2014-03-04 The FTDI FT800 and FT801 video controllers offer a low cost solution for embedded graphics requirements. In addition to the graphics,
Application Note AN_385. FTDI D3XX Driver Installation Guide
AN_385 FTDI D3XX Driver Installation Guide Issue Date: 2015-09-02 The purpose of this application note is to provide users of FTDI chips with a simple procedure for installing FTDI D3XX Driver for FTDI
Application Note AN_209. AN_209 PDIUSBD12 to FT120 Migration Guide
AN_209 AN_209 PDIUSBD12 to FT120 Migration Guide Issue Date: 2012-12-14 The FT120 is a cost and feature optimized USB Full-Speed device controller. It communicates with a micro-controller over a generic
Application Note AN_243. FT312D USB Host to UART Cable Application
Future Technology Devices International Ltd Application Note AN_243 FT312D USB Host to UART Cable Application Document Reference No. FT_000839 Issue Date: 2013-05-21 This application note illustrates how
Technical Note TN_152. USB 3.0 Compatibility Issues Explained
TN_152 USB 3.0 Compatibility Issues Explained Issue Date: 2014-07-01 USB 3.0 is the latest superspeed version of the universal serial bus interface. It is designed to allow for higher (super) data rates
Application Note AN_241. FTDI_AOA_HyperTerm_User_Manual
AN_241 FTDI_AOA_HyperTerm_User_Manual Version1.0 Issue Date: 2013-05-03 Android Honeycomb (3.1) and later versions support Android Open Accessory Protocol, which can receive and send data from an Android
Application Note AN_242
AN_242 FTDI_UART_Terminal_User_Manual Issue Date: 2013-06-24 This utility is for use with FTDI USB to UART devices. The utility provides a terminal emulation function for use on Android devices. The Android
FTDI Chip. VM800P Datasheet Embedded Video Engine Plus Module. VM800P Embedded Video Engine Plus Module Datasheet Version 1.0
FTDI Chip VM800P Datasheet Embedded Video Engine Plus Module General Purpose Multi Media Controller The VM800P is a development module for FTDI s FT800, which is used to develop and demonstrate the functionality
Application Note AN_252. FT800 Audio Primer
AN_252 FT800 Audio Primer Issue Date: 2013-08-06 The FT800 provides an inexpensive solution for adding rich graphics, touch and audio to an embedded system. This application note focuses on the FT800 audio
Command Processor for MPSSE and MCU Host Bus Emulation Modes
Future Technology Devices International Ltd. Application Note AN_108 Command Processor for MPSSE and MCU Host Bus Emulation Modes Document Reference No.: FT_000109 Version 1.5 Issue Date: 2011-09-09 This
Future Technology Devices International Ltd
Future Technology Devices International Ltd Datasheet UMFT200XD Breakout Modules 1 Introduction UMFT200XD is a USB to I 2 C breakout module The UMFT200XD breakout module utilizes FTDI s FT200XQ IC to convert
UMFT4222PROG FT4222 Programmer Module
UMFTPROG FT Programmer Module Introduction The UMFTPROG FTH Programmer Module is used to program OTP memory on a UMFTEV or devices with a FTH. The internal OTP memory in the FTH is used to store USB Vendor
Application Note AN_276. FT800 Audio File Conversion
AN_276 FT800 Audio File Conversion Issue Date: 2014-02-10 This document shows how to change an audio file into the correct format for the FT800 audio player. Use of FTDI devices in life support and/or
Future Technology Devices International Ltd. FTDI Drivers Installation guide for. Windows 7
Future Technology Devices International Ltd. Application Note AN_119 FTDI Drivers Installation guide for Windows 7 Document Reference No.: FT_000160 Issue Date: 2015-06-15 The purpose of this application
Application Note. AN_136_Hi-Speed Mini Module EEPROM Disaster Recovery
Future Technology Devices International Ltd. Application Note AN_136_Hi-Speed Mini Module EEPROM Disaster Recovery Document Reference No.: FT_000209 Issue Date: 2010-02-17 The FTDI Hi-Speed USB devices
Technical Note TN_146. Creating Android Images for Application Development
TN_146 Creating Android Images for Application Development Issue Date: 2013-01-28 This document shows how to build and install the Android Operating System on the BeagleBoard xm Use of FTDI devices in
White Paper WP_001. Connecting Peripherals to an Android Platform
WP_001 Connecting Peripherals to an Android Platform Issue Date: 2012-02-09 This white paper will describe some of the options for connecting peripheral accessories to Android OS based tablets/phones.
Technical Note. TN_134 FTDI Android D2XX Driver
Future Technology Devices International Ltd. Technical Note Document Reference No.: FT_000522 Version 1.1 Issue Date: 2012-08-16 This document describes the installation and use of the FTDI D2XX driver
Future Technology Devices International Ltd
Future Technology Devices International Ltd Datasheet Chipi-X Cable Chipi-X is a USB to full-handshake RS232 cable with a male DB9 connector. This cable is available with or without an enclosure. 1 Introduction
Application Note AN_101. Submitting Modified FTDI Drivers for Windows Hardware Certification
AN_101 Submitting Modified FTDI Drivers for Windows Hardware Certification Issue Date: 2013-05-03 Device drivers are signed and certified by Microsoft to provide the end user a smooth experience when installing
Future Technology Devices International Ltd. Application Note AN_234. FTDI Drivers Installation guide for. Windows 8
Future Technology Devices International Ltd. Application Note AN_234 FTDI Drivers Installation guide for Windows 8 Document Reference No.: FT_000798 Issue Date: 2013-02-20 The purpose of this application
Determining USB Peripheral Device Class
Future Technology Devices International Ltd. Application Note AN_174 Determining USB Peripheral Device Class Document Reference No.: FT_000447 Issue Date: 2011-05-23 This document will demonstrate how
Application Note AN_185. Vinculum-II UART to USB HID Class Host Bridge
AN_185 Vinculum-II UART to USB HID Class Host Bridge Issue Date: 2011-11-02 This application note forms part of a series of application notes detailing the new simplified ROM images for VNC2. It will detail
Application Note AN_149. Upgrading a passive DB9 RS232 Interface to an active USB Interface using an FTDI DB9-USB-RS232 Module
Future Technology Devices International Ltd. Application Note AN_149 Upgrading a passive DB9 RS232 Interface to an active USB Interface using an FTDI DB9-USB-RS232 Module Document Reference No.: FT_000296
TTL-232R. TTL to USB Serial Converter Range of Cables. Datasheet
Future Technology Devices International Ltd TTL-232R TTL to USB Serial Converter Range of Cables Datasheet Document Reference No.: FT_000054 Version 2.03 Issue Date: 2016-05-23 Future Technology Devices
C232HD. USB 2.0 Hi-Speed to UART Cable. Datasheet
Future Technology Devices International Ltd C232HD USB 2.0 Hi-Speed to UART Cable Datasheet Document Reference No.: FT_000430 Issue Date: 2016-05-05 Future Technology Devices International Limited (FTDI)
FT2232H Mini Module. USB Hi-Speed FT2232H Evaluation Module. Datasheet
Future Technology Devices International Ltd. FT2232H Mini Module USB Hi-Speed FT2232H Evaluation Module Datasheet Version 1.7 Issue Date: 2012-07-09 Future Technology Devices International Ltd (FTDI) Unit
FT4232H Mini Module. USB Hi-Speed FT4232H Evaluation Module. Datasheet
Future Technology Devices International Ltd. FT4232H Mini Module USB Hi-Speed FT4232H Evaluation Module Datasheet Issue Date: 2012-08-01 Future Technology Devices International Ltd (FTDI) Unit 1, 2 Seaward
Embedded Systems Design Course Applying the mbed microcontroller
Embedded Systems Design Course Applying the mbed microcontroller Serial communications with SPI These course notes are written by R.Toulson (Anglia Ruskin University) and T.Wilmshurst (University of Derby).
TTL-232R-PCB. TTL to USB Serial Converter PCB. Datasheet
Future Technology Devices International Ltd TTL-232R-PCB TTL to USB Serial Converter PCB Datasheet Document Reference No.: FT_000065 Version 1.01 Issue Date: 2010-09-02 Future Technology Devices International
Future Technology Devices International Ltd. USB NMC-2.5m. USB to USB Null Modem Cable. Datasheet
Future Technology Devices International Ltd NMC-2.5m to Null Modem Cable Datasheet Document Reference No.: FT_000054 Version 1.00 Issue Date: 2008-07-16 Future Technology Devices International Ltd (FTDI)
C232HM. USB 2.0 Hi-Speed to MPSSE Cable. Datasheet
Future Technology Devices International Ltd C232HM USB 2.0 Hi-Speed to MPSSE Cable Datasheet Document Reference No.: FT_000401 Issue Date: 2016-05-05 Future Technology Devices International Limited (FTDI)
Future Technology Devices International Ltd. FTDI Drivers Installation guide for Windows XP
Future Technology Devices International Ltd Application Note AN_104 FTDI Drivers Installation guide for Windows XP Document Reference No. FT_000093 Issue Date: 2008-09-23 Future Technology Devices International
VDIP1. Vinculum VNC1L Module. Datasheet
Future Technology Devices International Ltd. VDIP1 Vinculum VNC1L Module Datasheet Version 1.02 Issue Date: 2010-05-31 Future Technology Devices International Ltd (FTDI) Unit 1, 2 Seaward Place, Centurion
Vinco Development Module. Datasheet
Future Technology Devices International Ltd. Vinco Development Module Datasheet The Vinco module is a Vinculum based development platform inspired by Arduino projects. Document Reference No.: FT_000327
VF2F. USB Flash Disk File-to-file Transfer Vinculum Evaluation Kit. Future Technology Devices International Ltd. Preliminary - Subject to Change
Future Technology Devices International Ltd. VF2F USB Flash Disk File-to-file Transfer Vinculum Evaluation Kit http://www.vinculum.com Copyright Future Technology Devices International Ltd. 2006 1. Introduction
Future Technology Devices International Ltd. Programmer Guide. Document Reference No.: FT_000793 Version 0.8 Issue Date: 2012-08-01
Future Technology Devices International Ltd. Programmer Guide Document Reference No.: FT_000793 Issue Date: 2012-08-01 This document is a Programmer Guide for the FT800 chip. This guide details the chip
GTS-4E Hardware User Manual. Version: V1.1.0 Date: 2013-12-04
GTS-4E Hardware User Manual Version: V1.1.0 Date: 2013-12-04 Confidential Material This document contains information highly confidential to Fibocom Wireless Inc. (Fibocom). Fibocom offers this information
Application Note AN_208. FT311D and FT312D Demo_APK_User_GuideFT311D and FT312D Demo_APK_User_Guide
AN_208 FT311D and FT312D Demo_APK_User_GuideFT311D and FT312D Demo_APK_User_Guide Version1.3 Issue Date: 2013-09-09 FTDI s FT311D device is targeted specifically at providing a data bridge from an Android
Future Technology Devices International Ltd. FT800
Future Technology Devices International Ltd. FT800 (Embedded Video Engine) The FT800 is an easy to use graphic controller targeted for embedded applications to generate high-quality Human Machine Interfaces
Below is a diagram explaining the data packet and the timing related to the mouse clock while receiving a byte from the PS-2 mouse:
PS-2 Mouse: The Protocol: For out mini project we designed a serial port transmitter receiver, which uses the Baud rate protocol. The PS-2 port is similar to the serial port (performs the function of transmitting
Simplified Description of USB Device Enumeration
Future Technology Devices International Ltd. Technical Note TN_113 Simplified Description of USB Device Enumeration Document Reference No.: FT_000180 Issue Date: 2009-10-28 USB Enumeration is the process
Introduction to graphics and LCD technologies. NXP Product Line Microcontrollers Business Line Standard ICs
Introduction to graphics and LCD technologies NXP Product Line Microcontrollers Business Line Standard ICs Agenda Passive and active LCD technologies How LCDs work, STN and TFT differences How data is
Using the Siemens S65 Display
Using the Siemens S65 Display by Christian Kranz, October 2005 ( http://www.superkranz.de/christian/s65_display/displayindex.html ) ( PDF by Benjamin Metz, 01 st November 2005 ) About the Display: Siemens
Future Technology Devices International Ltd. USB-Key. Datasheet
Future Technology Devices International Ltd USB-Key Datasheet Document Reference No.: FT_000062 Version 1.00 Issue Date: 2008-07-17 Future Technology Devices International Ltd (FTDI) 373 Scotland Street,
Technical Note. TN_132 Adding FTDI Devices VCP Driver Support to Android
Future Technology Devices International Ltd. Technical Note TN_132 Adding FTDI Devices VCP Driver Support to Android Document Reference No.: FT_000491 Version 1.1 Issue Date: 2011-08-25 This document describes
MONOCHROME RGB YCbCr VIDEO DIGITIZER
Active Silicon SNAPPER-PMC-8/24 MONOCHROME RGB YCbCr VIDEO DIGITIZER High quality analogue video acquisition board with square pixel sampling for CCIR, EIA (RS-170) standards, and nonstandard video formats.
Lesson 10: Video-Out Interface
Lesson 10: Video-Out Interface 1. Introduction The Altera University Program provides a number of hardware controllers, called cores, to control the Video Graphics Array (VGA) Digital-to-Analog Converter
Future Technology Devices International Ltd. USB to RS232 UART Serial Converter PCB. Datasheet
Future Technology Devices International Ltd USB to RS232 UART Serial Converter PCB Datasheet Document Reference No.: FT_000079 Version 1.41 Issue Date: 2011-01-26 Future Technology Devices International
Future Technology Devices International Ltd. VF2F2. USB Flash Disk File-to-file Transfer Vinculum Evaluation Kit. http://www.vinculum.
Future Technology Devices International Ltd. VF2F2 USB Flash Disk File-to-file Transfer Vinculum Evaluation Kit http://www.vinculum.com Copyright Future Technology Devices International Ltd. 2007 1. Introduction
Technical Note. TN_147 Java D2xx for Android
Future Technology Devices International Ltd. Technical Note TN_147 Java D2xx for Android Document Reference No.:FT_000799 Version 1.2 Issue Date: 2013-09-16 This document describes the installation and
Implementing SPI Master and Slave Functionality Using the Z8 Encore! F083A
Application Note Implementing SPI Master and Slave Functionality Using the Z8 Encore! F083A AN026701-0308 Abstract This application note demonstrates a method of implementing the Serial Peripheral Interface
USB Hi-Speed Serial/Hub Module. Datasheet
Future Technology Devices International Ltd. Datasheet Issue Date: 2016-05-23 Future Technology Devices International Ltd (FTDI) Unit 1, 2 Seaward Place, Centurion Business Park, Glasgow, G41 1HH, United
Future Technology Devices International Ltd. AN232R-02 FTDIChip-ID for the FT232R and FT245R
Future Technology Devices International Ltd. AN232R-02 FTDIChip-ID for the FT232R and FT245R 2 AN232R-02 FTDIChip-ID for the FT232R and FT245R 1 FTDIChip-ID for the FT232R and FT245R 1.1 Overview Each
Future Technology Devices International Ltd USB TO RS422 UART SERIAL CONVERTER PCB. Datasheet. Document Reference No.: FT_000119
Future Technology Devices International Ltd USB TO RS422 UART SERIAL CONVERTER PCB Datasheet Document Reference No.: FT_000119 Issue Date: 13-04-09 Future Technology Devices International Limited (FTDI)
Preliminary Draft May 19th 1992. Video Subsystem
Video Subsystem 2 Preliminary Draft May 19th 1992 Video Subsystem Section 1. Introduction....................... 1-1 Video Subsystem.......................... 1-2 Section 2. VGA Function......................
White Paper Thin-Film-Transistor (TFT) LCD Display Control Electronics Design and Operation Revision 1.0
White Paper Thin-Film-Transistor (TFT) LCD Display Control Electronics Design and Operation Revision 1.0 TABLE OF CONTENTS 1 TFT OVERVIEW...3 2 TFT CONTROLLER LOGIC...5 2.1 DRIVERS-ONLY TFT LCD DISPLAYS...5
Serial Communications
Serial Communications 1 Serial Communication Introduction Serial communication buses Asynchronous and synchronous communication UART block diagram UART clock requirements Programming the UARTs Operation
Implementing SPI Communication Between MSP430 G2452 and LTC2382-16 ADC
Implementing SPI Communication Between MSP430 G2452 and LTC2382-16 ADC Enwei Gu Nov. 12, 2011 MCU ADC MSP430- G2452 LTC2382-16 16- bits SPI Keywords 1 Abstract This document describes and shows how to
Data Transfer between Two USB Flash SCSI Disks using a Touch Screen
Data Transfer between Two USB Flash SCSI Disks using a Touch Screen Anurag A. Chakravorty #1, Raghwendra J. Suryawanshi *2, # Bachelor of Engineering, Department of Information Technology, Matsyodari Shikshan
AVR151: Setup and Use of the SPI. Introduction. Features. Atmel AVR 8-bit Microcontroller APPLICATION NOTE
Atmel AVR 8-bit Microcontroller AVR151: Setup and Use of the SPI APPLICATION NOTE Introduction This application note describes how to set up and use the on-chip Serial Peripheral Interface (SPI) of the
Different Display Configurations on i.mx35 Linux PDK
Freescale Semiconductor Application Note Document Number: AN3974 Rev. 0, 01/2010 Different Display Configurations on i.mx35 Linux PDK by Multimedia Application Division Freescale Semiconductor, Inc. Austin,
HT1632C 32 8 &24 16 LED Driver
328 &216 LED Driver Features Operating voltage: 2.V~5.5V Multiple LED display 32 ROW /8 COM and 2 ROW & 16 COM Integrated display RAM select 32 ROW & 8 COM for 6 display RAM, or select 2 ROW & 16 COM for
Future Technology Devices International Ltd. FT311D
Future Technology Devices International Ltd. FT311D (USB Android Host IC) The FT311D is a Full Speed USB host specifically targeted at providing access to peripheral hardware from an Android platform with
MODULE BOUSSOLE ÉLECTRONIQUE CMPS03 Référence : 0660-3
MODULE BOUSSOLE ÉLECTRONIQUE CMPS03 Référence : 0660-3 CMPS03 Magnetic Compass. Voltage : 5v only required Current : 20mA Typ. Resolution : 0.1 Degree Accuracy : 3-4 degrees approx. after calibration Output
3.2 inch QVGA TFT Color LCD User s Guide Version 1 & 2
3.2 inch QVGA TFT Color LCD - User s Guide 3.2 inch QVGA TFT Color LCD User s Guide Version 1 & 2 Give graphics and to your application! EA2-USG-0701 v2.1 Rev A 3.2 inch QVGA TFT Color LCD - User s Guide
Software User Guide UG-461
Software User Guide UG-461 One Technology Way P.O. Box 9106 Norwood, MA 02062-9106, U.S.A. Tel: 781.329.4700 Fax: 781.461.3113 www.analog.com ezlinx icoupler Isolated Interface Development Environment
Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide
Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide Sensors LCD Real Time Clock/ Calendar DC Motors Buzzer LED dimming Relay control I2C-FLEXEL PS2 Keyboards Servo Motors IR Remote Control
TTL-232R-3V3 USB to TTL Serial Converter Cable
Future Technology Devices International Ltd. TTL-232R-3V3 USB to TTL Serial Converter Cable The TTL-232R-3V3 is a USB to TTL serial converter cable incorporating FTDI s FT232RQ USB - Serial UART interface
Future Technology Devices International Ltd. USB to RS232 Serial Converter Range of Cables. Datasheet
Future Technology Devices International Ltd USB to RS232 Serial Converter Range of Cables Datasheet Document Reference No.: FT_000077 Version 1.1 Issue Date: 2008-10-01 Future Technology Devices International
SSD1298. Advance Information. 240 RGB x 320 TFT LCD Controller Driver integrated Power Circuit, Gate and Source Driver with built-in RAM
SOLOMON SYSTECH SEMICONDUCTOR TECHNICAL DATA SSD1298 Advance Information 240 RGB x 320 TFT LCD Controller Driver integrated Power Circuit, Gate and Source Driver with built-in RAM This document contains
SMARTCARD XPRO. Preface. SMART ARM-based Microcontrollers USER GUIDE
SMART ARM-based Microcontrollers SMARTCARD XPRO USER GUIDE Preface Atmel SMARTCARD Xplained Pro is an extension board to the Atmel Xplained Pro evaluation platform. Atmel SMARTCARD Xplained Pro is designed
DATASHEET. ADAM Arduino Display Adaptor Module. Arduino Compatible Shield P/N: 4Display-Shield-FT843 For the 4D Systems 4DLCD-FT843 Display
DATASHEET ADAM Arduino Display Adaptor Module Arduino Compatible Shield P/N: 4Display-Shield-FT843 For the 4D Systems 4DLCD-FT843 Display Document Date: 8 th January 2014 Document Revision: 1.0 Uncontrolled
AT15007: Differences between ATmega328/P and ATmega328PB. Introduction. Features. Atmel AVR 8-bit Microcontrollers APPLICATION NOTE
Atmel AVR 8-bit Microcontrollers AT15007: Differences between ATmega328/P and ATmega328PB APPLICATION NOTE Introduction This application note assists the users of Atmel ATmega328 variants to understand
Implementing a Digital Answering Machine with a High-Speed 8-Bit Microcontroller
Implementing a Digital Answering Machine with a High-Speed 8-Bit Microcontroller Zafar Ullah Senior Application Engineer Scenix Semiconductor Inc. Leo Petropoulos Application Manager Invox TEchnology 1.0
In-System Programmer USER MANUAL RN-ISP-UM RN-WIFLYCR-UM-.01. www.rovingnetworks.com 1
RN-WIFLYCR-UM-.01 RN-ISP-UM In-System Programmer 2012 Roving Networks. All rights reserved. Version 1.1 1/19/2012 USER MANUAL www.rovingnetworks.com 1 OVERVIEW You use Roving Networks In-System-Programmer
Lab Experiment 1: The LPC 2148 Education Board
Lab Experiment 1: The LPC 2148 Education Board 1 Introduction The aim of this course ECE 425L is to help you understand and utilize the functionalities of ARM7TDMI LPC2148 microcontroller. To do that,
ILI9335. a-si TFT LCD Single Chip Driver 240RGBx320 Resolution and 262K color. Datasheet
a-si TFT LCD Single Chip Driver Datasheet Version: V19 Document No: DS_V19pdf ILI TECHNOLOGY CORP 8F, No38, Taiyuan St, Jhubei City, Hsinchu County 32, Taiwan, ROC Tel886-3-5699; Fax886-3-5655 http://wwwilitekcom
MANUAL FOR RX700 LR and NR
MANUAL FOR RX700 LR and NR 2013, November 11 Revision/ updates Date, updates, and person Revision 1.2 03-12-2013, By Patrick M Affected pages, ETC ALL Content Revision/ updates... 1 Preface... 2 Technical
OLED into Mobile Main Display
OLED into Mobile Main Display Author: Jack Tsang Title: Senior Product Marketing Engineer Company: Solomon Systech Limited Introduction A decade after the Electro-luminescent (EL) effect was first discovered,
Application Note AN_146. USB Hardware Design Guidelines for FTDI ICs
Future Technology Devices International Ltd. Application Note AN_146 USB Hardware Design Guidelines for FTDI ICs Document Reference No.: FT_000292 Issue Date: 2013-11-01 This document discusses several
Camera Sensor Driver Development And Integration
Camera Sensor Driver Development And Integration Introduction Camera enables multimedia on phones. It is going to be an important human machine interface, adding to augmented reality possibilities on embedded
Note monitors controlled by analog signals CRT monitors are controlled by analog voltage. i. e. the level of analog signal delivered through the
DVI Interface The outline: The reasons for digital interface of a monitor the transfer from VGA to DVI. DVI v. analog interface. The principles of LCD control through DVI interface. The link between DVI
COMPUTER HARDWARE. Input- Output and Communication Memory Systems
COMPUTER HARDWARE Input- Output and Communication Memory Systems Computer I/O I/O devices commonly found in Computer systems Keyboards Displays Printers Magnetic Drives Compact disk read only memory (CD-ROM)
The Programming Interface
: In-System Programming Features Program any AVR MCU In-System Reprogram both data Flash and parameter EEPROM memories Eliminate sockets Simple -wire SPI programming interface Introduction In-System programming
MicroMag3 3-Axis Magnetic Sensor Module
1008121 R01 April 2005 MicroMag3 3-Axis Magnetic Sensor Module General Description The MicroMag3 is an integrated 3-axis magnetic field sensing module designed to aid in evaluation and prototyping of PNI
ZL30136 GbE and Telecom Rate Network Interface Synchronizer
be and Telecom Rate Network Interface Synchronizer Features rovides synchronous clocks for network interface cards that support synchronous Ethernet (SyncE) in addition to telecom interfaces (T1/E1, DS3/E3,
USER GUIDE EDBG. Description
USER GUIDE EDBG Description The Atmel Embedded Debugger (EDBG) is an onboard debugger for integration into development kits with Atmel MCUs. In addition to programming and debugging support through Atmel
Parts List. Navigation
Parts List quantity description 1 LCD-200 Display 1 LCD-200 Display cable 1 CD-ROM 2 dual lock or velcro 1 1GB SD card (optional) 1 CAN termination plug Navigation Main Menu Begin Log/Stop Log page 4 Log
SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.
SKP16C62P Tutorial 1 Software Development Process using HEW Renesas Technology America Inc. 1 Overview The following tutorial is a brief introduction on how to develop and debug programs using HEW (Highperformance
Future Technology Devices International Ltd
Future Technology Devices International Ltd Datasheet RPi HUB Module Datasheet RPi HUB Module connects to a Raspberry-Pi computer and expands the number of interfaces that can be accessed downstream from
Chapter I Model801, Model802 Functions and Features
Chapter I Model801, Model802 Functions and Features 1. Completely Compatible with the Seventh Generation Control System The eighth generation is developed based on the seventh. Compared with the seventh,
TURBO PROGRAMMER USB, MMC, SIM DEVELOPMENT KIT
TURBO PROGRAMMER USB, MMC, SIM DEVELOPMENT KIT HARDWARE GUIDE This document is part of Turbo Programmer documentation. For Developer Documentation, Applications and Examples, see http:/// PRELIMINARY (C)
DAC Digital To Analog Converter
DAC Digital To Analog Converter DAC Digital To Analog Converter Highlights XMC4000 provides two digital to analog converters. Each can output one analog value. Additional multiple analog waves can be generated
TTL-232R. TTL to USB Serial Converter Range of Cables. Datasheet
Future Technology Devices International Ltd TTL-232R TTL to USB Serial Converter Range of Cables Datasheet Document Reference No.: FT_000054 Version 2.01 Issue Date: 2008-08-28 Future Technology Devices
ontroller LSI with Built-in High- Performance Graphic Functions for Automotive Applications
C ontroller LSI with Built-in High- Performance Graphic Functions for Automotive Applications 1-chip solution for color display, video input and meter control with built-in highperformance CPU core FR81S
8-Bit Flash Microcontroller for Smart Cards. AT89SCXXXXA Summary. Features. Description. Complete datasheet available under NDA
Features Compatible with MCS-51 products On-chip Flash Program Memory Endurance: 1,000 Write/Erase Cycles On-chip EEPROM Data Memory Endurance: 100,000 Write/Erase Cycles 512 x 8-bit RAM ISO 7816 I/O Port
