Usb ohci что это

Обновлено: 06.07.2024

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

На плате расширения или контроллере материнской платы это включает в себя много настраиваемой логики с цифровыми логическими модулями в микросхеме контроллера материнской платы, а также аналоговыми схемами, управляющими высокоскоростными дифференциальными сигналами. Со стороны программного обеспечения для этого требуется драйвер устройства (называемый драйвером хост-контроллера или HCD).

Содержание

IEEE 1394

Открытый интерфейс хост-контроллера

Открытый интерфейс хост-контроллера ( OHCI ) - это открытый стандарт .

Применительно к карте IEEE 1394 (также известной как FireWire ; i.LINK или Lynx ) OHCI означает, что карта поддерживает стандартный интерфейс с ПК и может использоваться драйверами OHCI IEEE 1394, которые поставляются со всеми современными операционными системами . Поскольку карта имеет стандартный интерфейс OHCI, ОС не нужно знать заранее, кто именно производит карту и как она работает; можно смело предположить, что карта понимает набор четко определенных команд, определенных в стандартном протоколе .

Открытый интерфейс хост-контроллера

Стандарт OHCI для USB аналогичен стандарту OHCI для IEEE 1394, но поддерживает только USB 1.1 (полная и низкая скорость); поэтому в результате интерфейс его регистра выглядит совершенно иначе. По сравнению с UHCI, он обеспечивает больший интеллект в контроллере и, соответственно, намного более эффективен; это было частью мотивации для его определения. Если компьютер предоставляет USB 1.1 не x86 или x86 USB 1.1 от USB-контроллера, который не производится Intel или VIA, он, вероятно, использует OHCI (например, OHCI часто встречается на дополнительных картах PCI на базе набора микросхем NEC). У него намного меньше ограничений интеллектуальной собственности, чем у UHCI. Он поддерживает только 32-разрядную адресацию памяти, поэтому для работы с 64-разрядной операционной системой требуется IOMMU или дорогостоящий в вычислительном отношении буфер отказов . OHCI взаимодействует с остальной частью компьютера только с отображением ввода-вывода в память .

Универсальный интерфейс хост-контроллера

Улучшенный интерфейс хост-контроллера

Усовершенствованный интерфейс хост - контроллер ( EHCI ) является стандартным высокоскоростным контроллер применит к USB 2.0. Системы на основе UHCI и OHCI, которые существовали ранее, влекли за собой большую сложность и затраты, чем необходимо. Следовательно, Форум разработчиков USB (USB-IF) настаивал на публичной спецификации EHCI. Intel провела тестирование на соответствие EHCI, и это помогло предотвратить вторжение патентованных функций.

Первоначально ПК с высокоскоростными портами имел два контроллера: один для работы с низко- и полноскоростными устройствами, а второй для высокоскоростных устройств. Обычно такая система имела драйверы EHCI и OHCI или UHCI. Драйвер UHCI обеспечивает низко- и полноскоростные интерфейсы для хост-контроллеров USB наборов микросхем Intel или VIA на материнской плате или для любых дискретных хост-контроллеров VIA, подключенных к шине расширения компьютера. Драйвер OHCI обеспечивает низко- и полноскоростные функции для портов USB интегрированных хост-контроллеров USB всех других производителей материнских плат или дискретных хост-контроллеров, подключенных к шине расширения компьютера. Драйвер EHCI обеспечивает высокоскоростные функции для портов USB на материнской плате или на дискретном контроллере USB. Более современное оборудование направляет все порты через внутренний концентратор «согласования скорости» (RMH), который преобразует весь трафик, включающий любые напрямую подключенные порты, работающие на полной и низкой скорости, между высокоскоростным трафиком, передаваемым контроллеру EHCI, и полноскоростной или низкоскоростной трафик, который ожидают порты, работающие на этих скоростях, что позволяет контроллеру EHCI обрабатывать эти устройства.

