Параметр | Знаячение | Примечание | |
Частотный диапазон | B41-RCc-433 | 433 МГц | |
B41-RCc-455 | 455 МГц | ||
B41-RCc-868 | 868 МГц | ||
B41-RCc-915 | 915 МГц | ||
B41-RCb(a) | 2400 МГц | ||
Тип радиоканала | FHSS (со скачкообразным изменением частоты) | ||
Тип дуплекса | TDD (временной дуплекс) | ||
Тип модуляции | GFSK (Гауссовская частотная манипуляция) | ||
Максимальная битовая скорость в канале | B41-RCb(a) | 1 Мбит/с | |
B41-RCc | B41-RCc | ||
Чувствительность приемника | –90 dBm | при BER = 0, 1% | |
Максимальная выходная мощность передатчика | B41-RCb(a) | 16 dBm | |
B41-RCc | 10 dBm |
Варианты исполнения
В настоящее время существуют следующие основные варианты исполнения радиоконтроллеров:
B41-RCс-433 – радиоконтроллер для диапазона 433 МГц;
B41-RCс-455 – радиоконтроллер для диапазона 455 МГц;
B41-RCс-868 – радиоконтроллер для диапазона 868 МГц (под заказ);
B41-RCс-915 – радиоконтроллер для диапазона 915 МГц (под заказ);
B41-RCb – радиоконтроллер для диапазона 2400 МГц;
B41-RCba – 2400 МГц с интегрированной планарной антенной.
В типовом исполнении радиоконтроллеры оснащаются флэш-памятью объ емом 512 Кбайт. Кроме того, они могут быть оснащены флэш-памятью объ емом 256 Кбайт (экономичный вариант для простых приложений) или 2-х банковой памятью (dual bank) объ емом 2 Мбайта. Использование 2-х банковой организации памяти оптимально для поддержки файловой системы, поскольку это позволяет размещать е е программные средства в одном из банков флэш-памяти, в то время как второй используется для хранения файлов (при использовании стандартной флэш-памяти часть программных средств, непосредственно выполняющих запись, приходится размещать во встроенном ОЗУ, поскольку невозможно чтение программного кода из того банка, в который выполняется запись).
Каждый из вышеперечисленных вариантов (за исключением B41-RCba) может быть поставлен либо с установленной на плату антенной, либо с ВЧ-разъемом для подключения внешней антенны. С целью разъяснения других возможных вариантов исполнения ниже приведен пример кода заказа и его расшифровка.
B41-RCC-433_М5-A2I
B41 – тип микроконтроллера;
RСс – вариант базового исполнения:
– RCc – для диапазонов 433ѕ915 МГц;
– RCв – для диапазона 2400 МГц;
– RCва – 2400 МГц с интегрированной антенной.
433 – частотный диапазон:
– 433 – диапазон 433 МГц;
– 455 – диапазон 455 МГц;
– 868 – диапазон 868 МГц;
– 915 – диапазон 915 МГц;
– 2400 – диапазон 2400 МГц.
M5 – объем флэш-памяти:
– М2 – 256 Кб;
– М5 – 512 Кб;
– 2М – 2 Mб, одновременные чтение и запись.
A – антенна:
– А – установлена;
– М – установлен ВЧ-разъем MMCX типа;
– N – не установлена;
2 – дополнительный разъем:
– 2 – не установлен;
– 3 – установлен;
I – диапазон рабочих температур:
– C – 0...+70°C;
– I – –40...+85°C.
Средства аппаратной отладки
Для ускорения процесса разработки и отладки аппаратных средств и программного обеспечения на базе радиоконтроллеров семейства B41-RC выпущен отладочный комплект B41-DKit. С помощью этого комплекта разработчик может провести исследование режимов работы радиоконтроллера, подготовить макетный вариант разрабатываемой системы, а также провести отладку программного обеспечения. Внешний вид отладочного комплекта B41-DKit представлен на рис. 3.
Основу комплекта B41-DKit составляет кросс-плата B41-Cross, на которой размещены три унифицированных и один специализированный разъ емы для установки радиоконтроллера и периферийных модулей, разъем интерфейса UART для подключения к СОМ-порту компьютера посредством загрузочного кабеля, разъ ем питания и некоторые другие элементы. Каждый комплект состоит из двух полукомплектов.
Базовая конфигурация полукомплекта включает следующие модули:
B41-Cross – кросс-плата комплекта.
B41-RCс-433 или B41-RCв – радиоконтроллер для диапазона 433 МГц или 2400 МГц.
Загрузочный кабель – кабель для загрузки программ через COM-порт ПК.
OLED-b41-fc или OLED-b41-be – модуль цветного (262K цветов, 128 Ч 128 точек) или монохромного (голубого свечения, 128 Ч 32 точек) OLED-дисплея соответственно.
PROTO-b41 – макетная плата.
Базовая конфигурация может быть расширена перечисленными ниже модулями:
B41-RCc-433/455/868/915 или B41-RCb/B41-RCba – дополнительные радиоконтроллеры для диапазонов 433/455/868/915/2400 МГц соответственно.
AUDIO-b41 – звуковой модуль.
USB-b41 – USB-модуль.
ENET-b41 – Ethernet-модуль.
RS485-b41 – преобразователь уровней интерфейса RS-485.
RS232-b41 – преобразователь уровней интерфейса RS-232.
ACDC-5V5-A5 – адаптер сетевого питания (~220V/+5V).
В дальнейшем предусматривается дополнить комплект ещ е несколькими узлами:
FPGA-b41 – FPGA-модуль (для макетирования узлов на FPGA, загружаемой от B41).
KeyPad-b41 – клавиатура.
Bat-b41 – модуль батарейного питания.
Следует отметить, что, установив в специализированный разъ ем кросс-платы (Pos.1) второй радиоконтроллер, с помощью B41-DKit возможно отлаживать и двухпроцессорные конфигурации.
B41OS – операционная система реального времени
Отладочный комплект B41-DKit поставляется вместе со средствами разработки и отладки прикладного программного обеспечения микроконтроллера B41 – B41_SDK. Их основой являются: отладочный монитор-загрузчик B41_Loader, оптимизирующий компилятор с языка C++, операционная система B41OS и постоянно пополняемая C++ библиотека.
В предыдущей статье мы вкратце коснулись операционной системы B41OS как основы программирования для систем на базе микроконтроллера B41. Поскольку радиоконтроллеры семейства B41-RC как раз и являются представителями такого рода систем, рассмотрим B41OS более подробно.
Итак, напомним, что поддерживающая вытесняющую многозадачность операционная система реального времени В41OS управляет приложениями, реализует доступ к периферийным устройствам и обеспечивает минимально необходимый пользовательский интерфейс. Далее рассмотрим основные средства, предоставляемые операционной системой.
Функции для работы с нитями – предназначены для создания, удаления и остановки нитей:
– thread* create_thread (LPTHREAD_START_ROUTINE fn, LPVOID arg, pr_t prioritet, uint stack_size, char* thread_name) – создает нить;
– thread* fork() – создает копию текущей нити, возвращает нулевой указатель порожденной нити (потомку) и указатель на потомка родительской нити;
– bool kill_thread (thread* th) – уничтожает нить;
– void sleep (uint timeout) – приостанавливает текущую нить на время timeout;
– void resume (thread* th) – перезапускает нить;
– void suspend () – останавливает текущую нить;
– class thread – класс управления нитями.
Средства синхронизации.
– class event – позволяет осуществлять взаимодействие между процессами.
Функции класса:
uint wait (uint timeout) – ожидает событие в течении времени timeout;
void set() – выставляет событие;
void reset() – сбрасывает событие;
– class eventx – является расширением класса event, по сравнению с базовым классом он позволяет управлять 16 событиями одновременно (под каждое событие отводится 1 бит);
– template <class T> class msg_queue – шаблон класса, позволяет конструировать очереди сообщений
– class mutex – класс синхронизации процессов.
Таймеры.
– class fast_timer – является низкоуровневым таймером и имеет наивысший приоритет, позволяет оперировать с таймером как в режиме одноразового запуска, так и в мульти- режиме; особенностью данного класса является то, что функция пользователя должна быть небольшого размера;
– class timer – является аналогом fast_timer, за исключением того, что он не накладывает никаких ограничений на функцию-обработчик;
– class c_timer – так же является аналогом fast_timer, только функция- обработчик запускается из другого контекста; ограничения на размер обработчика еще более строги, чем для fast_timer.
Функции для работы с памятью.
– void* malloc (uint size) – выделяет блок памяти;
– void free (void *addr) – освобождает ранее выделенный блок памяти;
– void* realloc (void * addr, uint new_size) – изменяет размер блока памяти.
Наиболее употребительные интерфейсы (абстрактные классы). Операционная система разрабатывалась с использованием принципов объектно-ориентированного программирования.
Благодаря абстрактным классам, появляется возможность скрыть детали реализации и предоставить пользователю единый интерфейс для решения однотипных задач.
– class pipe_i – интерфейс двунаправленного канала ввода/вывода;
– class mux_i – интерфейс мультиплексора;
– class file_i – интерфейс для работа с файлами.
Драйверы периферийных устройств и вспомогательные классы. Все драйверы, за исключением rf_link, представляют собой реализацию pipe_i интерфейса, что позволяет пользователю единообразно работать с различными устройствами.
– class сom – реализация pipe_i интерфейса для com-порта;
– class usb – реализация pipe_i интерфейса для usb;
– class rf_com – реализация pipe_i интерфейса для радиоканала;
– class rf_link – низкоуровневый драйвер радиоканала;
– class mon – отладочный монитор, обеспечивает взаимодействие микроконтроллера B41 с персональным компьютером.
Файловая система.
B41FFS – файловая система на основе YAFFS. Предоставляет стандартный интерфейс работы с файлами и каталогами, при помощи функций: open (), close (), rename (), kill (), mk (), cd (), find (). Работа с файлами осуществляется через pipe_i интерфейс.
Сравнительный анализ
В заключение оценим эффективность применения радиоконтроллеров семейства B41-RC. Эквивалентом радиоконтроллера B41-RC является комбинация радиомодема и управляющего контроллера. При таком решении часть аппаратуры фактически дублируется, и появляются лишние элементы сопряжения. Из этого следуют несколько преимуществ системы, построенной на базе B41-RC:
компактные размеры;
уменьшенная потребляемая мощность;
низкая цена.
Еще одним преимуществом радиоконтроллеров является оперативность их программирования, что позволяет с одной стороны оптимизировать протокол радиоканала под конкретную задачу, а с другой – проводить в ходе эксплуатации модернизацию системы путем обновления программного обеспечения.
Наличие однотипных радиоконтроллеров для различных частотных диапазонов позволяет изменять частотный диапазон конечного изделия простой заменой платы радиоконтроллера без доработки аппаратуры и с минимальными изменениями программного кода (изменяются частотные константы). И, наконец, развитые средства операционной системы, наличие постоянно пополняемой открытой библиотеки функций и возможность отладки макета системы с помощью штатных модулей отладочного комплекта B41-DKit позволяют существенно сократить сроки разработки и отладки проектов с применением радиоконтроллеров семейства B41-RC.