Беспроводные микроконтроллеры
В статье рассматриваются беспроводные микроконтроллеры и модули компаний Dialog Semiconductor, Panasonic, TI и STMicroelectronics. Описанные микроконтроллеры базируются на хорошо известных и множество раз описанных процессорных ядрах ARM Cortex-M4, Cortex-M0, Cortex-M0+ и не имеют в своем составе уникальных периферийных модулей. таким образом, основное внимание в статье уделяется режимам пониженного энергопотребления и радиомодулям.
Введение
за последнее время появилось несколько новых моделей беспроводных микроконтроллеров (МК). Во всех этих МК используются хорошо известные процессорные ядра ARM Cortex-M4, ARM Cortex-M0 и ARM Cortex-M0+. Эти ядра неоднократно описаны в литературе, и мы не будем повторяться. Кроме того, не следует ожидать от беспроводных МК мощных вычислительных возможностей или специализированной высокоинтегрированной периферии, например, для векторного управления электроприводом.
Основной акцент при создании подобных МК делается на приемопередатчик радиосигналов и гибкое управление питанием. Как правило, подобные МК не содержат каких-либо оригинальных модулей – в их состав входят узлы, традиционные для любых микроконтроллеров, и потому мы не будем описывать их во всех подробностях.
Рисунок 1
Структурная схема МК DA14531
МК DA14531 компании DIALOG SEMICONDUCTOR
Эта компания пошла по самому простому пути, задействовав одно-единственное ядро Cortex-M0+, и реализовала стандарт Bluetooth Low Energy 5.1. МК обеспечивает три BLE-соединения. Модуль BLE в МК поддерживает протокол L2CAP, безопасные соединения SM, профиль общих атрибутов GATT, профиль общего доступа GAP. Благодаря встроенному понижающе-повышающему DC/DC-преобразователю и LDO- регуляторам напряжение питания может изменяться в широком диапазоне.
Структурная схема МК DA14531 приведена на рисунке 1. Перечислим основные параметры МК:
- частота тактирования: 16 МГц;
- емкость ОзУ: 48 Кбайт;
- емкость ПзУ: 144 Кбайт;
- время пробуждения радиомодуля: 35 мс;
- количество выводов порта общего назначения: 6 (корпус wLCSP17), 12 (корпус FCGQFN24);
- 2 таймера общего назначения;
- интерфейсы: - 2× UART;
- SPI;
- I2C;
- 3-осевой квадратурный декодер;
- контроллер клавиатуры;
- 4-канальный 10-бит АЦП;
- корпус: wLCSP17 (1,7×2,05×0,5 мм) или FCGQFN24 (2,2×3,0×0,4 мм).
Модуль BLE тактируется частотой 8 или 16 МГц, а в режиме пониженного энергопотребления используется частота тактирования 32; 32,768 или 15 кГц. Допускается выключение питания модуля в режиме ожидания. Радиомодуль обеспечивает бюджет линии связи до 93 дБ. Чувствительность приемника составляет –90 дБм. Выходная мощность передатчика варьируется в пределах –18…3 дБм. При передаче сигнала потребление МК возрастает до 3,5 мА, а при приеме – до 2,2 мА.
Программируемый квадратурный декодер принимает, декодирует сигналы по всем трем осям X, Y и Z и применяется для создания интерфейса пользователя. Декодер может применяться для пробуждения МК при обнаружении сигнала движения по одной из осей. Цифровой фильтр в каждом канале помогает избежать ложных срабатываний.
Модуль компании Panasonic PAN1780
Компания Panasonic, как обычно, выпустила очередной беспроводный модуль. Структурная схема модуля приведена на рисунке 2. Он поддерживает стандарт Bluetooth 5 Low Energy и обеспечивает скорость передачи данных 2 Мбит/с. На этот раз для создания модуля использовалась беспроводная система-на-кристалле nRF5340 от Nordic Semiconductor, к которой добавили на плату DC/DC-преобразователь, два осциллятора и чип-антенну. О СнК nRF5340 довольно подробно рассказано в [1], поэтому мы не будем повторяться, а ограничимся перечислением основных параметров модуля PAN1780:
- диапазон напряжения питания: 1,7–5,5 В;
- чувствительность приемника при скорости передачи данных 1 Мбит/с: –95 дБм;
- чувствительность приемника при скорости передачи данных 125 Кбит/с: –103 дБм;
- выходная мощность передатчика: –20… 4 дБм;
- ток потребления в режиме передачи при 0 дБм: 4,8 мА;
- ток потребления в режиме останова: 0,4 мкА;
- диапазон рабочих температур: –40…85°C.
Рисунок 2
Структурная схема модуля PAN1780
Рисунок 3
Структурная схема МК серии СС132х2 и СС26х2
MK CC132X2, CC26X2 и CC3235SF компании TI
Компания продолжает расширять производственную линейку микроконтроллеров семейства SimpleLink. Рассмотрим несколько подробнее МК серии СС132х2 и СС26х2, а затем вкратце опишем особенности МК серии CC3235sf. Структурная схема микроконтроллеров серии СС132х2 и СС26х2 приведена на рисунке 3. Как и в некоторых предыдущих моделях, в качестве процессорного ядра применяется Cortex-M4, а радиоподсистема базируется на ядре Cortex-M0. МК реализуют протоколы Thread, Zigbee, Bluetooth 5 Low Energy, IEEE 802.15.4g, IPv6 (6LowPAN), wi-SUN и проприетарные протоколы. Перечислим некоторые основные характеристики МК:
- диапазон напряжения питания: 1,8–3,6 В;
- энергопотребление:
- при выключенном радиомодуле: 3,3 мА (69 мкА/МГц);
- при приеме сигнала: 6,9 мА;
- выходная мощность при передаче: 0 дБм: 7,4 мА;
- выходная мощность при передаче: 5 дБм: 9,7 мА;
- частота тактирования системного процессора Cortex-M4: 48 МГц;
- объем флэш-памяти команд: 352 Кбайт;
- объем ПЗУ (стеки протоколов и конфигурация): 256 Кбайт;
- объем ОзУ: 80 Кбайт;
- объем кэш-памяти: 8 Кбайт;
- интерфейсы:
- 2× UART;
- I2C;
- I2S;
- радиомодуль:
- чувствительность приемника: 100 дБ для 802. 15. 4 (2,4 ГГц);
- чувствительность приемника: 105 дБ для Bluetooth при 125 Кбит/с;
- выходная мощность передатчика: до 5 дБм;
- диапазон рабочей температуры: –40…85°C;
- корпус: VQFN-48.
Беспроводные МК нередко используются в приложениях с батарейным питанием, в которых требуется свести к минимуму энергопотребление. В таких приложениях МК может значительное время находиться в режимах пониженного энергопотребления, лишь на короткое время переходя в активный режим для сбора, обработки и передачи данных по радиоканалу. Следовательно, беспроводным МК необходимо иметь гибкую систему режимов пониженного энергопотребления. Уделим немного больше внимания системе питания.
В состав МК входит встроенный DC/DC-преобразователь и LDO-регуляторы с цифровым управлением. Для удобства управления энергопотреблением все модули распределены по доменам. Каждый домен питается от своей шины питания и может индивидуально включаться или выключаться. В общей сложности реализованы четыре режима энергопотребления:
- активный режим;
- режим ожидания (Idle mode);
- режим временного останова (Standby mode);
- режим останова (Shutdown mode).
В активном режиме используется DC/DC-преобразователь; питание подается только на домены, необходимые на текущий момент для выполнения задачи. То же относится к тактовым последовательностям – они формируются только для активных модулей. В режиме ожидания процессорное ядро остановлено, а все остальные модули активируются по событию для выполнения конкретного задания. В режиме временного останова помимо процессорного ядра отключается и радиомодуль, сохраняются данные ОзУ и некоторых регистров. В режиме останова выключены все модули, содержимое памяти не сохраняется, доступным остается только внешний вывод микросхемы, по сигналу на котором происходит выход из режима останова.
Одной из особенностей рассматриваемых МК является вспомогательный домен AUX. Это подсистема МК с низким энергопотреблением, в состав которой входит 16-бит контроллер датчиков SCE с доступом к ОзУ AUX для команд и данных емкостью 4 Кбайт. В состав аналоговой периферии AUX входят:
- 12-бит АЦП с производительностью 200 Квыб/с;
- 2 аналоговых компаратора;
- программируемый источник тока 0–20 мкА;
- ЦАП.
Цифровая периферия домена AUX содержит:
- прецизионный преобразователь время-код TDC;
- два 16-бит синхронных таймера;
- асинхронный универсальный таймер с 4 каналами захвата-сравнения;
- аппаратные семафоры, позволяющие совместно использовать периферию процессорному ядру и контроллеру датчиков SCE;
- арифметический ускоритель с 40-бит регистром для операций сложения с учетом и без учета знака и для умножения;
- до 32 линий цифрового ввода/вывода;
- до 8 линий аналогового ввода/вывода.
Контроллер датчиков SCE не имеет доступа к периферийным модулям домена ЦП, флэш-памяти и регистрам. Подобное разделение позволяет домену ЦП переходить в разные режимы энергопотребления и выходить из них независимо от контроллера датчиков. В то же время ЦП через DMA имеет доступ ко всем без исключения модулям AUX. Контроллер SCE можно запрограммировать на выполнение задач в периодическом режиме работы или на асинхронный запуск по событиям на портах ввода/вывода.
Радиомодуль базируется на процессорном ядре Cortex-M0 и имеет в своем составе 2 блока ОзУ размером 8 Кбайт и 4 Кбайт. В первом из них данные сохраняются в режимах пониженного энергопотребления, во втором данные не сохраняются. Процессор Cortex-M0 получает задачи на транзакцию данных от главного процессора Cortex-M4. В основном, эти запросы касаются передачи и приема данных по радиоканалу, но могут быть и задачи предварительной обработки данных.
Для уменьшения ненужного трафика данных процессор Cortex-M0 имеет доступ к системному ОзУ для чтения и записи данных, что позволяет снизить общее энергопотребление и время выполнения задачи. Если требуется обеспечить конфиденциальность протокола и аутентификацию, радиомодуль получает доступ к подсистеме безопасности и защиты данных.
Связующим звеном между главным ЦП и радиомодулем служит модуль связи RFC_DBELL. Модуль содержит ряд специально выделенных в любом ОзУ регистров и формирует прерывания для обоих процессоров. заметим, что радиомодуль может находиться в активном режиме и при выключенном системном процессоре, но в этом случае все данные для передачи и задача должны находиться в радиомодуле. В противном случае системный процессор не должен выключаться.
В процессе работы, когда оба процессора активны, Cortex-M0 для обновления задачи и загрузки данных формирует прерывание для системного процессора Cortex-M4. Всего можно сформировать четыре прерывания. Cortex-M4 может их маскировать. Процессоры Cortex-M4 и Cortex-M0 имеют общую область ОзУ. Чтобы избежать конфликтов при одновременном обращении к памяти, необходимо установить правила обращения на уровне аппаратных абстракций HAL.
В состав радиомодуля входит 32-бит радиотаймер RAT с восемью каналами захвата/сравнения. Пять из них доступны только для Cortex-M0, а остальные три канала свободны для доступа системному процессору Cortex-M4. Частота тактирования таймера составляет 4 МГц.
Буквально в двух словах опишем отличия МК CC3235sf от рассмотренных выше МК серии СС132х2 и СС26х2. Основное отличие заключается в том, что радиомодуль МК CC3235sf рассчитан на работу в полосе 2,4 и 5 ГГц, в то время как микроконтроллеры серии СС132х2 и СС26х2 предназначены для работы в полосе только 2,4 ГГц. Кроме того, в состав МК CC3235sf входит модуль 8-бит параллельного интерфейса камеры. Из других отличий, на наш взгляд, наиболее важны следующие:
- частота тактирования системного процессора Cortex-M4: 80 МГц;
- объем флэш-памяти: до 1 Мбайт;
- интерфейс SPI, отсутствующий в МК серии СС132х2 и СС26х2;
- 802.11 a/b/g/n 2,4 ГГц и 5 ГГц.
MK STM32WLEX и STM32WB50CG от STMICROELECTRONICS
Как и в предыдущем случае, уделим основное внимание одному из МК, например STM32wLEx, а в заключение кратко упомянем основные отличия МК STM32wB50CG. Оба МК базируются на процессорном ядре Cortex-M4. Структурная схема STM32wLEx приведена на рисунке 4. В МК встроен радиомодуль с полосой частот ISM 150–960 МГц, на основе которого реализован протокол LoRa. Радиомодуль совместим со спецификацией LoRawAN 1.0. При приеме и передаче возможно использование модуляции (G)FSK/(G)MSK и (D)BPSK только при передаче. Основные характеристики МК семейства STM32wLEx удобнее представить в табличном виде (см. табл.)
Как видно из структурной схемы, МК серии STM32wLEx не имеют каких-либо «изюминок», которые стоило бы рассмотреть отдельно. Поэтому ограничимся описанием режимов пониженного энергопотребления. Предусмотрены восемь таких режимов:
- режим сна (Sleep mode);
- активный режим с низким энергопотреблением (Low-power run mode);
- режим сна с низким энергопотреблением (Low-power sleep mode);
- режимы Stop 0, Stop 1 и Stop 2;
- режим временного останова (Standby mode);
- режим останова (Shutdown mode).
В режим сна МК может перейти из активного режима. В нем радиомодуль активен, но тактирование микросхем памяти может отключаться. В остальном этот режим ничем не отличается от активного режима. Попутно заметим, что многие модули МК по умолчанию выключены – их активирование осуществляется программным способом. В активном режиме с низким энергопотреблением уменьшается частота тактирования некоторых модулей до 2 МГц; флэш-память можно перевести в режим пониженного энергопотребления. Кроме того, в режиме сна с низким энергопотреблением системная частота снижается до 2 МГц, а LDO-регуляторы напряжения переводятся в режим пониженного энергопотребления.
Рисунок 4
Таблица
Структурная схема МК серии STM32WLEx
Основные характеристики МК семейства STM32WLEx
В режимах Stop 0 и Stop 1 в SRAM1 и SRAM2, а также во всех регистрах сохраняются данные. Тактирование всех модулей приостанавливается кроме часов реального времени. Можно активировать периферийные модули, формирующие сигнал пробуждения МК. Радиомодуль может находиться в активном режиме. В режиме Stop 2 отключается питание главного процессорного ядра, и запрещены все осцилляторы высокой частоты. Тактовые частоты могут формироваться только низкоскоростным встроенным LSI-или внешним LSE-осциллятором.
В режиме временного останова данные сохраняются только в SRAM2, низкоскоростные осцилляторы LSI и LSE могут оставаться активными. Активным может оставаться и радиомодуль. Частота тактирования многоскоростного осциллятор MSI не превышает 4 МГц. В режиме останова активным остается только внешний осциллятор LSI, но модуль монитора питания выключен, поэтому не гарантируется функционирование МК при провалах напряжения питания.
Основные характеристики радиомодуля МК STM32wLEx:
- полоса частот: 150–960 МГц;
- максимальная выходная мощность: 14 дБм на внешнем выводе RFO_LP или 22 дБм на внешнем выводе RFO_HP;
- ширина полосы протокола LoRa: 7,8–500 кГц;
- скорость передачи данных при протоколе LoRa: 0,013– 17,4 Кбит/с;
- скорость передачи данных при модуляции FSK и GFSK: 0,6–300 Кбит/с;
- скорость передачи данных при модуляции MSK и GMSK: 1,2–300 Кбит/с;
- скорость передачи данных при модуляции BPSK and DBPSK: 100–600 бит/с.
Главное отличие МК STM32wB50CG от описанных выше МК STM32wLEx заключается в радиомодуле. На его основе реализованы стандартные протоколы Bluetooth 5 Low Energy и IEEE 802. 15.4–2011 в полосе 2,4 ГГц. Остальные отличия носят количественный, а не качественный характер.
Перечислим их:
- объем флэш-памяти: 1 Мбайт;
- объем SRAM1: 64 Кбайт;
- объем SRAM2: 64 Кбайт;
- частота тактирования: 64 МГц;
- разрядность АЦП: 16 бит;
- диапазон рабочей температуры: –10…85°C;
- корпус UFQFPN48 (7×7 мм).