USB-контроллер

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

USB-контроллер в составе платформы персонального компьютера обеспечивает коммуникацию с периферийными устройствами, подключенными к USB. USB-контроллер является устройством, способным взаимодействовать с оперативной памятью в обход центрального процессора в режиме прямого доступа к памяти.

По способу интеграции контроллер для USB-шины может быть задействован в составе системной логики или в виде дискретного чипа как на самой системной плате, так и на плате расширения. По способу подключения USB-контроллер может быть выполнен для PCI-шины, либо для шины PCI Express.

HCI — Host Controller Interface[править | править код]

Название Расшифровка Спецификация USB
UHCI Universal HCI USB 1.x
OHCI Open HCI USB 1.x
EHCI Enhanced HCI USB 2.0
XHCI eXtensible HCI USB 3.0

В рамках спецификации USB 1.1 существуют две реализации контроллера для USB-шины: UHCI (Universal Host Controller Interface, создан Intel для USB 1.0) и OHCI (Open Host Controller Interface), которые отличаются методом доступа к регистрам. Регистры UHCI находятся в пространстве портов ввода-вывода, а регистры OHCI адресуются в пространстве памяти. Контроллер OHCI более интеллектуален по сравнению с UHCI. Это касается его способности освободить центральный процессор от выполнения рутинных операций по передаче данных по USB-шине. Оба контроллера используют 32-битную адресацию в пределах младших 4 ГБ адресного пространства, ни один из них не поддерживает 64-битный режим адресации.

Для USB 2.0 был разработан EHCI (Enhanced Host Controller Interface), который поддерживает только работу на высокой скорости (high speed, 480 Мбит/с). В EHCI-контроллере с помощью разделенных транзакций (Split Transaction) реализована также поддержка низкоскоростных интерфейсов USB 1.1 для работы с более медленными устройствами.

Для USB 3.0 используется универсальный интерфейс XHCI (eXtensible Host Controller Interface), который поддерживает все скорости обмена данными.[1] Windows 7 при установке с USB не поддерживает USB 3.0 и просит драйверы носителя. Проблема решается отключением в BIOS[2] поддержки USB 3.0 или xHCI или подстановкой драйверов USB-контроллера при установке.

Примечания[править | править код]

  1. OS X and iOS Kernel Programming — Ole Henry Halvorsen, Douglas Clarke — Google Книги. Дата обращения: 2 октября 2017. Архивировано 24 октября 2017 года.
  2. XHCI hand off что это?. Дата обращения: 14 апреля 2021. Архивировано 14 апреля 2021 года.

Ссылки[править | править код]