Что такое хост контроллер
Перейти к содержимому

Что такое хост контроллер

  • автор:

Взаимодействие хост-контроллера USB и устройств USB (ликбез).

Взаимодействие хост-контроллера USB и устройств USB (ликбез).

Хост-контроллер USB (рис.1) в чипсете обычно интегрируется с корневым хабом (root hub), обеспечивающим одну или несколько точек подключения называемых портами. Контроллер USB, входящий в состав чипсетов многих современных системных плат, обычно (как минимум) имеет встроенный двухпортовый хаб.

Распределение пропускной способности шины между подключенными устройствами планируется хост-контроллером и реализуется им с помощью посылки маркеров. Шина позволяет подключать, конфигурировать, использовать и отключать устройства во время работы хоста и самих устройств – динамическое (или «горячее») подключение и отключение.

Хост-контроллер USB выполняет следующие функции:

— обнаружение подключения и отсоединения устройств USB;

— манипулирование потоком управления между устройствами и хостом;

— управление потоками данных;

— сбор информации о состоянии и статистики;

— обеспечение энергосбережения подключенными устройствами.

Рис. 1. Пример блок-схемы хост-контроллера USB.

Системное программное обеспечение ( C ПО) хост-контроллера USB управляет взаимодействием между устройствами и их программным обеспечением функционирующим на хост- компьютере обеспечивая следующие функции:

— асинхронные передачи данных;

— нумерация и конфигурация устройств;

— изохронные передачи данных;

— информация об управлении устройствами и шиной.

По возможности, СПО USB в этих областях использует существующее системное ПО хост-компьютера – например, Advanced Power Management (АРМ) для управления энергопотреблением устройств USB и др.. USB имеет развитую систему управления энергопотреблением. Хост-компьютер может иметь собственную систему управления энергопотреблением (power management system), к которой логически подключается и одноименная система USB. Программное обеспечение USB взаимодействует с этой системой, поддерживая такие системные события, как приостанов (SUSPEND) или восстановление (RESUME). Кроме того, устройства USB могут сами являться источниками событий, отрабатываемых системой управления энергопотреблением.

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

— требуемая частота доступа к шине и допустимые задержки обслуживания;

— требуемая полоса пропускания канала;

— требования к обработке ошибок;

— максимальные размеры передаваемых и принимаемых пакетов;

