К Android 6.0 Marsmallow готов! Концентратор датчиков SENtral-A2 от PNI

| PNI

В одной из прошлых публикаций на портале УНИТЕРА уже рассказывалось о сопроцессоре-концентраторе датчиков SENtral-A для Android 4.4 KitKat. В этот раз мы рассмотрим еще один продукт от компании PNI из того же семейства. Новейший сопроцессор-концентратор SENtral-A2 обладает всем необходимым функционалом для работы с ОС Android 6.0 Marshmallow. Несмотря на увеличение числа поддерживаемых датчиков, SENtral-A2 сохранил все достоинства своего предшественника: малое потребление, компактные размеры и высокую производительность.

Концентраторы SENtralA2 совместимы с ОС Android 6.0 Marshmallow

Рис. 1. Концентраторы SENtral-A2 совместимы с ОС Android 6.0 Marshmallow

Новые сопроцессоры SENtral-A2 являются развитием линейки концентраторов SENtral-A от компании PNI (рис. 2). Главное отличие SENtral-A2 от предшественника состоит в совместимости с Android 6.0 Marshmallow. По сравнению с Android 4.4 KitKat последняя версия этой операционной системы может похвастаться расширенным перечнем поддерживаемых датчиков. На настоящий момент число реализованных и зарезервированных сенсоров превысило 31: акселерометр, магнитометр, датчик ориентации (азимут, поворот, вращение), гироскоп (с температурной компенсацией), датчик освещенности, барометр, датчик температуры, датчик приближения, датчик гравитации, датчик линейных ускорений, 9-осевой датчик вращения, датчик влажности, датчик температуры окружающей среды, магнитометр (без калибровки), игровой 6-осевой сенсор (акселерометр + гироскоп), гироскоп (без калибровки), датчик ударов, детектор шагов, счетчик шагов, геомагнитный 6-осевой сенсор (акселерометр + магнитометр), датчик сердечного ритма, датчик вращения (по изменению), жест пробуждения, Wake Gesture, Glance Gesture, Pick Up Gesture, Activity и еще пять позиций остаются зарезервированными.

SENtralA2 – развитие линейки SENtralA

Рис. 2. SENtral-A2 – развитие линейки SENtral-A

В конце приведенного списка перечислены новые сенсоры (Wake Gesture, Glance Gesture, Pick Up Gesture, Activity). У них есть общие черты. Во-первых, все они являются виртуальными. Это значит, что у них отсутствует физическая реализация, а выходные данные являются результатами обсчета показаний реальных сенсоров (акселерометр, гироскоп, магнитометр, датчик освещения, датчик приближения и т. д.). Во-вторых, почти все новые виртуальные датчики понадобились для создания «быстрых» функций, которые помогают взаимодействовать со смартфоном даже без касания экрана или нажатия кнопок. В качестве примера можно привести функцию быстрого пробуждения (датчик Wake Gesture). Она разблокирует телефон после встряски.

Поддержка широкого круга реальных и виртуальных датчиков в Android 6.0 Marshmallow вызвано спросом на самые разнообразные функции гаджетов: определение активности человека (сидит, стоит, бежит), обнаружение способа передвижения (пешая прогулка, велосипед, мотоцикл и т. д.), распознавание жестов, контроль физических показателей (например, пульса), контроль освещенность и подстройка уровня подсветки экрана, определение положения телефона (приложен к уху, на столе, перевернут, перед лицом) и многие другие.

Разнообразие функций и датчиков – это бесспорно хорошо, однако с точки зрения технической реализации это приводит к ряду инженерных проблем.

