Модуль приёмо-передатчика 433 МГц RFM12B-433-D

Код:00450
Артикул:RFM12B-433
В наличии:сейчас нет
Модуль приёмо-передатчика 433 МГц RFM12B-433-D
Transceiver Radio 433MHz HopeRF RFM12B

RFM12B является отличным вариантом для недорогих беспроводных коммуникаций.
Цифровой приемопередатчик данных по радиоканалу. Применяется для обмена данными между двумя приборами на основе микроконтроллеров. Модуль цифровой радиосвязи имеет проводной интерфейс SPI. Используется FSK модуляция радиосигнала. Применение не требует лицензирования частоты радиосвязи. Разработан ф. Hope Microelectronics (Hope RF). За основу взята микросхема IA4420 немецкой фирмы Silicon Labs. Микросхема имеет синтезатор, блок нулевой промежуточной частоты. Есть таймер пробуждения, детектор разряда батареи, различные автоматические настройки, аналоговый и цифровой измерители уровня принимаемого сигнала, вход сигналов тактирования и сброса, контакт для антенны. Модуль приёмо-перадатчика 433 МГц RFM12B-433-D относится к группе типов модулей с устоявшимся названием RFM12.
Радиомодуль рассчитан на работу в паре с таким же модулем.
Сферы применения: беспроводные телеметрия и управление. Более всего применение модуля уместно при связи с подвижными объектами. Малое потребление позволяет использовать батарейное питание. Также модуль приёмо-перадатчика 433 МГц RFM12B-433-D применяется в следующих областях: автосигнализация, умный дом, различная промышленная автоматика. Для модулей можно установить частоту радиообмена в нескольких диапазонах. Вот некоторые их них со следующим шагом частот:
 
430,24 – 439,7575 MГц, шаг 2,5 кГц
900,72 – 929,2725 MГц, шаг 7,5 кГц
 
Характеристики RFM12B-433-D
 
Питание
            напряжение 2,2–3,8 В
            ток в режиме, менее
                        передачи
                                    22 мА на частоте 433 МГц
                                    23 мА на частоте 868 МГц
                                    24 мА на частоте 915 МГц
                        приема 10 мА
                        ожидания 0,62 мА
                        сна 0,3 мкА
Частотные диапазоны 315, 433, 868, 915 МГц
Мощность передачи
            5 dBм на частоте 433 МГц
            3 dBм на частоте 868 МГц
            3 dBм на частоте 915 МГц
Чувствительность
            –105 dBм на частоте 433 МГц
            –102 dBм на частоте 868 МГц
            –102 dBм на частоте 915 МГц
Радиус действия
            для всех диапазонов 250 м на открытом пространстве
            внутри здания 30 м при частоте 915 МГц и скорости обмена 9600 бод
Волновое сопротивление антенны 50 Ом
Скорость приема данных, Кбод
            115,2 с внутренним демодулятором
            256 с внешним RC-фильтром
Программируемая девиация частоты 15–240 кГц
Программируемая полоса пропускания 67–400 кГц
Диапазон RSSI 46 дБ
Буфер FIFO, бит
            приемный 16
            два по 8 на передачу
Температура эксплуатации 0…70 °С
 

Размеры модуля RFM12B-433-D.

 
Контакты модуля RFM12B-433-D и подключение
 

Контакты вилки на плате модуля RFM12B-433-D.
 
 
НАЗНАЧЕНИЕ КОНТАКТОВ
 
nINT/VDI – использование необязательно. Контакт может быть сконфигурирован как вход или выход. Если nINT/VDI сконфигурирован как вход, то его функция – прием прерывания от микроконтроллера. МК устанавливает на этой линии низкий уровень, если необходимо прервать работу модуля RFM12B-433-D. Если контакт сконфигурирован как выход, то его функция – VDI, индикация достоверных данных обнаруженных приемником. При этом выход устанавливается в состояние лог. 1. Заводская настройка по умолчанию режим VDI.
VDD – питание.
 