— тип обмена (управление, сплошной, изохронный и прерывания;

— направление обмена (для сплошного и изохронного обмена).

Каждое устройство в своем составе обязательно имеет схемы поддерживающие начальный интерфейс обмена (конечную точку с номером 0), используемый для инициализации и общего управления логическим устройством, а также опроса его состояния. Этот начальный интерфейс (точка 0) всегда сконфигурирован при включении питания и подключении устройства к шине и поддерживает передачи типа «управление».

Кроме нулевой точки, периферийные устройства могут иметь дополнительные, поддерживаемые их аппаратурой, интерфейсы обмена (точки), собственно и реализующие полезные обмены данными (низкоскоростные устройства могут иметь максимум две дополнительных точки, полноскоростные устройства – до 16 точек ввода и 16 точек вывода. Все эти точки не могут быть использованы до их конфигурирования то есть до установления согласованного с ними канала.

По каналу между хост-контроллером и конечной точкой устройства могут передаваться две разновидности информации — потоки (stream) и сообщения (message).

Поток доставляет данные от одного конца канала к другому, он всегда однонаправленный. Один и тот же номер конечной точки может использоваться для двух поточных каналов – ввода и вывода. Поток может использовать следующие типы обмена: сплошной, изохронный и прерывания. Доставка всегда идет в порядке «первый вошел – первым вышел», с точки зрения интерфейса USB данные потока неструктурированы.

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

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

В USB в отличие от других шинных архитектур концентраторы передают пакеты от корня без полного их получения, что обеспечивается возможность «горячего» подключения устройств без отключения системы. Можно подключить новое устройство или концентратор, или наоборот, отключить ставшее ненужным оборудование без необходимости перезагрузки системы. При обнаружении на шине нового устройства концентратор оповещает об этом корневой концентратор. Затем система опрашивает вновь подключенное устройство о возможностях и потребностях и конфигурирует его. Вдобавок при этом загружаются необходимые драйверы, так что новым устройством можно пользоваться немедленно. Таким образом USB поддерживает подключение и отключение устройств в процессе работы. Конфигурация устройств шины является постоянным процессом, отслеживающим динамические изменения физической топологии (рис.2). Все устройства USB подключаются через порты хабов. Хабы определяют подключение и отключение устройств к своим портам и сообщают состояние портов в ответ на запрос от контроллера. Хост разрешает работу порта и адресуется к устройству через канал управления, используя нулевой адрес – USB Default Address. Все устройства адресуются этим адресом при начальном подключении или после сброса.

Хост определяет, является новое подключенное устройство хабом или периферийным устройством, и назначает ему уникальный адрес USB. Хост устанавливает с этим устройством канал управления (control pipe), используя назначенный адрес и нулевой номер точки назначения. Если новое устройство является хабом, хост определяет подключенные к нему устройства, назначает им адреса и устанавливает каналы. Если новое устройство USB является периферийным устройством, уведомление о подключении передается диспетчером USB заинтересованному программному обеспечению.

Когда устройство отключается, хаб автоматически запрещает соответствующий порт и сообщает об отключении контроллеру, который удаляет сведения о данном устройстве из всех структур данных. Если отключается хаб, то процесс удаления выполняется для всех подключенных к нему устройств. Если отключается периферийное устройство, уведомление посылается заинтересованному ПО.

PersCom — Компьютерная ЭнциклопедияКомпьютерная Энциклопедия

Вы здесь: Главная USB Хост USB Хост-контроллер

Архитектура ЭВМ

  • Базовая организация ЭВМ
  • Процессор
  • Память. Нижний уровень
  • Память. Верхний уровень
  • Ввод-вывод
  • Кодирование символов

Компоненты ПК

  • Устройства вывода информации
  • Процессоры
  • Системные платы
  • BIOS: базовая система ввода-вывода
  • Оперативная память
  • Накопители на жёстких дисках
  • Видеоадаптеры
  • Устройства оптического хранения данных
  • Аудиоустройства

Интерфейсы

Мини блог

  • Операционные системы
  • IT
  • Сетевые технологии

Самое читаемое

  • Арифметико логическое устройство (АЛУ)
  • Страничный механизм в процессорах 386+. Механизм трансляции страниц
  • Организация разделов на диске
  • Диск Picture CD
  • White Book/Super Video CD
  • Прямой доступ к памяти, эмуляция ISA DMA (PC/PCI, DDMA)
  • Карты PCMCIA: интерфейсы PC Card, CardBus
  • Таблица дескрипторов прерываний
  • Разъемы процессоров
  • Интерфейс Slot A

Хост-контроллер

Подробности Родительская категория: USB Категория: Хост USB

Хост-контроллер является аппаратным посредником между устройствами USB и хостом. В настоящее время имеется три спецификации хост-контроллеров, каждой из которых соответствует свой комплект драйверов хост-части:

  • UHC (Universal Host Controller) — универсальный хост-контроллер для шины USB 1.x, разработанный Intel;
  • OHC (Open Host Controller) — «открытый» хост-контроллер для шины USB 1.x, разработанный Compaq, Microsoft и National Semiconductor;
  • EHC (Enhanced Host Controller) — расширенный хост-контроллер для поддержки высокой скорости шины USB 2.0.

Все эти варианты контроллеров выполняют одни и те же задачи: организуют физические транзакции с устройствами по шине USB в соответствии с описаниями (дескрипторами) этих транзакций, помещенными в системное ОЗУ драйвером хост-контроллера. При этом транзакции разных типов обрабатываются по-разному. В плане обработки ошибок проще всего устроены изохронные транзакции, где ошибки не требуют повторов. Транзакции передач с гарантированной доставкой в случае ошибок требуют повторов до победного конца или признания неудачи (исчерпания допустимого числа повторов). С точки зрения планирования следует выделить периодические транзакции, которые должны выполняться строго по графику, остальные — как получится, и их ставят в очереди. Из-за особенностей планирования и возможных повторов порядок завершения обработки дескрипторов транзакций (успешных или нет) будет отличаться от порядка их помещения в память1, что прибавляет забот хост-контроллеру и его драйверу. Три варианта хостконтроллеров решают эти задачи по-разному и используют разные стратегии планирования транзакций, что иллюстрирует таблицы ниже.

План распределения времени в кa)адре: a — UHC; б — OHC; в — EHC (в микрокадре)
SOF Изохронные транзакции Транзакции прерываний Транзакции управления Транзакции передач массивов Свободное время
SOF Непереодические транзакции (Т1) Переодические транзакции Непереодические транзакци
SOF Непереодические транзакци Переодические транзакции

Хост-контроллер

HBA (англ. Host Bus Adapter ) — в компьютерном аппаратном обеспечении устройство, соединяющее компьютер с накопителями (устройствами хранения информации).

Термин впервые начал использоваться при подсоединении устройств с использованием Fibre Channel и ESCON, сетевая карта) и остальные, в которых есть элемент, обеспечивающий передачу данных через специальное устройство.

