ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
322332 Топик полностью
Юрий_СВ (11.04.2012 14:46 - 14:53, просмотров: 68) ответил bialix на Дополнительных док на сайте FTDI по поводу переполнения FIFO я не нашел. Ваша мысль, почему в VCP драйвере, написанного самой FTDI, нет такой поддержки мне не понятна. В доке на FT245 сказано:
В USB предусмотрен родной механизм управления потоком. Он не зависит от драйвера конкретного класса (CDC) подкласса (VCP) и тем более устройства (FT245). Самой шине и драйверу не интересн размер буфера ведомого. Точно не скажу кто участвует в управлении потоком со стороны ведущего, но это не драйвер FT245. Это или аппаратный контроллер ведущего или его драйвер или системный (общий) драйвер USB. В USB 1.1. Механизм примерно такой: ведущий передаёт кадр, ведомый - отвечает. Если у ведомого есть место в буфере - он подтверждает ("ACK"). Если у ведомого нет места (или он занят) - он отвечает "NAK". В этом случае ведущий не будет считать кадр переданным и повторит передачу позже. В 2.0 - ещё лучше - ведомый может ответить "NYET" ("этот пакет подтверждаю, но следующий слать не надо - нет места в буфере"). Т.е. вообще ведущему (а тем более драйверу FT245) на фиг не нужно знать что-то о буфере FT245. Им это не интересно. Это не их работа. Кроме того, в 2,0 есть ещё один спец пакет PING. Он позволяет ведущему проверить готовность ведомого к приёму с минимальной нагрузкой на шину.