IEEE 1394
IEEE 1394 (FireWire, i-Link) — последовательная высокоскоростная шина, предназначенная для обмена цифровой информацией между компьютером и другими электронными устройствами.
Различные компании продвигают стандарт под своими торговыми марками:
- Apple — FireWire
- Sony — i.LINK
- Yamaha — mLAN
- TI — Lynx
- Creative — SB1394
История
в 1986 году членами Комитета по Стандартам Микрокомпьютеров (Microcomputer Standards Committee) принято решение объединить существовавшие в то время различные варианты последовательной шины (Serial Bus) в 1992 году разработкой интерфейса занялась Apple в 1995 году принят стандарт IEEE 1394
Преимущества
- Горячее подключение — возможность переконфигурировать шину без выключения компьютера
- Различная скорость передачи данных — 100, 200 и 400 Мбит/с в стандарте IEEE 1394/1394a, дополнительно 800 и 1600 Мбит/с в стандарте IEEE 1394b и 3200 Мбит/с в спецификации S3200.
- Гибкая топология — равноправие устройств, допускающее различные конфигурации (возможность «общения» устройств без компьютера)
- Высокая скорость — возможность обработки мультимедиа-сигнала в реальном времени
- Поддержка изохронного трафика
- Поддержка атомарных операций — сравнение/обмен, атомарное увеличение (операции семейства LOCK — compare/swap, fetch/add и т. д.).
- Открытая архитектура — отсутствие необходимости использования специального программного обеспечения
- Наличие питания прямо на шине (маломощные устройства могут обходиться без собственных блоков питания). До полутора ампер и напряжение от 8 до 40 вольт.
- Подключение до 63 устройств.
Шина IEEE 1394 может использоваться для:
- Создания компьютерной сети.
- Подключения аудио и видео мультимедийных устройств.
- Подключения принтеров и сканеров.
- Подключения жёстких дисков, массивов RAID.
Основные сведения
Кабель представляет собой 2 витые пары — А и B, распаянные как A к B, а на другой стороне кабеля как B к A. Также возможен необязательный проводник питания.
Устройство может иметь до 4 портов (разъёмов). В одной топологии может быть до 64 устройств. Максимальная длина пути в топологии — 16. Топология древовидная, замкнутые петли не допускаются.
При присоединении и отсоединении устройства происходит сброс шины, после которого устройства самостоятельно выбирают из себя главное, пытаясь взвалить это «главенство» на соседа. После определения главного устройства становится ясна логическая направленность каждого отрезка кабеля — к главному или же от главного. После этого возможна раздача номеров устройствам. После раздачи номеров возможно исполнение обращений к устройствам.
Во время раздачи номеров по шине идет трафик пакетов, каждый из которых содержит в себе количество портов на устройстве, а также ориентацию каждого порта — не подключен/к главному/от главного, а также максимальную скорость каждой связи (2 порта и отрезок кабеля). Контроллер 1394 принимает эти пакеты, после чего стек драйверов строит карту топологии (связей между устройствами) и скоростей (наихудшая скорость на пути от контроллера до устройства).
Операции шины делятся на асинхронные и изохронные.
Асинхронные операции — это запись/чтение 32-битного слова, блока слов, а также атомарные операции. Асинхронные операции используют 24-битные адреса в пределах каждого устройства и 16-битные номера устройств (поддержка межшинных мостов). Некоторые адреса зарезервированы под главнейшие управляющие регистры устройств. Асинхронные операции поддерживают двухфазное исполнение — запрос, промежуточный ответ, потом позже окончательный ответ.
Изохронные операции — это передача пакетов данных в ритме, строго приуроченном к ритму 8 КГц, задаваемому ведущим устройством шины путем инициации транзакций «запись в регистр текущего времени». Вместо адресов в изохронном трафике используются номера каналов от 0 до 31. Подтверждений не предусмотрено, изохронные операции есть одностороннее вещание.
Изохронные операции требует выделения изохронных ресурсов — номера канала и полосы пропускания. Это делается атомарной асинхронной транзакцией на некие стандартные адреса одного из устройств шины, избранного как «менеджер изохронных ресурсов».
Помимо кабельной реализации шины, в стандарте описана и наплатная (реализации неизвестны).