Цитата(dima32rus @ Dec 23 2015, 16:54)

Была такая проблема. Передача по USB глючила. Оказалось, неправильно выдавал PktEnd. Там есть тонкости, PktEnd щелкаете только тогда, когда передаете неполный пакет данных. Например, если весь массив данных занимает целое число пакетов, т.е. размер всего массива кратен размеру одного пакета, то PktEnd трогать нельзя. Иначе он лишнюю передачу сделает. Я уже тонкостей всех не помню, могу ошибаться. Если что, смогу завтра подробнее копнуть эту тему, когда будет доступ к проекту.
Спасибо, за ответ - очень похоже на то что есть волшебные размеры пакетов, когда PktEnd сигналы в конце пакетов игнорируется (1024 байта одно из них)
Проблема оказалась в том, что в режиме BULK похоже есть таймаут между BulkOut (PC to FPGA) и BulkIn (FPGA to PC) пакетами, если пингануть USB устройство любым BulkOut пакетом, то оно выбрасывает все буфера наружу, не в зависимости от размера записываемых пакетов.
А если между запросом и ответом прошло времени больше некоторого, то пакеты данных записанные в FX3 не отправляются. Со стороны ПК я их ждал по 10 сек.
Т.е. когда я записывал данных больше 1k наступал таймаут на отправление BulkIn данных.
Правильно ли я понимаю, что если хочется пользуясь режимом Bulk гнать прерывистный поток без потери данных и без управления с ПК, то надо все время пинговать USB устройство BulkOut пакетами?
Частота пачек из пакетов у меня где-то 400 Гц, как я понимают на компьютере обеспечить такую минимальную частоту пингования не получиться. Т.е. надо асинхронный режим с потерей данных использовать
Сообщение отредактировал Manfred - Feb 20 2016, 17:16