См. также

Wikimedia Foundation . 2010 .

Смотреть что такое «Хост-контроллер» в других словарях:

  • USB — Символ USB USB (ю эс би, англ. Universal Serial Bus «универсальная последовательная шина») последовательный интерфейс передачи данных для среднескоростных и низкоскоростных периферийных … Википедия
  • Pegasos — Компьютер, построенный на основе материнской платы Pegasos II Pegasos материнская плата на базе процессора PowerPC G3/G4, имеет 3 слота PCI … Википедия
  • Пегасос — Компьютер, построенный на основе материнской платы Pegasos II Pegasos материнская плата на базе процессора /PCI, 1 слот Ethernet (1Гбит и 10/100Мбит), DDR, AC97 совместимый звук и контроллер Firewire. В духе современных для загрузки системы… … Википедия
  • AMD Fusion — Информация в этой статье или некоторых её разделах устарела. Вы можете помочь проекту, обновив её и убрав после этого данный шаблон … Википедия
  • Звуковая плата — Creative Labs Sound Blaster Live! Звуковая плата AdLib … Википедия
  • RDC Semiconductor — У этого термина существуют и другие значения, см. RDC. RDC Semiconductor Co., Ltd. (коротко RDC) тайваньская компания, основанная в 1997 году. Компания специализируется на выпуске 16/32 битных микропроцессоров и микроконтроллеров с ядром… … Википедия
  • Звуковая карта — Звуковая плата Creative Labs Sound Blaster Live! … Википедия
  • Музыкальная плата — Звуковая плата Creative Labs Sound Blaster Live! Дешевая звуковая плата C media с оптическим входом и выходом Звуковая плата (также называемая звуковая карта или музыкальная плата) (англ. sound card) это плата, которая позволяет работать со… … Википедия
  • FICON — (Fibre Connection) последовательный канал передачи данных, основанный на ANSI стандарте Fibre Channel, введённом международным комитетом IT стандартов INCITS. Впервые был использован в генерациях G5, G6 серверов IBM S/390. FICON реализует… … Википедия
  • USB Attached SCSI — компьютерный интерфейс для высокоскоростного обмена с USB устройствами хранения, таких как жесткие диски, твердотельные диски и флэш накопители . UAS зависит от протокола USB, и использует стандартные набора команд SCSI. Предназначен для… … Википедия
  • Обратная связь: Техподдержка, Реклама на сайте
  • �� Путешествия

Экспорт словарей на сайты, сделанные на PHP,
WordPress, MODx.

  • Пометить текст и поделитьсяИскать в этом же словареИскать синонимы
  • Искать во всех словарях
  • Искать в переводах
  • Искать в ИнтернетеИскать в этой же категории

Хост-контроллер

Хост-компьютер общается с устройствами через контроллер. Хост имеет следующие обязанности:

  • обнаружение подключения и отсоединения устройств USB;
  • манипулирование потоком управления между устройствами и хостом;
  • управление потоками данных;
  • сбор статистики;
  • обеспечение энергосбережения подключенными ПУ.
  • Системное ПО контроллера управляет взаимодействием между устройствами и их ПО, функционирующим на хост-компьютере, для согласования:
  • нумерации и конфигурации устройств;
  • изохронных передач данных;
  • асинхронных передач данных;
  • управления энергопотреблением;
  • информации об управлении устройствами и шиной.

Лекция 15. Протокол работы usb-шины.

