Микроконтроллеры Wireless Gecko (EFR32) компании Silicon Labs разделены на три подсемейства: EFR32 Mighty Gecko, Blue Gecko и Flex Gecko. Они реализуют различные наборы стандартных и проприетарных протоколов передачи данных, указанные в таблице 1. Каждое из подсемейств состоит из микросхем, у которых сочетания параметров наилучшим образом подходят для реализации базового протокола подсемейства. Разработчик может выбрать двухдиапазонную микросхему или микроконтроллер, который содержит только приемопередатчик на диапазон 2,4 ГГц или только на диапазон <1 ГГц. Также имеется возможность подобрать микроконтроллер с различными объемами памяти, разной выходной мощностью и в разных корпусах. Сравнивая подсемейства между собой, следует также отметить, что наиболее низкую цену имеют микроконтроллеры подсемейства EFR32 Blue Gecko.
Микроконтроллеры EFR32 имеют ядро ARM Cortex-M4F, представляющее собой расширенную версию популярного 32-разрядного ядра ARM Cortex-M3. Ядро Cortex-M4F имеет такую же архитектуру, что и Cortex-M3. Разница заключается в наличии у Cortex-M4F блока вычислений с плавающей точкой (Floating Point Unit) и поддержке дополнительного набора DSP-команд. Эти команды соответствуют типовым для цифровой обработки сигнала операциям: умножение с накоплением, операции параллельной обработки данных и операции с насыщением. Благодаря аппаратной поддержке таких команд можно существенно сократить требуемое для определенных типов вычислений время и, как следствие, уменьшить общее энергопотребление устройства [2].
Встроенный в микросхему EFR32 высокоинтегрированный приемопередатчик (рис. 1) имеет широкий набор конфигурационных настроек для установки параметров радиосигнала. Пользователь имеет доступ к буферам приема и передачи данных. Приемопередатчик поддерживает статические и динамические длины пакетов, автоматическую адресную фильтрацию и вставку/проверку контрольной суммы.
Структурная схема EFR32 Wireless Gecko
Приемопередатчик содержит синтезатор частоты с малыми фазовыми шумами, который формирует опорную частоту для понижающего смесителя во время приема радиосигнала и непосредственно формирует модулированную несущую во время передачи. Синтезатор частоты имеет разрешение по частоте лучше, чем 100 Гц, низкое энергопотребление и малое время установки частоты, что позволяет микросхеме быстро выходить из спящих режимов.
В процессе передачи модулятор получает данные от контроллера пакетов, которые считывает из буфера. Основываясь на выбранном типе модуляции и полученных данных, модулятор, используя синтезатор частоты, формирует радиосигнал с необходимой частотой и фазой. После завершения передачи пакета приемопередатчик может автоматически переключаться в режим приема.
Приемник имеет малошумящий усилитель, за которым следует квадратурный понижающий частоту смеситель. Квадратурные сигналы промежуточной частоты фильтруются и усиливаются перед тем, как поступить на АЦП. Промежуточная частота может конфигурироваться пользователем. Функция автоматической подстройки коэффициента усиления (AGC) позволяет увеличить чувствительность приемника и избежать насыщения усилителя.
Демодуляция выполняется в цифровой области. Путем настроек параметров демодулятора можно задавать ширину частотного канала от 0,1 до 2530 кГц.
Демодулятор анализирует принятый пакет на соответствие заданным типу модуляции и скорости передачи. В случае обнаружения такого пакета данные передаются контроллеру пакетов, который записывает их в приемный буфер. По завершении приема пакета приемопередатчик может автоматически переключаться в режим передачи или оставаться в режиме приема в ожидании очередного пакета данных.
Помимо упомянутых микропроцессорного ядра и приемопередатчика, микросхемы EFR32 Wireless Gecko имеют в своем составе блок управления энергопотреблением, схему тактирования, блоки цифровой и аналоговой периферии и пять портов ввода/вывода. Благодаря наличию 12-канальной системы событий (Peripheral Reflex System) периферийные устройства могут обмениваться данными и синхронизироваться без участия процессорного ядра.
Богатый набор периферийных узлов микросхем EFR32 Wireless Gecko, позволяющий подключать различные внешние датчики и взаимодействовать с внешними устройствами, включает в себя:
- АЦП;
- ЦАП;
- два аналоговых компаратора;
- восемь контроллеров прямого доступа к памяти;
- два 16-разрядных таймера/счетчика;
- 32-разрядные часы реального времени и календарь;
- 16-разрядный низкопотребляющий таймер;
- 32-разрядный свехнизкопотребляющий таймер/счетчик;
- сторожевой таймер (Watchdog);
- 16-разрядный счетчик импульсов;
- два универсальных приемопередатчика USART, каждый из которых может выступать в роли UART/SPI/IrDA/I2S;
- низкопотребляющий UART;
- интерфейс I2C с поддержкой SMBus.
Микросхемы EFR32 Wireless Gecko выпускаются в корпусах QFN48 (7×7 мм) и QFN32 (5×5 мм). Пользователю доступно множество вариантов исполнения, отличающихся набором реализуемых протоколов, поддерживаемыми частотными диапазонами, выходной мощностью передатчика и объемом памяти [3–5]. Столь широкая номенклатура дает возможность подобрать оптимальный по соотношению цена/функциональность вариант практически для любой задачи по разработке миниатюрных устройств с батарейным питанием.
Режимы энергопотребления
Микроконтроллеры Wireless Gecko (EFR32) предназначены для использования в батарейных устройствах. Они сочетают высокую производительность с низким энергопотреблением как в рабочих, так и в спящих режимах.
Поддержка режимов пониженного энергопотребления
В таблице 2 приведены значения тока потребления для различных режимов. Значения указаны как для случая использования с DC/DC-преобразователем, так и без него, при напряжении питания 3,3 В. На рис. 2 цветом обозначен режим с наименьшим энергопотреблением, в котором может работать тот или иной блок микросхемы. Например, процессорное ядро может быть задействовано только в полнофункциональном режиме, а сверхнизкопотребляющий таймер/счетчик (Cryotimer) можно использовать во всех режимах, вплоть до EM4 Shutoff.
Микросхемы EFR32 имеют в своей схеме уникальный блок RFSENSE, определяющий наличие несущей в заданном частотном диапазоне. Это позволяет микросхеме находиться в любом из режимов пониженного энергопотребления, переходя в полнофункциональный режим только в случае получения сообщения на определенной частоте.
Ниже приведены основные особенности работы в каждом из режимов энергопотребления.
Полнофункциональный режим (EM0 Active):
процессорное ядро Cortex-M4 исполняет программный код;
беспроводной интерфейс активен;
высокочастотное и низкочастотное дерево синхронизации активны;
вся периферия готова к использованию.
Спящий режим (EM1 Sleep):
процессорное ядро находится в спящем режиме, тактирование ядра отключено;
беспроводной интерфейс, оба дерева синхронизации и вся периферия активны.
Режим «глубокого сна» (EM2 Deep Sleep):
процессорное ядро находится в спящем режиме, тактирование ядра отключено;
беспроводной интерфейс отключен, блок RFSENSE активен;
высокочастотное дерево синхронизации отключено;
низкочастотное дерево синхронизации активно, доступны часы реального времени и календарь, сторожевой таймер, низкопотребляющий UART, низкопотребляющий таймер, счетчик импульсов, сверхнизкопотребляющий таймер/счетчик;
память и регистры сохраняют свои значения.
Режим останова (EM3 Stop):
процессорное ядро находится в спящем режиме, тактирование ядра отключено;
беспроводной интерфейс отключен, блок RFSENSE активен;
высокочастотное и низкочастотное дерево синхронизации отключены;
в случае тактирования от генератора ультранизкой частоты ULFRCO доступны часы реального времени и календарь, сторожевой таймер, сверхнизкопотребляющий таймер/счетчик;
память и регистры сохраняют свои значения.
Режим гибернации (EM4 Hibernate):
процессорное ядро отключено;
беспроводной интерфейс отключен, блок RFSENSE активен;
высокочастотное и низкочастотное дерево синхронизации отключены;
доступны часы реального времени, календарь, сверхнизкопотребляющий таймер/счетчик;
значения памяти и регистров не сохраняются.
Режим отключения (EM4 Shutoff):
процессорное ядро отключено;
беспроводной интерфейс отключен, блок RFSENSE активен;
высокочастотное и низкочастотное дерево синхронизации отключены;
доступен сверхнизкопотребляющий таймер/счетчик;
значения памяти и регистров не сохраняются.
Другим преимуществом микросхем EFR32 является минимальное время перехода из режимов пониженного энергопотребления в полнофункциональный режим (табл. 3). Например, максимальное время пробуждения из режима останова, в котором ток потребления ≤2,8 мкА, не превышает 3 мкс (в случае выполнения кода из оперативной памяти). Данный параметр оказывает существенное влияние на общее энергопотребление устройства и время жизни батареи.
Таким образом, используя оптимальный для конкретных условий эксплуатации режим, можно достичь значительного снижения энергопотребления микросхемы, что является важнейшим фактором в случае разработки устройства с батарейным питанием.
… мне уже давно градусники надоели. Смотрю в метеоприложениях типа Форека или ГисМетео температуру на метеостанции города. При желании беру бинокль, выхожу на лестничную площадку и смотрю на городской термометр. :)
Хотя я всегда удивлялся — типичный погодный виджет самыми большими цифрами будет показывать… нет, не прогноз, а текущую температуру ))
Никто не мешает с народмонитора брать данные, в городе полно датчиков. На даче собрал метеостанцию и выложил в народмонитор, довольно удобно на телефоне смотреть, данные там год хранятся. На даче не было ничего рядом.
Мой хоть совпадает с другими метеосервисами.
Просто стало ясно, что метеостанция Гидромета это и понятнее и вернее. А учитывая личные ощущения то и вполне достаточно знать погодные условия в месте её установки и колерировать на район, время суток, городские застройки и т.п. Гуляя с собакой это прекрасно чувствую, поэтому достаточно общих сведений дабы одеться по погоде и выбрать комфортный маршрут. :)
В приложениях или по ссылке в браузере смотрю текущую погоду, а прогноз лишь для понимания возможного развития событий.
Мне интересен ход мыслей… Зачем высокая точность. Что вы с этой информацией делать будете?
Я вот думаю, что действительно большая LCD панель так же потребует повышенного питания, и простой батарейкой там не обойтись будет.
P.S. Фокус из школьных лет: сломан калькулятор, вынут LCD дисплей. Трёшь по голове расчёской, подносишь к дисплею — все сегменты включаются, и такое питание может питать более минуты.
Я какие только не покупал и дешевые и дорогие и которые время сами синхронизировали через океан
Все через полгода-год начинали врать. Задавал вопросы, что подкрутить, никто толком сказать ничего не мог.
Погодная станция нах не нужна, она есть в каждом смартфоне!)))
Пользуюсь подобным термометром уже 9 лет, полет совершенно нормальный.
Ну и если уж по правильному, то нужно и корпус делать другой, чтобы солнце не влияло. Что-то наподобие этого.
Не думаю, что врать зимой будет прям сильно. Как говориться время покажет, всегда можно поправить.
Ешё и расположенный под прямыми солнечными лучами?
А по поводу расположения, вы не правы. Как раз таки висит весь день в тени…
Меня все устраивает, более чем. А ваши погрешности, это не по существу.))
Моё мнение, метеостанция должна хотябы минимум три параметра измерять: температура, влажность и давление.
Обычно метеостанция измереняет температуру, атмосферное давление, влажность, скорость ветра, направление ветра и количество осадков