Современные встраиваемые системы (встроенные системы, англ. embedded system) - назначение, виды, примеры встроенных систем, обучение

Обновлено: 06.05.2024

Встра́иваемая систе́ма, встро́енная систе́ма (англ. embedded system) — это специализированная компьютерная система, в которой сам компьютер обычно встроен в устройство, которым он управляет.

Особенности

  • Очень малое энергопотребление, от 0,5 до ~20 ватт.
  • Маленькие размеры.
  • Отсутствие больших систем отвода тепла (охлаждения). Зачастую ЦПУ не охлаждается вообще или используется небольшой радиатор.
  • ЦПУ и системная логика, а также некоторые другие ИС, часто совмещены на одном кристалле (SOC).

Основой построения встроенных систем могут служить одноплатные или однокристальные микроконтроллеры, специализированные или универсальные ЦПУ, ПЛИС. Интересной особенностью некоторых видов встроенных систем является использование довольно устаревших процессоров семейства x86 (например i386, i486, Pentium) и их клонов из-за малого энергопотребления и низкой стоимости (порядка 1-5 долл.).

Также многие виды встроенных систем используют ЦПУ архитектуру ARM.

Примеры

Примерами встроенных систем могут служить банкоматы, авионика, КПК, телекоммуникационное оборудование и тому подобные устройства.

Безопасность встроенных систем

Некоторые встроенные системы используются в массовых количествах (например, устройства RFID). Встроенные системы являются привлекательной целью для создателей вредоносного кода из-за своей распространённости и относительной беззащитности. Постепенно возникает вредоносный код для встроенных систем (Cabir, RFID-вирус); к счастью, этот процесс пока затрудняется разнородностью встроенных устройств, отсутствием доминирующего ПО, и ограниченной функциональностью некоторых видов устройств. С другой стороны, задача антивирусных компаний и исследователей компьютерной безопасности также осложнена этими обстоятельствами, а также маломощностью встроенных систем, зачастую не позволяющей пользоваться распространённым антивирусным ПО.

Аннотация: В данной лекции рассматриваются примеры встроенных систем, приводятся примеры используемых во встроенных системах процессоров.


Этот духовой шкаф TMIO ConnectIO является встроенной системой. Он может охладить продукты перед их приготовлением. Им можно удаленно управлять через Интернет или по телефону. Он использует ОС Windows Embedded CE OS. Позвоните ему по пути домой и ваша еда будет готова, когда вы будете дома. Фотография с разрешения TMIO LLC .

Встроенная система является электронным устройством, которое включает в своей реализации компьютер . Пользователь встроенного устройства часто даже не знает, что в устройстве имеется компьютер . Компьютер используется, прежде всего, для обеспечения гибкости и для упрощения конструкции системы. В отличие от ПК программный код хранится обычно в ROM , а не на жестком диске. Обычно конечный пользователь не разрабатывает новое программное обеспечение для встроенного устройства. С развитием технологии VLSI встроенные системы стали настолько недорогими, что их можно найти в большинстве современных электронных устройств.

Примеры встроенных систем

Робот, такой как марсоход , показанный на рисунке 1.1, является встроенной системой. Сотовый телефон, PDA , или портативный мультимедиа плеер, показанные на рисунке 1.2, являются встроенными устройствами. Даже электрическая зубная щетка, показанная на рисунке 1.2, является встроенной системой. Небольшой микроконтроллер в зубной щетке обеспечивает программируемое управление скоростью и индикацию состояния заряда батареи. Высококачественные автомобили могут содержать около ста встроенных микроконтроллеров. Типичное домовладение среднего класса имеет около пятидесяти встроенных устройств. Для каждого ПК в мире имеется более сотни встроенных устройств. В общей сложности, встроенные устройства составляют большую часть мирового производства микропроцессоров.

Роботы, такие как марсоход, являются встроенными системами. Фотография с разрешения NASA/JPL CALTECH


Рис. 1.1. Роботы, такие как марсоход, являются встроенными системами. Фотография с разрешения NASA/JPL CALTECH

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

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


