Data missing with FT2232D in DLP FPGA

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

Reply to
digitalforfun
Loading thread data ...

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

Reply to
NeedCleverHandle

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.