Problem jest taki:
PC<=>USB(FT2232H)<=>FPGA(Spartan6)<=ADC
Potrzebuję szybkiej transmisji danych przez USB. 20MB/s załatwia sprawę. FT2232H w trybie Synchronuous FIFO jest faktycznie szybkie (>35MB/s), ale zachowuje się dość upierdliwie. Zawija mi dziadyga cały ciąg danych o ileś tam bajtów przy każdym kolejnym odczycie. Przykładowo, do celów testowych zaimplementowałem w FPGA ROM o zawartości 0,1,2,3......255. No i pierwszy odczyt daje mi ciąg: 252,253,254,255,0,1,2,3......251. Każdy kolejny odczyt daje mi ciąg przesunięty zawsze o tę samą liczbę bajtów. Np. 250,251,252,253,254,255,0,1,..249. Licznik adresów ROM jest resetowany przed każdym kolejnym odczytem, sprawdzone, nie ma się tutaj czego czepiać. Drajvery od FTDI są jakie są i gówno mogę tutaj zdziałać. No chyba, że ktoś z Was ma już jakieś doświadczenie w obsłudze tego trybu i coś podpowie? Aha, zapis PC=>USB=>FPGA działa w tym trybie bez zarzutów.
A może zaproponujecie jakąś inną kostkę USB? Cypress robi takie badziewia, ale zanim się na coś zdecyduję, chciałbym zasięgnąć Waszej opinii, zanim będzie mnie szlag trafiał jak w przypadku FTDI. Ważne: >20MB/s !!