Анализ поставленной задачи и исходных данных, выявление
особенностей работы системы. В контексте решаемой задачи: определение
источников и получателей информационных сообщений, оценка характера трафика и
формулирование требований к способу доставки сообщений. Проработка обобщенной
функциональной схемы сети (на примере Bluetooth Low Energy, CC2540): описание
функциональных модулей сетевых объектов. Краткое описание функциональной схемы
сети и пояснение способа доставки информационных/служебных сообщений системы по
схеме: событие - сообщения для передачи - инициатор сеанса связи –
запрос/захват канального ресурса - доставка сообщения (сеть) - получатель
сообщения.
1. Задача: В данном курсовом проекте будет
организовываться сеть дистанционного управления/мониторинга 6 светодиодных
светильников. Разрабатываться проект будет на базе системы освещения музея.
Т.е. беспроводное управление освещением – опция к существующей сети.
2.
Сообщения будут передаваться в двух
направлениях:
• К терминалу:
- Включение/выключение терминалов;
- Команды изменения
яркости;
- Команды управления
цветом светильников.
• К центру управления
будет передаваться пакет телеметрии:
- Температура излучающей
панели;
- Индекс цветопередачи;
- Температура
светильника.
3.
Трафик в данной системе нерегулярный, участники сети обмениваются между
собой короткими информационными сообщениями, включающими в себя команды и пакет
телеметрии. Так что можно передавать сообщения с достаточно низкой скоростью.
Основным требованием является – передача сообщений без ошибок и коллизий.
Проработка обобщенной функциональной схемы:
Разрабатываться данный
проект будет на основе системы Bluetooth Low Energy CC2540.
Рис.1. Функциональная схема
разрабатываемой модели.
На рисунке 1 представлена обобщенная
функциональная схема системы управления. Топологией является звезда. Мастером в
сети является ПК, ведомыми устройствами или периферией – терминалы. Светильники
передают на ПК пакет телеметрии, а ПК в свою очередь – команды управления.
Рассмотрим объекты модели по
отдельности.
Светодиодный светильник состоит из 2 основных
частей: собственно светильника и приемо-передающего тракта для связи с
управляющим устройством, в качестве тракта выступает Bluetooth-модуль BLE-112, содержащий микросхему CC2540.
Рассмотрим
структуру светильника:
Рис.2. Функциональная схема
светодиодного светильника:
• Источник
питания. По сути, светильник питается от проводов, но на случай отключения
электричества предусмотрено дополнительное встроенное питание.
•Драйвер. Электронная
схема, которая превращает источник питающего напряжения в источник тока, т. е.
поддерживает ток на постоянном уровне, независимо от изменения входного напряжения.
Светодиодный драйвер защищает светодиоды от колебаний напряжения, а также от
перенапряжений и скачков напряжения. Помимо этого драйвер будет позволять
менять яркость светильников. В качестве драйвера будем использовать ШИМ –
широтно-импульсную модуляцию. ШИМ сигнал представляет собой прямоугольную
последовательность импульсов. Изменяя их скважность, можно изменить яркость
светодиодного светильника, что мы и будем делать.
• Отвод
тепла необходим для защиты светильника от перегрева.
•
Светодиоды. Так как данная работа предусматривает управление цветом
светильников, будет использоваться модель RGB, на каждый светодиод которой будет
подаваться определенное напряжение с драйвера.
•Линзы. Для
смешивания цветов.
•Контроль и
управление. Этот модуль обрабатывает данные о светильнике, чтобы в качестве
пакета телеметрии предоставить их на модуль BLE-112 для передачи, а также отвечает
за исполнение принятой команды.
Рассмотрим
структуру модуля BLE-112:
Рис.3. структурная схема модуля BLE-112.
Модуль
содержит следующие элементы:
• АЦП, 12 разрядов,
восемь каналов (дополнительный входной канал температурного датчика);
• интегральный
высокоэффективный операционный усилитель;
• компаратор
сверхнизкой мощности;
• таймеры общего
назначения (один 16-разрядный и два восьмиразрядных);
• вводы/выводы
общего назначения (19 I/O — 4 мА; 2 I/O — 20 мА);
• таймер
ждущего режима (32 кГц);
• два универсальных
синхронно-асинхронных приемопередатчика с поддержкой нескольких протоколов
последовательных портов
(USART-0,
USART-1);
• интерфейс
USB 2.0;
• схема
безопасности IR;
• прямой
пятиканальный доступ к памяти DМА;
•
сопроцессор безопасности с поддержкой симметричного алгоритма блочного шифрования
AES;
• монитор
заряда батареи;
•
температурный датчик;
• CPU 8051;
• память
Flash 128 или 256 кбайт;
• память SRAM 8 кбайт;
• встроенный
стек низкого энергопотребления Bluetooth 4.0, SмАrtRF с поддержкой компилятора
IAR (SмАrtRF — торговая марка Texas Instruments).
Модули серии BLE112 имеют встроенный стек протоколов Bluetooth BLE, обеспечивающий режимы микропотребления.
Рис.4. Функциональная
структура модуля BLE112.
Стек
протокола BLE, состоящий из двух блоков (контроллер и хост), содержит следующие
профили:
• GAP (Generic Access Profile);
• GATT (Generic Attribute Profile);
• L2CAP (Logical Link Control and Adaptation
Protocol);
• SM (Security Manager);
• ATT (Attribute Protocol).
Такое
разделение, в своем роде, является возвратом к старому стандарту Bluetooth 3
для устройств BR/EDR (Basic Rate/Enhanced Data Rate), в которых эти два блока рассматривались раздельно. На
самом верху расположены уровни GAP и GATT. Физический уровень (PHY) соответствует
передаче на центральной частоте 2,4 ГГц с использованием гауссовской частотной
манипуляции GFSK (Guassian Frequency-Shift Keying).Канальный уровень (Link Layer) контролирует процесс
работы радиоканала и управляет его состоянием.
• Уровень
HCI (Host controller interface) обеспе-чивает связь между хостом и
контроллером, используя стандартные интерфейсы. Он может быть реализован с
помощью программного обеспечения интерфейса прикладного программирования (API)
или с помощью аппаратной части через интерфейсы UART, SPI или USB. При этом через
эти интерфейсы управление модулем реализуется с помощью бинарных команд.
• Уровень L2CAP (Logical Link Control and Adaptation Protocol) обеспечивает
инкапсуляцию данных для верхних уровней, в том числе и при логическом
соединении «точка–точка». Этот протокол, реализующий логическое соединение
поверх соединения по радиоканалу, позволяет протоколам более высокого уровня
обмениваться пакетами данных длиной до 64 кбайт. Несколько логических каналов могут
одновременно использовать одно и то же радиосоединение. При этом пакет
протокола L2CAP, получаемый каналом, перенаправляется к соответствующему
протоколу более высокого уровня. Узел L2CAP, как правило, всегда подключается к
уровню HCI.
• Уровень SM
(Security Manager) определяет методы, с помощью которых реализуется соединение
между устройствами. Кроме того, на этом уровне вырабатываются инструкции о мерах
безопасности при соединении различных устройств и степени конфиденциальности передаваемых
данных.
• Уровень
GAP организует связь с приложениями и внешними устройствами и контролирует их
безопасное взаимодействие
• Протокол
ATT ограничивает передачу данных и позволяет модулю пересылать другим устройствам
только ту часть данных, которые помечены как «атрибуты». В контексте этого протокола
устройство, передающее «атрибуты», обозначается как «сервер». Устройство, принимающее
«атрибуты», обозначается как «клиент». При этом определенные на уровне LL роли
устройств в качестве «мастера» и «ведомого» не зависят от того, как эти устройства
определены на уровне ATT. Поэтому и «сервер» и «клиент» могут выступать как в
качестве «мастера», так и в качестве «ведомого».
• Уровень
GATT реализует сервисную службу, которая вырабатывает дополнительные детальные
инструкции, как именно должно быть реализовано взаимодействие между устройствами
на уровне ATT.
• Уровень
GATT определяет структуру профилей. В стандарте BLE все данные, которые
используются профилем или сервисными службами, обозначают как «характеристики».
Весь процесс передачи данных между двумя устройствами в стандарте BLE реализуется
только через уровень GATT. Поэтому абсолютно все приложения и профили в
стандарте BLE, так или иначе, взаимодействуют с профилем GATT.
Краткое описание функциональной схемы сети и
пояснение способа доставки информационных/служебных сообщений системы по схеме:
событие - сообщения для передачи - инициатор сеанса связи – запрос/захват
канального ресурса - доставка сообщения (сеть) - получатель сообщения.
Все
роли в сети освещения уже определены при настройке сети. Обмен информацией между
центром управления светильника и платой CC2540 происходит при помощи интерфейса
SPI. SPI является
синхронным интерфейсом, в котором любая передача синхронизирована с общим тактовым
сигналом, генерируемым ведущим устройством. Принимающая периферия синхронизирует получение битовой
последовательности с тактовым сигналом.
Ведущее устройство выбирает ведомое для
передачи, активируя сигнал chip select
на ведомой микросхеме. Периферия, не выбранная ПК, не принимает участия в
передаче по SPI.
В SPI используются
четыре цифровых сигнала:
1. MOSI или
SI – выход ведущего, вход ведомого (англ. Master Out Slave In) – служит для
передачи данных от ведущего устройства ведомому.
2. MISO или
SO – вход ведущего, выход ведомого (англ. Master In Slave Out) – служит для
передачи данных от ведомого устройства ведущему.
3. SCLK или
SCK – последовательный тактовый сигнал (англ. Serial Clock) – служит для
передачи тактового сигнала для ведомых устройств.
4. CS или SS
– выбор микросхемы, выбор ведомого (англ. Chip Select, Slave Select).
Рассмотрим на примере:
Светильник через определенный момент времени
передает ПК пакет телеметрии. Подходит время очередной передачи, модуль
управления светильника собирает эти данные, передает на CC2540. Модуль BLE112 отправляет на ПК уведомление «
пакет телеметрии собран». ПК посылает запрос на пакет, терминал обрабатывает
запрос и отсылает пакет телеметрии.
Рис.5.
Способ доставки сообщений.
1.1.1.
Обоснованный
выбор способа организации физических каналов (ФК). Краткое описание процедуры
множественного доступа служб L2-уровня к ФК, пояснение способа организации
двустороннего обмена сообщениями.
Устройства BLE работают в диапазоне 2,4
ГГц. В стандарте определено 40 частотных каналов с расстоянием в 2 МГц между
каналами. На физическом уровне применена GFSK-модуляция (Gaussian Frequency
Shift Keying) с индексом модуляции в пределах от 0,45 до 0,55, что позволяет
уменьшить пиковое потребление энергии. Скорость передачи на физическом уровне 1
Мбит/с.
Существует два типа каналов – каналы
объявления и каналы данных. Каналы объявления используются для поиска
устройств, установления соединения, широковещательных передач, тогда как каналы
данных используются для двунаправленного обмена между устройствами.
Для каналов объявления выделено три
частотных канала в центре полосы, что минимизирует перекрытие с каналами 1, 6 и
11 стандарта IEEE 802.11. Остальные 37 каналов используются для обмена данными.
Для снижения влияния помех, а также снижения влияния соседних устройств, при
обмене данными происходит скачкообразное переключение частоты. В связи с этим методом множественного
доступа будет выбрано TDMA.
В качестве алгоритма множественного доступа
выберем метод по опросу.
Терминалы через определенный момент времени
будут по каналам объявления передавать сообщения точке доступа о том, что пакет
телеметрии собран . Каждый терминал знает в какой момент времени он использует
этот канал и коллизий по этом не возникает. Для соединения ведущее устройство
само назначает пару физических каналов.
Рассмотрим на примере: Терминал 1 посылает
уведомление на ПК по каналу 37 в выделенный ему момент времени, ЦУ отвечает
запросом на соединение по каналу 38 и отправляет в этом запросе номер канала
для передачи 16. После это терминал и ЦУ встречаются на каналах 16 и 17 для
обмена данными(даже если у ЦУ их для передачи нет выделяется 2 канала для
дуплекса).
Рис.6.
Частотные каналы.
1.1.2. Определение и краткая характеристика возможных
режимов работы сетевых терминалов на основании описания п.1.2.2. Построение и
описание графической диаграммы, отражающей взаимодействие режимов работы
терминалов и поясняющей условия перехода терминалов из одного режима в другой.
Следует
отметить, что режимы относятся исключительно к приемо-передающему тракту,
светильники как работали от сети, так и работают, выбор режимов их не касается.
• Сканирование
эфира с целью нахождения другого устройства с целью подсоединения для парного обмена
данными. В процессе сканирования можно получать информацию от другого
устройства даже без подсоединения к нему.
• Дежурный
режим. Радиочасть отключена. Минимальное потребление энергии.
• Устройство
периодически рассылает информацию о себе. В отсылаемый широковещательный
пакет могут быть включены и полезные
данные, например измеряемая датчиком температура.
• Инициализация.
Устройство запрашивает соединение с другим устройством.
•
Соединение. Устройство находится в режиме парного соединения и может производить
регулярный двухсторонний адресный обмен данными.
Рис.7.Пузырьковая диаграмма.
Почти все время устройства находятся в дежурном
режиме. Начнем рассматривать переход из режима в режим с терминала. Каждый раз
он просыпается по таймеру, когда пора передавать пакет телеметрии, либо для
приема команды от ЦУ. Рассмотрим на примере пакета телеметрии. Проснувшись,
терминал посылает в эфир сообщение о том, что пакет телеметрии сформирован (1).
Ведущее устройство в свою очередь просыпается по таймеру для сканирования эфира(2).
Видя рассылку от терминала, центр управления запрашивает соединение, для приема
данных(3). Терминал, принимая этот запрос, формирует сообщение, входит в парное
соединение с ЦУ(4) и начинает его передачу. Следует отметить, что Соединение
происходит через определенные временные интервалы, и если терминалу нужно
отправить экстренные данные, например о выходе светильника из строя, он должен
дождаться своего момента времени.
1.1.3. Обоснование необходимости и пояснение способа
обеспечения энергосбережения сетевыми узлами.
Модули BLE112 работают в диапазоне открытых частот
ISM: 2402–2480 МГц. Предусмотрено пять режимов работы модуля. В активном режиме
модуль работает с использованием всех заложенных функций. Включен внутренний стабилизатор
напряжения. Питание подается как на ядро 8051, так и на все вспомогательные
блоки. Включены все высоко-частотные тактовые генераторы. Полностью реализован
прямой доступ к памяти FLASH, SRAM. В этом режиме ток потребления распределяется
следующим образом:
• Tx: 32 мА
(+4 дБм);
• Tx: 27 мА
(0 дБм);
• Tx: 24 мА
(–6 дБм);
• Tx: 21 мА
(–23 дБм);
• Rx: 19,6
мА;
• Rx: 22,1
мА (программируемый режим High gain mode).
Ток потребления
в режиме передачи (TX) и режиме приема (RX) можно дополнительно снизить использованием
внешнего стабилизированного источника питания.Модуль BLE112 может работать в
четырех режимах энергосбережения:
1. Ток потребления равен 235 мкА. Необходимо 4 мкс восстановления
модуля из режима «сна» и возврата в активный режим работы. Нужно отметить, что
время восстановления является особо критичным параметром для чипсетов, работающих
в режимах энергосбережения.
Чипсеты для беспроводной связи производства
Texas Instruments обладают наименьшими значениями данного параметра. В режиме 1
схема контроля и регулировки напряжения включена. Кварцевые генераторы 16 МГц (RCOSC)
и 32 МГц выключены. Метод RCOSC работает с макросом для подключения так товой частоты с внутреннего
RC-генератора.
Генератор 32,768 кГц (XOSC, POR) и таймер режима
«сна» активны. Функция XOSC обеспечивает контроль сбоя в работе кварцевого генератора
методом считывания флага отказа. Генератор 32,768 кГц выдает частоты для контроллера
перезагрузки питания (POR). В данном режиме доступны RAM и регистр хранения
данных. Модуль перейдет в активный режим при получении одного из трех сигналов:
RESET, сигнал внешнего прерывания, сигнал срабатывания таймера спящего режима.
2. Ток потребления меньше — 0,9 мкА. Необходимо 120 мкс для возврата
модуля в активный полнофункциональный режим работы. В данном случае питание на
ядро не подается. Контроль и регулировка напряжения выключены. Тактовые
генераторы 16 МГц (RCOSC) и 32 МГц отключены. Генератор 32,768 кГц (XOSC, POR)
и таймер режима «сна» включены. При этом работает либо RC-генератор, либо
кварцевый генератор 32,768 кГц. Доступны RAM и регистр хранения данных. Модуль
«просыпается» по сигналу RESET или по сигналу внешнего прерывания, а также при
срабатывании таймера спящего режима. Информация о состоянии USB будет потеряна
при вхождении в этот режим.
3. Это режим максимальной экономии. Питание на ядро не подается. Ни
один из генераторов не работает. В данном режиме ток потребле-ния составляет
всего 0,4 мкА. Стандартный «таблеточный» аккумулятор CR2032 может работать в
этом режиме без подзарядки несколько лет. Время перехода в активный режим
составляет 120 мкс и осуществляется по сигналу RESET или по сигналу внешнего прерывания.
Информация о предыдущем состоянии USB теряется. Существуют ограничения на
доступ к RAM и регистру данных.
4. Данный режим характеризуется ограниченной
функциональностью процессора MCU. В этом режиме процессор находится в ждущем режиме,
то есть код не выполняется. Ток потребления равен 6,7 мА. Работает генератор 32
МГц (XOSC). Радиоканал и периферийные устройства отключены.
1.1.4. Обоснование необходимости контроля качества канала
связи (организация радиоизмерений) как в активном, так и в пассивном состояниях
сетевых узлов. Определение последовательности действия решения данной задачи и
пояснение маршрута доставки данных контроля качества службе-получателю.
Пояснение способа использования информации о качестве канала связи (изменение
мощности передачи, переключение на другой профиль физического уровня и т.п.)
Терминал – ведомое устройство, способное, по
сути, только исполнять команды, сам сообщить мастеру о неправильном получении
команды он способен только передав пакет телеметрии. Именно из-за этого в
системе появляется необходимость в контроле качества канала и также означает,
что радиоизмерения будут проводиться на протяжении всего времени работы
сети.Разберем контроль качества соединения на примере:
Пользователь решил
изменить яркость освещения. Центр управления переводит эту команду в понятный
терминалу вид и посылает ему сообщение, в состав которого входит запрос пакета
телеметрии. В этот момент включается счетчик. Терминал исполняет команду и
посылает пакет с данными измерений на ПК. Уровень принятия решений сверяет
поступившие значения с теми, которые должны были быть установлены. Если все
верно, на следующем круге посылается новая команда и счетчик обнуляется.
Теперь рассмотрим случай, когда значения, пришедшие с терминала, оказались не верны. Уровень принятия решений, маркирует сообщение как «не верно» и на следующем круге отправляется та же команда. Если данный цикл повторяется 4 раза, то уровень принятия решения отправляет на точку доступа решение «повысить мощность» так как есть возможность того, что сообщение не получено по причине малой мощности излучения. В этот момент счетчик обнуляется. Если это не помогает и цикл снова повторяется, уровень принятия решений отправляет сообщение точке доступа о неисправности терминала, а она доносит до пользователя информацию о том, что светильник не исправен.
Рис.8.
Контроль соединения.
Использованная
литература:
2. http://www.ti.com/lit/ug/swru271f/swru271f.pdf
3. http://www.wireless-e.ru/assets/files/pdf/2011_02_16.pdf
4. http://www.compel.ru/wordpress/wp-content/uploads/2014/04/TI_Wireless_SS2541_BluetoothSmart.pdf
5. http://omoled.ru/publications/view/555
6. Лекции "По курсу ССПО" Бакке А. В.