FT232H в режиме FIFO245 сигнал TXE#(передача данных из ПЛИС в FTDI) и RXF#(передача данных из FTDI в ПЛИС) делятся на несколько импульсов, разделённых задержкой ( FT_latency_timer как я понял), ибо USB-контроллер в буфер FTDI присылает USB-пакеты по 512 байт и читает обратно тоже по 512 байт. Поэтому сигнал TXE#, RXF# делятся на то количество импульсов, сколько пачек по 512 байт вы хотите принять или отправить. Поэтому, что б читать в ПК, лучше использовать сигнал SIWU, когда буфер FTDI не ждёт заполнения до конца, а сразу отправляет полученные данные. И лучше очищать буфер микросхемы перед каждым чтением, а то там копится какой-то мусор.
Пробовал выставить флаг FT_FlowControl(RTS_CTS - как-то так) в 1, но он никаких координальных изменений не дал. Если он выставляется ещё где-то, то где?
Хочу заметить, что RXF# в активном уровне - не сигнал записи в ПЛИС/контроллер, он лишь говорит о том, что в буфере FTDI есть данные для записи, и так же TXE# - говорит о том, что приёмный буфер FTDI полностью не заполнен, и можно туда ещё записать.
Вот тут хорошо описана настройка этого режима:
http://www.kit-e.ru/articles/interface/2010_08_90.phphttp://www.ftdichip.com/Support/Documents/AppNotes/AN_130_FT2232H_Used_In_FT245%20Synchronous%20FIFO%20Mode.pdf
Сообщение отредактировал flamehj - Jun 6 2012, 19:47