Этот духовой шкаф TMIO ConnectIO является встроенной системой. Он может охладить продукты перед их приготовлением. Им можно удаленно управлять через Интернет или по телефону. Он использует ОС Windows Embedded CE OS. Позвоните ему по пути домой и ваша еда будет готова, когда вы будете дома. Фотография с разрешения TMIO LLC.
Встроенная система является электронным устройством, которое включает в своей реализации компьютер. Пользователь встроенного устройства часто даже не знает, что в устройстве имеется компьютер. Компьютер используется, прежде всего, для обеспечения гибкости и для упрощения конструкции системы. В отличие от ПК программный код хранится обычно в ROM, а не на жестком диске. Обычно конечный пользователь не разрабатывает новое программное обеспечение для встроенного устройства. С развитием технологии
Робот, такой как марсоход, показанный на рисунке 1.1, является встроенной системой. Сотовый телефон, PDA, или портативный мультимедиа плеер, показанные на рисунке 1.2, являются встроенными устройствами. Даже электрическая зубная щетка, показанная на рисунке 1.2, является встроенной системой. Небольшой микроконтроллер в зубной щетке обеспечивает программируемое управление скоростью и индикацию состояния заряда батареи. Высококачественные автомобили могут содержать около ста встроенных микроконтроллеров. Типичное домовладение среднего класса имеет около пятидесяти встроенных устройств. Для каждого ПК в мире имеется более сотни встроенных устройств. В общей сложности, встроенные устройства составляют большую часть мирового производства микропроцессоров.
(рис 1.1) Роботы, такие как марсоход, являются встроенными системами. Фотография с разрешения NASA/JPL CALTECH
Как видно в таблице 1.1, встроенные устройства можно найти в разнообразных продуктах, включая самолеты и военные системы, биомедицинские системы, автомобили, коммуникацию, компьютерные устройства в/в, электронные инструменты, домашняя электроника, промышленное оборудование, офисные машины, персональные устройства, роботы, и интеллектуальные игрушки. Встроенные устройства можно найти повсюду.
Конструкторы встроенных систем часто сталкиваются со сложными проектными задачами. Встроенные системы должны быть надежными. Многие встроенные устройства не могут ломаться, и не могут быть перезагружены. Программное обеспечение невозможно обновить во многих встроенных устройствах. Многие устройства имеют жесткие конструкционные ограничения по производительности и потреблению энергии. Некоторым устройствам необходимо работать от батареи длительный период времени. Кроме того, потребительские устройства обычно очень быстро выходят на рынок с новыми продуктами и имеют жесткую ценовую конкуренцию. Во многих приложениях существуют ограничения реального времени и многие устройства имеют ограниченную память и вычислительную мощность.
|
|
(рис 1.2) Сотовые телефоны, PDA, и мультимедийные плееры, все являются встроенными системами. Даже эта электрическая зубная щетка! Фотографии с разрешения Motorola, Microsoft, и Philips Sonicare
| Авиационные Военные системы | Автопилоты самолетов, авионика и навигационные системы, системы автоматической посадки, системы наведения, управление двигателем. |
|---|---|
| Биомедицинские системы | Cистемы компьютерной томографии и ультразвукового исследования, мониторинг пациентов, кардиостимуляторы. |
| Автомобили | Управление двигателем, антиблокировочные тормозные системы, противобуксовочная тормозная система, управление подушками безопасности, управление системой обогрева и кондиционирования воздуха, навигация GPS, спутниковое радио, системная диагностика. |
| Коммуникация | Коммуникационные спутники, сетевые маршрутизаторы, коммутаторы, концентраторы. |
| Потребительская электроника | телевизоры, духовки, посудомоечные машины, плееры DVD, стереосистемы, системы безопасности, управление поливом газонов, термостаты, фотокамеры, радиочасы, автоответчики, декодеры кабельного телевидения, другие устройства. |
| Устройства в/для компьютера | Клавиатуры, мыши, принтеры, сканеры, дисплеи, модемы, устройства жестких дисков, устройства DVD, графические платы, устройства USB. |
| Электронные инструменты | Системы сбора данных, осциллографы, вольтметры, генераторы сигналов, |
| Промышленное оборудование | Управление лифтами, системы наблюдения, роботы, станки с ЧПУ, программируемые логические контроллеры, промышленные системы автоматизации и управления. |
| Офисные машины | факс-аппараты, копиры, телефоны, калькуляторы, кассовые аппараты. |
| Персональные устройства | сотовые телефоны, переносные плееры MP3, видео-плееры, персональные цифровые помощники (PDA), электронные наручные часы, портативные видеоигры, цифровые камеры, системы GPS. |
| Роботы | |
| Игрушки | системы видеоигр, игрушки роботы типа "Aibo", "Furby", и "Elmo". |
Системы реального времени должны отвечать на
Иллюстративным примером системы реального времени является контроллер автомобильной воздушной подушки безопасности. Когда датчики движения воздушной подушки (
(рис 1.3) Система реального времени должна отвечать на внешние параметры ввода и создавать новые результаты вывода за ограниченное время или система откажет. Время реакции может быть в интервале от 0.5 до 10 мс
В мягкой системе реального времени приоритет имеют критически важные задачи. Мягкая система реального времени обычно удовлетворяет ограничениям отклика реального времени. Примером типичной мягкой системы реального времени является плеер мультимедиа. Плеер может иногда пропустить видео кадр или аудио сэмпл, и пользователь может это даже не заметить, пока плеер правильно работает большую часть времени.
В жесткой системе реального времени новый результат вывода всегда должен быть вычислен в указанных границах времени, или система не сработает. В качестве примера жесткой системы реального времени рассмотрим систему дистанционного управления рулями (т.е., управляемую компьютером). В системе управления полетом самолета, когда летчик перемещает штурвал управления, рули управления полетом должны в ответ переместиться очень быстро, или самолет потеряет устойчивость и упадет. Чтобы обеспечить безопасность,
Процедуры обмена страниц виртуальной памяти и сборки мусора, необходимые объектно-ориентированным языкам, могут вызывать проблемы в жестких системах реального времени. Даже кэширование является иногда проблемой, так как может приводить к изменению времени выполнения программы.
Многие встроенные системы являются системами реального времени с несколькими входами и выходами. Несколько событий происходят независимо друг от друга. Программирование упрощается при разделении задач, но это требует от ЦП постоянного переключения между различными задачами. Операционная система, которая поддерживает мультизадачность, обеспечивает разделение времени ЦП между несколькими задачами. ОС обеспечивает также элементы синхронизации, необходимые для координации действий между различными задачами, выполняющимися параллельно.
Операционные системы часто классифицируют по их характеристикам реального времени. Операционная система реального времени должна быть тщательно спроектирована, чтобы поддерживать приложения реального времени. Недавнее исследование приходит к выводу, что 95% приложений реального времени требуют ограниченного времени ответа в диапазоне от 0.5 до 10 мсек. Только 10% отклонение (колебание от 50 микросекунд до 1 мсек) во времени ответа может быть допустимо. Согласно таким требованиям большинство операционных систем общего назначения не являются системами реального времени. Согласно этим критериям встроенная ОС, такая как Windows Embedded CE, квалифицируется как операционная система реального времени (ОС РВ) (Основывается на определении и оценках времени принятых рабочей группой Open,
Код ядра в ОС РВ написан таким образом, что прерывания процессора отключаются только на очень короткие периоды времени. Максимальное время реакции прерывания (задержка) является ключевым фактором во времени ответа ОС РВ. Традиционная ОС настольного компьютера, такая как Windows XP, может рассматриваться в лучшем случае только как мягкая ОС реального времени. Для Windows XP существуют некоторые инструменты сторонних поставщиков, которые улучшают время ответа.
Большинство новых устройств имеет сложное программное обеспечение, которое требуется для мультизадачности, синхронизации задач, поддержки широкого диапазона устройств ввода/вывода, планирования и буферизации операций ввода/вывода, управления памятью, поддержки графических дисплеев, файловых систем, сетей, безопасности и управления питанием. Операционная система может предоставить все эти возможности, чтобы помочь разработчикам приложений. Прикладные программисты будут более продуктивными, так как они работают на более высоком уровне абстракции, используя эти средства, предоставляемые операционной системой.
Выпущенная недавно модель сотового телефона содержит более пяти миллионов строк кода. Немногие, если вообще какие-то проекты, будут иметь время и средства, необходимые для разработки всего этого кода полностью самостоятельно. В таких случаях имеет экономический смысл использовать существующую операционную систему. Сокращение времени разработки и снижение расходов вполне оправдают стоимость лицензии операционной системы.
Лицензионные отчисления типичной коммерческой встроенной ОС составляют только несколько долларов на устройство. Некоторые очень простые устройства могут обходиться без ОС, но новые устройства постоянно становятся все более сложными.
В связи с этим большинство встроенных устройств используют встроенную операционную систему. Встроенные операционные системы обычно разрабатываются большей частью на C/C++ и поставляются вместе с компилятором C/C++, ассемблером, и инструментами отладки, чтобы помочь разработчикам в разработке прикладных программ и тестировании устройства. Инструменты разработки встроенных систем должны также поддерживать выполнение программ с помощью кода, хранящегося в энергонезависимой памяти, такой как ROM или память Flash.
Ежегодные обзоры разработчиков, работающих над новыми встроенными устройствами, выполняются несколькими популярными отраслевыми изданиями (Представленные данные содержатся в обзоре 2006 г. рынка встроенных устройств, выполненного EETimes и
(рис 1.4) Разрядность процессоров, используемых в новых разработках встроенных устройств
Рисунок 1.5 показывает данные годовых продаж 32 и 64-битных микропроцессоров за 2002 г. Процессоры на основе ARM и X86 имеют самую большую долю рынка, а вслед за ними следуют несколько других RISC-процессоров, MIPS, SuperH, и PowerPC. Считается, что текущие данные должны быть похожими, но они недоступны публично. Процессоры ARM являются 32-битными RISC процессорами с низким энергопотреблением английской компании, ARM ltd (Advanced RISC Machines) http://www.arm.com/.
ARM не производит никаких микросхем процессоров, но получает прибыль от лицензирования своей разработки ARM IP производителям полупроводников, которые производят свои собственные версии процессора ARM. Разработка процессора ARM лицензирована более чем 100 производителям микросхем. ARM используется во многих устройствах, таких как сотовые телефоны,
(рис 1.5) Данные готовых продаж 32 и 64-битных процессоров в 2002 г
Семейство процессоров X86 основывается на множестве инструкций Intel
(рис 1.6) Число процессоров в каждом встроенном устройстве
Рисунок 1.6 показывает число процессоров в каждой новой конструкции встроенного устройства. Один или два процессора являются обычными в новых конструкциях встроенных продуктов. Многие современные сотовые телефоны имеют одновременно как процессор общего назначения, так и процессор DSP для обработки более высоких скоростей обмена, необходимых для коммуникационных задач и протоколов. Процессоры, используемые во встроенных системах, составляют 98 процентов продаж на рынке процессоров с ежегодным объемом пятьдесят миллиардов долларов (D. J. Jackson and P. Caspi, "
(рис 1.7) Использование ядер ОС реального времени в новых встроенных конструкциях
Рисунок 1.7 показывает, что большинство новых встроенных устройств имеет операционную систему. В этих устройствах с операционной системой наиболее популярным выбором является готовая коммерческая операционная система. Несколько исследований и обзоров показали, что ОС с открытым исходным кодом сохраняют существующую или, возможно, даже теряют свою долю рынка. Одно из исследований указывает, что общая стоимость разработки продукта может в реальности быть выше для ОС с открытым исходным кодом, если будут включены время разработки, зарплата, и другие лицензионные отчисления. Одной из упоминаемых причин этого является зрелость продукта и легкость разработки, предоставляемая коммерческими операционными системами, доступными в настоящее время для встроенных устройств. Лицензии Open Source могут также требовать, чтобы производитель опубликовал исходный код устройства, и многие не хотят делать это, так как конкуренты могут использовать его для разработки аналогичных продуктов.
В обзоре коммерческих операционных в 2006 г. система Microsoft Embedded имела самую большую долю рынка, как видно на рисунке 1.8. Microsoft Embedded состоит из обоих систем, Windows Embedded XP и Windows Embedded CE. Затем идет
(рис 1.8) Коммерческие операционные системы, используемые в новых встроенных разработках
Рисунок 1.9 показывает распределение ответов, которые дали разработчики на вопрос "какой язык вы используете для разработки встроенных систем". Семейство языков С очевидно используется в большинстве разработок встроенных систем. Для языка ассемблера ответы указывают, что около трети разработчиков встроенных систем все еще должны использовать язык ассемблера для некоторой небольшой части своих разработок.
(рис 1.9) Языки программирования, используемые во встроенных устройствах
Отметим, что форма, в которой был поставлен вопрос в опросе, предполагает, что этот ответ не означает, что одна треть кода написана на языке ассемблера. Этот ответ означает скорее, что одна треть разработчиков все еще вынуждена использовать язык ассемблера в некоторых местах своей разработки. Другие обзоры указывают, что объем кода на языке ассемблера будет где-то меньше чем 5-10 процентов разработанного для новых встроенных устройств кода. Даже код ROM BIOS персонального компьютера, который является одним из последних бастионов языка ассемблера, в настоящее время преобразуется в С основными производителями ПК.
В заключение необходимо отметить, что большинство встроенных устройств используют достаточно мощные 32-битные процессоры. Большинство устройств достаточно сложные, так что требуют наличия операционной системы. В тех устройствах, которые имеют операционную систему, это будет, скорее всего, коммерческая операционная система. Большая часть работы по разработке для встроенных устройств в настоящее время выполняется с помощью языков семейства С. Язык ассемблера может все еще использоваться в небольшом количестве низкоуровневых процедур на некоторых устройствах, но его использование продолжает сокращаться.
В оставшейся части этого документа мы будем использовать Windows Embedded CE, одну из наиболее популярных коммерческих встроенных операционных систем реального времени, в примерах и лабораторных проектах на встроенной компьютерной системе eBox.
Жизненный цикл встроенного продукта показан на рисунке 1.10. Начальная фаза концептуального проектирования нового продукта включает некоторое предвидение продукта на основе предсказаний рынка, потребностей клиентов, и развития технологии. При планировании продукта делается экономическое обоснование для продукта с оценками количества единиц продаж, цены, и прибыли. Это приводит к созданию начального макета продукта, проектной спецификации, и маркетингового плана продукта. На этом этапе могут также привлекаться промышленные дизайнеры для создания концепции упаковки нового продукта.
Не забывайте, что цена продаж должна покрывать расходы компании на маркетинг, проектирование, и разработку помимо расходов на производство каждой единицы продукта. Это зависит от объема продаж, но уровень цены в два или три раза превышающий расходы на производство единицы продукта не является необычным.
Большая часть усилий по аппаратной и программной реализации происходят в конце этапа проектирования и на стадии разработки. Критический анализ проектных решений помогает определить, возможно ли физически реализовать концепцию проекта с учетом спецификаций проекта. Электротехнический и программный макет часто создается перед анализом проектных решений. Затем проектируется небольшое число прототипов, конструируется, и используется для более детального аппаратного и программного тестирования.
(рис 1.10) Фазы жизненного цикла создания встроенного устройства: Конструирование, Разработка, и Производство
Наконец, в производственной фазе производится большое количество продукта. Сначала обычно создается небольшая пилотная партия для дополнительного тестирования и оценки перед началом массового производства. Инженеры по качеству непрерывно работают над улучшением качества продукта и процесса. Инженеры службы поддержки имеют дело с изменениями, которые следуют после представления нового продукта и предоставляют техническую поддержку продукта. С учетом текущих тенденций глобализации массовое производство нового встроенного устройства часто происходит в другой стране, где это более экономически выгодно. Для многих встроенных устройств весь процесс требует от шести месяцев до года, но конкурентный рынок постоянно заставляет сокращать
Основные усилия по созданию программного обеспечения и инженерному проектированию происходят в фазе разработки, которая будет описана теперь более подробно. Прежде всего конструкторы должны выбрать процессор и операционную систему. Выбор процессора для встроенного устройства включает много факторов для рассмотрения, таких как цена, производительность, потребляемая энергия, и программная поддержка.
С учетом того, что для большинства встроенных устройств сегодня требуется операционная система, доступность соответствующей ОС, драйверы устройств, прикладные программы, и необходимые компиляторы и инструменты разработки программного обеспечения являются основным фактором рассмотрения для любого нового проекта, возможно даже более важным, чем выбор процессора.
Производители предоставляют руководства с описанием своих процессоров и обычно предоставляют разработчикам полную разработку эталонной платы, которую можно использовать в качестве исходной точки при разработке новой конструкции компьютера, использующей этот процессор. Подробное описание каждого отдельного процессора, устройства памяти, и всех требуемых микросхем находится за рамками данного руководства, но некоторые из самых общих свойств оборудования, которые непосредственно влияют на создание программного обеспечения, будут рассмотрены позже.
После того как конструктор оборудования встроенной системы выбрал процессор и его соответствующие устройства памяти, следующий шаг состоит в добавлении аппаратных устройств ввода/вывода и соответствующей структуры шины, необходимой для соединения требуемых устройств с процессором. Так как процессоры уже спроектированы производителем и интерфейсы памяти в большой степени диктуются процессором, то значительная часть усилий по проектированию оборудования во встроенных устройствах посвящена выбору и соединению оборудования, необходимого для различных устройств ввода/вывода, требуемого в новой конструкции.
После тщательного ввода принципиальной схемы конструкции, для встроенного устройства проектируется печатная плата (
Средства разработки программного обеспечения обычно поставляются вместе с ОС. Так как ОС написана на C/C++, то для генерации новой ОС требуются компилятор, редактор связей, отладчик и инструменты двоичного образа. Эти же инструменты используются обычно для разработки приложений.
Разработка программного обеспечения происходит параллельно разработке оборудования с целью сокращения общего времени разработки продукта. Это становится еще более важным, учитывая все сокращающийся жизненный цикл продуктов современных встроенных устройств. Для разработки и тестирования программного обеспечения можно использовать средства эмуляции и встроенные компьютерные платы с аналогичным оборудованием, выполняющим ту же самую ОС, прежде чем станет доступна новая аппаратная платформа. Так как большая часть кода написана на C/C++/C#, большую часть программного обеспечения может даже разрабатываться и тестироваться на другом процессоре или эмуляторе. Код затем перекомпилируется для нового процессора для последнего круга разработки и тестирования, когда станет доступно новое оборудование.
В Windows Embedded CE имеется эмулятор ARM вместе с инструментами разработки, для начальной разработки программного обеспечения и тестирования, прежде чем станет доступна новая аппаратная платформа, можно использовать устройство на базе ПК X86 (называемое CEPC), или встроенную компьютерную плату (называемую целевым устройством).
Большинство встроенных устройств в настоящее время используют два типа памяти,
Операционная система и прикладные программы обычно хранятся во flash-памяти, так как большинство встроенных устройств не имеют устройства жесткого диска. Жесткие диски имеют более высокий уровень отказов, они требуют больше пространства, и питания, поэтому они не являются жизненной необходимостью для многих встроенных конструкций, особенно в небольших мобильных и использующих батарею устройствах.
(рис 1.11) Большинство встроенных систем использует два типа памяти. SDRAM для основной памяти и Flash-память вместо жесткого диска для хранения ОС и прикладных программ
Чтение Flash-памяти выполняется значительно медленнее, чем памяти
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.