Интерфейс SPI
Контакт модуля        Ответный контакт микроконтроллера
SDI                                         SPI_MOSI
SCK                                       SPI_CLK
SDO                                       SPI_MISO
nSEL                                       SPI_SS
 
SDI – вход данных SPI.
SCK – вход тактирования данных SPI тактовым сигналом от МК.
nSEL – CS интерфейса SPI, активный уровень низкий. Этот сигнал должен быть переведен в лог. 0 до любого сигнала поступающего через SPI в модуль RFM12B-433-D.
SDO – последовательный вывод данных по интерфейсу SPI.
 
nIRQ – выход сигнала запроса прерывания, активный уровень низкий. Используется модулем для сообщения МК о произошедшем событии. Линия должна быть связана подтягивающим резистором с проводом напряжения питания.
FSK/DATA/nFFS – передача данных или прием данных из радиоэфира с использованием буфера FIFO или без него. Между линией этого сигнала и проводом питания устанавливается подтягивающий резистор 10 кОм даже если контакт не используется.
FSK – вход для передачи данных.
DATA – выход принятых данных.
nFFS – если подана лог. 1, то данные интерфейса SPI передаются через внутренний буфер FIFO. Если FIFO не используется, то тогда данные напрямую передаются соответственно импульсам тактового сигнала.
DCLK/CFIL/FFIT – использование необязательно. Выход тактового сигнала (не от буфера FIFO) / выход принятых данных без FIFO / прерывание FIFO, активный уровень высокий если уровень FIFO установлен в состояние лог. 1, то могут быть получены прерывания буфера FIFO.
            DCLK – тактируемые данные без использования FIFO, используется в сочетании с FSK/DATA/nFFS.
            CFIL – для подключения внешнего конденсатора аналогового фильтра при использовании скорости передачи данных 256 Кбод. Как правило, по умолчанию используется внутренний цифровой фильтр.
            FFIT – сигнал используется как прерывание от буфера FIFO. Сигнал для прерывания программы МК генерируется всякий раз, когда заполнение буфера FIFO достигает определенного уровня (уровень настраивается командой через SPI). Обычно уровень равен 8.
CLK – использование необязательно. Выход тактовых импульсов для МК. По умолчанию 1 МГц, но может быть настроен до 10 МГц или выключен. Этот сигнал может быть использован для обеспечения тактового сигнала МК если он не имеет генератора. Использование этого сигнала позволяет отказаться от кварцевого резонатора необходимого для МК. Этот сигнал также используется в калибровке ВЧ модуля.
nRES – вход сброс, активный низкий, должен быть соединен через резистор с проводом питания. Сброс модуля приводит к установке параметров по умолчанию.
GND – общий провод.
 
СОЕДИНЕНИЕ МОДУЛЯ RFM12B-433-D С МИКРОКОНТРОЛЛЕРОМ
 


Выбор соединения с МК это компромисс между скоростью и количеством линий ввода/вывода. В минимальной конфигурации не используется прерывание буфера FIFO. Скорость оптимизирована под использование FIFO. В этом режиме необходимы только четыре вывода МК для обеспечения связи с RFM12B-433-D. SDI, SCK и nSEL сигналы используются для настройки RFM12B-433-D. Эти выводы используются для установки частоты радиоканала, полосы пропускания, скорости передачи и других параметров. При установке входа nSEL в уровень лог. 0 (вместо nIRQ), через выход SDO данные FIFO поступают к МК. Когда вход nSEL имеет уровень лог. 1, выход SDO имеет высокоимпедансное состояние. Сигнал nSEL имеет высокий выходной логический уровень, если число битов в буфере FIFO превышает установленный лимит в режиме FIFO. МК информируется о переполнении FIFO, о снижении напряжении питания. В качестве альтернативы может использоваться контакт nIRQ. Содержимое буфера FIFO может считываться при установленном статусе командой чтения.
 
