Тема еще актуальна.
В чем я продвинулся:
1. Повторил схему USB-анализатора, приведенную в журнале Радио 09-2009 (стр. 27-29).
2. Проследил за процессами нумерации моего HID-устройства (АБП) с ПК и с платы Vincolo.
3. Нумерация с платы Vincolo и НАЧАЛО нумерации с ПК совпадают. НАЧАЛО, т.к. все данные процесса нумерации с ПК в ОЗУ USB-анализатора не помещаются.
4. На запрос с ПК поступает ответ.
5. На запрос с платы Vincolo ответ НЕ поступает.
Вопросы к членам форума:
В прикрепленных файлах приведен обмен хостов (ПК и платы Vincolo) с USB-HID устройством.
Обмен ПК с USB-HID устройством:
После подтверждения приема запроса (строки 14A0-14C0) хост начинает опрашивать устройство (строки 14D0...1670), пока не начнет получать данные от устройства.
Обмен платы Vincolo с USB-HID устройством:
После подтверждения приема запроса (строки 1790-17B0) хост НЕ начинает опрашивать устройство, а вместо этого сбрасывает линию и повторяет весь процесс нумерации.
ВОПРОС. Почему плата Vincolo не начинает слать запросы типа 69 81? Может быть в незарегистрированном продолжении нумерации с ПК есть соответствующие команды для начала этого опроса?
P.S. Из описания к USB-анализатору: "Каждая строка – это пакет, переданный по шине. В начале выводится адрес, по которому строка была записана в ОЗУ. Он позволяет убедиться, что анализатор работает нормально, без пропусков информации, а также облегчает восприятие, являясь порядковым номером строки. Затем после двоеточия идут байты информации. Направление передачи невозможно определить аппаратно, но оно может быть определено из предыстории и по идентификатору пакета – это всегда первый байт в пакете и, соответственно, в строке. Собственно идентификатор (PID) – это 4 младших бита первого байта, 4 старших бита – это инверсное значение младших бит, они служат для контроля."
Т.е. как я определил из спецификации USB:
2D - Setup-пакет
C3 и 4B - пакеты Data 0 и Data 1, соответственно
D2 - ACK
5A - NAK
69 - IN-пакет
E1 - OUT-пакет