I have a problem with the FT232HL FTDI ic.
Windows application send data to the chip via USB and the chip send the data out with one SPI channel.
I did check with a logic analyser, the bytes are correctly sent out and the SPI clock match the settings. However, between each byte, there is a 64uS delay so it means that no matter how high is the SPI clock, the data transfer takes minutes instead of seconds.
I imagined maybe playing with the channelConf.LatencyTimer would help, but it shows no difference no matter the value used (10, 128, 255), delay remain 64uS between consecutive bytes.
There must be something to fix because there are numerous examples of people reaching high transfer rates. Also, delay between bytes should be a setting somewhere.
I've used sample code provided with sample-dynamic.c The byte stream is sent with a single call to p_SPI_Write() with total length of 2048 bytes. I've tried other length (256, 8192, etc) no change. Here is the configuration used:
channelConf.ClockRate = 5000*1000; channelConf.LatencyTimer= 10; channelConf.configOptions = SPI_CONFIG_OPTION_MODE0| SPI_CONFIG_OPTION_CS_DBUS3/*|*/ ; channelConf.Pin = 0x00000000; /* FinalVal-FinalDir-InitVal-InitDir (for dir: 0=in, 1=out) */
OS: windows7 X64 Compiler: GCC Library and code from: http://www.ftdichip.com/Support/SoftwareExamples/MPSSE/LibMPSSE-SPI.htm
FYI: I've contacted FTDI support, they asked me to update the libraries to latest one (which I did), then they would not provide further support.
Any help appreciated. Thank you.