Интерфейс хост-контроллера (USB, Firewire) - Host controller interface (USB, Firewire) - Wikipedia

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

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

IEEE 1394

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

Открытый интерфейс хост-контроллера (OHCI)[1] является открытый стандарт.

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

USB

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

Стандарт 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.[2] Он поддерживает только 32-битную адресацию памяти,[3] так что это требует IOMMU или дорогостоящий в вычислительном отношении буфер отказов для работы с 64-битной операционной системой[нужна цитата ]. OHCI взаимодействует с остальной частью компьютера только с ввод-вывод с отображением памяти.[3]

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

Универсальный интерфейс хост-контроллера (UHCI) это проприетарный интерфейс, созданный Intel для USB 1.x (полная и низкая скорость). Требуется лицензия от Intel. Контроллер USB, использующий UHCI, мало что делает с аппаратной точки зрения и требует программного драйвера UHCI для выполнения большей части работы по управлению шиной USB.[2] Он поддерживает только 32-битную адресацию памяти,[4] поэтому для работы с 64-битной операционной системой требуется IOMMU или дорогостоящий в вычислительном отношении буфер отказов.[нужна цитата ]. UHCI настроен для ввода-вывода с отображением портов и ввода-вывода с отображением памяти, а также требует ввода-вывода с отображением памяти для обновлений состояния и для буферов данных, необходимых для хранения данных, которые необходимо отправить, или данных, которые были получены.[4]

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

В Улучшенный интерфейс хост-контроллера (EHCI)[5] это стандарт высокоскоростного контроллера, применимый к 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-битные версии его структур данных,[5] поэтому ему не нужен буфер отказов или 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).

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

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

Смотрите также

Рекомендации

  1. ^ [1]
  2. ^ а б "Linux USB FAQ". 27 августа 2007 г.. Получено 13 апреля, 2014.
  3. ^ а б [2]
  4. ^ а б "UHCI11D.DOC" (PDF). Ftp.netbsd.org. Получено 2017-01-10.
  5. ^ а б «Расширенные спецификации интерфейса хост-контроллера». Intel.com. Получено 2017-01-10.

внешняя ссылка