Сотовые телефоны, PDA, и мультимедийные плееры, все являются встроенными системами. Даже эта электрическая зубная щетка! Фотографии с разрешения Motorola, Microsoft, и Philips Sonicare


Рис. 1.2. Сотовые телефоны, PDA, и мультимедийные плееры, все являются встроенными системами. Даже эта электрическая зубная щетка! Фотографии с разрешения Motorola, Microsoft, и Philips Sonicare

Операционные системы реального времени

Системы реального времени должны отвечать на внешние параметры ввода и создавать новые результаты вывода за ограниченное время, как показано на рисунке 1.3. Время ответа должно быть ограничено. Очень длительное время ответа может привести к отказу систем реального времени.

Иллюстративным примером системы реального времени является контроллер автомобильной воздушной подушки безопасности. Когда датчики движения воздушной подушки ( акселерометры ) распознают столкновение, системе необходимо среагировать, раскрывая воздушную подушку в течение 10 мс, или система не сработает нужным образом. На высокой скорости с задержкой более 10 мс водитель уже столкнется с рулевым колесом до того, как раскроется подушка.


Рис. 1.3. Система реального времени должна отвечать на внешние параметры ввода и создавать новые результаты вывода за ограниченное время или система откажет. Время реакции может быть в интервале от 0.5 до 10 мс

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

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

Процедуры обмена страниц виртуальной памяти и сборки мусора, необходимые объектно-ориентированным языкам, могут вызывать проблемы в жестких системах реального времени. Даже кэширование является иногда проблемой, так как может приводить к изменению времени выполнения программы.

Многие встроенные системы являются системами реального времени с несколькими входами и выходами. Несколько событий происходят независимо друг от друга. Программирование упрощается при разделении задач, но это требует от ЦП постоянного переключения между различными задачами. Операционная система , которая поддерживает мультизадачность, обеспечивает разделение времени ЦП между несколькими задачами. ОС обеспечивает также элементы синхронизации, необходимые для координации действий между различными задачами, выполняющимися параллельно.

Операционные системы часто классифицируют по их характеристикам реального времени. Операционная система реального времени должна быть тщательно спроектирована, чтобы поддерживать приложения реального времени. Недавнее исследование приходит к выводу, что 95% приложений реального времени требуют ограниченного времени ответа в диапазоне от 0.5 до 10 мсек. Только 10% отклонение (колебание от 50 микросекунд до 1 мсек) во времени ответа может быть допустимо. Согласно таким требованиям большинство операционных систем общего назначения не являются системами реального времени. Согласно этим критериям встроенная ОС, такая как Windows Embedded CE, квалифицируется как операционная система реального времени (ОС РВ) (Основывается на определении и оценках времени принятых рабочей группой Open , Modular, Architecture Control (OMAC): Жесткой системой реального времени является система, которая отказывает, если ее требования по времени не удовлетворяются; мягкая система реального времени может допускать значительные вариации при предоставлении служб операционной системы, таких как прерывания, таймеры, и планирование).

Код ядра в ОС РВ написан таким образом, что прерывания процессора отключаются только на очень короткие периоды времени. Максимальное время реакции прерывания (задержка) является ключевым фактором во времени ответа ОС РВ. Традиционная ОС настольного компьютера, такая как Windows XP, может рассматриваться в лучшем случае только как мягкая ОС реального времени . Для Windows XP существуют некоторые инструменты сторонних поставщиков, которые улучшают время ответа.

Операционные системы для встроенных систем

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

Выпущенная недавно модель сотового телефона содержит более пяти миллионов строк кода. Немногие, если вообще какие-то проекты, будут иметь время и средства, необходимые для разработки всего этого кода полностью самостоятельно. В таких случаях имеет экономический смысл использовать существующую операционную систему. Сокращение времени разработки и снижение расходов вполне оправдают стоимость лицензии операционной системы.

