USB, OHCI, разница в версиях

Тема в разделе "WASM.ELECTRONICS", создана пользователем Barbos, 16 май 2008.

  1. Barbos

    Barbos Slavon

    Публикаций:
    0
    Регистрация:
    13 ноя 2007
    Сообщения:
    280
    Адрес:
    Kharkov
    давеча писал код под контроллер USB с интерфесом OHCI. Значение регистра HcRevision=110h.
    Сейчас наткнулся на контроллер с тем же OHCI, но значение HcRevision=10h. Просмотрел спецификации, по регистрам все вроде бы совместимо, но ранее написанный код нормально не заработал. В управлении хостом ничего странного не заметно, инит девайсов на портах и их настройка проходит нормально, но возникают траблы при BULK транзакицях. Коды ошибок пока не анализировал, но такое впечатление будто при организации BULK обмена хабу и девайсам сносит башню напрочь, порой вплоть до установки бита LowSpeedDeviceAttached, хотя девайсы - Full Speed.
    В чем разница между этими версиями хостов? С виду все регистры не имеют никаких отличий, может разница в алгоритмах работы и управления?
     
  2. Barbos

    Barbos Slavon

    Публикаций:
    0
    Регистрация:
    13 ноя 2007
    Сообщения:
    280
    Адрес:
    Kharkov
    Вобщем, вскрытие показало, что во время BULK IN транзакций иногда происходит прерывание по событию от хаба EnableStatusChange, событие, которое должно происходить при физической отстыковке устройств от хоста, хотя никакой отстыковки не было. Поставил вин98, попробовал на ней, на стандартных дровах тоже замечаются нестабильности. По докам, разницы в интерфейсах между OHCI 1.1 и OHCI 1.0 так и не нашел. Пришел к выводу - аппаратные глюки в корневом хабе. Действительно ли?