Хост контроллер шины ieee 1394 что это

Хост контроллер шины ieee 1394 что это

У многих пользователей на операционной системе Windows 7 возникают проблемы с захватом видео с DV/HDV видеокамер, также это касается работы с внешними конверторами Canopus ADVC/DV. Ниже описан небольшой мануал по исправлению данной проблемы, которая носит софтовый характер. В Windows 7 нажимаем на кнопку Пуск и в строке поиска вбиваем devmgmt.msc, выделяем найденное и нажимаем на кнопку: Enter.

В Диспетчере устройств открываем закладку Хост-контроллеры шины IEEE 1394 и выбираем контроллер к которому у нас подключена камера или конвертор, нажимаем правую кнопку мыши и выбираем из списка пункт: Обновить драйверы.

В появившемся окне выбираем пункт: Выполнить поиск драйверов на этом компьютере.

В новом окне, выбираем: Выбрать драйвер из списка уже установленных драйверов и нажимаем на кнопку: Далее.

Ставим галку перед пунктом: Только совместимые устройства. И из списка представленных драйверов выбираем вариант: 1394 OCHI-совместимый хост-контроллер (устаревшая версия). И нажимаем на кнопку: Далее.

Запустится процесс установки драйверов, по окончании появится надпись: Обновление программного обеспечения для данного устройства завершено успешно. Нажимаем на кнопку: Закрыть.

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

обнаружение подключения и отсоединения устройств 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) устройство съедало бы значительную часть времени, а следовательно и полезной пропускной способности шины, ведя обмен с хостом на низкой скорости (почему так происходит мы выясним позже при рассмотрении механизма обмена данными хост-устройство). Как метод борьбы транслятор транзакций буферизирует поступающий с медленного порта кадр, а затем на максимальной скорости передает его хосту, или же буферизирует получаемый на максимальной скорости кадр от хоста, передавая его затем устройству на меньшей, приемлемой для него скорости. Помимо разветвления и трансляции транзакций хаб должен осуществлять конфигурирование портов и слежение за корректным функционированием подключенных к ним устройств. Нужно сказать также, что при использовании старых и новых концентраторов вместе возможно создание неоптимальных с точки зрения производительности конфигураций. Для того что бы избежать создания узких мест в своей цепи, подключайте низкоскоростные устройства к низкоскоростным хабам, которые в свою очередь делайте последними уровнями ветвления и не подключайте их в середину высокоскоростной цепочки.

IEEE 1394 Interface
Тип Последовательная связь
История
Разработчик Apple Computer (сейчас Apple, Inc.)
Разработано 1995
Произведено 1995 — 2013
Вытеснено Thunderbolt (2013)
Спецификации
Длина до 4,5 м
Ширина 1
Подключение на ходу Да
Внешнее Да
Макс. напряжение 30 В
Макс. ток 1,5 A
Сигнал данных Да
Полоса пропускания 400–3200 Мбит/с (50–400 Мбайт/с)
Выводы 4, 6, 9
Читайте также:  Можно ли удалить отправленное сообщение в одноклассниках

IEEE 1394 (FireWire [1] , i-Link) — последовательная высокоскоростная шина, предназначенная для обмена цифровой информацией между компьютером и другими электронными устройствами.

Различные компании продвигают стандарт под своими торговыми марками:

Содержание

История [ править | править код ]

В 1986 году членами Комитета по стандартам микрокомпьютеров (Microcomputer Standards Committee) принято решение объединить существовавшие в то время различные варианты последовательной шины ( Serial Bus ).

В 1992 году разработкой интерфейса занялась Apple.

В 1995 году принят стандарт IEEE 1394 (сама технология была разработана намного раньше, до появления Windows 95, что показывает большой потенциал данного института).

Около 1998 года содружество компаний, в том числе Microsoft, развивали идею обязательности 1394 для любого компьютера и использования 1394 внутри корпуса, а не только вне его. Существовали даже карты контроллеров с одним разъёмом, направленным внутрь корпуса. Также существовала идея Device Bay, то есть отсека для устройства со встроенным в отсек разъёмом 1394 и поддержкой горячей замены.

Такие тенденции прослеживаются в материалах Microsoft той поры, предназначенных для разработчиков компьютеров. Можно сделать вывод, что 1394 предлагали как замену ATA, то есть на роль, ныне выполняемую SATA.

Но этим идеям не суждено было воплотиться, и одной из главных причин такого исхода была лицензионная политика компании Apple, требующей выплат за каждый чип контроллера. Модели системных плат и ноутбуков, представленные на рынке начала 2010-х годов, как правило, уже не поддерживают интерфейс FireWire. Исключения представлены в узком топовом IT-сегменте [2] [3] .

