понедельник, 4 октября 2010 г.

Спящий режим в DigiMesh

Cпящие маршрутизаторы
 Возможность режима спящих маршрутизаторов в DigiMesh позволяет всем узлам в сети синхронизировать время работы и сна. Все синхронизированные узлы входят и выходят из режима низкого энергопотребления в одно и то же время. Так формируется циклически засыпающая сеть. Узлы синхронизируются путем получения специального RF-пакета (сообщения синхронизации), который отправляется узлом, играющим роль координатора сна. Узел сети может стать координатором сна, пройдя через процесс, называемый процессом номинации. Координатор сна отправляет одно сообщение синхронизации в начале каждого периода работы сети. Сообщение синхронизации отправляется путем широковещательной рассылки. Время работы и сна всей сети в целом могут быть изменены локальными изменениями настроек на отдельных узлах сети.
 Существует три режима работы узлов DigiMesh сети:
SM0 – Нормальный режим (не совместимый со сном),
SM7 – Режим с поддержкой сна (совместимый со сном, без низкого энергопотребления),
SM8 – Циклический режим сна (совместимый со сном, с низким энергопотреблением).

6 комментариев:

  1. Режимы сна
    Нормальный режим (SM=0)
    Нормальный режим является режимом по умолчанию для нового включенного узла. В этом режиме узел не будет спать, но будет синхронизироваться со спящей сетью. По завершению синхронизации нормальный узел будет ретранслировать сообщения синхронизации, генерируемые узлами, совместимыми со сном, но сам не будет генерировать сообщений синхронизации. Как только нормальный узел синхронизировался со спящей сетью, его необходимо перевести в режим, совместимый со сном.
    Циклический режим сна (SM=8)
    Узел в циклическом режиме сна засыпает в установленное время, просыпается в одно и тоже время с остальными узлами, обменивается данными и сообщениями синхронизации и опять засыпает. Во время сна он не может получать RF-сообщений или читать команды с порта UART. Длительность времени работы и сна устанавливается параметрами SP и ST координатором сна данной сети.
    Режим с поддержкой сна (SM=7)
    Узел в режиме с поддержкой сна будет синхронизировать себя со спящей сетью, но сам не заснет. В любой момент времени узел будет отвечать сообщением синхронизации новым узлам в зоне радиовидимости, которые пытаются присоединиться ко спящей сети. Узел с поддержкой сна будет передавать только обычные данные, когда узлы в спящей сети не спят.
    Узлы с поддержкой сна особенно полезны, когда используются как предпочитаемые координаторы сна или как помощники при добавлении несинхронизированных узлов в спящую сеть.
    Примечание: поскольку узлы с поддержкой сна сами не спят, желательно поддерживать их питание от постоянного источника энергии.

    ОтветитьУдалить
  2. Преимущества сети DigiMesh по сравнению с ZigBee заключаются в наличии спящих роутеров (в ZigBee спящий режим возможен только для конечных устройств). Кроме того, реализация протокола DigiMesh требует меньших ресурсов памяти микроконтроллера. Возможность перевода роутеров в режим сна обусловлена реализованным механизмом временной синхронизации всех узлов сети. В качестве маяка выступает координатор — один из узлов сети, назначенный разработчиком. Если он выходит из строя, его функции начинает выполнять любой другой узел сети. Протоколом предусмотрены специальные механизмы номинирования и выборов, которые позволяют разрешать коллизии, если сразу несколько узлов сети пытаются взять на себя функции координатора. С помощью команд конфигурирования можно определить узлы, которые будут иметь преимущества при выборах координатора. Подключение новых узлов к сети выполняется следующим образом — необходимо включить новый узел и поместить его в зоне действия сети. После первого включения новый узел будет постоянно включен на прием, ожидая синхронизирующего пакета координатора. В полученном широковещательном пакете синхронизации содержится информация о временных параметрах сети — временах сна и бодрствования, что позволяет новому узлу перейти в режим сна до следующего сеанса синхронного обмена информацией с другими узлами сети [8].

    ОтветитьУдалить
  3. Основные параметры DigiMesh сети
    Модули DigiMesh можно настраивать так, чтобы они работали как маршрутизаторы или конечные устройства, командой CE. По умолчанию все модули сети DigiMesh работают как маршрутизаторы [7]. Модули, настроенные как маршрутизаторы, активно пересылают однонаправленный и широковещательный трафик, как описано ниже.
    Сети DigiMesh определяются с помощью уникального сетевого идентификатора. Этот идентификатор устанавливается командой ID. Чтобы модули могли взаимодействовать между собой, они должны быть настроены с указанием одного и того же сетевого идентификатора. Параметр ID позволяет нескольким сетям DigiMesh сосуществовать в рамках одного физического канала.
    Модули DigiMesh используют широкополосную модуляцию с прямым расширением спектра и работают в фиксированном канале. Существует 16 рабочих каналов, определенных в полосе частот на 2.4 Гц. Модули XBee поддерживают все 16 каналов, а модули XBee-Pro поддерживают 12 из 16 каналов. Рабочий канал на модуле выбирается с помощью команды CH.
    Чтобы модули могли взаимодействовать между собой, канал (CH) и идентификатор сети (ID) должны быть одинаковыми на всех модулях сети.

    ОтветитьУдалить
  4. Передача и маршрутизация данных
    Однонаправленная адресация
    Надежная доставка данных от одного узла к другому реализуется с использованием повторных попыток и подтверждений. Количество повторных попыток определяется параметром NR (Network Retries — сетевые повторные попытки). Пакеты данных RF отправляются не более чем NR+1 раз. Если сетевое подтверждение не получено в течение времени, необходимого для двойного прохождения пакетом сети, происходит повторная передача.
    Для отправки однонаправленных сообщений устанавливается адрес получателя (параметры DH и DL) на передающем модуле так, чтобы они совпадали со значениями параметров SH и SL на принимающем модуле [7].

    Широковещательная адресация
    Широковещательные пакеты принимаются и ретранслируются всеми маршрутизаторами сети. Поскольку подтверждения здесь не используются, исходный узел посылает широковещательный пакет несколько раз. Сообщение с широковещательным адресом передается всем соседям. Все маршрутизаторы, получившие сообщение, пересылают его MT+1 раз. По умолчанию широковещательный пакет передается четыре раза. В результате этого все маршрутизаторы осуществляют ретрансляцию также четыре раза. Чтобы избежать коллизий RF-пакетов, перед тем, как каждый маршрутизатор передает широковещательное сообщение, вставляется случайная задержка (алгоритм CSMA [9]). Отправка большого числа широковещательных пакетов может значительно уменьшить пропускную способность сети.
    Широковещательный адрес представляет собой 64-битный адрес, в котором младшие 16 бит установлены в 1. Старшие биты установлены в 0.

    Маршрутизация
    Протокол DigiMesh использует протокол динамической маршрутизации, основанный на AODV [10]. Если у узла-источника нет маршрута к узлу назначения, то отправляемый пакет ставится в очередь процесса обнаружения маршрута (Route Discovery — RD). Этот процесс также используется, когда пакет не доставляется получателю по известному маршруту (если узел-источник исчерпывает все свои повторные попытки передачи, не получив ни одного подтверждения). Процесс обнаружения маршрута начинается с широковещательной трансляции запроса маршрута к получателю (RREQ) узлом-источником. Любой маршрутизатор, который получает RREQ и при этом не является конечным узлом назначения, называется промежуточным узлом. Промежуточные узлы могут либо отбросить, либо передать RREQ дальше, в зависимости от того, имеет ли новый RREQ лучший обратный маршрут к узлу-источнику. Если да, то информация из RREQ сохраняется, RREQ обновляется и передается дальше. Когда конечный узел назначения получает RREQ, он посылает однонаправленный ответ (RREP) узлу-источнику по маршруту в RREQ. Это происходит независимо от качества маршрута и от того, сколько раз до этого пересылался RREQ. Это позволяет узлу-источнику получать несколько ответов по разным маршрутам. Узел-источник выбирает маршрут с наилучшим качеством маршрута «туда и обратно». Выбранный маршрут будет использоваться для пакета, поставленного в очередь и для последующих пакетов с таким же адресом назначения.

    ОтветитьУдалить