Встраиваемые системы на сегодняшний день являются краеугольным камнем электронной промышленности. Встроенные системы используются почти во всех областях, таких как потребительская, кулинарная, промышленная, автомобилестроительная, медицинская, коммерческая и т.д.
Что такое система?
Система — это способ работы, организации или выполнения одной или нескольких задач в соответствии с фиксированным планом, программой или набором правил. Система — это также устройство, в котором все ее элементы собираются и работают вместе в соответствии с планом или программой.
Примеры:
- Часы — это СИСТЕМА отображения времени
- Стиральная машина — это автоматическая СИСТЕМА стирки одежды.
Встроенная система
Встроенная система означает что-то, что связано с чем-то другим. Встраиваемую систему можно рассматривать как компьютерную аппаратную систему, в которую встроено программное обеспечение. Встроенная система может быть независимой системой или частью большой системы. Она предлагает множество преимуществ, таких как сложное управление, низкая стоимость единицы, низкая стоимость разработки, высокая гибкость, малый размер и малый вес. Эти основные характеристики можно использовать для улучшения системы или устройства в целом различными способами:
- Повышение производительности
- Больше функций и возможностей
- Снижение затрат
- Повышенная надежность
Благодаря этим преимуществам ежегодно продаются миллиарды микроконтроллеров для создания встраиваемых систем для широкого спектра продуктов. Другими словами: встроенная система — это система на основе микроконтроллера или микропроцессора, которая предназначена для выполнения определенной задачи. Например, пожарная сигнализация — это встроенная система.
Встроенные системы содержат два основных элемента:
Встроенное системное оборудование. Как и любая электронная система, встроенная система требует аппаратной платформы для работы. Аппаратное обеспечение будет основано на микропроцессоре или микроконтроллере. Аппаратное обеспечение встроенной системы также будет содержать другие элементы, включая память, интерфейсы ввода-вывода (I / O), а также пользовательский интерфейс и дисплей.
Встроенное системное программное обеспечение. Встроенное системное программное обеспечение написано для выполнения определенной функции. Обычно оно записывается в формате высокого уровня, а затем компилируется, чтобы предоставить код, который можно разместить в энергонезависимой памяти оборудования.
Базовая структура встроенной системы
Ниже кратко описаны различные блоки встроенной системы:
Датчик — он измеряет физическую величину и преобразует ее в электрический сигнал, который может быть прочитан пользователем или любым электронным прибором, таким как преобразователь A-D. Датчик сохраняет измеренную величину в памяти.
АЦП — аналого-цифровой преобразователь преобразует аналоговый сигнал, посылаемый датчиком, в цифровой сигнал.
Процессор и ASIC — процессоры обрабатывают данные для измерения выходных данных и сохранения их в памяти.
ЦАП — цифро-аналоговый преобразователь преобразует цифровые данные, подаваемые процессором, в аналоговые данные.
Привод — привод сравнивает выходной сигнал, выданный DA-преобразователем, с фактическим (ожидаемым) выходным сигналом, хранящимся в нем, и сохраняет утвержденный выходной сигнал.
Оборудование встроенной системы
При использовании встроенной системы есть выбор между использованием микроконтроллера или микропроцессора.
Системы на основе микроконтроллеров: микроконтроллер — это, по сути, ЦП, центральный процессор или процессор со встроенной памятью или периферийными устройствами. Поскольку требуется меньше внешних компонентов, более широко используются встроенные системы, использующие микроконтроллеры. Базовая блок-схема приведена ниже:
Системы на основе микропроцессоров: микропроцессоры содержат ЦП, но используют внешние микросхемы для памяти и периферийных интерфейсов. Поскольку для них требуется больше устройств на плате, то они допускают большее расширение и выбор точных периферийных устройств. Этот подход, как правило, используется для более крупных встраиваемых систем. Базовая блок-схема приведена ниже:
Программное обеспечение встраиваемых систем
Одним из ключевых элементов любой встраиваемой системы является программное обеспечение, которое используется для запуска микроконтроллера.
Это можно записать разными способами:
Машинный код. Машинный код — это самый простой код, который используется для процессора. Код обычно представляет собой шестнадцатеричный код и предоставляет основные инструкции для каждой операции процессора. Эта форма кода в наши дни редко используется для встраиваемых систем.
Язык программирования. Написание машинного кода очень трудоемкое занятие и требует много времени. Код бывает сложно понять и отладить. Чтобы преодолеть это, часто используются языки программирования высокого уровня. Обычно используются языки, такие как C, C ++ и т.д.
Встроенная системная архитектура
Существует два основных типа архитектуры встроенных систем. Когда данные и код находятся в разных блоках памяти, архитектура называется гарвардской. В случае, если данные и код находятся в одном блоке памяти, тогда архитектура называется архитектурой фон Неймана.
Архитектура фон Неймана
Архитектура фон Неймана была впервые предложена компьютерным ученым Джоном фон Нейманом. В этой архитектуре существует один путь или шина данных как для инструкции, так и для данных. В результате ЦП выполняет одну операцию за раз. Он либо извлекает инструкцию из памяти, либо выполняет операцию чтения / записи данных. Таким образом, выборка команды и операция с данными не могут происходить одновременно, имея общую шину. Базовая блок-схема показана ниже:
Архитектура фон Неймана поддерживает простое оборудование. Это позволяет использовать одну последовательную память. Сегодняшняя скорость обработки значительно превосходит время доступа к памяти, и мы используем очень быстрый, но небольшой объем памяти (кэш), локальный по отношению к процессору.
Гарвардская Архитектура
Гарвардская архитектура предлагает отдельные хранилища и сигнальные шины для инструкций и данных. В этой архитектуре хранилище данных полностью содержится в ЦП, и нет доступа к хранилищу инструкций как к данным. Компьютеры имеют отдельные области памяти для программных инструкций и данных, использующих внутренние шины данных, что обеспечивает одновременный доступ как к инструкциям, так и к данным. Базовая блок-схема приведена ниже:
Программы должны быть загружены оператором; процессор не может загрузиться сам. В архитектуре Гарварда нет необходимости заставлять два воспоминания разделять свойства.
Периферийные устройства во встроенных системах
Встроенные системы взаимодействуют с внешним миром через свои периферийные устройства, например:
- Интерфейсы последовательной связи (SCI), такие как RS-232, RS-422, RS-485 и т.д.
- Интерфейсы синхронной последовательной связи, такие как I2C, SPI, SSC и ESSI
- Универсальные последовательные шины (USB)
- Мультимедийные карты (SD-карты, Compact Flash и т.д.)
- Такие сети, как Ethernet, LonWorks и т.д.
- Полевые шины, такие как CAN-Bus, LIN-Bus, PROFIBUS и т.д.
- Таймеры, такие как PLL, Capture / Compare и Time Processing Units.
- Дискретный ввод-вывод, также известный как ввод / вывод общего назначения (GPIO).
- Аналого-цифровое / цифровое-аналоговое (АЦП / ЦАП).
- Отладка, такая как JTAG, ISP, ICSP, порт BDM, порты BITP и DP9.
Вывод
Требования ко многим встраиваемым системам существенно отличаются от настольных компьютеров как по деталям, так и по объему. В частности, при проектировании системы могут доминировать требования конкретного приложения и интерфейса при работе с внешним оборудованием. Кроме того, длительный жизненный цикл, и в некоторых случаях чрезвычайная чувствительность к стоимости, требуют большего внимания к оптимизации, основанной на этих целях, а не к максимизации вычислительной производительности.
Деловой и культурный климат во многих ситуациях проектирования встроенных систем таков, что традиционные методы компьютерного проектирования, основанные на моделировании, могут оказаться нежизнеспособными в их нынешней форме. Такие методологии могут быть нерентабельными с учетом ограничений по категориям расходов.
Недавний интерес к проектированию программного и аппаратного обеспечения является шагом в правильном направлении, поскольку он допускает компромиссы между аппаратным и программным обеспечением, которые имеют решающее значение для более экономичных встраиваемых систем. Однако для будущего успеха, возможно, потребуется еще больше расширить их область применения.
С Уважением, МониторБанк