Network telecommunication - 4

Jun 08, 2016 21:45


I'm not understqnding you,
but I know that I should expect.
Я не понимаю, о чем вы меня спрашиваете,
но я знаю, чего следует ожидать.
(c) Marnix Goosens
TDM - time division multiplexing подразделяется на два вида:
- static (synchronious) TDM
- statistical TDM

Сlocking (синхронизация, тактирование)

Sequential bit - бит показывающий где начинается следущий бит информации.

Представим, что у нас есть два канала передачи: шина данных и шина адреса. В тот момент, когда мы передаем сигнал по шине данных, по шине адреса мы передаем сигнал, что этот сигнал действительный (valid). Так вот этот сигнал по адресной шине, указывающий в какой момент снимать информацию и называется clocking. Таким макаром можно представить это как две линии сигнала: data & clock.

Тут опять встает вопрос синхронизации обоих сигнало (мы должны начинать прием данных одновременно с получение сигнала часов) - если мы передаем оба сигнала на одну и ту же дистанцию в одно и то же время и по линии с одинаковыми параметрами, то задержка распространения (propagation) будет одинакова для обоих сигналов. Тут мы используем два различных канала одновременно.

Второй вариант - совместить сигнал и синхронизацию в одном сигнале. Например, Манчестерский код. Из его минусов, частота сигнала станет вдвое выше => и спектр. Если мы что-то выигрываем, мы платим за это чем-то другим.

Таким образом получается синхронная передача (sunchronious transition) и, как легко догадаться, есть и асинхронная (также приеменяется для HDD). Тут важно знать шаблон (pattern), который сигнализирует нам о начале передачи. В качестве шаблона, можно использовать например -1 сигнал - как третье состояние при 0 и 1 сигнале. Также мы называем это флаг или преамбула. Как обычно, чтобы решить эту задачу, используются грязные трюки.

Итого мы имеем стартовый сигнал, информацию о длине в фиксированном формате и далее пошла информация. Что мы будем делать, если внутри куска с информацией попадется кусок такой же как стартовый? Использовать ESC-pattern перед этим блоком, который обозначает что-то типа: "Эй, чувак, сейчас пойдет стартовый сигнал, но это на самом деле не стартовый сигнал. Если же попадется кусок такой же как ESC-pattern, то и для него есть соответствующий ESC-pattern.

Вот эта штука: "стартовый сигнал, длина информации, информация" - называется кадр (frame).

И тут мы подходим ко второй важной вещи после Clocking -> Framing. Эти две вещи наиболее сложные для понимания человеков.

Ethernet шлет кадры (frames), не пакеты (packets) и когда мы рассматриваем кадр, эти начальные и конечные сигналы обычно не отображают. Как мы видим у кадра есть ограничение по длине.

Для реально длинных последовательностей, например, голос или фильм, почему бы нам не переслать все сразу упаковав в один единственный кадр? Представим ситуацию, что мы так и сделали, сигнал идет и тут что-то случилось (гроза молнией ударила..) и то что было стройной последовательностью стало черт-те-чем. Несколько секунд, а данные невозвратно испорчены. В таком случаем, чтобы быть увереными, что в случае чего му получим все как надо, мы должны иметь возможность снова синхронизировать сигнал. То бишь в случае кадром, снова послать сигнал "старт".

Домашнее задание по этой теме было: Выяснить что такое decoupling repository из области digital electronics.

Внимание вопрос: Представим, что у нас есть машины в удалении друг от друга и мы хотим, чтоб они были синхронизированы до миллисекунды, очень-очень точно. Есть два способа сделать это. Один очень дорогой, а другой более доступный. Какие это способы? Вопрос на общую эрудицию.

network

Previous post Next post
Up