Преимущества [ править | править код ]

  • Горячее подключение — возможность переконфигурировать шину без выключения компьютера.
  • Различная скорость передачи данных — 100, 200 и 400 Мбит/с в стандарте IEEE 1394/1394a, дополнительно 800 и 1600 Мбит/с в стандарте IEEE 1394b и 3200 Мбит/с в спецификации S3200.
  • Гибкая топология — равноправие устройств, допускающее различные конфигурации (возможность «общения» устройств без компьютера).
  • Высокая скорость — возможность обработки мультимедиа-сигнала в реальном времени
  • Поддержка изохронного трафика [4] .
  • Поддержка атомарных операций — сравнение/обмен, атомарное увеличение (операции семейства LOCK — compare/swap, fetch/add и т. д.).
  • Открытая архитектура — отсутствие необходимости использования специального программного обеспечения.
  • Наличие питания прямо на шине (маломощные устройства могут обходиться без собственных блоков питания). До 1,5 А и напряжение от 8 до 40 вольт.
  • Подключение до 63 устройств.

Шина IEEE 1394 может использоваться для:

Основные сведения [ править | править код ]

Кабель представляет собой 2 витые пары — А и B, распаянные как A к B, а на другой стороне кабеля — как B к A. Также возможен необязательный проводник питания.

Устройство может иметь до 4 портов (разъёмов). В одной топологии может быть до 64 устройств. Максимальная длина пути в топологии — 16. Топология древовидная, замкнутые петли не допускаются.

При присоединении и отсоединении устройства происходит сброс шины, после которого устройства самостоятельно выбирают из себя главное, пытаясь взвалить это «главенство» на соседа. После определения главного устройства становится ясна логическая направленность каждого отрезка кабеля — к главному или же от главного. После этого возможна раздача номеров устройствам. После раздачи номеров возможно исполнение обращений к устройствам.

Во время раздачи номеров по шине идёт трафик пакетов, каждый из которых содержит в себе количество портов на устройстве, ориентацию каждого порта — не подключён / к главному / от главного, а также максимальную скорость каждой связи (2 порта и отрезок кабеля). Контроллер 1394 принимает эти пакеты, после чего стек драйверов строит карту топологии (связей между устройствами) и скоростей (наихудшая скорость на пути от контроллера до устройства).

Операции шины делятся на асинхронные и изохронные.

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

Изохронные операции — это передача пакетов данных в ритме, строго приуроченном к ритму 8 КГц, задаваемому ведущим устройством шины путём инициации транзакций «запись в регистр текущего времени». Вместо адресов в изохронном трафике используются номера каналов от 0 до 31. Подтверждений не предусмотрено, изохронные операции есть одностороннее вещание.

Изохронные операции требуют выделения изохронных ресурсов — номера канала и полосы пропускания. Это делается атомарной асинхронной транзакцией на некие стандартные адреса одного из устройств шины, избранного как «менеджер изохронных ресурсов».

Помимо кабельной реализации шины, в стандарте описана и наплатная (реализации неизвестны).

Использование [ править | править код ]

Сеть поверх 1394 и FireNet [ править | править код ]

Существуют стандарты RFC 2734 — IP поверх 1394 и RFC 3146 — IPv6 поверх 1394. Поддерживались в ОС Windows XP и Windows Server 2003. Поддержка со стороны Microsoft прекращена в ОС Windows Vista, однако существует реализация сетевого стека FireNet в альтернативных драйверах от компании Unibrain [5] [6] (версия 6.00 вышла в ноябре 2012 года [7] ).

Поддерживается во многих ОС семейства UNIX (обычно требуется пересборка ядра с этой поддержкой).

Стандарт не подразумевает эмуляцию Ethernet над 1394 и использует совершенно иной протокол ARP. Несмотря на это, эмуляция Ethernet над 1394 была включена в ОС FreeBSD и является специфичной для данной ОС.

Читайте также:  Игра престолов новый сезон дата выхода серий

Внешние дисковые устройства [ править | править код ]

Существует стандарт SBP-2 — SCSI поверх 1394. В основном используется для подключения внешних корпусов с жёсткими дисками к компьютерам — корпус содержит чип моста 1394—ATA. При этом скорость передачи данных может достигать 27 МБ/с, что превышает скорость USB 2.0 как интерфейса к устройствам хранения данных, равную примерно 43 МБ/с, однако гораздо ниже таковой для USB 3.0.

Поддерживается в ОС семейства Windows с Windows 98 и по сей день. Также поддерживается в популярных ОС семейства UNIX.

MiniDV-видеокамеры [ править | править код ]

Исторически первое использование шины. Используется и по сей день как средство захвата фильмов с MiniDV в файлы. Возможен и захват с камеры на камеру.

Видеосигнал, идущий по 1394, идёт практически в том же формате, что и хранится на видеоленте. Это упрощает камеру, снижая требования к ней по наличию памяти.