Лицензионные отчисления типичной коммерческой встроенной ОС составляют только несколько долларов на устройство. Некоторые очень простые устройства могут обходиться без ОС, но новые устройства постоянно становятся все более сложными.

В связи с этим большинство встроенных устройств используют встроенную операционную систему. Встроенные операционные системы обычно разрабатываются большей частью на C/C++ и поставляются вместе с компилятором C/C++, ассемблером, и инструментами отладки, чтобы помочь разработчикам в разработке прикладных программ и тестировании устройства. Инструменты разработки встроенных систем должны также поддерживать выполнение программ с помощью кода, хранящегося в энергонезависимой памяти, такой как ROM или память Flash .

Встроенная система ( В страиваемая система, Embedded System) - это компьютерная система, состоящая из надлежащим образом подобранных аппаратных и программных компонентов, часто разработанная для конкретного программного приложения. Встроенная система отвечает за выполнение своих функций и влияет на способ общения с пользователем.

Еще одно определение: Встроенная система - это система аппаратного и программного обеспечения на базе микропроцессора или микроконтроллера, предназначенная для выполнения специальных функций в более крупной механической или электрической системе.

В этой статье представлена ​​информация о различных аспектах современных встроенных систем.

Разработка встраиваемых систем

Что такое встроенная система?

Сегодня сложно представить современное мультимедийное электронное оборудование без возможности свободно выбирать параметры музыки, которую вы слушаете, или изображения, которое вы смотрите. Это возможно благодаря использованию микропроцессоров, управляющих работой этих устройств и размещенных внутри них (отсюда и название: Embedded System).

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

Встраиваемые системы, Embedded Systems

Комбинация методов и инструментов, используемых как в автоматизации, так и в информационных технологиях, позволила достичь совершенно нового качества. Несомненно, основной исходный контент содержится в термине: "Компьютерные системы управления". Они включают анализ и оценку компьютерных систем с точки зрения реализации управления объектами и процессами, а также необходимых требований к программному обеспечению для этих систем.

Развитие компьютерных систем и растущие требования к качеству контроля привели к появлению двух направлений в специализированных решениях для контроля. Это программируемые логические контроллеры (ПЛК) и микроконтроллеры. На основе этих тенденций создаются специализированные системы, которые выполняют все функции управления объектами или процессами и тесно связаны с ними.

Введение во встроенные системы

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

Каждая встроенная система основана на микропроцессоре (или микроконтроллере), запрограммированном на выполнение ограниченного числа задач или даже только одной задачи.

В зависимости от назначения он может содержать программное обеспечение, предназначенное только для данного устройства (прошивка) или операционная система со специализированным программным обеспечением. Обычно это определяется степенью надежности, которую должна предложить встроенная система.

Как правило, чем менее сложным и специализированным является программное обеспечение, тем надежнее система и позволяет быстрее реагировать на критические события.

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

Где применяются встроенные системы?

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

Такие решения можно найти в измерительном оборудовании, в том числе осциллографах, анализаторах спектра, в автомобилях (например, бортовые компьютеры), компьютерном оборудовании (жесткие диски, оптические приводы, маршрутизаторы), в решениях для телекоммуникаций, в так называемых интеллектуальных зданиях, в устройствах, используемых в медицинской диагностике, системах управления полетом, а также, естественно, в станках с ЧПУ, роботах и промышленных машинах и ряде систем управления в автоматизации.

Мобильные телефоны и информационный киоск

Мобильные телефоны, телевизоры, плееры, бытовая техника, термостаты, кондиционеры, банкоматы, информационные киоски, мультимедийные и интерактивные развлекательные системы, игровые приставки, игровые автоматы, принтеры, копировальные аппараты, калькуляторы, спутниковые навигационные системы, светофоры, системы сигнализации для защиты людей и имущества, например, противовзломные, охранные, пожарные - это наиболее характерные примеры встроенных систем.

Сложность этого типа решений очень разнообразна - от простых потребительских систем на основе маломощных микроконтроллеров до многопроцессорных распределенных систем, используемых в робототехнике или на железных дорогах.