Общие сведения об USB-шине У любого компьютера, выпущенного в последнее время, вы обязательно обнаружите либо на лицевой панели, либо на задней стенке разъем USB. Шина USB (Universal Serial Bus) первоначально была разработана для обеспечения легкого подключения компьютера к телефонным линиям и расширения числа портов. Первая версия стандарта (версия 1.0) была выпущена в январе 1996 года. Сейчас в основном используется версия 1.1. Стандарт USB 1.1 вполне удовлетворяет всем требованиям при работе с низко-скоростными устройствами, вроде мышей и клавиатур, и даже с устройствами, работающими на средних скоростях, вроде Ethernet-адаптеров (10 Mbit/sec) или устройств бытовой электроники (таких, как цифровые камеры и MP3-плейеры), которые пересылают только несколько мегабайт данных. Но если на периферийное устройство или в обратном направлении необходимо пересылать большие объемы информации (примеры — жесткие диски, видеокамеры высокого разрешения, или одновременное использование нескольких сетевых адаптеров стандарта 100BaseT), то скорости, обеспечиваемые USB 1.1, уже недостаточны. Поэтому в 1999 году была разработана версия 2.0 стандарта USB, обеспечивающая более высокие скорости обмена данными. Современные компьютеры обычно имеют контроллер USB-шины, установленный на материнской плате. Для USB версии 1.1 было разработано два типа таких контроллеров, отличающихся интерфейсом взаимодействия с USB-устройствами: OHCI (Open Host Controller Interface) фирмы Compaq и UHCI (Universal Host Controller Interface) фирмы Intel. Оба типа имеют примерно одинаковые возможности и USB-устройства работают с обоими типами контроллеров. Аппаратная часть UHCI-контроллеров проще, а значит, они дешевле, но зато требуют более сложных драйверов, что увеличивает нагрузку на процессор. Версия 2.0 стандарта USB использует улучшенный вариант интерфейса — EHCI (Enhanced Host Controller Interface). Стандарт USB предусматривает строгую иерархию устройств, управляемых основным хостом, и использование протокола master/slave для управления подключаемыми устройствами. На один USB-разъем могут быть последовательно подключены до 127 устройств. Но непосредственно подключать одно устройство к другому нельзя, поскольку питание таких устройств осуществляется по той же шине. Поэтому для подключения дополнительных устройств используются специальные хабы, обеспечивающие снабжение этих устройств необходимой энергией. В результате USB-устройства образуют как бы дерево, каждая не конечная вершина которого является хабом. Поскольку любой обмен данными инициируется только хостом, и периферийные устройства не могут начать взаимодействие, исключена возможность коллизий, вследствие чего снижается стоимость устройств. Правда, такое решение приводит к некоторому снижению производительности. В результате USB-устройства версии 1.1 могут работать в двух режимах: так называемом low speed, обеспечивающем скорость передачи данных до 1.5 Mбит/сек, и full speed, в котором скорость передачи данных может составлять 12 Мбит/сек. Это только теоретический предел, а реально производительность шины даже в идеальных условиях не превышает 8,5 Мбит/сек., а в среднем составляет около 2 Мбит/сек. Интерфейс EHCI, используемый в устройствах версии 2, обеспечивает режим работы high speed, для которого скорость передачи данных может достигать 480 Мбит/сек. Для того чтобы USB-устройства могли обмениваться данными с такой скоростью, и хост-контроллер и само устройство должны соответствовать стандарту USB 2.0 и обеспечивать работу с интерфейсом EHCI. Однако хост-контроллеры 2.0 успешно работают с устройствами версии 1.1. И наоборот, вполне можно подключать устройства USB 2.0 к хосту (и к хабам) версии USB 1.1 и они будут прекрасно работать, но со скоростью не более 12, а не 480 Мбит/сек. В настоящее время разработан широкий спектр устройств, подключаемых по шине USB. Это клавиатуры, мыши, джойстики, игровые приставки, сканеры, модемы, принтеры, цифровые камеры, устройства хранения информации – дисководы гибких и жестких дисков, дисководы Zip, LS120 и CD-ROM. Очень перспективный и интересный класс таких устройств образуют накопители на основе Flash-памяти [1]. Физическая среда Шина USB, обладает полосой пропускания 1,5 или 12 Мбит/с. USB-кабель состоит из 4 проводников: — два провода формируют витую пару, применяемую в дифференциальных передачах данных; — остальные два представляют собой линии питания и заземления устройств, не имеющих собственного питания 5 В постоянного напряжения. USB стандарт предполагает два вида кабеля и два варианта разъемов. High-speed (высокоскоростные) кабели, для связи 12Mb в секунду, лучше экранированы, чем их менее дорогие 1.5 Mb заменители. Каждый кабель имеет «А» разъем на одной стороне и «B» на другой. Рисунок 1 показывает как «А» разъемы подсоединяются к исходящему, а «В» к нисходящему. Таким образом два типа физически различны и невозможно подключить их неправильно. Рис 1. USB топологоия «подключение звездой» USB шина позволяет подключать до 127 устройств. Использование такого количества устройств возможно при многоуровневом каскадировании. Наглядно это объясняет следующий рисунок: Это первая архитектурная особенность шины USB: ее логическая топология — многоуровневая звезда. Самым верхним уровнем является корневой концентратор, который обычно совмещается с USB контроллером. Если функции контроллера понятны, то концентратор — устройство для периферийных интерфейсов не привычное. В данном случае его функция такая же, что и концентраторов сетей передачи данных — добавление новых портов для подключения большего числа устройств. Ничего большего, чем просто разветвитель. К корневому концентратору могут быть подключены либо устройства, либо еще концентраторы, для увеличения числа доступных портов. Допускается организация до пяти уровней. Концентратор может быть выполнен в виде отдельного устройства, либо быть встроенным в какое-то другое. С этой точки зрения устройства подключаемые к USB можно подразделить на функциональные устройства, т.е. те которые выполняют какую-то конкретную функцию и не берут на себя никаких дополнительных задач (например, мыши) устройства-концентраторы в чистом виде выполняющие только функцию разветвления, и совмещенные (комбинированные) устройства, т.е. имеющие в своем составе концентратор, расширяющие набор портов и позволяющие подключать другие устройства (в качестве наиболее часто встречающихся примеров можно назвать мониторы, позволяющие по USB осуществлять настройку параметров, и обычно имеющих еще несколько дополнительных портов, для подключения других устройств или клавиатуры, с разъемами для подключения мышей). Надо обратить внимание, на то, что на пятом уровне комбинированное устройство использоваться не может. Кроме того отдельно стоит упомянуть о хосте, являющемся скорее программно-аппаратным комплексом, нежели просто устройством. Физическая топология шины — звезда Это объясняется тем, что каждый концентратор обеспечивает прозрачно для хоста соединение с устройством. Отношения клиентского программного обеспечения и USB устройств: в отличие от привычных старых интерфейсов, где взаимодействие можно было (и нужно) осуществлять обращаясь к устройству по конкретным физическим адресам памяти и портам ввода вывода, USB предоставляет для взаимодействия программный интерфейс и только его, позволяя клиентскому ПО существовать в отрыве от конкретного подключенного к шине устройства и его конфигурации. Для клиентской программы USB — это лишь набор функций. Хост, как уже было сказано ранее, программно-аппаратный комплекс. В обязанности хоста входит:

  • Слежение за подключением и отключением устройств
  • Организация управляющих потоков между USB-устройством и хостом.
  • Организация потоков данных между USB-устройством и хостом
  • Контроль состояния устроств и ведение статистики активности
  • Снабжение подключенных устройств электропитанием

