Well, i've seen enough examples and implementations of SPI communications using FT2232H / libftdi. The problem is that the most common approach i've seen in all these example / implementations is as follows: one has a read / write function to which is passed the data to write, then it asserts CS / writes the command to the device. After this, it performs a bulk read with libftdi, obtaining the data and only after this CS is de-asserted. That makes no sense for me, as this approach wastes a LOT of time waiting for the data to arrive (latency timer and bulk transfers).
If we have an internal buffer on the chip, why use this approach? So, I started modifying this a little so that only a sequence of commands which include write/read is passed to the 2232h, and after a while I would go and collect the contents of the chip's buffer. I have to do this, as the task i'm trying to do is collect a few (3) bytes at somewhat regular intervals from a SPI slave, and as the collection speeds rise, it becomes impractical to use the "standard" approach i mentioned. Well, the problem is that i seem to be getting a lot of trash along with the data when i do a full buffer read. I have no idea why, as i never execute any other read commands that could make the chip put data into its buffer. I know this is not the best way to collect this data, but i'm avoiding as much as possible a microcontroller / fpga data buffering alternative. That said, any comments and/or suggestions that could help me? Thanks in advance -- View this message in context: http://libftdi.141977.n3.nabble.com/SPI-communication-with-libftdi-tp3157855p3157855.html Sent from the libFTDI mailing list archive at Nabble.com. -- libftdi - see http://www.intra2net.com/en/developer/libftdi for details. To unsubscribe send a mail to [email protected]