Без использования прерывания FIFO.
 

 
SDI, SCK и nSEL сигналы используются для настройки модуля радиосвязи RFM12B-433-D. Эти контакты используются для установки требуемой частоты, полосы пропускания, скорости передачи и других параметров. FFIT выход используется (вместо nIRQ) для обозначения активного FIFO. С помощь nSEL входа может быть доступен буфер FIFO непосредственно. По переднему фронту сигнала SCK содержимое буфера FIFO передается через контакт SDO.
 
Использование буфера FIFO увеличивает скорость обмена.
 

 
nIRQ соединение необязательно, так как МК может быть информирован о переполнении буфера FIFO, о снижении напряжения питания путем считывания битов состояния.
 
ПОДКЛЮЧЕНИЕ К ARDUINO MEGA
 
RFM12B         Arduino
 
SDI                 SPI_MOSI
SCK                SPI_CLK
SDO                SPI_MISO
nSEL               SPI_SS
nIRQ               Линия 2
VDD               2,2 – 3,8 В
GND               GND
 

 
Если питание МК составляет 5 В, то линии от модуля SDI, SCK, nSEL необходимо подключать к МК через делители напряжения как изображено на схеме и рисунке.
 


 
SPI ИНТЕРФЕЙС
 
Для работы с устройством требуется подключение через SPI чтобы получить доступ к внутренним регистрам. Через интерфейс SPI в модуль цифровой связи передаются 16-разрядные команды, а результаты выполнения поступают обратно в МК. С помощью команд устанавливается частотный диапазон, включение передатчика и производятся другие действия. Важно знать командное управление.
Следующая программная функция для микроконтроллеров AVR обеспечивает аппаратную поддержку SPI. Скорость SPI должна быть менее 2,5 МГц.
 