Спецификация программного интерфейса EHCI определяет как 32-разрядные, так и 64-разрядные версии его структур данных, поэтому ему не нужен буфер отказов или IOMMU для работы с 64-разрядной операционной системой, если концентратор согласования скорости реализован для обеспечения полного -скоростное и низкоскоростное соединение вместо сопутствующих контроллеров, использующих либо спецификацию UHCI, либо спецификацию OHCI, обе из которых являются 32-битными спецификациями.

Расширяемый интерфейс хост-контроллера

Расширяемый интерфейс хост-контроллера ( xHCI ) - это новейший стандарт хост-контроллера, который улучшает скорость, энергоэффективность и виртуализацию по сравнению с его предшественниками. Также была поставлена ​​цель определить хост-контроллер USB для замены UHCI / OHCI / EHCI. Он поддерживает все скорости USB-устройств (USB 3.1 SuperSpeed ​​+, USB 3.0 SuperSpeed, USB 2.0 Low-, Full- и High-speed, USB 1.1 Low- и Full-speed).

Интерфейс виртуального хост-контроллера

Интерфейс виртуального хост-контроллера ( VHCI ) относится к виртуальному контроллеру, который может экспортировать виртуальные USB-устройства, не поддерживаемые физическими устройствами. Например, в Linux контроллеры VHCI используются для доступа к USB-устройствам с других машин, подключенных по протоколу USB / IP .

Основы USB - введение в контроллеры OHCI, UHCI, EHCI и XHCI

OHCI и UHCI являются стандартами интерфейса USB1.1, в то время как EHCI является стандартом интерфейса, соответствующим USB2.0, а последний XHCI является стандартом интерфейса USB3.0.

  1. Представление контроллеров OHCI, UHCI, EHCI и XHCI

(1) OHCI (открытый интерфейс хост-контроллера) - это стандарт, который поддерживает USB1.1, но не только для USB,

Он также поддерживает другие интерфейсы, такие как интерфейс Apple Firewire (IEEE 1394). По сравнению с UHCI аппаратное обеспечение OHCI является сложным, а аппаратное обеспечение делает больше, поэтому реализовать соответствующую программную задачу относительно просто. Он в основном используется для не x86 USB, таких как карта расширения, USB-хост встроенной платы разработки.

(2) UHCI (универсальный интерфейс хост-контроллера) - это стандарт интерфейса для USB 1.0 и 1.1 под руководством Intel, который не совместим с OHCI. Программные задачи UHCI тяжелы и должны быть более сложными, но вы можете использовать более дешевые и простые аппаратные USB-контроллеры. Intel и VIA используют UHCI, а остальные поставщики оборудования используют OHCI.

(3) EHCI (расширенный интерфейс хост-контроллера) - это стандарт интерфейса USB2.0, возглавляемый Intel. EHCI обеспечивает только высокоскоростные функции USB2.0 и использует UHCI или OHCI для обеспечения поддержки высокоскоростных или низкоскоростных устройств.

(4) xHCI (расширяемый интерфейс хост-контроллера) - это новейший и самый популярный стандарт интерфейса USB 3.0, который значительно улучшил скорость, энергосбережение, виртуализацию и другие аспекты по сравнению с предыдущими тремя. xHCI поддерживает все типы USB-устройств (USB 3.0 SuperSpeed, USB 2.0 с низкой, полной и высокой скоростью, USB 1.1 с низкой и полной скоростью). Целью xHCI является замена предыдущих 3 (UHCI / OHCI / EHCI).

2. Разница и подключение разных контроллеров USB типов OHCI, UHCI, EHCI, xHCI

XHCI EHCI UHCI OHCI что это такое и в чём разница

XHCI EHCI UHCI OHCI это интерфейсы USB-контроллера в составе платформы персонального компьютера, который обеспечивает коммуникацию с периферийными устройствами, подключенными к универсальной последовательной шине.

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

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

UHCI OHCI для USB 1.1

В рамках спецификации 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-битный режим адресации.

EHCI в USB 2.0

