Интерфейс хост-контроллера (USB, Firewire)
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Интерфейс хост-контроллера USB и Firewire ( UFHC уровня регистра ) — это интерфейс , который позволяет хост-контроллеру оборудования USB или IEEE 1394 взаимодействовать с драйвером хост-контроллера в программном обеспечении. Программное обеспечение драйвера обычно поставляется с операционной системой персонального компьютера , но также может быть реализовано с помощью устройств для конкретного приложения, таких как микроконтроллер .
На плате расширения или контроллере материнской платы это включает в себя большое количество специальной логики с цифровыми логическими механизмами в микросхеме контроллера материнской платы, а также аналоговыми схемами, управляющими высокоскоростными дифференциальными сигналами. Что касается программного обеспечения , для него требуется драйвер устройства (называемый драйвером хост-контроллера или HCD).
ИЭЭЭ 1394
[ редактировать ]Открытый интерфейс хост-контроллера
[ редактировать ]Открытый интерфейс хост-контроллера ( OHCI ) [1] является открытым стандартом .
Применительно к карте IEEE 1394 (также известной как FireWire ; i.LINK или Lynx ) OHCI означает, что карта поддерживает стандартный интерфейс с ПК и может использоваться драйверами OHCI IEEE 1394, которые поставляются со всеми современными операционными системами . Поскольку карта имеет стандартный интерфейс OHCI, ОС не нужно заранее точно знать, кто производит карту и как она работает; можно с уверенностью предположить, что карта понимает набор четко определенных команд, определенных в стандартном протоколе .
USB
[ редактировать ]Открытый интерфейс хост-контроллера
[ редактировать ]Стандарт OHCI для USB аналогичен стандарту OHCI для IEEE 1394, но поддерживает только USB 1.1 (полная и низкая скорости); поэтому в результате его интерфейс регистров выглядит совершенно по-другому. По сравнению с UHCI, он передает больше интеллекта в контроллер и, следовательно, значительно более эффективен; это было частью мотивации для его определения. Если компьютер поддерживает USB 1.1, отличный от x86, или USB 1.1 x86 от 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] поэтому для работы с 64-битной операционной системой не требуется буфер отказов или IOMMU, если для обеспечения полноскоростного и низкоскоростного подключения реализован концентратор согласования скорости вместо сопутствующих контроллеров, использующих спецификацию UHCI или спецификацию OHCI, оба из которых являются только 32-битными спецификациями.
Расширяемый интерфейс хост-контроллера
[ редактировать ]Расширяемый интерфейс хост-контроллера ( xHCI ) — это новейший стандарт хост-контроллера, который повышает скорость, энергоэффективность и виртуализацию по сравнению с его предшественниками. Целью также было определить хост-контроллер USB для замены UHCI/OHCI/EHCI. Он поддерживает все скорости USB-устройств (USB 3.1 SuperSpeed+, USB 3.0 SuperSpeed, USB 2.0 низко-, полно- и высокоскоростно, USB 1.1 низко- и полноскоростно).
Интерфейс виртуального хост-контроллера
[ редактировать ]Интерфейс виртуального хост-контроллера ( VHCI ) относится к виртуальному контроллеру, который может экспортировать виртуальные USB-устройства, не поддерживаемые физическими устройствами. Например, в Linux контроллеры VHCI используются для предоставления доступа к USB-устройствам от других компьютеров, подключенных по протоколу USB/IP .
Хост-интерфейс USB4
[ редактировать ]Хост-интерфейс, определенный в спецификации USB4. Он создает операционную систему для управления хост-маршрутом USB4 для USB, DisplayPort, PCI Express, Thunderbolt или связи между хостами.
См. также
[ редактировать ]- Расширенный интерфейс хост-контроллера (AHCI)
- Интерфейс хост-контроллера энергонезависимой памяти (NVMHCI)
- Беспроводной USB (WHCI 1.0)
- RAID-контроллер
- Хост-адаптер
- ЛПКИО
Ссылки
[ редактировать ]- ^ http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/ohci_11.pdf [ только URL-адрес PDF ]
- ^ Jump up to: а б «Часто задаваемые вопросы по Linux USB» . 27 августа 2007 года . Проверено 13 апреля 2014 г.
- ^ Jump up to: а б «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 18 мая 2020 г. Проверено 12 мая 2020 г.
{{cite web}}
: CS1 maint: архивная копия в заголовке ( ссылка ) - ^ Jump up to: а б "UHCI11D.DOC" (PDF) . FTP.netbsd.org . Проверено 10 января 2017 г.
- ^ Jump up to: а б «Расширенная спецификация интерфейса хост-контроллера» . Intel.com . Проверено 10 января 2017 г.
Внешние ссылки
[ редактировать ]- Стандартный документ OHCI для USB от Compaq, Microsoft и National Semiconductor ( PDF )
- Исходный код ядра Linux: OHCI и EHCI. документация
- Спецификация Intel EHCI
- Спецификация Intel xHCI