Смекни!
smekni.com

Радиоконтроллеры семейства B41-RC. Радиомодем и управляющий контроллер в одном модуле (стр. 2 из 2)

Параметр Знаячение Примечание
Частотный диапазон 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.