Для USB 2.0 был разработан EHCI (Enhanced Host Controller Interface), который поддерживает только работу на высокой скорости (high speed, 480 Мбит/с).

В EHCI-контроллере с помощью разделенных транзакций (Split Transaction) реализована также поддержка низкоскоростных интерфейсов USB 1.1 для работы с более медленными устройствами.

XHCI для USB 3.0

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

Некоторые образы, представленные на странице загрузок, уже поставляются с базовой поддержкой USB. Если в Вашем образе поддержка USB отвутствует - эта страница поможет реализовать её в Вашем устройтве. Пакеты, необходимые для самой базовой поддержки USB, указаны в списке ниже (пожалуйста, прочтите о видах хост-контроллеров в Wikipedia прежде чем начнёте):

Название Размер (байт) Необходимость Описание
kmod-usb-core да Модуль ядра для поддержки USB
kmod-usb-ohci зависит от контроллера Модуль ядра для поддержки контроллеров USB OHCI.
kmod-usb-uhci зависит от контроллера Модуль ядра для поддержки контроллеров USB UHCI.
kmod-usb2 зависит от контроллера Модуль ядра для поддержки контроллеров USB2 (EHCI).
kmod-usb3 зависит от контроллера Модуль ядра для поддержки контроллеров USB3 (XHCI).
kmod-ledtrig-usbdev нет Модуль ядра для управления светодиодами, представленными как USB-устройства presence/activity.
usbutils нет Утилиты для просмотра USB устройств в системе (lsusb)
kmod-leds-wndr3700-usb нет Модуль ядра для управления светодиодами на плате Netgear WNDR3700. (только на ней)

После установки необходимых для Вашего устройства (в зависимости от представленного на плате вида контроллера) пакетов, OpenWRT сможет обращаться к шине USB. Для подключения чего-либо к USB необходимо установить драйвера на эти устройства. Здесь написано, что делать дальше –» USB: обзор

Установка

Модули ядра для поддержки USB 1.1

Чипы USB 1.1 могут иметь как UHC так и OHC интерфейс. Вам не следует бояться установить неправильный:

Для USB 1.1, попробуйте сначала установить драйвер UHCI и проверить его:

Учтите: На ядре 2.6.xx, вам может понадобиться модуль kmod-usb2 , даже если у вас только USB 1.1 контроллер (как в случае с роутером Asus WL-500g на прошивке Backfire brcm47xx)

Модули ядра для поддержки USB 2.0

Обычно, при наличии контроллера usb 2.0, устанавливают модули поддержки и USB1.1 и USB2.0.

Если система сообщает что-то вроде “unresolved symbol usb_calc_bus_time”, попробуйте запустить сначала “usbcore”, а потом снова “ehci-hcd”:

Устранение неполадок

is this still needed? The max_scsi_luns=8 bit is needed for multi-card readers and should be added to the end of the scsi_mod line in the /etc/modules.d/60-usb-storage file.

dmesg output:

usb.c: registered new driver usbdevfs … usb.c: registered new driver usb-storage scsi0 : SCSI emulation for USB Mass Storage devices Vendor: Apacer Model: Drive Rev: 1.05 Type: Direct-Access ANSI SCSI revision: 02 Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0 SCSI device sda: 256000 512-byte hdwr sectors (131 MB ) sda: Write Protect is off Partition check: /dev/scsi/host0/bus0/target0/lun0: p1 WARNING: USB Mass Storage data integrity not assured USB Mass Storage device found at 2 USB Mass Storage support registered.
If you still have problems with USB have a look at the unfixed USB bugs better bugs since last release

Ссылки

  • Last modified: 2019/08/26 12:41
  • by vgaetera

Self-registration in the wiki has been disabled.
If you want to contribute to the OpenWrt wiki, please post HERE in the forum or ask on IRC for access.

Except where otherwise noted, content on this wiki is licensed under the following license:
CC Attribution-Share Alike 4.0 International

Читайте также: