Домашняя телеметрия
Система домашней телеметрии
Сбор и анализ информации с датчиков
Главная › Описание › Разделение канала


IV. Разделение канала.

Т.к. в проекте используется несколько КД, а среда передачи информации одна - радиоканал, то необходимо принять меры для разделения канала между КД, а также идентификации КД. Можно выделить 5 способов разделения радиоканала:

  1. Разнесение в пространстве.
  2. По направлению.
  3. Частотный.
  4. Временной.
  5. Кодовый.

Решено использовать временной, как самый простой. Все КД работают на одной частоте, но занимают радиоканал в разные промежутки времени. Большая скорость передачи, малый объем передаваемых данных, большой период опроса - все это позволяет эффективно использовать разделение по времени.

Радиомодуль имеет средства адресной идентификации, но её решено не использовать. В RFM73 адрес используется не только для идентификации, но и для распознавания свой-чужой. "Свои" адреса заносятся в специальные регистры, всего возможно использовать только 6 различных адресов. Это сильно ограничивает возможности по расширению системы. Поэтому адрес решено передавать в пакете с данными, идентификацию выполнять с помощью криптографии, а всем радиомодулям присвоить одинаковые аппаратные адреса.

Временное разделение можно организовать двумя способами:

  1. Обмен данными в фиксированные моменты времени.
    Все КД ждут запроса ЦК или выходят на связь периодически в заранее известное время, занимая таймслот. Такой способ исключает возможность возникновения т.н. коллизий, когда во время обмена данными с одним КД, другие тоже могут начать передачу. Требует постоянной работы радиомодуля КД на прием или специальных мер для начальной синхронизации.
  2. Обмен данными в случайные моменты времени.*
    КД выходят на связь в заранее неизвестное время. Например измерения производятся периодически, но данные передаются не сразу, а через случайный промежуток времени в пределах периода, чтобы исключить возникновение постоянных коллизий. Позволяет более экономно расходовать энергию.

Решено использовать обмен данными в случайные моменты времени. Обмен данными всегда происходит циклически: ЦК слушает постоянно; КД выполняет передачу в случайное время и сразу после передачи некоторое время слушает радиоканал - ждет команды от ЦК; ЦК после получения данных от КД при необходимости передает команду КД.

Примечание*:
При передаче в случайные моменты времени невозможно полностью исключить возникновение коллизий. Поэтому часть передаваемых данных будет теряться. Для моделирования работы системы из заданного количества передатчиков и оценки процента потерь была написана программа Collision. Приведем результат расчета для самого плохого случая. Примем исходные данные:
ПараметрЗначениеПримечание
Длительность передачи5мс. Длина пакета 40 байт * 8 = 320 бит. Скорость передачи 250 кбит/сек. Длительность передачи 320/250 мс = 1,28 мс. Сделаем двухкратный запас на ошибки и двухкратный запас на команду от ЦК к КД (вдруг понадобится для телеуправления). Получим 5 мс. Время на переключение трансивера RX/TX - менее 0,2 мс, можно не учитывать.
Период10 сек.Очень маленький период. Можно использовать для телеуправления. Для телеметрии годится в 30 больше - 5 минут.
Количество передатчиков20Пятикратный запас на расширение системы.
После проведения моделирования получим:
 Задайте исходные данные:
 Длительность передачи a: 5
 Период b: 10000
 Количество передатчиков d: 20
 Количество моделируемых периодов e: 8640
 Моделирование выполнено: a=5, b=10000, d=20, e=8640
 Доля пакетов без коллизий: 0.979653
 Минимальное время: 9058

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