Информационные технологииStfw.Ru 🔍
🕛

FireWire Self identification

В результате процедуры Tree identification происходит локальное определение топологии шины, то есть устанавливаются связи соседних узлов и ля каждого узла задается направление к вершине дере
В результате процедуры Tree identification происходит локальное определение топологии шины, то есть устанавливаются связи соседних узлов и ля каждого узла задается направление к вершине дерева в сторону одного из соседних узлов.
В результате же следующей за ней следующей процедуры Self identification происходит: определение глобальной топологии (сохраняется и делается доступной для всех узлов карта текущей топологии шины), каждому узлу присваивается адрес называемый Physical ID, в процессе обмена соседними узлами информации о поддерживаемой ими максимальной скорости передачи создается "карта скоростей" соответствующая текущей топологии.
Адреа, присвоенные устройствам используются для идентификации устройств в процессе передачи данных через шину.
В силу того, что к шине могут быть подключены устройства, поддерживающие разные скорости передачи, обмен происходит на самой низкой скорости, определенной стандартом для Fire Wire устройств 100Mbit/sec.
После завершения процедуры шина оказывается способной передавать данные между любыми двумя устройствами со максимальной скоростью определяемой самым медленным участком, соединяющим эти два устройства. В силу процедуры Tree initialisation для любых двух устройств на успешно сконфигурированной шине может существовать не более одного пути их соединяющего. Все устройства поддерживают одинаковую максимальную допустимую скорость для каждого из своих портов. Таким образом возможная скорость для любого соединения, проходящего через несколько устройств фактичекки определяется самым медленным из этих промежуточных устройств. Этот факт следует принимать во внимание для того, чтобы соединить имеющиеся устройства оптимальным способом. Понятно что может оказаться что при "неправильном" подключении некоторые соединения могут оказаться "недостаточно быстрыми" для того, чтобы уместить все логические каналы передачи. Если одним из устройств является компьютер, то пользователю могут быть доступны специальные программы визуализирующие "карту скоростей" шины. Такие программы могут быть полезны для того чтобы понять как же лучше соединить имеющиеся устройства.
Процесс назначения устройствам адресов происходит следующим образом. Узел, являющийся вершиной дерева (Root node), выбирает один из своих портов (имеющий самый маленький номер из всех подключенных портов) и при помощи арбитражного сигнала (TPA="Z", TPB="0"). Дочерний узел, получив этот сигнал - делает то же самое, и в результате процесс достигает одного из листьев дерева, которому уже некому передавать сигнал. Этот последний узел присваивает себе значение адрес равное нулю и передает пакет данных, называемый Self ID packet. Этот пакет в числе прочего содержит адрес, присвоенный себе устройством и передается всем узлам шины. Благодаря этому все узлы определяют какой самый последний номер уже использован в качестве адреса (Physical ID) для одного из устройств.
Для продолжения процедуры, узел только что присвоивший себе номер, должен быть в дальнейшем исключен из списка опрашиваемых узлов (то есть узлов, которым родительский узел может направить сигнал TPA="Z", TPB="0", см. выше по тексту). Это достигается следующим способом: после завершения передачи Self ID packet узел присвоивший себе адрес передает своему родительскому узлу арбитражный сигнал Identification done (TPA="1" TPB="Z"), получив этот сигнал родительский узел знает что пославший его дочерний узел и вместе с ним все узлы, составляющие нижележащую ветвь дерева, уже присвоили себе адреса Physical ID. Ни на одном из следующих шагов процедуры
родительский узел уже не будет посылать запросов в эту ветвь дерева.
Далее процесс повторяется аналогичным образом. Родительский узел только что пронумерованного узла выбирает следующий подключенный порт, из которого еще не приходило сигнала Identification done и посылает в него соответствующий запрос. И лишь когда все порты исчерпаются присваивает адрес самому себе и сообщает на этот раз уже своему родитель что его ветвь полностью пронумерована. Таким образом в результате обхода дерева "с проваливанием до низа" каждому узлу (устройству) назначается свой адрес. Последним адрес получает корневой узел.
Каждый из узлов сразу же после посылки сигнала Identification done посылает своему родительскому узлу информацию о максимальной поддерживаемой им скорости и получает от него в ответ аналогичную информацию.
Впоследствии узлы которые будут выполнять роли менеджера шины (Bus manager) и менеджера изохронных ресурсов (Isochronous resource manager) на основании информации, собранной из пакетов переданных различными узлами в процессе процедуры Self identification сделают доступными для других узлов "карту скоростей" и схему топологии шины.
Self ID пакеты так же включают в себя информацию о портах устройства и имеют фиксированную длину (32 бита), поэтому, устройства, имеющие много портов могут передавать сразу несколько Self ID пакетов: устройства с числом портов от 4 до 11 передают 2 пактеа, а устройства с числом портов от 12 до 16 (максимально возможного) передают 3 пакета. При этом все последующие пакеты, имеют структуру, иную чем самый первый пакет, называемый (Self ID Packet Zero).

Также по теме:
Новые программы для Windows, Linux и Android.