logo
Материалы по интерфейсам периферий / Для Скрипко / Для пособия ПУ (Восстановлен) (2)

Новые модификации ieee 1394

1394а

Ничего принципиально нового в этой версии стандарта не появилось, но множество небольших улучшений, которые он вобрал в себя, позволяют говорить о следующем шаге в развитии стандарта. Изменения коснулись как физической составляющей, так и логической. Рассмотрим их подробнее:

Connection Hysteresis (debouncing). Каждый раз при подключении или отключении нового устройства происходит сброс шины. Проблема в том, что, при подключении нового устройства, устойчивая электрическая связь образовывается не сразу, что приводило к целому циклу сбросов шины, пока всё не успокоится, и будет установлено устойчивое соединение. Для решения этой проблемы в 1394а появился time-out (время ожидания 1/3 секунды - пока не будет установлено устойчивое соединение или произойдет потеря контакта) на подключение/отключение нового устройства, что гарантирует только один сброс шины при каждом подключении/отключении.

Arbitrated (Short) Bus Reset. В IEEE 1394 устройство, которое передаёт данные, не может обнаружить сигнал на сброс пока не закончит передавать текущий пакет. Поэтому сброс шины должен длиться дольше, чем максимальное время передачи одного пакета. Однако, если сброс шины происходит сразу после того, как одно из устройств выигрывает арбитраж, то в этом нет никакой необходимости (всё равно никто другой не начнёт передачу), и сброс шины можно произвести гораздо быстрее. Это позволило уменьшить время, затрачиваемое на сброс шины, с 300 миллисекунд до 100 в худшем случае, и с 165 до 5 миллисекунд в обычном случае.

Transmission Delay Calculation (PHY Pinging). В первой версии стандарта такой простой команды как ping вообще не было предусмотрено. Любое устройство должно было ответить не больше, чем через 144 наносекунды, в противном случае считалось, что оно недоступно. Именно это ограничение и определило максимальную длину кабеля в IEEE 1394 в 4.5 метра. Введение такой простой команды (одно устройство отсылает пакеты, другое отвечает, а время отклика замеряется) позволяет соседним устройствам точно знать, когда следует ждать ответа. Это дало возможность преодолеть ограничение в обязательные 144 наносекунды и использовать кабели большей длины.

Multi-Speed Packet Concatenation. Одной из причин, почему IEEE 1394 устройства разных производителей, выпущенные в соответствии с первой версией протокола, могли быть не совместимы друг с другом, это чёрная дыра в спецификации, связанная с сериями из нескольких пакетов. Сигнал, определяющий скорость, требовался только для первого пакета, но в серии могли присутствовать пакеты, передаваемые с другой скоростью. Для решения этого бага разные производители шли на ухищрения, что и приводило к несовместимости. В 1394а версии спецификации предусмотрен стандартный механизм решения этой проблемы - сигнал скорости добавляется в каждый пакет, передаваемый на скорости, отличной от предыдущего.

Port Disable (Per Port Software Disconnect). Возможность отключать IEEE 1394 порт программно - отключенный порт перестаёт реагировать на какой-либо трафик, и не мешает остальным устройствам. Это может оказаться весьма удобным, особенно в компьютерном окружении. Кроме того, для работы в компьютерной среде, в 1394а появились функции управления питанием (устройство может быть переведено в спячку и выведено из неё через IEEE 1394 интерфейс).