Автор: icbook , 9 января 2008
Устройство USB 1.х и USB 2.0 - не вполне очевидно. Те, кто считает, что все достижения USB 2.0 только в увеличении скорости обмена несколько упрощают этот архитектурный вопрос. Не вдаваясь в подробности, расставим главные акценты. Они таковы: платформа с USB 1.x включает в себя USB Host контроллер на шине PCI одного из следующих типов
  • OHCI - Open  Host Controller Interface[*]UHCI - Universal  Host Controller Interface
Платформа с USB 2.0 включает в себя USB Host контроллер на шине PCI , который называется EHCI - Enhanced Host Controller Interface, и обязательно один из перечисленных выше USB 1.x контроллеров.

К разъему на системной плате (а это, как правило, разъем AF - т.е. тип "А", Female) подключены одновременно оба контроллера - и USB 1.x, и USB 2.0.  В тот момент, когда в этот AF-разъем вставляется ответный (значит - AM, тип "А" Male) разъем периферийного USB-устройства (мышка, флешка и т.п.), система сама принимает решение, в зависимости от возможностей этих самых мышки с флешкой, какой контроллер задействовать.

Эта процедура совсем не простая. Ее в лицах может описать Apple ROM, который знает ее досконально. Важно, что это первый и главный повод для возникновения проблем. По сути, все едино, как подключен к PCI-шине USB-контроллер: интегрирован ли он в Южный мост, или сие есть дополнительная плата в PCI-слоте. Как бы там ни было, начальную настройку будет выполнять BIOS, а работу будут обеспечивать драйверы. Вывод - BIOS обновлять (хотя не факт, что для старых платформ даже обновление BIOS учитывает весь последний опыт эксплуатации USB 2.0), драйверы искать на сайте производителя и тоже обновлять. Причем и для USB 1.x, и  для USB 2.0.

Для того, чтобы "разнести" диагностику OHCI/UHCI и EHCI, т.е. не зависить от выше описанного механизма их подключения, рекомендуется ремонтникам (для пользователей - только в виде лизинга) использовать внешний USB-hub v1.x, доработав его так (если сие не заложено в конструктив изначально), чтобы питание хаба можно было обеспечить как в автономном режиме, так и от блока питания исследуемой платформы. Подключённая к такому хабу флешка USB 2.0 будет работать только в режиме USB 1.x, что позволит принять правильное решение.

Противоположная задача требует наличия в арсенале дополнительного PCI USB 2.0 контроллера. (PCI-контроллеры USB 1.x  в природе существуют, но вряд ли понадобятся). Настоящие экстремалы пользуют одну или несколько из доступных моделей: ALi M5273, VIA VT6212L...VT6214L и NEC uPD720100 (либо более новые его модификации - uPD720101/uPD720102), потому что знают - нет контроллеров хороших или плохих, есть нужные или ненужные.

В любом случае понадобится кабельное хозяйство. Кроме коннекторов типа "А", для полноценой работы диагноста потребуются также кабели с разъемами типа "В", а также mini-USB. Недавно появился в продаже полный комплект переходников, вполне возможно, что подойдет на все случаи жизни. Помните, что самое главное - это требование к качеству кабеля. Нет каблей USB 2.0 или USB 1.0. Во всяком случае, стандарт USB об этом ничего не знает. Есть кабели хорошие и качественные, либо плохие - негодные.
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

XAM777

14 лет 1 месяц назад

Спасибо, освежил матчасть.

savely

14 лет 1 месяц назад

У меня "любимый" хост AT90USB1287. Коллеги сваяли типа "крутой" девайс под 2.0 (и проц там ARM-style вааще, т.е. девайс круче хоста). А "во мне" то девайс тоже должен работать, и в спецификации написано, что для этого надо сделать.
Допинал, работает.
Ну, и "оно" - каждый, работающий с USB, имеет 1.x хаб для тестов, как я понимаю. А USB3.0-то уже совсем рядом, я вчера наткнулся на то, что "наш" Linux раком встает еще на стадии старта ядра при наличии контроллера Etron xxxx (не помню я, мать Гигабайт на P67)

makarog

14 лет 1 месяц назад

savely, а "наш" Linux - это какой? юбунта нормально работает, вроде пофиксили в ядрах это в прошлом году
или вы про эмбеддет?

savely

14 лет 1 месяц назад

Типа эмбеддед. Своя сборка.