=AK= (07.02.2006 12:28, просмотров: 1) ответил Artem на Я не пойму..
Сама все сделает Насчет "минимальное время между чтением данных с буфера >1мс" мне кажется, Вы погорячились. Читать из буфера можно когда угодно, если там есть данные. И писать в него можно когда угодно, если там есть место. 1 мс - это длительность USB фрейма, она в данном контексте особой роли не играет.
Буфер не пересылается целиком. FTDI использует bulk трубу, имхо. У нее размер чанка 16 или 64 байта. Скажем, при размере в 64 в буфер передачи накидали больше 64 байт, хост спросил "чанк готов?", и FTDI сразу отослала этот чанк. В текущем фрейме хост может запросить из трубы чанки до 19 раз, в идеале это 64*19=1216 байт за 1 мс. Конечно, это только для случая когда на USB нет других устройств.
Однако если чанк не готов, то хост резко "теряет интерес" к этой трубе, и снова спросит данные только в следующем фрейме. Или еще позже, это уж как его левая задняя нога захочет. Поэтому для макс. скорости надо все время подкачивать в буфер данные, не допускать перерывов, чтобы хост "не задвинул эту трубу в дальний пыльный угол" ;-)