моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Встроенная сеть — это сетевая система, используемая для соединения различных встроенных систем, чтобы они могли передавать информацию друг другу и совместно использовать ресурсы. Встроенные системы используют разные технологии подключения в разных ситуациях, например, домашние информационные сети в семейных комнатах, полевые шины в области промышленной автоматизации и сети мобильной связи во встроенных системах, таких как мобильное информационное оборудование. Кроме того, существуют некоторые специальные технологии подключения. используется для подключения встроенных систем.
Fieldbus — это технология компьютерного управления, разработанная в середине 1980-х годов после аналоговых систем управления приборами, централизованных цифровых систем управления и распределенных систем управления. Сегодня это также одна из горячих точек развития технологий в области автоматического управления. в области промышленной автоматизации часто называют компьютерной локальной сетью.
Fieldbus — это сеть, которая соединяет полевые устройства, такие как цифровые датчики, преобразователи, промышленные приборы и исполнительные механизмы управления, с блоками управления промышленными процессами и полевыми рабочими станциями. Он обладает характеристиками полной цифровизации, децентрализации, двусторонней передачи и многоотраслевости. Это продукт развития сети промышленного управления на полевом уровне.
Fieldbus — это базовая сеть управления с низкой пропускной способностью, расположенная в нижней части структур управления производством и сетевых структур, поэтому ее также называют базовой сетью (Интранет). Он в основном используется на производственных площадках для обеспечения двусторонней последовательной многоузловой цифровой связи между измерительным и управляющим оборудованием.
Field Control System (FCS) — это система управления, использующая полевую шину для подключения различных контроллеров и инструментального оборудования. Эта система управления полностью децентрализует функции управления на объекте, сокращая затраты на установку и техническое обслуживание. Фактически, FCS — это открытая, совместимая и полностью децентрализованная распределенная система управления.
Встроенная система управления полем включает специальный микропроцессор в традиционный прибор измерения и контроля, что позволяет ему использовать возможности цифровых вычислений и цифровой связи. Он использует витые пары, линии электропередачи или оптические волокна в качестве шины для подключения нескольких приборов измерения и контроля в сеть. В соответствии со стандартными протоколами связи он соединяет несколько компьютеризированных приборов измерения и управления, расположенных на объекте, а также между приборами на объекте и удаленным мониторингом. Передача данных и обмен информацией осуществляются между компьютерами, образуя различные системы автоматического управления, подходящие для реальных нужд. Короче говоря, система управления полевой шиной превращает отдельные распределенные устройства измерения и управления в сетевые узлы, используя полевую шину в качестве связующего звена, чтобы превратить эти распределенные устройства в сетевую систему, которая может взаимодействовать друг с другом и вместе выполнять задачи автоматического управления. С помощью технологии полевой шины традиционное единое распределенное оборудование управления стало единым целым, которое взаимодействует друг с другом и работает совместно.
Домашняя информационная сеть — это локальная сеть, объединяющая персональные компьютеры, бытовую технику, счетчики воды, электричества, газа, осветительное оборудование, сетевое оборудование и средства обеспечения безопасности внутри дома. Его основная функция — централизованное управление вышеупомянутыми устройствами и подключение их к Интернету для совместного использования сетевых ресурсов и сервисов. Кроме того, домашняя информационная сеть также может быть распространена на весь дом или даже на все сообщество, становясь основой умных жилых сообществ и умных обществ. В системе домашней информационной сети все домашние устройства являются интеллектуальными, включая бытовую технику, счетчики воды, электричества, газа и осветительное оборудование. Они могут общаться друг с другом и выходить в Интернет через домашний шлюз. Реализация домашней информационной сети обеспечивает людям более безопасную, удобную и комфортную домашнюю среду. Например, когда владелец выходит из дома, дверь автоматически закрывается и запирается, автоматически включается система мониторинга, а владелец автоматически уведомляется о любых нарушениях в доме. Различные устройства в доме можно контролировать в любое время. время и в любом месте, а данные прибора могут быть автоматически загружены.
Сеть семейной информации должна решить две основные проблемы:
(1) Как соединить между собой бытовую технику, счетчики воды, электричества, газа, осветительное оборудование и т. д.
(2) Как реализовать взаимодействие между этими подключенными устройствами, то есть устройства в домашней информационной сети могут автоматически запрашивать услуги, когда это необходимо, а связанные устройства могут предоставлять услуги или принимать запросы и обрабатывать их. Домашняя информационная сеть может иметь различные топологические структуры, такие как тип шины, звездообразная структура и т. д. Домашнюю информационную сеть можно разделить на несколько подсетей управления и подсетей данных. Подсеть управления аналогична полевой шине. Это сеть с низкой пропускной способностью, которая в основном используется для отправки и получения управляющей информации. Подсеть данных имеет более высокие требования к пропускной способности, и устройствам, подключенным к ней, необходимо передавать большой объем данных.
В последние годы, в связи с быстрым развитием мобильной телефонной связи и быстрой популяризацией персональных компьютеров, количество различных портативных компьютеров, таких как портативные компьютеры, портативные компьютеры, карманные компьютеры и т. д., быстро возросло. больше не удовлетворяет потребности. Люди надеются передавать данные и обмениваться ими в любое время и в любом месте, поэтому средства передачи данных начали расширяться от проводных к беспроводным, и появилась беспроводная мобильная передача данных. Беспроводная сеть передачи данных — это сетевая система, которая передает данные посредством радиоволн. Он разработан на основе проводной передачи данных и может осуществлять передачу данных в мобильном состоянии.Через беспроводные сети передачи данных, смартфоны, КПК и
Ноутбуки могут передавать данные друг другу и выходить в Интернет. Беспроводные сети передачи данных делятся на беспроводные сети ближнего действия и беспроводной Интернет. Беспроводные сети ближнего действия в основном включают 802.11, Bluetooth, IrDA и HomeRF. Беспроводной Интернет или мобильный Интернет в основном использует две технологии беспроводного соединения: одна — технология мобильного беспроводного доступа, такая как GSM, GPRS, CDPD (сотовая цифровая пакетная передача данных) и т. д., другая — технология фиксированного беспроводного доступа, включая микроволновую связь, связь с расширенным спектром; , спутниковая и беспроводная оптическая передача и т. д.
С быстрым развитием Интернета и встроенных технологий все больше и больше информационных устройств, таких как веб-видеотелефоны, телевизионные приставки, а также информационные бытовые устройства и другие встроенные системные продукты, должны быть подключены к Интернету, чтобы поделиться удобством. , скорость и удобство, обеспечиваемые Интернетом. Повсеместные информационные ресурсы и услуги, а именно встроенные Интернет-технологии. Встроенные интернет-технологии имеют широкие перспективы применения в области интеллектуального транспорта, систем домашнего хозяйства, домашней автоматизации, промышленной автоматизации, POS и электронной коммерции.
1.Встроенный метод доступа в Интернет
Встроенные устройства объединяют стек протоколов TCP/IP и соответствующее программное обеспечение. Такие устройства можно использовать в качестве узла в Интернете, получив IP-адрес и напрямую подключаясь к Интернету. Характеристики этого метода доступа:
2.Встроенный стек протоколов TCP/IP.
Функции встроенного стека протоколов TCP/IP такие же, как и у полного стека протоколов TCP/IP. Однако из-за ограничений ресурсов встроенной системы некоторые индикаторы и интерфейсы встроенного стека протоколов могут отличаться от обычных. стеки протоколов.
(1) Интерфейс вызова встроенного стека протоколов отличается от интерфейса обычного стека протоколов. Интерфейс сокетов обычного стека протоколов является стандартным, а прикладное программное обеспечение имеет хорошую совместимость. Однако накладные расходы на код, обработку и хранение при реализации стандартизированного интерфейса огромны. Поэтому, когда большинство производителей перенесли стандартные интерфейсы стека протоколов во встроенные системы, они внесли различные степени модификации и упрощения и создали эффективные специализированные стеки протоколов. Предоставляемые ими API отличались от API общих стеков протоколов. Они должны быть точно такими же. .
(2) Возможность настройки встроенного стека протоколов. Большинство встроенных стеков протоколов являются модульными. Если объем памяти ограничен, их можно динамически устанавливать при необходимости, и в них отсутствуют некоторые несущественные части для встроенных систем, такие как перенаправление интерфейсов и полный набор инструментов Интернет-сервиса.
(3) Совместимость встроенного стека протоколов с платформой. Как правило, стек протоколов тесно интегрирован с операционной системой, и большинство стеков протоколов реализованы в ядре операционной системы. Реализация стека протоколов зависит от сервисов, предоставляемых операционной системой, и имеет плохую переносимость. Реализация встроенного стека протоколов обычно мало зависит от операционной системы и ее легко пересадить. Многие коммерческие встроенные стеки протоколов поддерживают несколько платформ операционных систем.
(4) Высокая эффективность встроенного стека протоколов. Реализации встроенных стеков протоколов обычно занимают меньше места, требуют меньше памяти для данных и более эффективны с точки зрения кода, тем самым снижая требования к производительности процессора.
С развитием встроенных технологий встроенные базы данных постепенно переходят в область применения. По сути, встроенные базы данных разрабатываются на основе общих баз данных и запускаются на различных встроенных устройствах или мобильных устройствах. Они демонстрируют свое превосходство во встроенных системах, поскольку они ограничены средой приложения самой встроенной системы. Встроенные базы данных имеют характеристики, отличные от обычных баз данных. .
Обычно встроенная система управления базами данных представляет собой систему управления базами данных, используемую на встроенных устройствах. Поскольку большинство встроенных систем управления базами данных представляют собой мобильные информационные устройства, такие как карманные компьютеры, карманные компьютеры, автомобильные устройства и другие устройства мобильной связи, встроенные устройства с фиксированным положением используются редко. Поэтому встроенные базы данных также называют мобильными базами данных или мобильными. Встроенная мобильная база данных.Его основная функция — решение проблем управления данными в среде мобильных вычислений. Мобильная база данных является важной частью среды мобильных вычислений.
Распределенная база данных.
Внедрение технологии баз данных во встроенные системы обусловлено главным образом следующими недостатками разработки приложений управления информацией непосредственно на встроенных операционных системах или на «голом железе»:
(1) Все приложения требуют повторяющейся работы по управлению данными, что увеличивает сложность и стоимость разработки.
(2) Обмен данными между приложениями неудовлетворительный.
(3) Прикладное программное обеспечение имеет низкую независимость, мобильность и низкую возможность повторного использования.
Внедрение системы управления базами данных во встроенные системы может в значительной степени решить вышеуказанные проблемы и повысить эффективность разработки и переносимость прикладных систем.
Встроенная система управления базами данных представляет собой комплексную систему, которая включает в себя встроенную систему управления базами данных и охватывает мобильные устройства связи, рабочие станции или настольные компьютеры и серверы данных. Эта особенность системы и среда использования системы оказывают большое влияние на встроенную систему управления базами данных. Большее влияние напрямую влияет на структуру встроенной системы управления базами данных. Характеристики среды его использования можно кратко резюмировать следующим образом:
(1) Устройство в любое время является мобильным. Встроенные базы данных в основном используются на мобильных информационных устройствах. Местоположение устройства часто меняется вместе с пользователем.
(2) Сеть часто отключается, а местоположение мобильных устройств или мобильных терминалов часто меняется во время использования. На это также влияют такие факторы, как методы использования, источник питания, беспроводная связь и условия сети. Таким образом, сетевое соединение обычно не поддерживается постоянно, а часто активно или пассивно отключается и подключается с перерывами.
(3) Условия сети различаются из-за частых изменений местоположения мобильных информационных устройств, мобильные информационные устройства и серверы данных могут быть подключены через разные сетевые системы в разное время. Эти сети могут различаться по пропускной способности сети, стоимости связи, задержке сети, качеству обслуживания и т. д.
(4) Возможности асимметричной связи. Из-за ограничений ресурсов мобильных устройств возможности сетевой связи между мобильными устройствами и серверами являются асимметричными. Возможности отправки мобильных устройств очень ограничены, в результате чего пропускная способность нисходящей линии связи от сервера данных к мобильному устройству и полоса пропускания восходящей линии связи от мобильного устройства к серверу данных сильно различаются.
Полная встроенная система управления базами данных состоит из нескольких подсистем, включая основную систему управления базой данных, сервер синхронизации, встроенную систему управления базами данных, сеть соединений и другие подсистемы, как показано на рисунке 12-6.
(1) Встроенная система управления базами данных. Встроенная система управления базами данных представляет собой функционально независимую однопользовательскую систему управления базами данных. Он может работать независимо от сервера синхронизации и основной системы управления базой данных для управления данными во встроенной системе. Его также можно подключить к основному серверу через сервер синхронизации для управления данными в основной базе данных. различные способы синхронизации данных.
(2) Сервер синхронизации. Сервер синхронизации — это узел связи между встроенной базой данных и основной базой данных, обеспечивающий согласованность данных во встроенной базе данных и основной базе данных.
(3) Сервер данных. Основная база данных и система управления базами данных сервера данных могут использовать крупномасштабные системы баз данных общего назначения, такие как Oracle или Sybase.
(4) Подключитесь к сети. Главный сервер базы данных и сервер синхронизации обычно соединяются через фиксированную сеть с высокой пропускной способностью и малой задержкой. Соединение между мобильным устройством и сервером синхронизации может быть беспроводной локальной сетью, инфракрасным соединением, универсальной последовательной линией или общедоступной сетью в зависимости от конкретных условий устройства.
1.Ключ к внедрению мобильных баз данных в приложения
В практических приложениях встроенные мобильные базы данных должны решать такие проблемы, как согласованность данных (репликация), эффективная обработка транзакций и безопасность данных.
(1) Согласованность данных. Примечательной особенностью встроенной мобильной базы данных является то, что соединение между мобильными терминалами передачи данных и сервером синхронизации представляет собой слабое соединение, то есть низкая пропускная способность, большая задержка, нестабильность и частые отключения. Для поддержки операций пользователей с базой данных в слабых средах сейчас широко используется метод оптимистической репликации (оптимистическая репликация или ленивая репликация), позволяющий пользователям управлять копиями данных в локальном кэше. После повторного подключения к сети информация об изменении данных обменивается с сервером базы данных или другими мобильными терминалами передачи данных, а согласованность данных восстанавливается посредством обнаружения и координации конфликтов.
(2) Эффективная обработка транзакций. Мобильные транзакции выполняются в мобильной среде с частыми и предсказуемыми отключениями. Чтобы обеспечить плавное завершение активных транзакций, необходимо разработать и внедрить новые стратегии и алгоритмы управления транзакциями. Определить приоритет обработки транзакций на основе условий сетевого подключения, при этом запросы транзакций с высокой скоростью сетевого подключения будут обрабатываться в первую очередь;
Определите, переносится ли транзакция, на основе времени операции, то есть все долгосрочные операции транзакции будут перенесены на сервер для выполнения, и нет необходимости следить за тем, чтобы сеть всегда была гладкой, чтобы определить, загружена ли транзакция; для выполнения или загрузки после выполнения копии данных в зависимости от размера данных; улучшенная стратегия ведения журнала во время обработки транзакции, использовать ли механизм обнаружения сервера или механизм объявления клиента при обработке отключения от сети в режиме реального времени во время; движение транзакций (например, запросы, связанные с местоположением).
(3) Безопасность данных. Встроенные устройства во многих областях применения являются ключевыми устройствами для управления или обработки данных в системе, поэтому система базы данных на встроенном устройстве имеет более строгий контроль над разрешениями доступа. В то же время многие встраиваемые устройства обладают высокой мобильностью, портативностью и нефиксированной рабочей средой, что также несет в себе потенциальные небезопасные факторы. Кроме того, некоторые данные имеют высокий уровень конфиденциальности, поэтому необходимо полностью гарантировать безопасность персональных данных с точки зрения предотвращения коллизий, помех магнитного поля, потери и кражи. Основными мерами по обеспечению безопасности данных являются: аутентификация мобильных терминалов для предотвращения мошеннического доступа со стороны незаконных терминалов; шифрование беспроводной связи для предотвращения утечки данных; шифрование и хранение копий загруженных данных для предотвращения физической потери мобильных терминалов.
2.Особенности мобильных систем управления базами данных
Вычислительная среда мобильной СУБД является расширением традиционной распределенной СУБД. Ее можно рассматривать как распределенную систему, в которой клиенты и фиксированные серверные узлы динамически соединяются. Таким образом, система управления базами данных в среде мобильных вычислений представляет собой динамическую распределенную систему управления базами данных. Поскольку встроенная система управления мобильной базой данных применяется во встроенной операционной системе в среде мобильных вычислений, она имеет свои особенности и функциональные требования:
(1) Структура микроядра облегчает реализацию встроенных функций. Учитывая ограниченность ресурсов встраиваемых устройств, встраиваемая мобильная СУБД должна быть реализована с использованием технологии миниатюризации и компактировать свою системную структуру для удовлетворения потребностей встраиваемых приложений.
(2) Поддержка стандартного SQL. Встраиваемая мобильная СУБД должна обеспечивать поддержку стандартного SQL. Поддерживает подмножество стандарта SQL92, поддерживает запросы данных (запрос соединения, подзапрос, сортировку, группировку и т. д.), вставку, обновление и удаление нескольких стандартных операторов SQL, полностью удовлетворяя потребности разработки встроенных приложений.
(3) Функция управления транзакциями. Встроенная мобильная СУБД должна иметь функции обработки транзакций, автоматически поддерживать целостность транзакций, атомарность и другие характеристики, поддерживать целостность сущностей и ссылочную целостность;
(4) Полный механизм синхронизации данных. Синхронизация данных — важнейшая функция встроенных баз данных. Благодаря репликации данных изменения во встроенной или основной базе данных можно применять друг к другу, чтобы обеспечить согласованность данных. Механизм синхронизации данных встроенной мобильной системы управления базами данных должен иметь следующие характеристики:
(5) Поддерживает несколько протоколов подключения. Встраиваемая мобильная СУБД должна поддерживать несколько протоколов связи. Подключения к встроенным устройствам и серверам баз данных могут осуществляться с помощью различных методов подключения, таких как последовательная связь, TCP/IP, инфракрасная передача и Bluetooth.
(6) Полные встроенные функции управления базами данных. Встроенная мобильная СУБД должна иметь функцию автоматического восстановления, которая принципиально не требует ручного вмешательства для управления встроенной базой данных и может обеспечивать резервное копирование и восстановление данных для обеспечения безопасности и надежности пользовательских данных.
(7) Независимость от платформы и поддержка нескольких встроенных операционных систем. Встроенная мобильная СУБД должна быть способна поддерживать множество популярных в настоящее время встраиваемых операционных систем, таких как Windows CE и Palm OS, чтобы встроенная мобильная система управления базами данных не была ограничена мобильными терминалами.
(8) Нулевые функции управления. Встроенная база данных имеет функцию автоматического восстановления. Она позволяет управлять встроенной базой данных без ручного вмешательства, а также обеспечивать резервное копирование и синхронизацию данных.
Кроме того, идеальным состоянием является то, что пользователи могут выполнять операции с данными и управлять ими во всех связанных с ними мобильных базах данных, используя только один мобильный терминал (например, мобильный телефон). Для этого необходимо, чтобы интерфейсная система была универсальной, а интерфейс мобильной базы данных имел единые и стандартизированные стандарты. Фронтальная система управления автоматически генерирует унифицированные команды обработки транзакций в процессе обработки данных и передает их на подключенный в данный момент сервер данных для выполнения. Это эффективно повышает универсальность встроенной мобильной системы управления базами данных и расширяет перспективы применения встроенной мобильной базы данных.
Короче говоря, во встроенной системе управления мобильными базами данных необходимо учитывать многие проблемы, которые не нужно учитывать в традиционных вычислительных средах, такие как поддержка операций отключения, поддержка длительных межрегиональных транзакций, поддержка запросов, связанных с местоположением. и оптимизация запросов. Особые соображения и соображения по улучшению использования ограниченных ресурсов и эффективности системы. Для эффективного решения вышеуказанных проблем используются такие технологии, как технология репликации и кэширования, обработка мобильных транзакций, технология широковещательной передачи данных, обработка и оптимизация мобильных запросов, технология обработки и запроса данных, связанных с местоположением, технология мобильной публикации информации, мобильный агент и другие. технологии все еще находятся в стадии разработки. Развитие и совершенствование будут способствовать дальнейшему развитию встроенных систем управления мобильными базами данных.
Проще говоря, систему реального времени можно рассматривать как систему, способную своевременно реагировать на внешние события. Важнейшей особенностью такого рода систем является своевременность, то есть оперативность. Корректность системы реального времени зависит не только от логических результатов системных вычислений, но и от времени формирования этих результатов.
В настоящее время большинство систем реального времени являются встроенными, и фактически работающие встроенные системы также предъявляют требования к работе в реальном времени. Поэтому среди многих типов встроенных операционных систем встроенные операционные системы реального времени являются наиболее представительными. все типы встроенных операционных систем. Поэтому в этом разделе основное внимание уделяется характеристикам и концепциям встроенных операционных систем реального времени, а также представлены основные концепции и характеристики, базовая архитектура и ядро встроенных операционных систем. Всестороннее введение в основное содержание. такие как службы, объекты ядра и службы ядра.
В реальном мире не все встроенные системы обладают характеристиками реального времени, и не все системы реального времени обязательно являются встроенными. Однако эти две системы не являются взаимоисключающими, и системы, обладающие характеристиками обеих систем, называются встроенными системами реального времени. Взаимосвязь между ними показана на рисунке 12-7.
(1) Правильная логика (или функция) означает, что система может выдавать правильные результаты при обработке внешних событий.
(2) Правильное время означает, что обработка внешних событий системой должна быть завершена в течение заранее определенного периода.
(3) Крайний срок или срок, дедлайн, крайний срок относится к последнему сроку, в течение которого система должна обрабатывать внешние события. Пропуск этого лимита может иметь серьезные последствия. Обычно расчет должен быть завершен до истечения срока.
(4) Система реального времени – это система, которая обеспечивает как правильную функцию, так и правильное время. Оба параметра одинаково важны. Другими словами, системы реального времени ограничены во времени и сроках. Однако в некоторых системах правильностью синхронизации можно пожертвовать ради обеспечения функциональной правильности.
Для разделения систем реального времени системы реального времени обычно можно разделить на:
(1) Сильная система реального времени, время отклика системы очень короткое, обычно составляет миллисекунды или микросекунды.
(2) Для обычных систем реального времени время отклика системы ниже, чем у мощных систем реального времени, обычно на втором уровне.
(3) Для слабых систем реального времени время отклика системы может быть больше, а также может меняться в зависимости от серьезности нагрузки на систему.
Системы реального времени можно разделить на системы мягкого реального времени и системы жесткого реального времени в зависимости от допуска пропущенных сроков или серьезности последствий.
(1) Под системой жесткого реального времени понимается система реального времени, гибкость которой близка к нулевому временному пределу.Срок должен быть соблюден
В противном случае возникнут катастрофические последствия, а результаты обработки, полученные после истечения срока, будут либо бесполезны на нулевом уровне, либо сильно обесценены.
(2) Система мягкого реального времени – это система реального времени, которая должна соответствовать требованиям по ограничению времени, но обладает определенной степенью гибкости. Сроки могут включать переменные уровни допуска, средние сроки или даже статистические распределения с различной степенью приемлемости времени ответа. В системах мягкого реального времени нарушение сроков обычно не приводит к таким серьезным последствиям, как сбой системы. Таблица 12-2 представляет собой сравнение систем мягкого и жесткого реального времени.
Для сравнения можно увидеть, что, поскольку пропущенные сроки не оказывают решающего влияния на работу систем мягкого реального времени, системе мягкого реального времени не нужно прогнозировать, могут ли быть пропущенные сроки. Напротив, системы мягкого реального времени могут инициировать процесс восстановления после обнаружения пропущенного срока.
В системе реального времени время начала задачи так же важно, как и крайний срок или время завершения. Поскольку задаче не хватает необходимых ресурсов, таких как процессор и память, это может помешать началу выполнения задачи и напрямую привести к ее пропуску. срок завершения задачи, поэтому проблема сроков развивается. Это становится проблемой планирования ресурсов.
Это оказывает решающее влияние на алгоритмы планирования и постановку задач.
Так называемая встроенная операционная система относится к операционной системе, которая работает на встроенной компьютерной системе для поддержки встроенных приложений. Это набор программного обеспечения, используемый для контроля и управления аппаратными и программными ресурсами во встроенных системах и предоставления системных услуг. Встроенная операционная система является важной частью встроенного программного обеспечения. Его появление повысило эффективность разработки встроенного программного обеспечения, улучшило переносимость прикладного программного обеспечения и эффективно способствовало развитию встроенных систем.
1.Характеристики встроенных операционных систем
По сравнению с операционными системами общего назначения встроенные операционные системы в основном имеют следующие характеристики:
(1) Миниатюризация: рабочей платформой встроенной операционной системы является не компьютер общего назначения, а встроенная компьютерная система. Системы этого типа обычно не имеют памяти большого объема и почти не имеют внешней памяти. Поэтому встроенную операционную систему необходимо сделать компактной, чтобы она занимала как можно меньше системных ресурсов. Чтобы повысить скорость выполнения и надежность системы, программное обеспечение во встроенной системе обычно закрепляется в микросхеме памяти, а не хранится на носителе, таком как диск.
(2) Высокое качество кода. В большинстве приложений пространство для хранения по-прежнему является ценным ресурсом, который требует, чтобы программный код был высокого качества и был максимально оптимизирован.
(3) Специализация: существуют различные аппаратные платформы для встраиваемых систем, и процессоры каждой из них специально разработаны для разных областей применения. Следовательно, встроенная операционная система должна обладать хорошей адаптируемостью и переносимостью, а также поддерживать несколько платформ разработки.
(4) Высокая производительность в реальном времени. Встроенные системы широко используются для управления процессами, сбора данных, связи, обработки мультимедийной информации и других ситуаций, требующих реагирования в реальном времени. Поэтому производительность в реальном времени стала еще одной особенностью встроенных операционных систем. .
(5) Возможность обрезки и настройки: разнообразие приложений требует, чтобы встроенная операционная система имела высокую адаптивность и могла быть гибко настроена и разумно сокращена в соответствии с характеристиками и конкретными требованиями приложения, чтобы адаптироваться к требованиям миниатюризации и специализации.
2.Классификация встроенных операционных систем
Существует множество типов встроенных операционных систем, которые можно классифицировать с разных точек зрения. По форме приобретения встроенной операционной системы ее можно разделить на две категории: коммерческий тип и бесплатный тип:
(1) Коммерческий тип. Коммерческие встроенные операционные системы обычно имеют стабильные и надежные функции, полную техническую поддержку, полные инструменты разработки и послепродажное обслуживание. Такие как VxWorks от WindRiver, pSOS, Palm OS от Palm и т. д. Однако это дорого, и пользователи обычно не могут получить исходный код системы.
(2) Свободный тип. Преимущество бесплатной встроенной операционной системы заключается в ее цене. Кроме того, разработчики прикладных систем могут получить исходный код системы, что упрощает разработку. Однако бесплатные операционные системы имеют простые функции, плохую техническую поддержку и плохую стабильность системы. Типичные репрезентативные системы включают встроенный Linux, uC/OS и т. д. По характеру встроенных операционных систем реального времени их можно разделить на две категории: встроенные операционные системы реального времени и встроенные операционные системы не реального времени.
(1) Встроенная ОС реального времени (RTEOS). Встроенная операционная система реального времени поддерживает работу системы в реальном времени. Ее основная задача — запланировать все доступные ресурсы в соответствии с лимитом времени для реагирования на внешние события. Во-вторых, она ориентирована на повышение эффективности системы. Встроенные операционные системы реального времени в основном используются в сфере управления, связи и других областях. В настоящее время большинство коммерческих встраиваемых операционных систем являются операционными системами реального времени.
(2) Встроенная операционная система, не работающая в режиме реального времени. Этот тип операционной системы не уделяет особого внимания времени отклика отдельной задачи. Ее средняя производительность, эффективность системы и использование ресурсов, как правило, высоки, и она подходит для продуктов бытовой электроники, которые не имеют строгих требований к работе в режиме реального времени. такие как персональные цифровые помощники, телеприставки и т. д.
В целом производительность встроенной системы в реальном времени определяется аппаратным обеспечением, операционной системой реального времени и приложениями. Среди них ключевую роль играет производительность ядра встроенной операционной системы реального времени. Как правило, существует два типа встроенных операционных систем реального времени: RTEOS на базе ядра реального времени и RTEOS общего назначения.
RTEOS реального времени с ядром: этот тип операционной системы, драйверы традиционно встроены в ядро, а приложения и промежуточное программное обеспечение реализованы на стандартных интерфейсах прикладного программирования (API, интерфейсы прикладного программирования).
RTEOS общего назначения в реальном времени: в этом типе операционной системы драйвер не встроен глубоко в ядро, а реализован поверх ядра и содержит только несколько необходимых драйверов. Приложения и промежуточное программное обеспечение могут быть реализованы непосредственно в нем. верхней части драйвера, а не реализовываться в стандартных API. Их различия показаны на рисунке 12-8.
Существует много функционального сходства между встроенными операционными системами реального времени и операционными системами общего назначения. Например, они обе поддерживают многозадачность, поддерживают управление ресурсами программного и аппаратного обеспечения и обе предоставляют базовые сервисы операционной системы для приложений.
1.Ключевые особенности встроенных операционных систем реального времени
По сравнению с операционными системами общего назначения встроенные операционные системы реального времени имеют множество функциональных возможностей. Ключевые особенности, уникальные для встроенных операционных систем реального времени и отличающиеся от операционных систем общего назначения, включают:
2.Индикаторы производительности встроенных операционных систем реального времени в режиме реального времени. При оценке производительности проектов операционных систем реального времени индикаторы производительности во времени
Индикатор является наиболее важным индикатором производительности. Обычно используемые индикаторы производительности времени в основном включают в себя следующее:
(1) Время переключения задачи: относится ко времени, необходимому для передачи управления ЦП от выполняющейся задачи к другой готовой задаче, включая время, потраченное на сохранение и восстановление контекста задачи и выбор следующей задачи для запуска при выполнении планирования задач. Время, этот показатель связан с количеством регистров и структурой системы микропроцессора. Одна и та же операционная система может занять разное время при работе на разных микропроцессорах. Временная диаграмма, соответствующая времени переключения задач, показана на рисунке 12-9.
(2) Индикаторы времени, относящиеся к обработке прерываний, соответствующая временная диаграмма прерываний показана на рисунке 12-10.
Время задержки прерывания относится к времени от возникновения прерывания до обучения системы прерыванию. На него в основном влияет максимальное время отключения системы.
Чем дольше время прерывания, тем дольше будет задержка прерывания;
Время выполнения обработки прерывания, которое определяется конкретным приложением;
Время реакции на прерывание — это время от возникновения прерывания до начала выполнения процедуры обслуживания прерываний пользователя;
Время восстановления прерывания относится к времени между завершением процедуры обработки прерывания пользователя и возвратом к прерванному коду;
Максимальное время прерывания включает в себя два аспекта: один — максимальное время прерывания ядра, то есть ядро отключает прерывания при выполнении кода критической секции, другой — время прерывания приложения и максимальное время прерывания; время — это максимальное из этих двух времен прерывания; Время ответа задачи относится к времени с момента генерации прерывания, соответствующего задаче, до момента фактического запуска задачи;
При упреждающем планировании время восстановления прерывания также добавляется ко времени переключения задачи и восстановления нового контекста задачи.
между.
(3) Время ответа системы: относится к времени с момента, когда система выдает запрос на обработку, до момента ответа системы, то есть размер задержки планирования в основном определяется алгоритмом планирования задач ядра. Вкратце, типичный метод расчета индекса производительности вытесняемого ядра реального времени показан в Таблице 12-3.
Пока, по неполной статистике, общее количество существующих встраиваемых операционных систем в мире достигает сотен. Существует более дюжины наиболее часто используемых операционных систем. Эти операционные системы имеют высокую популярность и большую базу пользователей в соответствующих областях применения. В Таблице 12-4 для сравнения выбраны некоторые распространенные в отрасли встроенные операционные системы.
Основная задача проектирования встроенной системы — определить функции системы, определить ее архитектуру и сопоставить функции с архитектурой реализации системы. Здесь системная архитектура включает в себя как архитектуру программной системы, так и архитектуру аппаратной системы. Архитектура может быть сопоставлена с множеством различных физических реализаций, каждая из которых представляет собой различные компромиссы, одновременно удовлетворяя одним критериям проектирования и оптимизируя другие.
Метод проектирования встроенных систем отличается от общих методов проектирования аппаратного обеспечения и разработки программного обеспечения. Он использует метод совместного проектирования аппаратного и программного обеспечения. Процесс разработки требует не только знаний в области программного обеспечения, но также включает всесторонние знания в области аппаратного обеспечения. области и даже включает в себя технику и т. д. аспекты знаний. Проектировщики должны знать и иметь возможность свободно использовать различные технологии в этих областях для оптимизации проектируемой системы.
Хотя решения по проектированию прикладного программного обеспечения для встроенных систем различаются в зависимости от области применения, методы анализа и проектирования встроенных систем также следуют общим принципам разработки программного обеспечения. Многие зрелые методы анализа и проектирования могут применяться в области встроенных систем. Процесс разработки встроенных систем также включает в себя несколько основных этапов: анализ требований, проектирование системы, внедрение и тестирование, и каждый этап имеет свои уникальные характеристики и направленность.
В этом разделе в основном представлены технологии и методы разработки и проектирования встраиваемых систем, а также анализируются методы проектирования прикладного программного обеспечения и основные проблемы, возникающие в процессе проектирования, с точки зрения приложений для встраиваемых систем и вычислительных моделей. Наконец, обсуждаются вопросы, связанные с трансплантацией программного обеспечения во встраиваемых системах.
Перед проектированием встроенной системы следует уточнить характеристики самой конструкции встроенной системы и некоторые основные технические показатели для измерения конструкции встроенной системы.
1.Характеристики конструкции встроенной системы
По сравнению с обычным проектированием системы, проектирование встроенной системы имеет следующие характеристики:
2.Технические показатели встраиваемых систем
Обычно используемые индикаторы для проектирования встроенных систем включают в себя:
(1) Стоимость NRE (единовременные затраты на проектирование): единовременные денежные затраты, которые необходимо оплатить для проектирования системы. То есть после завершения проектирования любое количество продуктов может быть изготовлено без уплаты дополнительных сборов за проектирование. .
(2) Себестоимость единицы продукции: денежная стоимость, необходимая для производства одного продукта, исключая затраты на НРЭ.
(3) Размер: относится к пространству, занимаемому системой. Для программного обеспечения он обычно измеряется количеством байтов; для аппаратного обеспечения он измеряется количеством логических элементов или транзисторов.
(4) Производительность. Время, необходимое системе для выполнения определенных задач, является наиболее часто используемым показателем проектирования. Существует два основных метода измерения. Один из них — время отклика, которое представляет собой время между началом выполнения и окончанием. задание. Второй — это сумма завершения, то есть количество задач, выполненных в единицу времени.
(5) Мощность: мощность, потребляемая системой, которая определяет срок службы батареи или требования к рассеянию тепла в цепи.
(6) Гибкость: возможность изменять функции системы без увеличения затрат на NRE.
(7) Время создания прототипа: время, необходимое для создания работоспособной версии системы. Прототип системы может быть больше и дороже, чем конечный продукт, но он может проверить использование и правильность системы и улучшить функциональность системы. система.
(8) Время выхода на рынок: время от разработки системы до момента ее продажи потребителям. Наиболее важные влияющие факторы включают время проектирования, время производства и время тестирования.
(9) Ремонтопригодность: Легкость, с которой система может быть изменена после ее запуска или продажи, особенно неоригинальными разработчиками.
(10) Корректность: если функция системы реализована правильно, функцию системы можно проверять в течение всего процесса проектирования, а также можно вставить тестовую схему, чтобы проверить ее правильность.
(11) Безопасность: вероятность того, что система не причинит вреда. Различные показатели проектирования обычно конкурируют друг с другом. Улучшение одного показателя часто приводит к ухудшению других показателей. Чтобы наилучшим образом соответствовать требованиям оптимизации проектирования, проектировщики должны понимать различные технологии реализации программного и аппаратного обеспечения и иметь возможность учиться на них. технология передается другому, чтобы найти лучшее решение при определенных ограничениях.
3.Проблемы проектирования встроенных систем
Проблемы, с которыми сталкивается проектирование встроенных систем, включают следующие аспекты.
(1) Сколько оборудования необходимо: проектировщики имеют строгий контроль над вычислительной мощностью, используемой для решения задач. Они могут не только выбирать, какой процессор использовать, но также объем памяти, используемых периферийных устройств и т. д., поскольку проектирование не только. Для удовлетворения требований к производительности также существуют ограничения на производственные затраты. Выбор аппаратного обеспечения очень важен. Слишком малое количество аппаратного обеспечения не сможет удовлетворить функциональные требования и требования к производительности, а слишком большое количество аппаратного обеспечения сделает продукт слишком дорогим.
(2) Как соблюсти ограничение по времени: не рекомендуется использовать метод увеличения скорости процессора, чтобы программа работала быстрее, чтобы решить проблему ограничения по времени, поскольку это увеличит цену системы. При этом увеличение тактовой частоты процессора иногда не приводит к улучшению скорости выполнения, поскольку скорость работы программы может быть ограничена системой хранения.
(3) Как снизить энергопотребление системы. Для систем с батарейным питанием энергопотребление является очень деликатным вопросом. Для систем без батарейного питания высокая мощность означает высокое рассеивание тепла. Одним из способов снижения энергопотребления системы является снижение скорости ее вычислений, но простое снижение скорости вычислений, очевидно, приведет к неудовлетворительной производительности. Поэтому необходимо тщательно спроектировать систему, чтобы снизить энергопотребление при соблюдении ограничений производительности.
(4) Как обеспечить масштабируемость системы: Аппаратная платформа системы может использовать несколько поколений или использовать разные уровни продуктов одного поколения. Для этого разработчик должен изменить характеристики системы. путем изменения программного обеспечения. Спроектируйте машину, которая сможет обеспечить производительность, которая еще не доступна в программном обеспечении.
(5) Как обеспечить надежность системы: Надежность является важным показателем при продаже продукции. Потребители разумно требуют, чтобы продукция работала хорошо. Надежность особенно важна в некоторых системах, таких как системы управления безопасностью.
(6) Сложность тестирования. Тестирование встроенной системы намного сложнее, чем просто ввод некоторых данных, поэтому для генерации правильных данных необходимо запустить всю машину. Время генерации данных очень важно, то есть оно не может быть выполнено. покинуть встроенную систему. Работайте со всей средой для тестирования встроенных систем.
(7) Ограниченная видимость и управляемость: встроенные системы обычно не имеют устройств отображения и клавиатуры, что затрудняет понимание разработчиками того, что происходит внутри системы, и не может реагировать на действия системы. Иногда им приходится наблюдать за микроконтроллерами. сигналы для понимания. В системах реального времени, как правило, невозможно отключить систему для наблюдения.
(8) Ограниченная среда разработки: среда разработки встроенных систем, таких как программное обеспечение и аппаратные средства разработки, обычно более ограничена, чем среда, доступная на компьютерах или рабочих станциях общего назначения. Поэтому можно использовать только перекрестную разработку, что значительно. влияет на прогресс развития.
Подобно разработке общих систем, при разработке встроенных систем также могут использоваться общие модели разработки программного обеспечения, в основном включая водопадную модель, спиральную модель, модель пошагового уточнения и иерархическую модель.
1.Общие модели развития
Процесс проектирования — это серия шагов, которые следует выполнить при проектировании системы, некоторые из которых можно выполнить с помощью автоматизированных инструментов, а другие — только вручную. В области встроенных систем широко используются следующие модели процесса разработки.
(1) Модель водопада. Водопадная модель состоит из пяти основных этапов: этап анализа требований определяет основные характеристики целевой системы; этап проектирования структуры системы разлагает функции системы на основные структуры; этап кодирования в основном пишет и отлаживает программы; этап тестирования выявляет ошибки; и последний. Это этап обслуживания, который в основном отвечает за изменение кода для адаптации к изменениям в среде, исправление ошибок и обновление. Работа и информация на каждом этапе всегда текут в одном направлении от абстракции высокого уровня к более детальным этапам проектирования, что является идеальной моделью проектирования сверху вниз.
(2) Спиральная модель. Спиральная модель предполагает создание нескольких версий системы. Ранняя версия представляет собой простую экспериментальную модель, помогающую проектировщику сформировать интуитивное представление о системе и накопить опыт в разработке этой системы. создана система. На каждом уровне проектирования дизайнеры проходят три этапа: анализ спроса, структурное проектирование и тестирование. На более позднем этапе, когда будут созданы более сложные версии системы, на каждом этапе будет выполняться больше работы, и спираль проектирования необходимо будет расширять. Такой пошаговый подход к совершенствованию позволяет проектировщику углубить свои знания. понимание разработанной системы посредством серии циклов проектирования. Первая петля наверху спирали очень маленькая и короткая, а последняя петля внизу спирали добавляет деталей к ранним петлям спиральной модели, что более реалистично, чем модель водопада.
(3) Пошаговое уточнение модели. Модель поэтапного уточнения представляет собой систему, которая строится несколько раз. Первая система используется в качестве прототипа, а затем система последовательно совершенствуется. Этот подход имеет смысл, когда проектировщик не очень хорошо знаком с областью применения создаваемой системы. Совершенствование системы путем создания нескольких систем возрастающей сложности позволяет дизайнерам протестировать архитектуру и методы проектирования. Кроме того, различные итеративные методы могут быть выполнены лишь частично, пока система не будет окончательно завершена.
(4) Иерархическая модель. Многие встроенные системы сами по себе состоят из более мелких конструкций, а для полной системы могут потребоваться различные программные и аппаратные компоненты. Эти части могут состоять из более мелких частей, которые еще предстоит спроектировать, поэтому процесс проектирования меняется в зависимости от уровня абстракции системы: от первоначального проектирования всей системы до проектирования отдельных частей, от общего проектирования на конечном этапе. от самого высокого уровня абстракции до промежуточного. Детальное проектирование на абстрактном уровне, а затем проектирование каждого конкретного модуля разворачиваются слой за слоем. Каждый процесс может выполняться одним дизайнером или командой дизайнеров. Каждая группа опирается на результаты других групп. и каждая группа учится у руководителей. Группы получают требования, в то время как родительские группы полагаются на качество и эффективность индивидуальных групповых проектов. Более того, каждый этап реализации процесса представляет собой полный процесс от спецификации до тестирования.
2.Методы проектирования встроенных систем
Хороший метод проектирования встроенных систем очень важен, потому что:
(1) Хороший метод проектирования позволяет дизайнерам четко понимать ход выполняемой ими работы, чтобы гарантировать, что ни одна из них не будет упущена.
(2) Разрешить использование компьютерных инструментов, которые помогут дизайнерам работать, и разделить весь процесс на несколько контролируемых этапов.
(3) Хорошие методы проектирования облегчают общение между членами проектной группы. Определив комплексный процесс проектирования, каждый член команды может иметь хорошее представление о работе, которую ему предстоит выполнить, и о шагах, необходимых для выполнения поставленных перед ним задач. , цели достигнуты.
Процесс разработки встроенного системного программного обеспечения можно разделить на несколько этапов, таких как планирование проекта, технико-экономическое обоснование, анализ требований, эскизное проектирование, детальное проектирование, создание программы, загрузка, отладка, закрепление, тестирование и эксплуатация.
Этапы планирования проекта, технико-экономического обоснования, анализа требований, эскизного проекта и детального проектирования в основном такие же, как процесс разработки общего программного обеспечения, и все они могут выполняться в соответствии с методами разработки программного обеспечения, такими как методы прототипирования, структурированные методы и т. д. .
Поскольку среды запуска и разработки встроенного программного обеспечения различны, работа по разработке ведется перекрестно, поэтому это необходимо учитывать на каждом этапе. Работа на этапе разработки программы основана на документах, созданных на этапе детального проектирования. Работа на этом этапе в основном включает в себя несколько подпроцессов, таких как написание исходного кода, компиляция и компоновка. Все эти задачи выполняются на главной машине и не требуют использования целевой машины. После создания исполняемого файла приложения вам необходимо использовать среду перекрестной разработки для отладки. Вы можете выбирать в соответствии с реальной ситуацией.
Сделайте это, используя один из нескольких доступных методов отладки или допустимую их комбинацию. Проектирование встроенной системы отличается от проектирования традиционного программного обеспечения, как показано на рисунке 12-11. Часто включает в себя проектирование аппаратного обеспечения и программного обеспечения, где интерфейсные действия, такие как спецификации и архитектура системы, требуют рассмотрения как аппаратных, так и программных аспектов.
Аналогичным образом, внутреннее проектирование, такое как системная интеграция и тестирование, учитывает всю систему. На промежуточном этапе программные и аппаратные компоненты разрабатываются независимо друг от друга, и большая часть работ по аппаратному и программному обеспечению может выполняться относительно независимо. Наконец, правильная исполняемая программа после отладки должна быть закреплена на целевой машине.В зависимости от конфигурации аппаратного обеспечения встроенной системы существует несколько методов лечения. Его можно устранить в памяти, такой как EPROM и FLASH, или в электронных устройствах, таких как DOC и DOM.
дополнительная пластина. Обычно это делается с помощью каких-то специальных программистов.
Поскольку к встроенным системам предъявляются более высокие требования к безопасности и надежности, чем к компьютерным системам общего назначения, при проведении тестирования встроенных систем методом «белого ящика» требуется более высокий уровень покрытия кода. На каждом этапе процесса разработки системы необходимо проводить подтверждение системы и оценку производительности, оценку безопасности и оценку рисков, а также тестировать и проверять внедрение системы.
Разработка встраиваемых систем — это комплексная разработка программного и аппаратного обеспечения, которая сильно отличается от разработки общих систем. С одной стороны, каждая встраиваемая система представляет собой комбинацию программного и аппаратного обеспечения, с другой стороны, когда-то встраиваемая система; разрабатывается. Программное обеспечение внедряется в продукт вместе с аппаратным обеспечением и имеет строгую специфичность. Под влиянием этих характеристик должна существовать методология разработки, отличная от общего процесса разработки программного обеспечения для поддержки процесса разработки встроенных систем. В то же время эти характеристики также определяют уникальные основные технологии, используемые при разработке встроенных систем.
Вообще говоря, в области разработки встроенных систем существуют три основные технологии: процессорная технология, технология ИС и технология проектирования/верификации.
1. Процессорная технология
Процессорная технология связана со структурой вычислительного механизма, реализующего системные функции. Многие непрограммируемые цифровые системы также можно рассматривать как процессоры. Разница между этими процессорами заключается в их степени специализации для выполнения определенных функций, что приводит к различным характеристикам конструкции от других процессоров. .
(1) Процессор общего назначения. Этот тип процессора может использоваться для разных типов приложений. Важной особенностью является возможность хранения программ. Поскольку проектировщик не знает, какие операции будет выполнять процессор, невозможно создать программу с использованием цифровых схем. Другой особенностью является универсальный путь данных. Для обработки различных вычислений путь данных обычно имеет большое количество регистров и один или несколько арифметико-логических блоков общего назначения. Проектировщику нужно только запрограммировать память процессора для выполнения необходимых функций, то есть программного обеспечения, связанного с проектированием.
Использование процессоров общего назначения во встраиваемых системах имеет ряд преимуществ с точки зрения показателей проектирования. Время выхода на рынок и стоимость NRE невелики, поскольку разработчику нужно только написать программу без какого-либо цифрового проектирования. Она очень гибкая, и функциональные изменения можно вносить путем модификации программы. По сравнению с разработкой процессора собственными силами, стоимость единицы продукции ниже при небольшом количестве.
Конечно, этот метод также имеет некоторые недостатки в расчетных показателях. При большом количестве стоимость единицы продукции относительно высока, поскольку при большом количестве стоимость самостоятельно разработанного NRE амортизируется, что может снизить себестоимость единицы продукции. В то же время для некоторых приложений производительность может быть низкой. Размер системы и энергопотребление могут увеличиться из-за установки ненужного процессорного оборудования.
(2) Одноцелевой процессор. Специализированный процессор — это цифровая схема, предназначенная для выполнения определенной программы. Также он относится к сопроцессорам, ускорителям, периферийным устройствам и т. д. Кодеки, такие как JPEG, выполняют один процесс сжатия или распаковки видеоинформации. Разработчики встраиваемых систем могут создавать одноцелевые процессоры путем разработки конкретных цифровых схем. Разработчики также могут использовать готовые коммерческие одноцелевые процессоры.
Использование одноцелевых процессоров во встраиваемых системах имеет некоторые преимущества и недостатки с точки зрения метрик. Эти преимущества и недостатки в основном противоположны процессорам общего назначения. Производительность может быть выше, размер и мощность могут быть меньше, стоимость единицы может быть ниже, когда количество велико, а время разработки и стоимость NRE могут быть высокими. гибкость низкая, а стоимость единицы часа выше, для некоторых приложений производительность не так хороша, как у процессоров общего назначения.
(3) Выделенный процессор. Процессор с набором команд специального назначения — это программируемый процессор, оптимизированный для конкретного типа приложения. Такие конкретные приложения имеют одинаковые характеристики, например, встроенное управление, цифровая обработка сигналов и т. д. Использование выделенных процессоров во встроенных системах может обеспечить большую гибкость, обеспечивая при этом хорошую производительность, мощность и размер, но такие процессоры по-прежнему требуют дорогостоящих затрат на создание самого процессора и компилятора. Микроконтроллеры и процессоры цифровых сигналов — это два типа специализированных процессоров, которые широко используются. Процессоры цифровых сигналов — это микропроцессоры, которые выполняют общие операции с цифровыми сигналами, а микроконтроллеры — это микропроцессоры, оптимизированные для встроенных приложений управления.
2. ИК-технология
Технология реализации, которая получает процесс физического отображения фактического чипа из описания конструкции интегральной схемы системы, - это технология IC (интегральные схемы, интегральная схема). В настоящее время в области полупроводников существует три типа технологий реализации, а именно полная настройка. , полунастраиваемая и программируемая технология. Может применяться для проектирования аппаратного обеспечения встраиваемых систем.
(1) Полностью адаптированные/СБИС (сверхбольшие интегральные схемы, сверхбольшие интегральные схемы). В полностью адаптированной технологии ИС проектировщикам на каждом уровне необходимо оптимизировать цифровую реализацию конкретной встроенной системы. Проектировщики начинают с размера компоновки, положения и схемы подключения транзисторов, чтобы добиться высокого использования площади кристалла, высокой скорости и низкого энергопотребления. Оптимизация производительности. Используя маски для производства реальных микросхем на заводе-изготовителе, полностью индивидуальные конструкции ИС, также часто называемые СБИС, имеют высокие затраты на NRE, длительное время производства и подходят для крупносерийных или критически важных приложений.
(2) Полузаказные/ASIC (интегральная схема для конкретного приложения, интегральная схема для конкретного приложения). Полузаказная ASIC — это метод проектирования с ограничениями, включающий метод проектирования вентильной матрицы и метод проектирования стандартной ячейки. Это полуфабрикат с некоторыми универсальными компонентами и группами компонентов, выполненными на кристалле. Разработчику необходимо только учитывать логические функции схемы и разумные связи между функциональными модулями. Этот метод проектирования является гибким, удобным и экономичным, сокращает цикл проектирования и повышает доходность.
(3) Программируемый/ASIC. Все слои программируемого устройства уже существуют. После завершения проектирования разработанный чип можно запустить в лаборатории без участия производителей микросхем, при этом цикл разработки значительно сокращается. Программируемые ASIC имеют более низкую стоимость NRE, более высокую удельную стоимость, более высокое энергопотребление и более низкую скорость.
3.Технология проектирования/проверки
Технология проектирования встроенных систем в основном включает две категории: технологию проектирования аппаратного обеспечения и технологию проектирования программного обеспечения. Среди них технологии в области проектирования аппаратного обеспечения в основном включают в себя технологии проектирования на уровне микросхем и технологии проектирования на уровне печатных плат.
Ядром технологии проектирования на уровне чипа являются компиляция/синтез, библиотека/IP (интеллектуальная собственность, интеллектуальная собственность) и тестирование/проверка. Технология компиляции/синтеза позволяет дизайнерам абстрактно описывать требуемую функциональность, а также автоматически анализировать и вставлять детали реализации. Библиотечная/IP-технология использует заранее разработанные реализации низкоуровневой абстракции для высокоуровневых абстракций. Технология тестирования/проверки гарантирует правильность функционирования каждого уровня, сокращая затраты на итеративное проектирование между уровнями.
Ядром технологии проектирования программного обеспечения является язык программного обеспечения. Языки программного обеспечения прошли процесс разработки от языков низкого уровня (машинный язык, ассемблер) до языков высокого уровня (например, языки структурированного проектирования, языки объектно-ориентированного проектирования). Что движет их развитием? технология сборки, технология анализа, технология компиляции/интерпретации и т. д. многие сопутствующие технологии. Уровни языков программного обеспечения также постепенно переходят от уровня реализации, уровня проектирования и функционального уровня к разработке языков на уровне спроса.
На заре, с постепенным формированием концепции процессоров общего назначения, технология программного обеспечения быстро развивалась, сложность программного обеспечения также начала увеличиваться, а технологии и области проектирования программного обеспечения и проектирования аппаратного обеспечения были полностью разделены. Методы и инструменты проектирования развивались одновременно в этих двух областях, что позволяет выполнять описание поведения на все более абстрактных уровнях, чтобы адаптироваться к растущим потребностям сложности проектирования. В результате одновременного развития оба поля теперь используют одну и ту же временную модель для описания поведения, поэтому вполне возможно, что два поля снова будут объединены в одно поле.
Ввиду того, что большинство встроенных систем являются реактивными системами реального времени, реактивные системы обладают характеристиками многозадачности, строгими временными ограничениями и высокой надежностью. Для проектирования и описания реактивных систем последовательно предлагалось множество различных систем. языки описания и методология валидации. Например, последовательная логика используется для описания природы реактивных систем и обоснования поведения реактивных систем, а технология проверки моделей используется для проверки правильности конструкций реактивных систем. Эти технологии постепенно сыграли важную роль в разработке встроенных систем. процесс. .
Существует множество типов сред разработки для встраиваемых систем, которые в целом можно разделить на следующие категории:
(1) Среды разработки, поддерживающие встроенные операционные системы. В этой категории имеется множество сред разработки, таких как PalmOS, THOS, VxWorks, Windows CE и другие коммерческие встроенные операционные системы, которые имеют полностью функциональные среды разработки, поддерживающие их.
(2) Среда разработки, поддерживающая процессорный чип. Этот тип среды разработки обычно предоставляется производителями процессоров. Например, к такому типу среды разработки относится набор инструментов, выпущенный EPSON специально для разработки встраиваемых систем на базе микроконтроллеров серии S1C33.
(3) Среда разработки, соответствующая конкретной платформе приложений. Этот тип среды разработки является узкоспециализированным, например Qualcomm Brew SDK.
(4) Другие типы сред разработки. Этот тип среды разработки в основном относится к более общей среде разработки, разработанной или настроенной некоторыми поставщиками встраиваемых систем на основе инструментов с открытым исходным кодом GNU. Такие инструменты доступны бесплатно, поддерживают широкий спектр типов процессоров и обладают полноценным функционалом, но их техническая поддержка немного уступает профессиональным коммерческим инструментам.
Поскольку функции встроенных систем становятся все более сложными, становится все труднее описывать поведение этих функционально сложных систем. Практика доказала, что описание и анализ систем с использованием вычислительных моделей является методом, имеющим инженерную ценность.
В этом разделе представлены несколько часто используемых вычислительных моделей в области встраиваемых систем, а также анализируются и объясняются проблемы, связанные с проектированием и разработкой встроенных приложений с точки зрения вычислительных моделей. Вычислительные модели предоставляют набор методов для объединения сложного поведения с простыми объектами, которые могут помочь проектировщикам понять и описать поведение системы. Обычно используемые вычислительные модели во встроенных системах включают следующее: модель последовательных вычислений, модель процесса связи, модель конечного автомата, модель потока данных, объектно-ориентированная модель и модель параллельных процессов. Эти модели используются в различных областях применения. Например, модель конечного автомата особенно подходит для описания систем, ориентированных на управление, а модель потока данных может хорошо описывать проблемы обработки и преобразования данных. В настоящее время наиболее широко используется модель параллельных процессов.
1.Модель конечного автомата
Конечный автомат (FSM) — это базовая модель состояний, которая может использовать набор возможных состояний для описания поведения системы. Система может находиться только в одном из состояний в любой момент времени или также может описывать определенное состояние. Наконец, переход может описывать операции, которые могут произойти в определенном состоянии или во время перехода между состояниями.
Конечный автомат FSM представляет собой шестикортеж F<S,I,O,F,H,S0> , где S — набор состояний {s0, s1,…,sl}, I — входной набор {I0, I1,…,Im}, O — выходной набор {o0, o1,…,on}, а F — функция подсостояния или функция перехода, которая отображает состояние и вход в состояние (S×I→S), H — это выходная функция, которая отображает состояние на выход (S→O), а S0 — начальное состояние. .
Рисунок 12-12 представляет собой описание конечного автомата блока управления лифтом. В исходном «холостом» состоянии установите вверх и вниз на 0 и откройте на 1. Конечный автомат остается в состоянии «ожидания» до тех пор, пока запрошенный этаж не станет отличным от текущего. Если запрошенный этаж больше текущего, конечный автомат переходит в состояние «работает» и устанавливает значение 1. Если запрошенный этаж меньше текущего этажа, конечный автомат переходит в состояние «down», а значение down устанавливается в 1. Конечный автомат остается в состоянии «вниз» или «вверх» до тех пор, пока текущий этаж не станет равным запрошенному этажу, а затем состояние переходит в состояние «открыто» с значением open, равным 1. Обычно в системе имеется таймер. Поэтому, когда конечный автомат переходит в состояние «открытой двери», таймер также остается в состоянии «открытой двери», пока не истечет время таймера, и, наконец, не перейдет в состояние «открытая дверь». состояние «холостого хода».
Когда FSM используется при проектировании встроенной системы, типы его входных и выходных данных являются логическими типами, а функция представляет собой логическую функцию, содержащую логические операции. Эта модель использовалась для многих чистых систем управления без достаточного ввода или вывода данных. . Если вы хотите обрабатывать данные, расширите FSM до конечного автомата с путем к данным (FSM с Datapath, FSMD). Кроме того, модель конечного автомата может быть дополнительно расширена для поддержки иерархии и параллелизма. Эта модель называется моделью иерархического/параллельного автомата (HCFSM).
2.модель потока данных
Модель потока данных — это модель, полученная из модели параллельной многозадачности. Эта модель описывает поведение системы как набора узлов и ребер, где узлы представляют преобразования, а ребра представляют поток данных от одного узла к другому узлу. . Каждый узел использует данные своих входных ребер, выполняет преобразования и создает данные на своих выходных ребрах.
Каждое ребро может иметь или не иметь данные. Данные, появляющиеся на ребре, называются токеном. Когда все входные ребра узла имеют хотя бы один токен, узел может быть запущен. После срабатывания узла будет использован токен с каждого входного ребра, преобразование данных будет выполнено для всех используемых токенов, а на выходном ребре будет сгенерирован токен. Срабатывание узла зависит только от появления токена. .
На рисунке 12-13 показана модель потока данных для расчета z=(a+b)×(cd). В настоящее время существует несколько коммерческих инструментов, поддерживающих выражение моделей потоков данных на графических языках. Эти инструменты могут автоматически преобразовывать модели потоков данных в параллельные многозадачные модели для реализации на микропроцессорах. Метод преобразования заключается в преобразовании каждого узла в задачу, а каждого ребра в канал. Метод реализации модели параллельной многозадачности заключается в использовании операционной системы реального времени для отображения параллельных задач.
Рисунок 12-14 представляет собой модель синхронного потока данных. В этой модели каждый входной и выходной край узла отмечен количеством токенов, используемых и генерируемых для каждого триггера. Преимущество этой модели заключается в том, что ее не нужно преобразовывать в параллельную многозадачную модель во время реализации. Вместо этого узлы планируются статически для создания последовательной модели программы. Модель может быть выражена с использованием языка последовательного программирования (например, языка C) и может выполняться без операционной системы реального времени, поэтому эффективность ее выполнения выше.
3. Модель параллельных процессов
Модель параллельных процессов состоит из группы процессов. Каждый процесс представляет собой процесс последовательного выполнения, и каждый процесс может выполняться одновременно. Модель параллельных процессов предоставляет операции для создания, завершения, приостановки, возобновления и подключения процессов. Процессы могут взаимодействовать друг с другом и обмениваться данными во время выполнения. Межпроцессное взаимодействие может принимать две формы: общие переменные и передача сообщений. Семафоры, критические секции, трубы, выражения пути и т. д. используются для синхронизации операций параллельных процессов.
В общем, систему реального времени можно рассматривать как систему, состоящую из множества одновременно выполняемых процессов, каждый из которых имеет свои требования ко времени. Таким образом, многие встроенные системы легче описать набором одновременно выполняемых задач, поскольку эти системы сами по себе являются многозадачными системами, и модель параллельных процессов естественным образом может быть реализована путем многозадачности операционной системы реального времени.
4.объектно-ориентированная модель
Традиционная модель параллельного процесса построена на основе концепции процесса. Процесс представляет собой косвенное моделирование действий в объективном мире. Поэтому чрезвычайно сложно использовать модель процесса для решения проблем параллелизма. объективный мир. Это неестественно, а также затрудняет разработку и понимание параллельных программ.
Объектно-ориентированная модель описывает действия в объективном мире более прямым образом, и в модели существует потенциальная возможность одновременного выполнения. После того, как один объект отправляет сообщение другому объекту, если результат обработки сообщения не нужен или не нужен немедленно, первому не нужно ждать, пока последний обработает сообщение, и отправитель сообщения и получатель сообщения могут выполнить одновременно.Не все объекты находятся в состоянии пассивного предоставления услуг. Помимо предоставления услуг путем получения сообщений, некоторые из них также могут иметь собственную обработку транзакций.
причина. Объект часто может обрабатывать несколько сообщений одновременно.
Объект представляет собой инкапсуляцию данных и операций. Данные хранятся в локальных переменных объекта. Состояние объекта представляется значениями всех локальных переменных объекта в определенный момент. В параллельной среде также необходимо учитывать описание одновременного состояния объекта, поскольку управление параллелизмом объекта основано на параллельном состоянии объекта. Сочетание параллелизма и объектно-ориентированного подхода можно резюмировать двумя способами:
(1) Внедрить механизм параллелизма в объектно-ориентированную модель, в полной мере использовать объектно-ориентированную технологию для описания хороших возможностей модели объективного мира и различных важных характеристик объектно-ориентированной модели, и в то же время описать ее потенциальные возможности параллелизма. , что делает его пригодным для описания параллельных вычислений.
(2) Внедрить объектно-ориентированное мышление в традиционную модель параллелизма. Объектно-ориентированные модели параллелизма можно разделить на два типа: модели неявного параллелизма и модели явного параллелизма.
(1) Модель неявного параллелизма. Эта модель характеризуется отказом от параллельного проектирования и использованием объектного моделирования в качестве основы для моделирования. Прежде чем переходить к фазе выполнения, рассматривайте объекты как автономные единицы, а действия различных объектов — как конкретные задачи, выполняемые идеальным параллельным образом. Точно так же, как каждый объект имеет свой собственный процессор, этот процессор может обеспечить поток выполнения объекта. Внешние события, поступающие в систему, рассматриваются как запрос на обработку и передаются некоторым объектам. Эти объекты затем отправляют запросы на дальнейшую обработку другим объектам. Теоретически, соответствующее запросу любое количество объектов может выполнять соответствующую обработку. В ходе реализации планировщик в конечном итоге определяет порядок операций над своими объектами, как показано на рисунке 12-15.
(2) Модель явного параллелизма. Особенностью этой модели является то, что в первую очередь следует рассматривать параллелизм и сначала разделить концепции параллелизма и концепции объектов. После того, как объект установлен, концепция процесса, поддерживаемая операционной системой реального времени, используется для представления параллелизма, образуя два абстрактных уровня объекта и процесса. То есть сначала разлагается система на квазипараллельные процессы в качестве отправной точки, и использование объектно-ориентированной технологии внутри каждого процесса. Взаимодействия между объектами выражаются в виде вызовов вложенных функций, а для обеспечения целостности объектов добавляются явные механизмы синхронизации, такие как блокировки, мониторы и семафоры. В этой модели процессы располагаются выше объектов, и нет необходимости учитывать параллелизм или сериализацию объектов в объектах, как показано на рис. 12-16.
Вначале метод проектирования систем реального времени был в основном методом структурированного проектирования. Системы, использующие структурированные методы, имели большие ограничения с точки зрения возможности повторного использования и модификации. Объектно-ориентированный метод проектирования систем реального времени, очевидно, имеет очевидные преимущества в решении этих задач. Более практичным методом объектно-ориентированного проектирования является метод OCTOPUS от Nokia. Этот метод основан на OMT и методе Fusion и предлагает методы обработки времени отклика системы в реальном времени, временного интервала и параллелизма, а также, в частности, предлагает методы для работы в реальном времени. время ответа системы, временной интервал и параллелизм. Обработка аспектов параллелизма, синхронизации, связи, обработки прерываний, ASIC, аппаратных интерфейсов, времени сквозного ответа и т. д. Подход OCTOPUS хорошо сочетает в себе основные этапы разработки программного обеспечения, обеспечивает плавный и естественный переход от спецификации к работающей модели и поддерживает поэтапную разработку. Метод OCTOPUS — это типичный метод проектирования, сочетающий в себе современные объектно-ориентированные технологии и системы реального времени. Кроме того, на начальном этапе моделирования систем реального времени постепенно применяются формальные методы объектно-ориентированной разработки и языки моделирования.
Прежде чем проектировать, дизайнер должен знать, что проектировать. Требования и спецификации часто используются для описания этих двух связанных, но разных этапов процесса проектирования. Требования — это неформальное описание того, чего хотят пользователи, тогда как спецификации — это более подробные, точные и последовательные описания, которые можно использовать для создания архитектуры системы. Конечно, требования и спецификации являются внешними представлениями системы управления, а не внутренними представлениями. Существует два типа требований: функциональные требования и нефункциональные требования. Функциональные требования описывают то, что должна делать система, тогда как нефункциональные требования описывают другие атрибуты системы, такие как физический размер, цена, энергопотребление, время разработки, надежность. ждать.
Анализ требований для большой системы — сложная и трудоемкая задача, но получение небольшого объема информации в ясном и простом формате — хорошее начало для понимания требований системы. Таблица 12-5 представляет собой форму требований, которая заполняется в начале проекта и может использоваться в качестве контрольного списка при рассмотрении основных характеристик системы.
Содержание этой формы требований подготовлено на примере GPS (система глобального позиционирования, система мобильных карт). Мобильная картографическая система представляет собой портативное устройство, предназначенное для пользователей, которые ездят по автомагистралям или аналогичных пользователей. Устройство может получать информацию о местоположении от GPS и отображать для пользователя текущее местоположение и карты окружающей местности. Содержание карты меняется вместе с пользователем. Изменяется в зависимости от местоположения пользователя и устройства.
Наиболее важным документом на этапе анализа требований являются спецификации системы.
Спецификация – это технический документ, точно отражающий потребности заказчика и служащий требованиями, которые необходимо соблюдать при проектировании. В процессе разработки программного обеспечения очень важны спецификации. Системные аналитики принимают требования пользователей и создают спецификации для целевой программной системы. Проектировщики и программисты разрабатывают модули в соответствии со спецификациями и, наконец, создают программные коды. Персонал, занимающийся тестированием и приемкой, проверяет, соответствует ли окончательное программное обеспечение спецификациям. Спецификации должны быть ясными и недвусмысленными, иначе система, построенная на основе спецификаций, может не соответствовать реальным требованиям.
В настоящее время более популярным методом в отрасли является использование UML для описания спецификаций. UML — это универсальный стандартный язык моделирования, который позволяет моделировать любую систему со статической структурой и динамическим поведением. UML подходит для различных этапов процесса разработки системы: от спецификации требований до тестирования после завершения работы системы. На рис. 12-17 показан пример спецификации конечного автомата, показывающий, что операции Начало и конец являются особыми состояниями, а состояния конечного автомата представляют собой различные концептуальные операции.
На этапе анализа требований требования пользователей фиксируются с помощью вариантов использования. Посредством моделирования вариантов использования опишите внешних участников, заинтересованных в системе, и их функциональные требования к системе (варианты использования). Фаза анализа в основном связана с основными понятиями (такими как абстракции, классы, объекты и т. д.) и механизмами в проблемной области. Необходимо идентифицировать эти классы и их отношения и описать их с помощью диаграмм классов UML. На этапе анализа моделируются только объекты (концепции реального мира) проблемной области без учета классов, которые определяют технические детали в программной системе (например, классы, которые решают такие проблемы, как пользовательские интерфейсы, базы данных, связь, и параллелизм).
В настоящее время инструменты проектирования встроенных систем можно разделить на две категории: инструменты совместного синтеза и инструменты совместного моделирования.
(1) Инструменты совместного синтеза. В настоящее время к основным инструментам совместного синтеза, используемым для разработки встраиваемых систем, относятся POLIS, COSYMA и Chinook.
POLIS: POLIS — это среда совместного проектирования программного и аппаратного обеспечения для интерактивных встроенных систем, разработанная Калифорнийским университетом в Беркли. Она подходит для проектирования небольших систем управления. Описание системы поддерживает язык на основе FSM (конечный автомат). Поскольку как программное, так и аппаратное обеспечение можно получить прозрачно из одного и того же описания CFSM, соответственно увеличивается гибкость пространства проектирования. Поддерживается совместное моделирование с использованием PTOLEMY. Формальная проверка поддерживается как на уровне описания, так и на уровне реализации. ограничен, то есть аппаратные CFSM окружены только одним процессором и не поддерживают общую память.
COSYMA: COSYMA — это платформа, разработанная немецкой компанией IDA для изучения процесса синтеза совместного проектирования аппаратного и программного обеспечения. Она имеет относительно простое описание программных систем, поддерживает автоматическую сегментацию и синтез сопроцессора и может исследовать пространство проектирования. Синтез системы зависит от аппаратных ограничений и не поддерживает модули параллелизма, т. е. одновременно может выполняться только один поток. Архитектура также ограничена и не поддерживает формальную проверку. зависит от разделения и методов оценки затрат.
Chinook: Chinook предназначен для систем управления. Описание всей системы предоставляется Chinook в качестве входных данных. Его внутренняя модель основана на иерархической модели состояния. Он не сегментирует код. Он обеспечивает единую среду моделирования. Вся конструкция Chinook поддерживает различные системные архитектуры, особенно многопроцессорные. Он также поддерживает описание временных ограничений. Он может синтезировать различные интерфейсы, включая программные и аппаратные интерфейсы между системами. Он может синтезировать драйверы устройств непосредственно из временных диаграмм и управлять связью между процессорами.
(2) Инструменты совместного моделирования. Совместное моделирование является важнейшим аспектом проектирования встроенных систем. После завершения проектирования всей системы необходимо смоделировать различные типы компонентов в рамках единой структуры. Совместное моделирование не только обеспечивает проверку, но также предоставляет пользователям информацию о производительности каждой системы. ., что помогает предлагать изменения на ранних стадиях системы, не причиняя при этом больших потерь. В настоящее время существует два основных инструмента совместного моделирования:
PTOLEMY: Ключевая идея PTOLEMY заключается в сочетании вычислительных моделей с объектно-ориентированными ядрами. Ее можно использовать для моделирования различных систем и широко использовать в различных приложениях, но она не подходит для аппаратного моделирования. также одна из его функций. TSS: TSS (Tool for System Simulation) — инструмент для моделирования сложного оборудования. Он написан на языке C. Извлечение отдельных модулей может контролироваться пользователем, а модули можно легко добавлять и удалять. Однако иерархические модули не поддерживаются, а также отсутствует механизм синхронизации доступа к общим структурам данных каждого процессора. Связь между модулями осуществляется через порты и шины. Более того, TSS поддерживает моделирование многоядерных систем.
1.Проектирование архитектуры системы
Описание того, как система реализует функции, определенные в спецификации, является основной целью проектирования архитектуры системы. Однако при проектировании структуры встраиваемой системы сложно полностью разделить программное и аппаратное обеспечение. Обычный подход заключается в том, чтобы сначала рассмотреть программную архитектуру системы, а затем рассмотреть ее аппаратную реализацию. Описание архитектуры системы должно отвечать функциональным и нефункциональным требованиям. Должна быть реализована не только требуемая функциональность, но также должны быть соблюдены нефункциональные ограничения, такие как стоимость, скорость, энергопотребление и т. д. Это практический метод рассмотрения и уточнения функциональных элементов исходной блок-схемы системы один за другим и преобразования исходной блок-схемы в структуру программного и аппаратного обеспечения системы с учетом нефункциональных ограничений. В качестве примера ниже приведен архитектурный проект мобильной картографической системы GPS.
(1) Исходная блок-схема. Как показано на рисунке 12-18, эта исходная блок-схема представляет собой основную операцию и поток данных мобильной картографической системы.
(2) Архитектура программной системы. Как показано на рисунке 12-19, система программного обеспечения в основном состоит из пользовательского интерфейса, поисковой системы базы данных и преобразователя данных.
(3) Архитектура аппаратной системы. Как показано на рисунке 12-20, аппаратная система состоит из микропроцессора общего назначения, памяти и устройств ввода-вывода. Эта система выбирает два типа памяти: память общих данных, память программ и память кадрового буфера для отображения пикселей.
2.Проектирование аппаратной подсистемы
Среда разработки встроенных систем состоит из 4 частей: целевая аппаратная платформа, встроенная операционная система, язык программирования и инструменты разработки. Среди них при выборе процессора и операционной системы следует учитывать больше факторов, чтобы избежать неправильных решений, влияющих на ход проекта. .
(1) Выберите технологию процессора. Основная проблема при проектировании встраиваемых систем заключается в том, как одновременно оптимизировать конкурирующие технические характеристики. Разработчикам приходится искать компромисс между различными процессорными технологиями и технологиями интегральных схем. Вообще говоря, процессорная технология не имеет ничего общего с технологией IC, то есть любая процессорная технология может быть реализована с использованием любой технологии IC, но производительность, стоимость NRE, энергопотребление, размер и другие показатели конечного устройства будут очень значительными. разные, как показано на рисунке 12-21.
Более универсальная программируемая технология обеспечивает большую гибкость, снижает затраты на NRE и позволяет ускорить создание прототипа продукта и время его запуска. Индивидуальная технология может обеспечить более низкое энергопотребление, лучшую производительность, меньший размер и более низкую стоимость для крупносерийного производства.
Обычно, когда компания хочет запустить продукт, такой как телеприставка, домашний маршрутизатор или процессор общего назначения, она может сначала запустить полукастомизированный продукт, чтобы как можно быстрее захватить рынок, а затем запустить полностью индивидуальный продукт. Также можно сначала использовать более надежную старую технологию для реализации процессора, а затем использовать новый техпроцесс для реализации следующего поколения. Аналогичным образом, проектировщики встраиваемых систем могут использовать программируемые устройства для создания прототипов, чтобы ускорить выход на рынок, а затем использовать специальные устройства для массового производства. Основываясь на этих принципах, проектировщики могут сделать разумный выбор в отношении процессорной технологии и используемого процессора. Как правило, для большинства ситуаций подходящим вариантом является полностью настраиваемое коммерчески доступное «универсальное программное обеспечение процессора».
(2) Выбор общего встроенного процессора. Выбирайте подходящий встроенный процессор общего назначения исходя из потребностей пользователя и проекта. При выборе необходимо учитывать следующие показатели.
Скорость процессора. Производительность процессора зависит от многих факторов: тактовой частоты, размера внутренних регистров, одинаково ли инструкции обрабатывают все регистры и т. д. Для многих проектов встраиваемых систем, которым требуется процессор, цель состоит не в том, чтобы выбрать самый быстрый процессор, а в том, чтобы выбрать процессор и подсистему ввода-вывода, которые смогут выполнить работу. Производительность процессора соответствует потребностям системы и имеет определенный запас, но не нужно выбирать ее слишком высокую. Технические индикаторы. В настоящее время многие встроенные процессоры интегрируют функции периферийных устройств, тем самым уменьшая количество микросхем и тем самым снижая стоимость разработки всей системы. Первое, что задумываются разработчики, — можно ли подключить к процессору часть аппаратного обеспечения, необходимого системе, без излишней комбинаторной логики. Во-вторых, рассмотрим некоторые вспомогательные микросхемы процессора, такие как контроллер DMA, диспетчер памяти, контроллер прерываний, последовательное устройство, часы и т. д. Знакомство разработчика с процессором означает, что разработчику проекта необходимо найти компромисс между стоимостью самого процессора и стоимостью разработки.
Соответствует ли функция ввода-вывода процессора потребностям системы, то есть многие процессоры имеют встроенные внешние устройства для уменьшения количества микросхем и снижения затрат. Это решение следует учитывать в максимально возможной степени. Соответствующие средства программной поддержки процессора, то есть имеет ли процессор полную поддержку встроенных операционных систем, языков программирования и средств разработки и т. д.
Отладка процессора зависит от того, имеет ли процессор встроенные функции отладки, например, поддерживает ли он JTAG, BDM и другие методы отладки. Производитель процессора поддерживает доверие. При выборе определенного процессора в течение жизненного цикла продукта проектировщики должны подтвердить наличие у него достаточного снабжения, технической поддержки и т. д. Низкое энергопотребление процессора.
Крупнейшим и наиболее быстрорастущим рынком встраиваемых микропроцессоров являются потребительские электронные устройства, такие как портативные устройства, электронные блокноты, карманные компьютеры, мобильные телефоны, GPS-навигаторы и интеллектуальная бытовая техника. Микропроцессоры, приобретаемые в этих продуктах, обычно характеризуются высокими требованиями к производительности. низкое энергопотребление. Многие производители процессоров уже вошли в эту область.
(3) Меры предосторожности при проектировании оборудования. Сначала разделите аппаратное обеспечение на компоненты или модули и нарисуйте блок-схему соединений компонентов или модулей. Во-вторых, доработайте каждый модуль и разделите систему на более управляемые части, которые можно реализовать независимо. Обычно некоторые функции системы могут быть реализованы как в программном, так и в аппаратном обеспечении. Не существует единого метода, который помог бы разработчику принять решение о распределении функций в программном и аппаратном обеспечении, но компромисс между производительностью и стоимостью может быть найден на основе. список ограничений. При проектировании интерфейса между программным и аппаратным обеспечением разработчики аппаратного обеспечения и разработчики программного обеспечения должны работать вместе, чтобы завершить его. Хороший дизайн интерфейса может гарантировать, что аппаратное обеспечение будет простым и легким в программировании. При проектировании необходимо учитывать следующие моменты.
Короче говоря, разработчики аппаратного обеспечения должны предоставлять разработчикам программного обеспечения все более подробную информацию, чтобы облегчить проектирование и разработку программного обеспечения.
3.Проектирование программной подсистемы
В соответствии со спецификацией на этапе анализа требований определите модель расчета системы и проведите разумное проектирование программной части.
(1) Выбор операционной системы. При выборе встраиваемой операционной системы необходимо учитывать множество аспектов:
Функции операционной системы. Выбирайте продукты операционной системы на основе функций операционной системы, требуемых проектом. Учитывайте, поддерживает ли система все или часть функций операционной системы, поддерживает ли она файловые системы, человеко-машинные интерфейсы, является ли она системой реального времени. или система разделения времени, и можно ли вырубить систему и т.д.
Выбор поддерживающих инструментов разработки. Некоторые операционные системы реального времени (rtos) поддерживают только инструменты разработки, предоставляемые поставщиком системы. Другими словами, вы также должны получить компилятор, отладчик и т. д. от поставщика операционной системы. Некоторые операционные системы широко используются и доступны сторонние инструменты, поэтому выбор шире. Насколько легко портировать операционную систему. Перенос операционной системы на оборудование является важным вопросом. Это ключевой фактор, связанный с тем, может ли вся система быть завершена в срок. Поэтому следует выбирать операционные системы с высокой степенью переносимости, чтобы избежать различных трудностей, вызванных сложностью переноса операционной системы на оборудование, и ускорить ход разработки. системы. Каковы требования к памяти операционной системы. Подумайте, нужна ли дополнительная оперативная память или EEPROM для удовлетворения больших требований к памяти операционной системы. Некоторые операционные системы имеют требования к памяти, специфичные для конкретной цели. Например, в Tornado/vxworks разработчики могут выделять необходимые ресурсы в соответствии с потребностями приложения вместо выделения ресурсов для операционной системы. Разработчики могут выбирать из 80 различных конфигураций: от встроенных проектов, требующих несколько килобайт памяти, до сложных высокопроизводительных приложений реального времени, требующих большей функциональности операционной системы.
Дополнительные пакеты операционной системы. Содержит ли он необходимые программные компоненты, такие как стеки сетевых протоколов, файловые системы, драйверы для различных часто используемых периферийных устройств и т. д. Насколько в режиме реального времени работает операционная система? Реальное время делится на мягкое и жесткое. Некоторые встроенные операционные системы могут обеспечивать только мягкую производительность в режиме реального времени. Например, Microsoft Windows CE 2.0 — это 32-разрядная, совместимая с Windows, микроядерная масштабируемая операционная система реального времени, которая может удовлетворить потребности большинства встроенных и невстроенных систем. Приложения.Однако производительность в реальном времени недостаточно высока, и это встроенная операция мягкого реального времени.
Операционная система. Насколько гибка операционная система? Можно ли адаптировать операционную систему, то есть можно ли адаптировать функции системы в соответствии с реальными потребностями. Некоторые операционные системы имеют широкие возможности адаптации, например встроенный Linux, Tornado/vxworks и т. д.
(2) Выбор языка программирования. При выборе языка программирования также необходимо учитывать множество аспектов:
Универсальность. С непрерывным развитием микропроцессорной технологии ее функции становятся все более специализированными, и появляется все больше типов. Однако разные типы микропроцессоров имеют свой собственный язык ассемблера. Это создает огромное препятствие для разработчиков систем, затрудняя системное программирование и делая невозможным повторное использование программного обеспечения. Языки высокого уровня обычно меньше контактируют с аппаратной структурой конкретных машин. Доступны для большинства микропроцессоров. Хорошая поддержка и хорошая универсальность.
портативность. Поскольку язык ассемблера тесно связан с конкретным микропроцессором, программу, разработанную для определенного микропроцессора, нельзя напрямую пересадить на другой микропроцессор другого типа. Поэтому переносимость плохая. Языки высокого уровня являются общими для всех микропроцессоров, поэтому программы могут работать на разных микропроцессорах и являются более переносимыми. Это основа повторного использования программного обеспечения. эффективность. Вообще говоря, чем более высокоуровневый язык, тем больше затрат на компилятор и накладные расходы, а также тем больше и медленнее приложение. Однако использование для разработки приложений исключительно языков низкого уровня, таких как ассемблер, приводит к таким проблемам, как сложное программирование и длительные циклы разработки. Таким образом, существует компромисс между временем разработки и производительностью во время выполнения.
Ремонтопригодность. Языки низкого уровня, такие как ассемблер, не поддерживаются. Программы на языке высокого уровня часто имеют модульную конструкцию, а интерфейсы между каждым модулем фиксированы. Поэтому при возникновении проблемы в системе ее можно быстро локализовать в определенном модуле и решить в кратчайшие сроки. Кроме того, модульная конструкция также облегчает расширение и модернизацию функций системы.
Базовая производительность. В процессе разработки встроенных систем используется множество типов языков. К наиболее широко используемым языкам высокого уровня относятся Ada, C/C++, Modula-2 и Java и т. д. Язык Ada строго определен, легко читается и понимается и имеет богатую библиотечную поддержку. В настоящее время он широко используется в национальной обороне, авиации, аэрокосмической и других смежных областях и по-прежнему будет занимать важное место в этих областях. будущее. Язык C имеет обширную поддержку библиотечных программ и является наиболее широко используемым языком программирования во встроенных системах. Он еще долгое время будет занимать важную позицию в области приложений для встраиваемых систем. C++ — это объектно-ориентированный язык программирования, который также широко используется при проектировании встроенных систем, например GNU C++. Visual C++ — это интегрированная среда разработки, поддерживающая визуальное программирование и широко используемая при разработке программ с графическим пользовательским интерфейсом. Однако по сравнению с C++ целевой код C++ часто больше и сложнее. Этот фактор следует полностью учитывать во встраиваемых системных приложениях.
(3) Процесс разработки программного обеспечения. Процесс разработки встроенного программного обеспечения отличается от процесса разработки общего программного обеспечения. Он в основном включает в себя следующие этапы:
(4) Документы по разработке программного обеспечения. В процессе разработки и проектирования встроенных продуктов этап разработки завершает внедрение системных продуктов. Этот этап также требует создания ряда документов. Эти документы очень важны для завершения проектирования и обслуживания продуктов. Эти документы представляют собой каталоги технических файлов. документы, технические задания и т.п., отчеты технического плана, спецификации продукции, технические условия, инструкции по проектированию, протоколы испытаний, сводные отчеты и т.п.
Обычно тестирование встроенных систем включает в себя три части: тестирование программного обеспечения, тестирование оборудования и модульное тестирование. Общее тестирование аппаратного обеспечения системы включает тестирование надежности и тестирование на электромагнитную совместимость. В настоящее время существуют обязательные внутренние и международные стандарты электромагнитной совместимости.
Методы и принципы тестирования встроенного системного программного обеспечения в основном такие же, как и при тестировании общего программного обеспечения. При тестировании программного обеспечения обычно требуются тестовые экземпляры или тестовые последовательности: один создается пользователем, а другой. это стандартная тестовая последовательность. Независимо от того, какой тестовый экземпляр, экземпляр должен иметь возможность находить больше ошибок с высокой вероятностью, но есть некоторые различия в содержании теста:
(1) Встроенное программное обеспечение должно работать стабильно в течение длительного времени.
(2) Встроенное программное обеспечение обычно не подвергается частым обновлениям версий.
(3) Встроенное программное обеспечение обычно используется в критически важных приложениях.
(4) Встроенное программное обеспечение должно нести ответственность за сбой и надежность продукта вместе со встроенным оборудованием.
(5) Реальные условия асинхронны и непредсказуемы, что очень затрудняет моделирование.
Из-за этих различий тестирование программного обеспечения встроенных систем в основном фокусируется на следующих четырех различных аспектах:
(1) Поскольку одновременно обеспечить одновременное выполнение условий реального времени и одновременности сложно, большинство тестов сосредоточено на тестировании в реальном времени.
(2) Большинство систем реального времени имеют ограничения по ресурсам и поэтому требуют большего тестирования производительности и удобства использования.
(3) Покрытие кода можно протестировать с помощью специальных инструментов отслеживания в реальном времени.
(4) Уровень тестирования надежности намного выше, чем у обычного программного обеспечения.
Кроме того, тестирование производительности также является одним из наиболее важных мероприятий по тестированию, которое необходимо выполнить при проектировании встроенных систем, и оно оказывает решающее влияние на встроенные системы.
Из-за особых характеристик встроенных систем система имеет различные аппаратные и программные платформы, каждая из которых специально разработана для разных приложений. Поэтому прикладное программное обеспечение редко бывает универсальным для различных платформ, а скорость обновления встроенных систем относительно высока. Чтобы защитить существующие инвестиции, в полной мере использовать существующие ресурсы программного обеспечения и ускорить разработку продуктов, трансплантация программного обеспечения стала очень частой в области встраиваемых систем.