Рост требований к вычислительной мощности. Это вполне очевидная проблема: чем больше датчиков, тем больше нужно ресурсов, чтобы их обсчитать. Кроме того следует учитывать дополнительные факторы. Во-первых, большинство сенсоров являются виртуальными, то есть существуют только в виде результатов вычислений. Во-вторых, часть датчиков требует постоянного контроля, а часть работает по принципу компаратора и срабатывает только при выходе показаний за заданные границы. В-третьих, для постоянно опрашиваемых сенсоров важно гарантировать защиту от потери данных, а, значит, нужно либо успевать их обсчитывать в реальном времени, либо формировать буферы данных. В-четвертых, часть сенсоров, например, Wake Gesture, сами должны выключать себя при срабатывании, а процессор должен успевать активировать их вновь. С учетом вышесказанного, проблема увеличения вычислительной мощности не кажется такой уж надуманной.

Увеличение потребления. Увеличение потребляемой мощности происходит как за счет потребления самих сенсоров, так и за счет потребления процессоров, которые производят обсчет получаемых данных. Это очень важная проблема, так как большинство Android-устройств работают автономно, с питанием от аккумуляторов или батареек.

Рост габаритных размеров. Каждый, кто хоть раз вскрывал современный смартфон, знает, что место для новых компонентов там практически отсутствует. Поэтому необходимо использовать только наиболее миниатюрные датчики и микросхемы.

Для работы с большим количеством сенсоров используется два подхода (рис. 3). В первом случае выбирается мощный центральный процессор, который берет на себя все функции работы с датчиками: от опроса до обсчета данных. Это решение не подходит для производительных смартфонов, так как процессор часто оказывается слишком загруженным. Во втором случае функции работы с датчиками перекладываются на дополнительный сопроцессор или микроконтроллер. Если речь идет о микроконтроллерах общего назначения, то они не всегда отвечают требованиям по низкому потреблению, так как имеют избыток ненужной периферии и памяти.

Различные схемы работы с датчиками

Рис. 3. Различные схемы работы с датчиками

Компания PNI предлагает свое решение всех перечисленных проблем в виде специализированных сопроцессоров-концентраторов SENtral, которые были разработаны специально для ОС Android. Ранее мы уже писали о сопроцессоре SENtral-A, совместимом с Android 4.4 KitKat. Теперь данное семейство пополнилось новым представителем SENtral-A2. SENtral-A2 поддерживает все функции Android 6.0 Marshmallow при работе с датчиками. 

В общем случае функционал SENtral-A2 не отличается от функционала его предшественника SENtral-A: сопроцессоры заменяют собой микроконтроллеры общего назначения (рис. 4). Они общаются с датчиками по одной из двух шин I2C. А другая шина I2C служит для связи с центральным процессором.

Использование сопроцессоров SENtralA2 для обсчета датчиков

Рис. 4. Использование сопроцессоров SENtral-A2 для обсчета датчиков

Функциональная схема сопроцессоров SENtral-A2 соответствует схеме предшественника SENtral-A (рис. 5).

Функциональная схема сопроцессоров SENtralA2

Рис. 5. Функциональная схема сопроцессоров SENtral-A2

Интерфейсы. SENtral-A2 использует две шины: шина I2C для процессора и шина I2C для датчиков.

Блок определения вращения. Необходим для формирования сигналов ориентации устройства. Частота этих данных ограничена скоростью опроса гироскопа и может достигать 200 Гц. Аналогичный параметр для SENtral-A составлял 400 Гц.

Фильтр Калмана. Использует данные от 3-хосевого гироскопа, 3-хосевого акселерометра, 3-хосевого магнитометра, детектора магнитных отклонений, блока автокалибровки для определения положения устройства с предсказанием.

Блок автокалибровки. Использует как аппаратные, так и программные алгоритмы автокалибровки. SENtral-A и SENtral-A2 – это единственные сопроцессоры на рынке, которые могут похвастаться учетом погрешностей не только от сильных магнитных воздействий, но и от слабых магнитных полей.

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

ОЗУ. Используется для хранения параметров, заданных пользователем.

Транзитная схема. Необходима для организации прямого обмена между шиной I2C процессора и шиной I2C датчиков.