Аппаратной частью является хост-контроллер — посредник между хостом и устройствами на шине. Программные функции (перечисление устройств и их конфигурирование, управление энергопотреблением, процессами передачи, устройствами на шине и самой шиной) возложены на операционную систему. Первой популярной операционной системой, в которой поддержка USB реализована была в полном объеме стала Windows 98 Second Edition. Некоторые устройства могут быть работоспособными и под более ранними версиями (98 без SE, и изредка 95), но далеко не все и не всегда. Концентратор (хаб). Позволяет множественные подключения к одному порту, создавая дополнительные порты. Каждый хаб имеет один восходящий порт, предназначенный для подключения к имеющемуся в наличии свободному порту, и несколько нисходящих, к которым могут быть подключены или снова концентраторы, или конечные устройства, либо совмещенные устройства. Хаб должен следить за подключением и отключением устройств, уведомляя хост об изменениях, управлять питанием портов. В концентраторе стандарта USB 2.0 можно выделить 3 функциональных блока: контроллер, повторитель, транслятор транзакций. Контроллер отвечает за соединения с хостом. Понятие повторитель в USB несколько отличается от принятого в сетях передачи данных. Его обязанность — соединять входной и какой-то нужный из выходных портов. Транслятор транзакций появился лишь в USB 2.0 и нужен, как всегда, из соображений совместимости с предыдущими версиями. Вкратце его суть в том, что бы обеспечивать максимальную скорость соединения с хостом. Подключенное к высокоскоростному (USB 2.0) порту старое медленное (USB 1.1) устройство съедало бы значительную часть времени, а следовательно и полезной пропускной способности шины, ведя обмен с хостом на низкой скорости (почему так происходит мы выясним позже при рассмотрении механизма обмена данными хост-устройство). Как метод борьбы транслятор транзакций буферизирует поступающий с медленного порта кадр, а затем на максимальной скорости передает его хосту, или же буферизирует получаемый на максимальной скорости кадр от хоста, передавая его затем устройству на меньшей, приемлемой для него скорости. Помимо разветвления и трансляции транзакций хаб должен осуществлять конфигурирование портов и слежение за корректным функционированием подключенных к ним устройств. Нужно сказать также, что при использовании старых и новых концентраторов вместе возможно создание неоптимальных с точки зрения производительности конфигураций. Для того что бы избежать создания узких мест в своей цепи, подключайте низкоскоростные устройства к низкоскоростным хабам, которые в свою очередь делайте последними уровнями ветвления и не подключайте их в середину высокоскоростной цепочки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *