According to Intel, USB interfaces are supported in over six billion PCs and devices. Although originally designed for personal computers, the USB interface is now commonly used in a wide variety of consumer applications. USB has become a standard communication interface for many computer peripherals and consumer electronic devices. Typically, PLDs and FPGAs do not have the capability to support the USB electrical specification. In order to interface a Lattice PLD or FPGA to a USB port, designers can use a complete USB solution such as Future Technology Device International’s (FTDI) FT2232 device.
The FT2232 is an easy-to-use, low-cost small sized USB transceiver that can be programmed to support JTAG, I2C, SPI, FIFO or UART by using the Multi Protocol Synchronous Serial Engine (MPSSE). FTDI provides the design examples, drivers on the host computer side and software utilities to program serial memory used to configure the FT2232. FTDI also provides the virtual COM port emulation software, as well as D2XX drivers providing communication to devices via C, C++, Visual Basic or other high-level languages, which makes it possible to use applications such as HyperTerminal to communicate with the PLD. FTDI design examples and drivers may be downloaded from www.ftdichip.com.
Designers can easily connect a PLD to a FT2232 device using a FIFO, SPI, UART or another serial interface that is supported on the FTDI USB IC. A number of reference designs showing some of these functions are available from Lattice. Reference Designs can be downloaded from the Lattice website free of charge. Development Kits from Lattice typically include an evaluation board, pre-programmed demonstration design, firmware, and documentation. The following reference designs and development kits are available from Lattice to speed up new PLD designs:
The development kits mentioned above include a FT2232 device on the board to interface to PCs. Designers can rapidly prototype their designs using one of these development kits. For more details on interfacing MachXO or Mach4000ZE devices to USB ports using FT2232D devices, refer to AN8082: USB Programming and Circuit Guide.