Входными датчиками для SENtral-A2 являются 3-хосевой гироскоп, 3-хосевой акселерометр, 3-хосевой магнитометр (рис. 6). На выход SENtral-A2 транслирует сигналы реальных и виртуальных сенсоров, заявленных в спецификации Android 6.0 Marshmallow. Здесь еще раз стоит отметить, что датчики могут работать как непрерывно, так и по прерыванию, с автозапуском и запуском от процессора, с постоянной и переменной частотой опроса, с обработкой в реальном времени и с буферами для хранения отсчетов. Все эти возможности реализует SENtral-A2.

Подключение сопроцессоров SENtralA2

Рис. 6. Подключение сопроцессоров SENtral-A2

Несмотря на расширение списка поддерживаемых датчиков, SENtral-A2 сохранил минимальный уровень потребления. При этом габаритные размеры увеличились незначительно 1,7 x 1,7 x 0,5 мм.

В качестве заключения хотелось бы кратко перечислить преимущества, которые сопроцессоры SENtral-A2 дают пользователям:

  • Поддержка реальных и виртуальных датчиков, предусмотренных ОС Android 6.0 Marshmallow.
  • Минимальный уровень потребления. Ориентировочно концентраторы семейства SENtral-A тратят только 10% от мощности микроконтроллеров общего назначения. Это возможно благодаря высокому уровню оптимизации внутренней структуры (в которой нет ничего лишнего) и наличию режимов пониженного потребления. В результате потребление SENtral-A при максимальной производительности не превышает 800 мкА, а в режиме ожидания всего 5 мкА!
  • Возможность гибкой работы с датчиками различных производителей.
  • Наличие встроенных алгоритмов, что упрощает работу программистов.
  • Высокая точность расчетов.
  • Поддержка аппаратных и программных алгоритмов калибровки.
  • Компенсация внешних магнитных полей.
  • Минимальные габариты корпуса: 1,7 x 1,7 x 0,5 мм.

Характеристики сопроцессора SENtral™-A2:

  • выходные данные реальных и виртуальных датчиков: акселерометр, магнитометр, датчик ориентации (азимут, поворот, вращение), гироскоп (с температурной компенсацией), датчик освещенности, барометр, датчик температуры, датчик приближения, датчик гравитации, датчик линейных ускорений, 9-осевой датчик вращения, датчик влажности, датчик температуры окружающей среды, магнитометр (без калибровки), игровой 6-осевой сенсор (акселерометр + гироскоп), гироскоп (без калибровки), датчик ударов, детектор шагов, счетчик шагов, геомагнитный 6-осевой сенсор (акселерометр + магнитометр), датчик сердечного ритма, датчик вращения (по изменению), жест пробуждения, Wake Gesture, Glance Gesture, Pick Up Gesture, Activity;
  • точность: 2˚ rms;
  • скорость опроса: магнитометр 7 Гц, акселерометр 100 Гц, гироскоп 95 Гц;
  • коммуникационный интерфейс с датчиками: I2C;
  • коммуникационный интерфейс с ведущим процессором: I2C;
  • напряжение питания: 1,6…3,3 В;
  • максимальное потребление вактивном режиме (0…+40°C): менее 800 мкА;
  • потребление в активном режиме (0…+40°C): 350 мкА;
  • потребление в режиме сна (0…+40°C): 40/7 мкА;
  • потребление в режиме ожидания (0…+40°C): 6 мкА;
  • диапазон рабочих температур: -40…+85°C;
  • корпус: 1,7 x 1,7 x 0,5 мм.
Производитель: PNI
Наименование
Производитель
Описание Корпус/
Изображение
Цена, руб. Наличие
SENtral-A2
SENtral-A2
PNI
Арт.: 2259744 ИНФО PDF
Поиск
предложений
Новые сопроцессоры SENtralA2 - развитие линейки концентраторов SENtralA от компании PNI. Главное отличие SENtralA2 от предшественника состоит в совместимости с Android 6.0 Marshmallow.
SENtral-A2
-
Поиск
предложений