- Приёмопередатчик на 868 МГц
- Видеообзор
- Подключение и настройка
- Пример работы
- Что понадобится
- Как собрать
- Схема устройства
- Код программы для Arduino
- Код программы для Espruino
- Тест работы
- Обновление прошивки
- Элементы платы
- Приёмопередатчик Mbee на 868 МГц
- Troyka-контакты питания и данных
- Troyka-контакты GPIO
- Светодиодная индикация
- Джампер выбора питания
- Разъём внешнего питания
- Регулятор напряжения
- «Мое первое приложение для беспроводной связи в диапазоне 868 МГц» – пошаговая инструкция. Часть I
- Как управлять CC110L
- Дополнительные возможности CC1101*
Приёмопередатчик на 868 МГц
Приёмопередатчики на частоте 868 МГц позволят связать между собой два устройства по воздуху на расстоянии нескольких километров.
Объединяйте модули в масштабные паутины устройств и создайте свою собственную беспроводную сеть.
А благодаря Troyka Shield в формате Mbee забудьте о проблеме с питанием, логических уровнях, макетке и проводах.
Видеообзор
Подключение и настройка
Устанавливайте модуль чётко по обведённой рамке на адаптере.
Пример работы
В качестве примера соберём два простых беспроводных «телеграфа».
Что понадобится
Как собрать
Схема устройства
Код программы для Arduino
Прошейте обе платформы кодом приведённым ниже.
Код программы для Espruino
Прошейте обе платформы Iskra JS кодом приведённым ниже.
Тест работы
Обновление прошивки
Элементы платы
Приёмопередатчик Mbee на 868 МГц
Troyka-контакты питания и данных
На плате переходнике выведены группы Troyka-контактов.
Troyka-контакты GPIO
Модуль MBee 868 Мгц — это не только приёмопредатчик данных по воздуху. На модуле распаян микроконтроллер CC430 выполненный по технологии «Система-на-Кристалле» фирмы Texas Instruments.
Светодиодная индикация
Имя светодиода | Назначение |
---|---|
RFTX | Мигает при отправке данных из модуля по радиоканалу. |
RFRX | Мигает при приёме данных в модуль из радиоканала. |
LINK | Горит, если модуль находиться в режиме AT-команд; Мигает — модуль в режиме обновления прошивки; Не горит — в активном режиме работы |
Джампер выбора питания
Приёмопередатчик можно запитывать двумя способами в зависимости о установки джампера:
Разъём внешнего питания
Разъём для подключение внешнего питания в диапазоне от 5 до 12 вольт. Джаммпер выбора питания должен быть установлен в режим VIN→VMbee .
Регулятор напряжения
Понижающий регулятор напряжения MC33275-3.3 с выходом 3,3 вольта, обеспечивает питание приёмопередатчика Mbee 868 МГц. Максимальный выходной ток составляет 300 мА.
На плате так же присутствует необходимая обвязка для сопряжения устройств с разными питающими напряжениями.
В нашем случае это может быть управляющая плата Arduino с 5 вольтовой логикой и MBee-модуль с 3,3 вольтовой логикой.
Источник
«Мое первое приложение для беспроводной связи в диапазоне 868 МГц» – пошаговая инструкция. Часть I
Дано: недорогой популярный трансивер CC110L на отладочной плате 430BOOST-CC110L; микроконтроллер MSP430G2553 на отладочной плате MSP-EXP430G2. Все – производства Texas Instruments. Задача – создать простое беспроводное устройство для передачи данных в диапазоне 868 МГц.
Бюджетный трансивер CC110L, приемник CC113L и передатчик CC115L относятся к группе недорогих микросхем Value Line для беспроводной передачи данных в диапазонах 433 и 868 МГц. Пакетный трансивер CC110L является упрощенной версией, возможно, самого популярного в нашей стране приемопередатчика СС1101, совместим с ним по набору регистров и может во многих случаях заменять его даже без модификации управляющего кода. Несмотря на низкую цену, CC110L предлагает бюджет радиолинии более 125 дБ, что обеспечивает связь в несколько километров на открытом пространстве. Гибкость настроек и режим отключения встроенного обработчика пакетов позволяют создавать радиосистемы, совместимые со старым оборудованием, где применяются простейшие приемопередатчики с аппаратным кодированием или нестандартные протоколы. Для еще большего снижения цены можно использовать раздельные приемники CC113L и передатчики CC115L, которые в паре позволяют построить односторонний радиоканал с ценой за пару микросхем менее 1$ (цена в США, сайт компании Texas Instruments). Технические параметры CC110L приведены в таблице 1.
Таблица 1. Обзор технических параметров пакетного трансивера CC110L
Параметр | Значение | Примечание |
Диапазоны частот, МГц | 300…348; 387…464; 779…928 | – |
Вид модуляции | 2-FSK, 4-FSK, GFSK, OOK, MSK | – |
Минимальная/максимальная ширина полосы приемника, кГц | 50/800 | – |
Скорость передачи данных, Кбит/с | 0,6…600 | – |
Чувствительность, дБм | -116 | При 0,6 Кбит/с |
Выходная мощность, дБм | 12 | Программируемый уровень от -30 дБм |
Пакетная обработка данных | Адресация, проверка CRC, проверка длины пакета | Два буфера по 64 байт для Rx и Tx (FIFO) |
Поддержка нестандартных протоколов | Да | Прозрачный режим (прямой выход демодулятора) |
Переход в рабочий режим из Sleep, мкс | 240 | – |
Потребление в режиме Sleep, нА | 200 | – |
Питание, В | 1,8…3,6 | – |
Внешний усилитель мощности | Да | Совместим с усилителем CC1190 (868 МГц) |
В статье мы рассмотрим схему простого беспроводного устройства для передачи данных в диапазоне 868 МГц. Для облегчения труда программиста мы пошагово разберем исходный код программы для приема и передачи пакетов c помощью трансивера CC110L.
Программа приемопередатчика испытывалась на недорогих стандартных отладках 430BOOST-CC110L (рисунок 1) и MSP-EXP430G2 (рисунок 2). Используется стандартное подключение согласно рисунку 3. Зеленый светодиод подключен к порту P1.6 (pin 14), который является линией MISO (Master in Slave Out) интерфейса SPI. В процессе работы зеленый светодиод мигает в моменты передачи данных от CC110L (Slave) к MSP430 (Master). Зеленый светодиод не может использоваться для индикации каких-либо событий из программы пользователя, так как эта линия занята аппаратным SPI. Кнопка S2 используется для отправки пакетов или переключения между режимами работы (в зависимости от конкретного примера кода в лабораторных работах).
Рис. 1. Отладочная плата 430BOOST-CC110L
Рис. 2. Отладочная плата MSP-EXP430G2
Рис. 3. Схема соединений CC110L и MSP430G2553
При использовании другой аппаратной части необходимо обеспечить соединение чипов согласно схеме, приведенной на рисунке 4. Красный светодиод управляется непосредственно из программы – он показывает факт приема или отправки пакета. Зеленый светодиод отражает активность интерфейса SPI. LCD-индикатор не задействован в базовых программах приема-отправки пакетов, однако он используется для локальной индикации уровня принимаемого сигнала без участия ПК. Индикация RSSI на LCD реализована в отдельной программе, которая выходит за рамки данной статьи.
Рис. 4. Схема соединений CC110L и MSP430G2553
Рис. 5. Виртуальный COM-порт в системе Windows
В рассматриваемых далее лабораторных работах для отображения успешно принятых пакетов используется красный светодиод LED2. Принятые данные и сила сигнала (RSSI) выводятся на ПК через аппаратный UART MSP430G2553. Подключение к ПК выполняется стандартным образом через USB-разъем платы Launchpad. Для работы необходимо установить драйвер, который входит в набор программной поддержки Launchpad MSP-EXP430G2 Software Examples (Rev. F) (ZIP 12075 KB). Если драйвер установлен корректно – то при подключении платы Launchpad к ПК (даже без установленной микросхемы MSP430G2553 или платы 430BOOST-CC110L) в системе Windows появляется виртуальный COM-порт Launchpad Application UART (рисунок 5). Номер порта назначается системой. Он может быть любым.
Рассматриваемый в данной статье программный код использован в нескольких учебных проектах, выполненных в среде разработки IAR 7.0. Исходные коды и описания лабораторных работ вы сможете скачать с сайта КОМПЭЛ по ссылке.
Приведенный код будет работать не только с модулем 430BOOST-CC110L, но и с любым модулем на базе CC110L или непосредственно с микросхемой CC110L при подключении к MSP430G2553 в соответствии с таблицей 2.
Таблица 2. Схема подключения микросхемы СС110L к MSP430G2553
Линия (вывод) MSP430G2553 | Направление | Линия (вывод) CC110L | Примечание |
P1.0 (2) | – | GDO2 (3) | Это соединение не используется в программе |
P1.5 (7) | → | SCLK (1) | Тактирование SPI, выход MSP430 |
P1.6 (14) | ← | MISO (2) | Выход данных на CC110L – вход на MSP430 |
P1.7 (15) | → | MOSI (20) | Выход данных на CC110L – вход на MSP430 |
P2.7 (18) | → | CSn (7) | Выбор микросхемы, выход MSP430 |
P2.6 (19) | ← | GDO0 (6) | Прерывание при приеме пакета |
Практический тест дальности показал связь между платами на дистанции 1870 метров. Передатчик располагался на четырнадцатом этаже здания, приемник – на высоте два метра над землей. Лучший уровень сигнала составлял -106 дБм даже при работе на миниатюрные PCB-антенны (рисунок 6).
Рис. 6. Тест дальности
Как управлять CC110L
В представленной ниже программе реализован наиболее популярный вариант управления трансивером через прерывания. Этот метод производитель использует в примерах для своих отладочных плат. В отличие от метода постоянного опроса статуса трансивера, работа с прерываниями позволяет снизить ток потребления и добиться более высокой чувствительности. В тексте программы приведены подробные комментарии, разъясняющие, что делает та или иная строка кода. В сжатом виде алгоритм работы с CC110L можно описать так:
- После подачи питания производится автоматический аппаратный внутренний сброс (Automatic POR) CC110L. Дополнительно выполняется программный сброс согласно рекомендациям производителя: с помощью специальной манипуляции линиями CSn и SI, а затем – с помощью команды-строба SRES.
- На микроконтроллере MSP430G2553 настраиваем SPI-интерфейс и разрешаем прерывание от CC110L. Это прерывание поступает по отдельной, специально выделенной линии. По данной линии CC110L информирует микроконтроллер о каких-либо важных событиях, например, о приеме пакета. Мы сами настраиваем тип событий внутри CC110L, которые будут активировать прерывание по этой линии (cм. ниже).
- Прописываем в CC110L первоначальные значения регистров, которые были получены с помощью программы SmartRF Studio 7. Значения в этих регистрах определяют рабочую частоту, вид модуляции, скорость передачи данных, структуру пакета и так далее.
- Для управления приемом-отправкой данных через внутренний буфер CC110L (FIFO) конфигурируем линию GDО0 CC110L на выдачу прерывания: в режиме приема – по событию получения пакета из эфира в FIFO; в режиме передачи – по событию выдачи пакета из FIFO в эфир.
- После конфигурирования регистров трансивер CC110L находится в режиме IDLE, то есть готов к переходу в режим передачи (TX) или приема (RX).
- Мы выбрали режим работы CC110L с автоматической калибровкой. Она выполняется при переходе из режима IDLE в режим TX или RX, поэтому отдельно подавать команду-строб на калибровку PLL нам не надо.
- Для включения режима приема достаточно подать команду SRX и ждать прерывания по факту приема пакета в буфер FIFO RX. После прерывания проверяем, не возникло ли ошибки при приеме, и затем вычитываем данные из FIFO (если они валидные). Если ошибка – очищаем буфер. CC110L переходит в режим IDLE автоматически (если не было ошибок) или мы принудительно переводим его в режим IDLE вручную в случае переполнения буфера приема.
- Для передачи данных нужно сначала записать их в FIFO TX, затем подать команду-строб STX. Далее ждать прерывания об окончании отправки пакета в эфир. Преамбула, синхробайты и контрольная сумма в уходящий в эфир пакет вставляются автоматом. После отправки пакета CC110L переходит в режим IDLE автоматически.
Данный алгоритм использует далеко не все возможности CC110L. В документации приведена полная схема всех возможных состояний CC110L (рисунок 7). Эта схема заметно более сложная по сравнению с последовательностью действий, изложенных выше, однако в каждом конкретном проекте вовсе не обязательно задействовать все возможные режимы. Когда вам точно понадобится изучить этот более сложный алгоритм? Во-первых, если что-то работает не так, как вы ожидаете. Во-вторых – если вы хотите использовать продвинутый протокол, например, задействовать быстрые частотные скачки, достигнуть минимального времени в режиме передачи, постоянно находиться в режиме приема (даже при чтении принятых данных из FIFO RX) и так далее.
Рис. 7. Схема состояний CC110L
Все режимы работы и связанные с ними временные интервалы описаны в документации на CC110L. Неоценимую помощь в этом вопросе вам также окажут инструкции по применению (Application Notes) для приемопередатчика СС1101, так как они применимы и для CC110L. В отличие от CC110L, его «старший брат» СС1101 имеет набор дополнительных возможностей, которые, однако, используются разработчиками нечасто, в основном – в достаточно продвинутых системах.
Дополнительные возможности CC1101*
- коррекция ошибок FEC;
- перемежение данных (interleaving);
- Whitening (превращение длинных последовательностей 0 или 1 в белый шум);
- индикатор PQT (оценка качества преамбулы);
- «пробуждение» по радио (WOR);
- индикатор качества связи LQI;
- температурный датчик;
- плавное управление усилителем мощности (для снижения гармоник);
- МSK- и ASK-модуляция;
- подача команд через pin;
- режим ATEST (проверка параметров при производстве);
- пакетная поддержка для последовательного режима.
Продолжение статьи читайте в следующем номере «Новостей Электроники», посвященном продукции компании Texas Instruments.
Источник