Data missing with FT2232D in DLP FPGA

May 05, 2011 1 Replies

Hello, I am using DLP FPGA kit which contains FT2232D chip. Data transfer is through parallel FIFO interface and D2xx driver. I have to transfer 3 bytes of data which is generated at different data rate in different scenarios.This 3 bytes of data is generated at X/Y rate in FPGA . Here X can have value of 5MHz, 7.5Mhz, 10 Mhz, 15MHz or 20 Mhz and Y will have value 256, 128 or 64.


But while reading through application i am seeing data corruption in few samples. Earlier i was using Driver CDM 2.04.6 in which many samples were getting corrupted. In the application i had Settimer which has counter of



100 ms.So continuously every 100 ms i was reading the samples . To avoid the data corruption in the application i used to Reset after reading 20480 bytes using command "FT_ResetDevice".But even in this 20480, first 750 samples will be corrupted .but always For option X/64 and X/128 data was corrupted after 10240 samples


main() { SetTimer(15,100, NULL)}


void CCStatsDlg::OnTimer(UINT nIDEvent) { status = GetQueueStatus(&bytes_in_buf); if(bytes_in_buf) { status = Read(rx, bytes_in_buf 0)) /* Read timeout */)



{ if(ret_bytes) { UpdateData(TRUE);



for(DWORD x=0; x


es

0
0)) /*

at

My experience with the FTDI provided (windows) drivers, especially the ones for the FIFO interface, leads me assert that they would have to improve a great deal before they merely sucked. "Usually" is not a term that should be included in a "status valid" column.

A while back I sent them a 12-line "C" program that showed that the value returned by a status call was wrong, and there was no indication that it was wrong (until you guessed that it returned a valid status, and the PC hung).

The response I got was "yes, so what's your point?" Translated to North American English that's "Too hard to fix, and the pub's open."

Move to Linux, roll your own driver, or change chips. I did #1 and #3.

YMMV (hopefully), RK

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required