Курсовая работа: Особенности организации и использование FireWire
Функциональная схема интерфейса Firewire показана на рис. 1. Здесь внизу находится физический уровень, на котором происходит перевод стыкуемых мультимедийных сигналов в компьютерные форматы или, наоборот, с формированием, кодированием/декодированием и арбитражем, определяющим, в каком порядке устройства Firewire, составляющие сеть, могут работать.
Рис 1 Функциональная схема интерфейса Firewire
На уровне обрабатываются и формируются пакеты данных, организуется их прием и передача. Этих уровней достаточно для изохронной передачи данных, когда контроль за передаваемой и получаемой информацией не ведется. При асинхронной передаче данных такой контроль производится на программном уровне обработки, где данные проверяются и отправляются потребителю, если ошибок не обнаружено. В противном случае процедуры на нижнем уровне повторяются до устранения ошибок. Физический уровень может содержать несколько разъемов FireWire, причем два любых устройства IEEE 1394 могут соединяться между собой по схеме «точка — точка»(point-to-point).
1.2 Спецификации FireWire
IEEE 1394
В конце 1995 года IEEE принял стандарт под порядковым номером 1394. В цифровых камерах Sony интерфейс IEEE 1394 появился раньше принятия стандарта и под названием iLink. Интерфейс первоначально позиционировался для передачи видеопотоков, но пришёлся по нраву и производителям внешних накопителей, обеспечивая высокую пропускную способность для современных высокоскоростных дисков. Сегодня многие системные платы, а также почти все современные модели ноутбуков поддерживают этот интерфейс.
Скорость передачи данных — 100, 200 и 400 Мбит/с, длина кабеля до 4,5 м.
IEEE 1394a
В 2000 году был утверждён стандарт IEEE 1394а. Был проведён ряд усовершенствований, что повысило совместимость устройств. Было введено время ожидания 1/3 секунды на сброс шины, пока не закончится переходной процесс установки надёжного подсоединения или отсоединения устройства.
IEEE 1394b
В 2002 году появляется стандарт IEEE 1394b c новыми скоростями: S800 — 800 Мбит/с и S1600 — 1600 Мбит/с. Соответствующие устройства обозначаются FireWire 800 или FireWire 1600, в зависимости от максимальной скорости. Изменились используемые кабели и разъёмы. Для достижения максимальных скоростей на максимальных расстояниях предусмотрено использование оптики, пластмассовой — для длины до 50 метров, и стеклянной — для длин до 100 метров. Несмотря на изменение разъёмов, стандарты остались совместимы, чего можно добиться, используя переходники. 12 декабря 2007 года была представлена спецификация S3200 [1] c максимальной скоростью — 3,2 Гбит/с. Для обозначения данного режима используется также название «beta mode» (схема кодирования 8B10B). Максимальная длина кабеля может достигать 100 метров.
IEEE 1394.1
В 2004 году увидел свет стандарт IEEE 1394.1. Этот стандарт был принят для возможности построения крупномасштабных сетей и резко увеличивает количество подключаемых устройств до гигантского числа — 64 449.
IEEE 1394c
Появившийся в 2006 году стандарт 1394c позволяет использовать кабель Cat 5e от Ethernet. Возможно использовать параллельно с Gigabit Ethernet, то есть использовать две логические и друг от друга не зависящие сети на одном кабеле. Максимальная заявленная длина — 100 м, Максимальная скорость соответствует S800 — 800 Мбит/с.
2. Принцип работы Firewire
Процесс инициализации интерфейса начинается со сброса шины. При этом выясняется, какое число портов — один или несколько — имеется в системе и к каким из них подключены основные (родительские) и дочерние устройства. По этим данным строится дерево и определяется корневой узел сети (рис. 2).
Рис 2 Процесс инициализации интерфейса
Каждое из устройств Firewire получает идентификационный номер и данные о том, на каких скоростях могут работать его прямые соседи. Используется 64-разрядная прямая адресация (48 бит на узел и 16 бит для идентификации шины), позволяющая реализовать иерархическую адресацию для 63 узлов на 1023 шинах. По завершении инициализации начинает работать арбитраж, следящий за тем, чтобы работающие устройства друг другу не мешали. Поэтому устройство, готовое начать передачу, сначала посылает сигнал запроса своему родительскому устройству в дереве. Это устройство, получив запрос, формирует сигнал запрета своим дочерним устройствам и передает запрос дальше — своему родительскому устройству — и так далее, пока запрос не дойдет до корневого устройства. В свою очередь корневое устройство формирует сигнал, разрешающий передачу устройству, выигравшему арбитраж по времени, то есть тому, запрос от которого получен первым. При этом устройство, проигравшее арбитраж, ждет, пока шина не освободится. По сигналу разрешения начинается работа на уровне компоновки, где формируются пакеты данных по 512 байт с интервалами между ними и определяется их адресация. 160 бит в каждом пакете занимает заголовок, куда входит информация об отправителе и получателе пакетов, а также о циклическом коде CRC исправления ошибок. Передача данных начинается по получении ответа о готовности запрашиваемого устройства к приему информации. В течение времени до 0,75 мс после отправки каждого пакета данных ожидается подтверждение об их получении в виде байтовой посылки. Далее следует интервал не менее 1 мс, разделяющий пакеты, и т. д. Каждому устройству сети Firewire предоставляется возможность передавать данные один раз в течение каждого промежутка времени, распределяемого по всем узлам. Если этого времени оказывается недостаточно, передача завершается на следующих циклах. Так сделано для того, чтобы передача длинной информации одного из источников не могла блокировать работу остальных. Изохронная передача данных применяется, например, в мультимедийных приложениях, когда приоритетом является минимум задержки на получение информации по сравнению с возможной потерей или ошибками в какой-то ее части. В изохронном режиме данные передаются пакетами длительностью по 125 мс, то есть чем выше скорость, тем больше данных может быть передано за это время. Пакеты следуют друг за другом, не ожидая байтов подтверждения получения. Для идентификации пакетов при изохронной и асинхронной передаче промежуток между ними в первом случае короче, чем во втором. Это позволяет комбинировать и различать изохронные и асинхронные данные в каждом сеансе. На изохронные данные выделено до 85% канала передачи, из которых устройство может занимать не более 65 %. Интерфейсом Firewire допускается одновременная передача информации на разных скоростях от разных устройств, причем возможность их «общения» на какой-либо из скоростей определяется автоматически. Это делает интерфейс весьма дружественным, так как пользователю не нужно заботиться о правильности подключения устройств.
2.1 Кабель Firewire
Для работы интерфейса на высоких скоростях потребовались кабели с временем распространения сигнала, не превышающим допустимых пределов. Для Firewire это 144 нсек, после чего принимается решение о недоступности адресуемого устройства. Устройство кабеля для Firewire поясняет рис. 3.
Рис 3 Устройство кабеля
Этот кабель диаметром 6 мм содержит три витые пары проводников диаметром 0,87 мм. Одна из пар (типа 22 AWG) предназначена для питания внешней нагрузки (напряжение 8…30 В, потребляемый ток до 1,5 А), а две другие представляют собой раздельно экранированные пары сигнальных проводов типа 28 AWG. Все проводники с изолирующим заполнением заключены в экранирующую фольгу и оболочку из поливинилхлорида. Таким образом, кабель имеет сложную конструкцию и изготовить его самостоятельно вряд ли возможно.
Существуют три вида разъёмов (рис 4) для FireWire:
4pin (IEEE 1394a без питания) стоит на ноутбуках и видеокамерах. Два провода для передачи сигнала (информации) и два для приема.
6pin (IEEE 1394a). Дополнительно два провода для питания.