Главной особенностью, которая отличает встроенные системы от других компьютерных систем, является, помимо специализированного характера, качество программного обеспечения и используемых аппаратных компонентов.

Встроенная система из-за области ее применения также должна быть полностью протестирована и стабильна - программные ошибки здесь могут иметь катастрофические последствия.

Светофоры

История встроенных систем

Первой современной встроенной вычислительной системой реального времени был компьютер Apollo Guidance Computer, разработанный в 1960-х годах доктором Чарльзом Старком Дрейпером из Массачусетского технологического института для программы Apollo. Управляющий компьютер Apollo был разработан для автоматического сбора данных и выполнения критически важных расчетов для командного модуля Apollo и лунного модуля.

Apollo Guidance Computer

Apollo Guidance Computer

В 1971 году Intel выпустила первый коммерчески доступный микропроцессор - Intel 4004, для которого все еще требовались микросхемы поддержки и внешняя память.

В 1978 году Национальная ассоциация производителей машиностроения выпустила стандарт для программируемых микроконтроллеров, улучшив конструкцию встроенных систем и к началу 1980-х компоненты системы памяти, ввода и вывода были интегрированы в тот же чип, что и процессор, образуя микроконтроллер.

Встроенная система на основе микроконтроллера будет впоследствии включена во все аспекты повседневной жизни потребителей, от устройств чтения кредитных карт и сотовых телефонов до светофоров и термостатов.

Как работает встроенная система?

Встроенные системы управляются микроконтроллерами или процессорами цифровых сигналов (DSP), специализированными интегральными схемами (ASIC), программируемыми логическими матрицами (FPGA). Эти системы обработки интегрированы с компонентами, предназначенными для работы с электрическими и / или механическими интерфейсами.

Инструкции по программированию встроенных систем, называемые микропрограммами, хранятся в постоянном запоминающем устройстве или микросхемах флэш-памяти, работающих с ограниченными аппаратными ресурсами компьютера. Встроенные системы соединяются с внешним миром через периферийные устройства, связывая устройства ввода и вывода.

Микросхема для создания встроенного устройства

Как разрабатываются встроенные системы?

Проектирование и создание встроенных систем не укладывается в существующие рамки стандартных дисциплин, с которыми эти решения связаны. Обязательно требуются знания как электроники, так и информатики. Несомненно, наиболее правильным решением было бы заняться вопросами разработки встраиваемых систем после получения подготовки также в области автоматизации и управления, а также мехатроники и робототехники.

Проектирование встроенной системы включает в себя как разработку специального аппаратного уровня, так и соответствующего программного обеспечения. В последнем можно разделить системную область и область приложения.

Системный уровень создает среду выполнения для встроенного приложения и, в зависимости от области приложения, имеет разную степень сложности. Для простых встроенных систем с закрытой не масштабируемой архитектурой системный уровень не является строго отдельным и не содержит механизмов для поддержки разработки приложений.

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

Популярный онлайн видео курс:

Умный чайник

Успех всего проекта во многом зависит от функциональности и удобства использования приложения. Создание встроенной системы требует анализа требований, разработки соответствующей архитектуры и ее сознательной декомпозиции.

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

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

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

Пример встроенных систем

Будущие тенденции встраиваемых систем

Согласно последнему отчету Global Market Insights, рынок встраиваемых систем растет - в настоящее время его стоимость превышает 12 миллиардов долларов США, а, по оценкам, к 2025 году он вырастет до 20 миллиардов долларов США. Согласно прогнозам, растущий спрос на Linux и операционные системы реального времени (ОСРВ) с открытым исходным кодом обеспечит значительный рост рынка встроенного программного обеспечения.

Ожидается, что индустрия встраиваемых систем будет продолжать быстро расти благодаря постоянному развитию искусственного интеллекта (AI), виртуальной реальности (VR) и дополненной реальности (AR), машинного обучения, глубокого обучения и Интернета вещей (IoT).

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

Читайте также: