САМОСТОЯТЕЛЬНАЯ РАБОТА
«РАДИОМОДЕМ. ТАКТОВАЯ И ПАКЕТНАЯ СИНХРОНИЗАЦИЯ»
СТАТЬЯ 1.
Вопросы развития и внедрения сетей синхронизации, особенно при взаимодействии сетей с использованием коммутации каналов и пакетов, сегодня становятся весьма актуальными. Прежде чем описывать сценарии взаимодействия master/slave, необходимо раскрыть основную смысловую нагрузку выполняемой работы.
Постановка задачи:
Основная задача темы состоит в разработке модели функционирования соединения типа «радиомост». Назначение такого соединения состоит в организации обмена сообщениями между двумя любыми терминалами по радиоканалу (см. рисунок 1). Один из терминалов является ведущим устройством (master), отвечающим за выполнение сценариев соединения и за управление радиоресурсом, другой – slave, исполняющим «волю» ведущего терминала. Ведущий терминал отвечает также за формирование сигналов частотной и временной (тактовой) синхронизации, необходимые для подстройки частоты и шкалы времени ведомым терминалом. Передача информационных сообщений реализуется в обоих направлениях: либо по инициативе Т1, либо по запросу от Т2.
Рисунок 1
Введение:
Тактовая синхронизация (бит-синхронизация или синхронизация по битам) - это выделение сигнала синхронизации из периодической структуры информационного сигнала с целью поддержания работы цифровых устройств и согласования их во времени на уровне единичных тактовых интервалов (битов).
Пакетная синхронизация (синхронизация пакетов) - определение начала и конца поступающих пакетов с целью построения правильной последовательности пакетов на приеме, что особенно важно при передаче по пакетной сети сигналов реального времени (телефония, видео и т.д.).
Именно пакетный вид синхронизации занимает ключевое место в определении двух основных режимов (способов организации) передачи сигналов в транспортной сети - синхронного и асинхронного.
Решение поставленной задачи:
В соответствие с моделью OSI, на физическом уровне (PHY) обеспечивается кодирование данных, поступающих от MAC-подуровня для их передачи, синхронизация передаваемых данных, а также прием и декодирование данных на приемной стороне, в нашем случае в терминале.
Рисунок 2
Синхронизация осуществляется только на физическом уровне. Способы и методы доставки сообщения в том же порядке, в каком они поступали от источника - это проблема физического уровня. Логично полагать, что без частотной и битовой синхронизации невозможна достоверная передача информации, т.к. биты могут накладываться друг на дружку, тем самым рождая ложную информацию.
Рисунок 3
Сценарий взаимодействия (уровень L3 (Radio Management)):
Теперь рассмотрим сам сценарий взаимодействия двух терминалов, один из которых является ведущим (Master (M) (T1)), а дрогой ведомый (Slave (S) (Т2)). Необходимо понимать, что пользователи терминалов не должны никоим образом чувствовать на себе это разделение на главного и подчиненного, то есть пользователи обеих терминалов равны по своим возможностям. Следовательно, на канальном уровне этого разделения быть не должно. Для того чтобы обеспечить равноправие пользователей, необходимо установить алгоритм действий M и S в обе стороны.
Сначала представим, что пользователь терминала T1 (M) собирается отправить сообщение пользователю терминала Т2 (S).
Тогда сценарий их взаимодействия показан на рисунке 4.
Рисунок 4
Как видно из рисунка 4, сначала Master посылает Slave так называемую команду. Это служебное сообщение, которое является для Slave знаком того, что Master сейчас будет передавать сообщение. Также в нем содержится код частоты и времени (для синхронизации) под которые должен подстроиться Slave и могут содержаться коды, обозначающие типы передаваемых данных и их алгоритм обработки.
Вторым шагом является подтверждение от Slave о том, что он настроился на частоту и подстроил время. Также необходимо для того, чтобы Master убедился, что команда дошла до ведомого устройства.
Третьим шагом является передача заранее подготовленного сообщения (рассматривается далее). Причем при передаче этого сообщения осуществляется пакетная синхронизация (сообщение разбивается на пакеты, каждый из которых обрамляется байтами синхронизации, являющимися “флагами”).
Теперь рассмотрим вторую ситуацию, когда пользователь терминала Т2 (S) собирается отправить сообщение пользователю терминала T1 (M). При этом возможно два варианта развития событий:
а) Slave, при необходимости передачи сообщения, делает об этом запрос Master’у;
б) Master периодически опрашивает Slave на объект наличия у него приготовленного сообщения.
Оба варианта возможны, но построим наш сценарий по первому способу, так как при этом нет необходимости постоянного опроса Slave-терминала, и, следовательно, мы не занимаем бесцельно канал периодическими передачами. Также плюсом является снижение энергопотребления терминалами, так как если нет исходящих сообщений, то они находятся в режиме ожидания.
Сценарий схож с предыдущим, и представлен на рисунке 5.
Рисунок 5
На первом шаге Slave шлет запрос о передаче сообщения, который также включает в себя информацию о типе данных и алгоритме обработки.
Master формирует сообщение-команду, состоящее из кода времени и частоты, на которые настраивается Slave. Далее Slave передает сообщение, по структуре схожее с предыдущим случаем.
Канальный и физический уровни (уровень L2 и L1):
На канальном уровне происходит прием информации от пользователя или абонента. Затем информацию подвергают помехоустойчивому кодированию с целью сохранения целостности информации, т.е. не только обнаруживать ошибки на физическом уровне, но и исправлять их. На канальном уровне в любом случае не обойтись без службы, которая осуществляет проверку достоверности принятого сообщения, известный в телекоммуникационных системах как инструмент CRC.
Рисунок 6
Подготовленное на канальном уровне сообщение – блоки битов через физический уровень отправляется в канал. Перед тем как Т1 отправит сообщение Т2, на физическом уровне несколько изменяется структура сообщения полученного от канального уровня, и имеет следующий вид:
Рисунок 7
Информация, которую необходимо передать по радиоканалу, нужно разбить на пакеты, чтобы обеспечить пакетную синхронизацию. Встает вопрос как часто следует отправлять байты синхронизации, чтобы передавать информацию без искажения? Синхронизацию необходимо проводить для каждого байта, чтобы исключить потерю информации. Но от этого уменьшается скорость передачи информационной части. Поэтому такую частую синхронизацию следует использовать при плохом качестве канала связи. Если канал мало засорен помехами и шумами, то информационные пакеты могут содержать в себе несколько байт. Данный способ изображен на рисунке:
Рисунок 7
Список используемой литературы:
1. http://citforum.ru/nets/articles/synchro/
2. http://sadnet.ru/servernie-tehnologii/42-algoritmi-parallelnogo-servera.html
3. http://panda.ispras.ru/~3D/koi/problems/openmv/parallel.htm
4. http://www.4stud.info/networking/directory-service.html
5. http://dvo.sut.ru/libr/skiri/w133gold/4.htm
6. http://book.itep.ru/4/43/mod_437.htm#0
- http://supervideoman.narod2.ru/4_4.htm
- Давыдкин П.Н. “Тактовая сетевая синхронизация”. ЭКО-ТРЕНДЗ, Москва,2004.
Статью подготовили:
Никишкин П.Б.,
Воробьев А.Г.