В ОС Windows подключённая по 1394 камера является устройством DirectShow. Захват видео с такого устройства возможен в самых разнообразных приложениях — Adobe Premiere, Ulead Media Studio Pro, Windows Movie Maker. Существует также огромное количество простейших утилит, способных выполнять только этот захват. Возможно также и использование тестового инструмента Filter Graph Editor из свободно распространяемого DirectShow SDK.

Использование 1394 c miniDV положило конец проприетарным платам видеозахвата.

Отладчики [ править | править код ]

Интересным свойством контроллеров 1394 является способность читать и писать произвольные адреса памяти со стороны шины без использования процессора и ПО. Это проистекает из богатого набора асинхронных транзакций 1394, а также из её структуры адресации.

Эта возможность чтения и редактирования памяти через 1394 без помощи процессора послужила причиной использования 1394 в двухмашинном отладчике ядра Windows — WinDbg. Такое использование существенно быстрее последовательного порта, но требует ОС не ниже Windows XP с обеих сторон. Также возможность используется в отладчиках для других ОС, например, Firescope для Linux [8] .

Организация устройств IEEE 1394 [ править | править код ]

Устройства IEEE 1394 организованы по трёхуровневой схеме — Transaction, Link и Physical, соответствующие трём нижним уровням модели OSI.

  • Transaction Layer — маршрутизация потоков данных с поддержкой асинхронного протокола записи-чтения.
  • Link Layer — формирует пакеты данных и обеспечивает их доставку.
  • Physical Layer — преобразование цифровой информации в аналоговую для передачи и наоборот, контроль уровня сигнала на шине, управление доступом к шине.

Связь между шиной PCI и Transaction Layer осуществляет Bus Manager. Он назначает вид устройств на шине, номера и типы логических каналов, обнаруживает ошибки.

Данные передаются кадрами длиной 125 мкс. В кадре размещаются временные слоты для каналов. Возможен как синхронный, так и асинхронный режимы работы. Каждый канал может занимать один или несколько временных слотов. Для передачи данных устройство-передатчик просит предоставить синхронный канал требуемой пропускной способности. Если в передаваемом кадре есть требуемое количество временных слотов для данного канала, поступает утвердительный ответ, и канал предоставляется.

Спецификации FireWire [ править | править код ]

IEEE 1394 [ править | править код ]

В конце 1995 года IEEE принял стандарт под порядковым номером 1394. В цифровых камерах Sony интерфейс IEEE 1394 появился раньше принятия стандарта и под названием iLink.

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

Скорость передачи данных — 98,304, 196,608 и 393,216 Мбит/с, которые округляют до 100, 200 и 400 Мбит/с. Длина кабеля — до 4,5 м.

IEEE 1394a [ править | править код ]

В 2000 году был утверждён стандарт IEEE 1394а. Был проведён ряд усовершенствований, что повысило совместимость устройств.

Было введено время ожидания 1/3 секунды на сброс шины, пока не закончится переходный процесс установки надёжного подсоединения или отсоединения устройства.

IEEE 1394b [ править | править код ]

В 2002 году появляется стандарт IEEE 1394b с новыми скоростями: S800 — 800 Мбит/с и S1600 — 1600 Мбит/с. Соответствующие устройства обозначаются FireWire 800 или FireWire 1600, в зависимости от максимальной скорости.

Изменились используемые кабели и разъёмы. Для достижения максимальных скоростей на максимальных расстояниях предусмотрено использование волоконно-оптического кабеля: пластмассового — для длины до 50 метров, и стеклянного — для длины до 100 метров.

Несмотря на изменение разъёмов, стандарты остались совместимы, что позволяет использовать переходники.

12 декабря 2007 года была представлена спецификация S3200 [9] с максимальной скоростью 3,2 Гбит/с. Для обозначения данного режима используется также название «beta mode» (схема кодирования 8B10B (англ.) русск. (англ.) ). Максимальная длина кабеля может достигать 100 метров.

IEEE 1394.1 [ править | править код ]

В 2004 году увидел свет стандарт IEEE 1394.1. Этот стандарт был принят для возможности построения крупномасштабных сетей и резко увеличивает количество подключаемых устройств до гигантского числа — 64 449 [10] .

IEEE 1394c [ править | править код ]

Появившийся в 2006 году стандарт 1394c позволяет использовать витопарный кабель категории 5e (такой же, как и для сетей Ethernet). Возможно использовать параллельно с Gigabit Ethernet, то есть использовать две логические и друг от друга не зависящие сети на одном кабеле. Максимальная заявленная длина — 100 м, Максимальная скорость соответствует S800 — 800 Мбит/с.

Разъёмы [ править | править код ]

Существует четыре (до IEEE 1394c — три) вида разъёмов для FireWire:

Ссылка на основную публикацию
Adblock detector