Reading through the FT2232 dual USB UART/FIFO datasheet, it is unclear to me if the two interfaces are completely independent. In other words, can I configure interface A as MPSSE and interface B as a UART ?

The D2XX programmer's guide mentions the FT_ SetBitMode function in order to configure the operating mode of an interface through its handle, but what happens with dual or quad interfaces ICs like the FT2232 and FT4232: do we get multiple handles for a single device (i.e. one for each interface) ?


can I configure interface A as MPSSE and interface B as a UART ?

From the datasheet you have provided

Section 3.4.5 Page 16

The FT2232H channel A and channel B each have a Multi-Protocol Synchronous Serial Engine (MPSSE). Each MPSSE can be independently configured to a number of industry standard serial interface protocols such as JTAG, I2C or SPI, or it can be used to implement a proprietary bus protocol. For example, it is possible to use one of the FT2232H‟s channels to connect to an SRAM configurable FPGA such as supplied by Altera or Xilinx. The FPGA device would normally be un-configured (i.e. have no defined function) at power-up. Application software on the PC could use the MPSSE to download configuration data to the FPGA over USB. This data would define the hardware function on power up. The other FT2232H channel would be available for another function. Alternatively each MPSSE can be used to control a number of GPIO pins. When configured in this mode, the pins used and the descriptions of the signals are shown

Also in section 4 page 20

...The FT2232H has two independent configurable interfaces. Each interface can be configured as UART, FIFO, JTAG, SPI, I2C or bit-bang mode with independent baud rate generators. In addition to these, the FT2232H supports a host bus emulation mode, a CPU-Style FIFO mode and a fast opto-isolated serial interface mode.

So they can be set independently but I can't provide further info about D2XX programming

  • 1
    \$\begingroup\$ I haven't tried using the D2xx functions, however, I have used UrJTAG with a custom-built JTAG adapter, which uses FT2232HL. There, when opening the device, you have to specify an interface number, by which you can choose which interface the program should use (interface A & B are two interfaces). \$\endgroup\$ – Laszlo Valko Jan 6 '14 at 15:16
  • \$\begingroup\$ I guess I was too focused on the list of applications of the beginning of the FT2232 datasheet (dual UART, dual JTAG, ...). Thanks for pointing out the good sections ! \$\endgroup\$ – strnk Jan 8 '14 at 15:13

Yes. It is possible. You can configure interface A as MPSSE and interface B as a UART.

I don't have much experience with FT's functions. So I don’t have an answer for the second question.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.