LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Delay between I2C Read cycle

Hi,

I am using FT2232HL and MPSSE I2C Labview Driver to communicate with my Slave device.

I have successful read and write operation.

 

But I am having delays in the I2C Read ( I2C Write Cycle[slave add + reg add] + Repeat start on  I2C Read Cycle [slave add+ '1']).

The I2C Write Cycle and I2C Read Cycle are separate library calls. every time these libraries are called, there is ~400 - 800 - 1ms delay.

 

Is this a Windows scheduler delay or a labVIEW call delay. I want to be able to have a compact I2C cycle to read up to 10ksps, this delay is reducing my data sampling to just 400 samples every second.

 

Attached plots for reference. Any help highly appreciated.

 

Thanks

Ashwin

 

Download All
0 Kudos
Message 1 of 4
(3,063 Views)

Any good API I have seen for I2C have a Write-Read command that you can use for this situation.  Does the FT2232HL library have this in it?


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 2 of 4
(3,017 Views)

Yes, It does have it. But they are separate library calls and are not packed into one.

since they are separate, this delay is being introduced. 

 

The included .rar file is the set of API LabVIEW files for MPSSE-I2C for FTDI.

 

 

 

0 Kudos
Message 3 of 4
(3,010 Views)

@Ash.Bad wrote:

Yes, It does have it.


No, it actually does not have the Write-Read in the library.  It is not even an option in the DLL.  If you only use this chip for I2C, it is garbage since the Write-Read is essential for a lot of parts out there that use registers.

 

If you want to keep at the chip level, I have had a little success just messing around with the NXP SC18IM700IPW.  You talk to it using a TTL UART.  The commands were simple to make and will support what you need here.

 

Another option would be to use NI's USB-8452 or USB-8451 I2C/SPI interface modules.  The API is simple to use.  Again, it also has a Write-Read method to support what you need here.  Or I have also used the DIO lines on a VirtualBench to perform I2C communications.  Again, NI provided a nice API.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 4 of 4
(2,988 Views)