Эволюция встраиваемых устройств:решение сложных задач проектирования
Встроенные устройства раньше было относительно просто проектировать до появления Интернета вещей. Разработчику устройства, промышленного контроллера или датчика окружающей среды требовалось только сопрягать входные сигналы, обрабатывать их с помощью микроконтроллера и обеспечивать управление выходом. Системы были автономными; и кроме реверс-инжиниринга, у хакера не было никаких стимулов для доступа к системе.
С появлением смартфона мы ожидаем, что наши устройства будут интеллектуальными, с возможностью обновления и доступными через Интернет. Безопасность не является обязательной:если к безопасности не относиться серьезно, это повлияет на данные, репутацию бренда и потоки доходов. Кроме того, встроенные системы становятся все более сложными, и вы не можете быть экспертом во всем! К счастью, вы можете использовать существующие стандарты и библиотеки стека, чтобы своевременно и безопасно завершить проект.
В этой статье описаны ключевые проблемы проектирования, с которыми сегодня сталкивается разработчик встраиваемых систем, а также некоторые из новых технологий, которые помогут дизайнерам решить эти проблемы.
Основные проблемы дизайна и ожидания рынка
- Расширенные пользовательские интерфейсы
Первые смартфоны представили богатый пользовательский интерфейс с высококачественным дисплеем и сенсорным экраном. В высокопроизводительные встроенные устройства добавлены ЖК-дисплеи, OLED-дисплеи и сенсорные экраны. Это увеличило требования к обработке и потребность в процессоре приложений и многофункциональной операционной системе. Для тех, кому не нужен прикладной процессор, технический прогресс увеличил тактовую частоту микроконтроллеров с десятков мегагерц до нескольких сотен мегагерц, а объем памяти - до нескольких мегабайт. Это позволило разработчикам и дальше пользоваться знакомыми архитектурами, такими как Arm Cortex-M.
Многим встроенным системам требуется только пользовательский интерфейс для настройки и периодического управления. Потребительские и промышленные устройства IoT чувствительны к цене и получают доступ к Интернету, что позволяет управлять ими через веб-интерфейс или приложение для смартфона. Например, данные промышленных датчиков можно отслеживать удаленно, чтобы управлять производительностью и ошибками, а также предотвращать возможные сбои. Это ставит новые задачи для инженера встраиваемых систем. Теперь они должны знать о RF, стеках протоколов, безопасности, удаленном управлении и обновлениях прошивки.
Рис. 1. Элементы управления умным домом (Источник:Getty Images, ID 908590688, Елена Пейчинова)
- Местное и дистанционное управление
Вы можете реализовать локальное и удаленное управление через Ethernet, WiFi, Bluetooth, Z-Wave, Zigbee или Thread - каждый из них имеет свои преимущества с точки зрения энергопотребления, сложности и стоимости. . В целом протоколы с низким энергопотреблением, такие как Bluetooth с низким энергопотреблением, Z-Wave и Zigbee, являются хорошими решениями для аккумуляторных приложений. К ним относятся дверные замки, датчики окружающей среды и беспроводные системы сигнализации. Устройства, которым требуется большая пропускная способность, например камеры видеонаблюдения и шлюзы датчиков, будут подключены через Wi-Fi. Или устройства в удаленных местах будут использовать сотовую связь. Интересный вариант - совместить WiFi и Bluetooth с низким энергопотреблением. Затем Bluetooth используется для ввода в эксплуатацию и локального доступа для уменьшения задержки, а Wi-Fi используется для удаленного доступа через Интернет.
Задача разработчика встроенного дизайна заключается не только в том, как выбрать правильное решение для своего продукта, но и в сложности интеграции радио, коммуникационных стеков и управления питанием - все без увеличения затрат.
Рис. 2. Сеть города (Источник:Getty Images, ID 811360940, Dong Wenjie)
- Низкое и пониженное энергопотребление
Низкое энергопотребление имеет решающее значение для приложений с батарейным питанием. Например, интеллектуальные счетчики воды должны работать от одной батареи в течение всего срока службы счетчика, который может составлять до 20 лет. С другой стороны, в дверном замке батарею можно заменять один раз в год, и это требует тщательного проектирования. Один из методов, используемых для энергосбережения, заключается в разработке микроконтроллера с очень низким энергопотреблением, который включается на очень короткие периоды времени и распознает действия пользователя. Тогда он будет спать дольше.
- Устройства становятся умнее
Дизайнеры ищут способы выделить свои продукты, добавляя интеллектуальные функции. Интеллектуальные функции обычно подразумевают, что устройство больше узнает о пользователе, среде и системе и может настраивать функциональность.
Машинное обучение - это один из способов добавления интеллектуальных функций с помощью алгоритма, который может учиться и адаптироваться. Сегодня мы видим машинное обучение повсюду:от разблокировки вашего отпечатка пальца (сопоставление с небольшим набором изображений отпечатка пальца) или функции автоматической пометки Facebook. Однако это довольно новое решение для встраиваемых систем с ограниченными затратами.
Отличным примером машинного обучения для встраиваемых систем являются интеллектуальные термостаты. Термостат будет изучать поведение пользователя в зависимости от его образа жизни, а затем со временем автоматически установит наиболее комфортную температуру. Для промышленного рынка примером может служить датчик вибрации для двигателей. Датчик может определить нормальную сигнатуру вибрации двигателя, а затем предупредить персонал, когда устройство требует обслуживания или вот-вот выйдет из строя.
Проблема для разработчиков встраиваемых систем состоит в том, чтобы начать работу с алгоритмами машинного обучения и уметь адаптировать их к потребностям приложения.
Рис. 3. Система климат-контроля умного дома (Источник:Getty Images, ID 474200292, MaxiPhoto)
- Необходимо обновить товары
Сегодня продукты редко поставляются с окончательным набором функций. Через беспроводные (OTA) обновления можно загрузить новую прошивку для добавления функций, исправления ошибок или исправления дыр в безопасности, что значительно продлит срок службы продукта. Продукты также должны разрабатываться с достаточным объемом памяти и вычислительной мощностью, чтобы можно было увеличить размер кода и функциональность.
Одна из задач - обеспечить безопасность обновлений микропрограмм и всех коммуникаций. Когда уязвимость прошивки исправлена, система не должна допускать отката прошивки. Если это произойдет, уязвимость будет обнаружена.
Рис. 4. Примеры встроенных приложений, которым могут потребоваться обновления OTA (источник:изображение из Getty Images, ID 145676156, Earl Wilkerson. Значки:Arm)
Новые технологии, которые помогут дизайнерам решить эти проблемы
Я обрисовал в общих чертах проблемы, с которыми сталкиваются разработчики встраиваемых систем, и тенденции в отрасли, которые ими движут, но как насчет потенциальных решений? Я бы сказал, что есть три фундаментальных метода проектирования, которые влияют на все области, определенные выше:реализация обработки сигналов, защита вашего устройства и добавление интеллектуальных возможностей с помощью машинного обучения.
Как я могу упростить обработку сигналов и сократить расходы?
Большинство встроенных систем имеют аналоговые интерфейсы. Это может быть как простое считывание температуры с помощью аналого-цифрового преобразователя, так и более сложные системы, такие как обработка звука с нескольких микрофонов (формирование луча) и распознавание голоса.
Старые разработки, которые использовались для выполнения большей части приложений и фильтрации в аналоговой области, но с выделенными процессорами цифровых сигналов (DSP), обработка переместилась в цифровую область. Это связано с тем, что DSP более точны, воспроизводимы при производстве и могут корректироваться с течением времени.
С появлением контроллеров цифровых сигналов (DSC) или микроконтроллеров с расширениями DSP дизайнеры теперь могут использовать лучшее из обоих миров. Единый контроллер, который может выполнять функции DSP и управления, позволяет снизить стоимость, площадь платы и энергопотребление.
Цифровая обработка сигналов может быть сложной, но дизайнерам не обязательно быть экспертами, чтобы использовать расширенную обработку. Например, Arm предоставляет бесплатную программную среду для встраиваемых приложений, библиотеки CMSIS-DSP.
Почему мне следует заботиться о безопасности?
Продукт, который поставляется с недостаточной безопасностью, может привести к потере данных, неудобной рекламе, финансовым затратам и разочарованию клиентов. Атаки системы безопасности могут охватывать все сектора и иметь разный уровень воздействия:от получения доступа к системе домашней автоматизации и включения и выключения света до промышленного шпионажа и получения доступа к сети через устройства IoT.
Внешние угрозы можно разделить на четыре типа атак:коммуникационные, жизненный цикл, программные и физические. Но как узнать, от каких угроз нужно защититься и как разработать дизайн с нужным уровнем безопасности для вашего устройства? В прошлом году мы запустили платформу безопасности для всех, кто проектирует подключенные устройства, Platform Security Architecture (PSA). Это трехэтапный процесс, дающий дизайнерам и разработчикам все необходимое для определения уровня безопасности и смягчения угроз, которые им следует выбрать. Документация PSA и открытый исходный код (Trusted Firmware-M) облегчают разработчикам начало работы.
Рис. 5. Доступная технология Arm для защиты от уязвимостей (Источник:Arm)
Как добавить интеллектуальные функции?
Интеллектуальные функции могут быть добавлены путем реализации сложных алгоритмов, написанных специалистами по данным. Система, которая реагирует на голосовые команды, может быть реализована путем анализа звуковых образцов и сравнения их с шаблоном для каждой команды. Проблема с этим подходом заключается в том, что он может хорошо работать для одного пользователя, но не для широкого круга пользователей, и не будет устойчивым в шумной или меняющейся среде.
Интеллектуальные функции с использованием машинного обучения требуют, чтобы система была обучена с использованием набора данных, такого как голосовые команды, произносимые множеством говорящих в разных средах и условиях. В этом обучении обычно используются облачные серверы. После того, как модель построена и оптимизирована, вывод или использование модели могут быть выполнены на встроенном процессоре.
Одним из решений является CMSIS-NN, бесплатная библиотека нейронных сетей, разработанная для максимизации производительности и минимизации объема памяти, занимаемой нейронными сетями на ядрах процессора Cortex-M.
Новая эра - новые возможности и новые вызовы
Нет сомнений в том, что встроенные устройства сложнее, чем когда-либо - требования к продукту растут, растет давление на расходы, а проблемы безопасности продолжают расти, особенно в отношении подключенных устройств.
Все эти факторы создают серьезные проблемы для разработчиков. Но хорошая новость заключается в том, что отрасль развивается, чтобы поддержать это с помощью IP, программного обеспечения, инструментов и учебных ресурсов, чтобы помочь разработчикам встроенных систем раздвинуть границы возможного.
Фил Берр - директор по существующему портфелю продуктов Embedded Group компании Arm. Он возглавляет группу, отвечающую за портфель процессоров Arm, помогая гарантировать, что эти процессоры позволят новым и существующим партнерам внедрять инновации. Фил также управляет программой Arm DesignStart - недорогим и легким способом доступа к Arm IP.
Интернет вещей
- Вы нужны машинной революции!
- Четыре большие проблемы для промышленного Интернета вещей
- Три основных проблемы подготовки данных IoT
- 5 проблем, с которыми все еще сталкивается Интернет вещей
- Изучение пяти основных проблем Интернета вещей через 5 C - Часть 1
- Проблемы тестирования программного обеспечения устройств Интернета вещей
- Дизайн системы управления:от простейших проектов к наиболее сложным
- Использование DevOps для решения проблем встроенного программного обеспечения
- Преодоление проблем разработки Интернета вещей
- Эволюция трехмерного зрения