FT60X Configuration Advanced

This is the FT60X Configuration Advanced article. See also the FT60X Configuration Basic which is the first settings that you will need to look at. The following table provides information about the default values and descriptions of various controls.

FT60X Configuration Advanced

Before proceeding with the chip configuration customization, there are certain prerequisites that need to be fulfilled. Firstly, it is essential to have a PC running the Windows 7 Operating System or a newer version. Additionally, the PC must be equipped with D3XX Direct Drivers. Moreover, these drivers are specifically designed for FT60X devices and provide support for USB 3.0 SuperSpeed functionality. This is from the chip configuration of FT600 USB and FT601 USB devices.

The PC should also be installed with the Microsoft Visual C++ 2013 Redistributable (x86) package. Please us the following steps to install it:-

1. Go to https://www.microsoft.com/en-us/download/details.aspx?id=40784
2. Click ‘Download’ button
3. Check the ‘vcredist_x86.exe’ and click ‘Next’.
4. After download completes, run ‘vcredist_x86.exe’ to install the package

Chip Configuration

Control Default Value Description
FIFO Clock 100 MHz Clock speed of the FIFO in MHz.
FIFO Mode 600 Mode Mode of the FIFO (245 mode or 600 mode). Note that the selected FIFO mode should match the protocol used by the external FIFO master. Data transfer will not work if the FIFO protocol used does not match.
Channel Configuration 4 Channels Number of channels or pipes. A channel is equivalent to 2 pipes – 1 for OUT and 1 for IN. (4 channels, 2 channels, 1 channel, 1 OUT pipe only, 1 IN pipe only). Note that the maximum performance decreases as the number of pipes increases. To achieve maximum performance, use as few pipes or channels as possible.
Battery Charging Enabled Disabled Enables or disables the detection of the power source type, such as Standard Downstream Port (SDP), Charging Downstream Port (CDP), or Dedicated Charging Port (DCP).
Battery Charging Settings DCP (11) GPIO Pin Configuration used to indicate the type of power source detected by the Battery Charging module of the chip.
Ignore Session Underrun Not set Controls the chip’s behavior when it receives less data than expected from the FIFO Master. This option has two subcategories that are mutually exclusive: “On Multiple of MaxPacketSize bytes” and “On Multiple of FIFO bus-width bytes”. These sub-options are enabled when the “Ignore Session Underrun” option is checked.
See also  FT60X Configuration Initialization

Identification

In summary, the following control parameters and their descriptions are provided:

  • FIFO Clock (Default Value: 100 MHz): It represents the clock speed of the FIFO in MHz.
  • FIFO Mode (Default Value: 600 Mode): This control specifies the mode of the FIFO, which can be either 245 mode or 600 mode. It is important to note that the selected FIFO mode should match the protocol used by the external FIFO master. Data transfer will not function correctly if the FIFO protocol used does not match.
  • Channel Configuration (Default Value: 4 Channels): This control determines the number of channels or pipes available. Each channel consists of 2 pipes, one for OUT and one for IN. The options include 4 channels, 2 channels, 1 channel, 1 OUT pipe only, and 1 IN pipe only. It is worth noting that as the number of pipes increases, the maximum performance decreases. To achieve optimal performance, it is recommended to use as few pipes or channels as possible.

Power Control

  • Battery Charging Enabled (Default Value: Disabled): This control enables or disables the detection of the power source type, such as Standard Downstream Port (SDP), Charging Downstream Port (CDP), or Dedicated Charging Port (DCP).
  • Battery Charging Settings (Default Value: DCP (11)): This control refers to the GPIO Pin Configuration used to indicate the type of power source detected by the Battery Charging module of the chip.
  • Ignore Session Underrun (Default Value: Not set): This control manages the chip’s behavior when it receives less data than expected from the FIFO Master. It offers two mutually exclusive subcategories: “On Multiple of MaxPacketSize bytes” and “On Multiple of FIFO bus-width bytes”. These sub-options are enabled when the “Ignore Session Underrun” option is checked.
See also  FT60X Configuration Basic

Additional Information

The “On Multiple of FIFO bus-width bytes” option is available only from RevB. A session underrun occurs when the FIFO master stops or pauses writing before the length of data requested in a corresponding FT_ReadPipe is reached. The FT_ReadPipe function will return with the length of data written by the FIFO master up to the point where it stopped/paused.

In summary

A session underrun can be ignored, allowing the session to remain open until the requested length of data is reached. Note that this feature enables FIFO masters to write data as it becomes available in their buffers. However, when ignoring session underrun, there are certain rules that must be followed for writing bursts of data into the FT60x device.

When the option “On Multiple of MaxPacketSize bytes” is selected, the FIFO master can write bursts of data in multiples of MaxPacketSize bytes. The session is closed when a burst is not a multiple of MaxPacketSize bytes or when the requested length is reached. When the option “On Multiple of Bus-width bytes” is selected, the FIFO master can write bursts of data in multiples of the bus-width size. The session is closed when a burst is not a multiple of the bus-width size or when the requested length is reached.

Note that if the “On Multiple of MaxPacketSize bytes” option is chosen, the device transmits data over the USB in maxPacketSize packets in parallel with the FIFO master writes. Likewise if the “On Multiple of Bus-width bytes” option is selected, the device waits for its internal FIFO buffer to be completely filled before initiating a write transfer on the USB.

Additionally also see the FT201X Driver as well as the FT4222H Driver and FT245R USB FIFO Driver.

 

FT60X Configuration Programmer User Guide