#define RFM_IRQ 2
#define SPI_SS 10
#define SPI_MOSI 11
#define SPI_MISO 12
#define SPI_SCK 13
static void spi_initialize () {
 DDRB &= ((1< #if F_CPU <= 10000000
 //деление тактовой частоты на 4 хорошо подходит для работы модуля по SPI
 SPCR = _BV(SPE) | _BV(MSTR);
#else
 //использование деления на 8 чтобы избежать превышения предела 2,5 MHz SPI частоты для модуля
 SPCR = _BV(SPE) | _BV(MSTR) | _BV(SPR0);
 SPSR |= _BV(SPI2X);
#endif
 digitalWrite(SPI_SS, 1); // на вход nSEL высокий уровень
}
static uint16_t rf12_xfer (uint16_t cmd) {
 //the 2 loops below each spin 4 usec with a 2 MHz SPI clock
 uint16_t reply;
 digitalWrite(SPI_SS, 0); //на вход nSEL низкий уровень
 SPDR = cmd >> 8;
 while (!(SPSR & _BV(SPIF)))
 ;
 reply = SPDR << 8;
 SPDR = cmd;
 while (!(SPSR & _BV(SPIF)))
 ;
 reply |= SPDR;
 digitalWrite(SPI_SS, 1); //на вход nSEL высокий уровень
 return reply;
}
 
ОБМЕН ДАННЫМИ С RFM12B-433-D
 
Перед отправкой команды в модуль приёмо-перадатчика 433 МГц RFM12B-433-D на входе nSEL должен быть установлен низкий уровень, а когда команда отправлена, то установлен высокий. МК общается с RFM12B-433-D через SPI путем передачи 16-разрядных команд через SDI (MOSI) линию. Тактирование происходит по переднему фронту сигнала SCK. Данные команд, отправляемых в RFM12B-433-D, включают код команды и номер параметра или биты данных. Всего 16 бит в длину. Данные или команды передаются следующим образом. Первым отправляется старший бит 15, затем бит 14 и так далее до бита 0. Данные через SDO (MISO) поступают в МК. Форма сигналов при отправке команды показана на диаграмме далее.
 

Время в наносекундах.
 
Максимальная частота SCK составляет 20 МГц. Максимальная частота SCK для чтения приемника FIFO (команда 0xB000 или через FFS) составляет 2,5 МГц.
 
СИГНАЛ nIRQ ПРЕРЫВАНИЯ ПРОГРАММЫ МК
 
Уровень сигнала nIRQ генерируемый модулем RFM12B-433-D переходит в состояние лог. 0 когда происходит следующее:
TX регистр готов к приему следующего байта (RGIT)
Буфер FIFO получил запрограммированное количество бит (FFIT)
Сброс при включении питания (POR)
Переполнение FIFO (FFOV) / ТX регистр под запуск (RGUR)
Пробуждение таймер тайм-аута (WKUP)
Отрицательный импульс на прерывание ввода nINT (EXT)
Напряжение питания ниже предварительно установленного минимума (LBD)
 

АНТЕННА
 
В качестве простой антенны используется отрезок провода. Длина отрезка продиктована длинной волны радиосвязи. Вычисление длины волны производится используя общеизвестную формулу. Для различных частот требуются соответствующие антенны. Длина отрезка провода экспериментально уточнена энтузиастами ардуино. Приводим размеры антенны для разных частот. Здесь указаны оптимальные размеры с учетом выбора доли длины волны.
 
433 1/4 волны = 164,7 мм
433 1/2 волны = 329,4 мм
433 полная волна = 692,7 мм
868 1/4 волны = 82,2 мм
868 1/2 волны = 164,3 мм
868 полная волна = 345,5 мм
915 1/4 волны = 77,9 мм
915 1/2 волны = 155,9 мм
915 полная волна = 327,8 мм
 
Команды
 
С помощь пятнадцати специальных команд выполняется конфигурирование и управление устройством. Они перечислены в таблице.
 
Команда Описание
1 Конфигурация, настройка Частотный диапазон, емкость нагрузки кварцевого генератора, фильтр основной полосы пропускания, и т. д.
 
2 Управление энергопотреблением Изменение режима приемника и передатчика, синтезатора частот, XTAL OSC, таймера.
3 Установка частоты Данные частоты гетеродина для несущей сигнала
4 Скорость передачи данных  
5 Управление приемником Функция контакта 20, индикатор данных, полоса BW, усиление МШУ, цифровой порог RSSI
6 Фильтр данных Тип фильтра данных, таймер восстановления параметров
7 Буфер FIFO и режим сброса Уровень заполнения буфера FIFO, контроль запуска FIFO, включить FIFO, включить FIFO и заполнить
8 Приемник FIFO для чтения Приемник читает буфер FIFO с помощью этой команды
9 AFC AFC параметры
10 Управление конфигурацией передатчика Параметры модуляции, выходная мощность
11 Запись в регистр передатчика В регистр данных ТХ производится запись
12 Включение по таймеру Время включения
13 Режим низкого коэффициента заполнения Включить режим низкого коэффициента заполнения. Установка рабочего цикла
14 Детектор низкого напряжения питания и делитель тактовой частоты микроконтроллера Установка детектора напряжения питания и коэффициента деления тактовой частоты
15 Чтение статуса Считывания битов состояния
 
КОНФИГУРИРОВАНИЕ
 
Команда конфигурации используется для настройки RFM12B-433-D.
 

 
Бит el – включение внутреннего регистра данных.
Бит ef – включение режима буфер FIFO.
Биты el и ef используются для определения того, как данные перемещаются из модуля. Большую часть времени вы будете использовать режим FIFO, так как это многое упрощает.
Биты b1, b0 определяют полосу пропускания радиосигнала в соответствии с таблицей.
 

 
Биты x3–x0 определяет емкость нагрузки кварцевого резонатора. По умолчанию 12,5 пФ. Это позволяет выполнить точную настройку частоты резонатора. Назначение бит в таблице.
 


 
УПРАВЛЕНИЕ ПИТАНИЕМ
 
Команда управления мощностью регулирует потребление путем отключения составных частей устройства.
 


 
Бит Функция
бита
Связан
с блоком
er Включает все контуры приемника Входные цепи, полосовые фильтры, синтезатор, генератор. Потребление 11 мА.
ebb Фильтр приемника основной полосы пропускания, может быть отдельно включен Фильтр основной полосы
et Включить передатчик. Включается схема ФАПЧ, усилитель мощности и начинается передача если регистр TX включен Усилитель мощности, синтезатор, генератор. Потребление 22 мА при максимальной мощности передачи
es Включение синтезатора Синтезатор
ex Включение кварцевого генератора Кварцевый генератор
Потребление 3 мА. Время выхода на режим 1..5 мс.
eb Включение детектора снижения напряжения питания Детектор разряда батареи. Мониторинг рабочего напряжения требует 0,5 мкА.
ew Управление будильником Таймер включения. Включить WakeUp встроенный таймер (1,5 мкА). Генерирует прерывания по истечении установленного времени
dc Отключает выход синхросигнала CLK Тактирование выходного буфера
1 = выход находится в лог. 0
0 = на выходе тактовые импулься
 
Биты ebb, es и ex позволяют оптимизировать работу приемника и передатчика для сокращения потребляемой мощности.
 

 
Биты находятся в логической связке. Схема дает представление о логических связях бит.


 
Обозначение Параметр Примечания типичный макс  
tsx Время запуска кварцевого генератора Параметр кварцевого резонатора ESR рекомендуется менее 100   5 мс
T tx_rx_XTAL_ON Передатчик и приемник. Время циклической коммутации Синтезатор отключается, кварцевый генератор за время перехода из режима передачи на прием переходит на другую частоту делая шаг 10 МГц 0,45   мс
T rx_tx_XTAL_ON Приемник и передатчик время переключения Синтезатор отключается, кварцевый генератор за время перехода из режима приема в режим передачи переходит на другую частоту делая шаг 10 МГц 0,35   мс
tx_rx_SYNT_ON Передатчик и приемник время циклической коммутации Синтезатор отключается, кварцевый генератор за время перехода из режима передачи на прием переходит на другую частоту делая шаг 10 МГц 0,425   мс
T rx_tx_SYNT_ON Приемник и передатчик время переключения Синтезатор отключается, кварцевый генератор за время перехода из режима приема в режим передачи переходит на другую частоту делая шаг 10 МГц 0,3   мс
 
РЕГУЛИРОВАНИЕ ЧАСТОТЫ
 
В каждом диапазоне имеется контроль над частотами обмена. Таким образом, мы можем получить различные каналы связи. Если присутствуют помехи на одной частоте, то переключаемся на другую.
 

 
Частоты диапазонов представлены в таблице.
 
Диапазон, МГц Шаг, МГц Границы, МГц
нижняя верхняя
433 2,5 430,24 439,75
868 5,0 860,48 879,51
915 7,5 900,72 929,37
 
 
12-битовое число, представляющее частоту можно рассчитать по программе:
 
// Расчет значения регистра RFM12 для частоты 433 МГц с шагом 2,5 кГц
#define RF12_FREQUENCY_CALC_433(f) (((f)-430000000UL)/2500UL)
// Расчет значения регистра RFM12 для частоты 868 МГц с шагом 5 кГц
#define RF12_FREQUENCY_CALC_868(f) (((f)-860000000UL)/5000UL)
// Расчет значения регистра RFM12 для частоты 915 МГц с шагом 7,5 кГц
#define RF12_FREQUENCY_CALC_915(f) (((f)-900000000UL)/7500UL)
 
Значение частоты из 12 бит должно быть между величинами 96 и 3903, если нет, то они будут установлены в эти значения автоматически. Важно разобраться какие диапазоны и частоты вам подходят в зависимости от страны, где происходит установка связи.
 
УСТАНОВКА СКОРОСТИ ОБМЕНА ДАННЫМИ
 
Эта команда устанавливает скорость передачи передаваемых данных или скорость приема. Здесь происходит управление сырой физической скоростью.
 

 
Бит cs устанавливается, если скорость менее 2700 бит в секунду.
 
r6 – r0 0x02 0x05 0x08 0x0B 0x11 0x23 0x47 cs =1 0x11 cs = 1 0x1E
Bit Rate 115200 57600 38400 28800 19200 9600 4800 2400 1200
 
Если вы хотите вычислить скорость обмена, то используйте программный пример:
 
// расчет настройки для скорости передачи данных более или равно 2700 бод
#define RF12_DATARATE_CALC_HIGH(baud) ((uint8_t)(344828UL/baud)-1)
// расчет настройки для скорости менее 2700 бод
#define RF12_DATARATE_CALC_LOW(baud) ((uint8_t)(43104/baud)-1)
 
При настройке скорости нужно учитывать параметры полосы пропускания приемника.
 
УПРАВЛЕНИЕ ПРИЕМНИКОМ
 

 
Бит p20 устанавливает функцию контакта nINT/VDI настраивая его в качестве входа для прерывания от МК или выхода VDI – индикатор принятых верных данных. Режим VDI является параметром установленным по умолчанию. Если установить в качестве режима вход прерывания, то можно это использовать для прерывания работы устройства. RFM12 остановится и будет ждать следующей команды.
 
p20 Функция контакта nINT/VDI
0 Вход прерывания
1 VDI выход
 
Биты d1 и d0 – VDI, время на ответ.
 
D0 0 1 0 0
D1 0 0 1 0
Ответ Быстро Средний Медленно Всегда включен
 

 
Биты i2, i1, i0 – установка пропускной способности приемника. Полоса пропускания – диапазон частот, в центре которого резонансная частота приема. Если выбрать 400 кГц как ширину полосы пропускания приемника и 915 МГц является резонансной частотой, то приемник будет искать сигнал в диапазоне 914,8 – 915,2 МГц.
Когда скорость передачи данных увеличивается, то требуется более широкая полоса частот. Существуют оптимальные настройки для пропускной способности и модуляция для различных скоростей передачи данных, как показано ниже. Не хватает пропускной способности и сигнал не будет получен. Неправильно заданы параметры пропускной способности и ширина модуляции это обычно одна из общих проблем.
Таблица оптимальной полосы пропускания передатчика и отклонение параметров для различных скоростей передачи данных.
 
Скорость передачи бит в секунду 1200 2400 4800 9600 19200 38400 57600 115200
Пропускная способность КГц 67 67 67 67 67 134 145 200
Девиация КГц 45 45 45 45 45 90 90 120
 
Пропускная способность КГц зарезервировано 400 340 270 200 134 67 зарезервировано
i0 0 1 0 1 0 1 0 1
i1 0 0 1 1 0 0 1 1
i2 0 0 0 0 1 1 1 1
 
Биты g1, g0 – режим малошумящего усилителя. Усиление МШУ (малошумящий усилитель) выбирается в соответствии с уровнем сигнала. Усиление выбирается в зависимости от расстояния между двумя модулями и уровня помех. Чем ближе модули, тем усиление должно быть меньше. Вместе с усилением полезного сигнала усилитель увеличивает уровень помех. Чем ближе модули, тем уровень полезного сигнала выше уровня помех и наоборот. Если при близко расположенных передатчиках “загрубить” МШУ снизив усиление, то влияние помех ослабнет и качество связи возрастет.
 
Усиление по отношению к максимуму, dB 0 -6 -14 -20
g0 0 1 0 1
g1 0 0 1 1
 
Биты r2, r1 и r0 – RSSI детектор порога.
 
Установка порога принимаемой мощности dBm -103 -97 -91 -85 -79 -73 -67 -61
r0 0 1 0 1 0 1 0 1
r1 0 0 1 1 0 0 1 1
r2 0 0 0 0 1 1 1 1
 
Примечания
 
Тактовый выход модуля может генерировать помехи проникающие на выход передатчика.
 
 
Описание производителя

Описание работы

Описание регистров

Руководство по программированию

Работа с Raspberry Pi

Техническая документация

Библиотека для Arduino

Библиотека Fritzing


Рекомендуемые книги

Arduino, датчики и сети для связи устройств          Электроника. Проекты с использованием контроллера Arduino (2 изд). Петин В.А.          Изучаем Arduino: инструменты и методы технического волшебства. Блум Дж.

 





Вверх