Лекции рассматриваются примеры встроенных систем, приводятся примеры используемых во встроенных системах процессоров



страница1/20
Дата26.08.2015
Размер3.34 Mb.
  1   2   3   4   5   6   7   8   9   ...   20
Лекция 1: Введение во встроенные системы

A

 | 


версия для печати

Лекция 1123 || Лекция 2 >

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

Ключевые слова: 16-bit802.11gAGPBELcardbusdata fieldEAPFAAghzhandheld pcI2CkbpsLANEmbpsNAKOaK,pc cardrambusSAXtrackerUARTVDDwarm bootXIPzigbeeакселерометрбазовое ядровекторное прерывание,генерация сигналаделитель частотыжизненный цикл продуктазначение отношенияинверсия приоритетов,квалификатор доступалогический анализатормарсоходописатель файлаперекрестное соединениерабочий цикл,самодокументированиетаблица векторов прерыванийуправление роботамицелевой процессшина ISAэффективная частота

http://www.intuit.ru/edi/08_04_13_2/convert-out/tutorial/516/objects/1/files/00_00.jpg


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

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

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

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

роботы, такие как марсоход, являются встроенными системами. фотография с разрешения nasa/jpl caltech


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

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



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

http://www.intuit.ru/edi/08_04_13_2/convert-out/tutorial/516/objects/1/files/00_02-1.jpg


http://www.intuit.ru/edi/08_04_13_2/convert-out/tutorial/516/objects/1/files/00_02-2.jpg


сотовые телефоны, pda, и мультимедийные плееры, все являются встроенными системами. даже эта электрическая зубная щетка! фотографии с разрешения motorola, microsoft, и philips sonicare


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

Таблица 1.1. Примеры встроенных систем

Авиационные & Военные системы

Автопилоты самолетов, авионика и навигационные системы, системы автоматической посадки, системы наведения, управление двигателем.

Биомедицинские системы

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

Автомобили

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

Коммуникация

Коммуникационные спутники, сетевые маршрутизаторы, коммутаторы, концентраторы.

Потребительская электроника

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

Устройства в/для компьютера

Клавиатуры, мыши, принтеры, сканеры, дисплеи, модемы, устройства жестких дисков, устройства DVD, графические платы, устройства USB.

Электронные инструменты

Системы сбора данных, осциллографы, вольтметры, генераторы сигналов, логические анализаторы.

Промышленное оборудование

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

Офисные машины

факс-аппараты, копиры, телефоны, калькуляторы, кассовые аппараты.

Персональные устройства

сотовые телефоны, переносные плееры MP3, видео-плееры, персональные цифровые помощники (PDA), электронные наручные часы, портативные видеоигры, цифровые камеры, системы GPS.

Роботы

Промышленные роботы, автономные транспортные средства, космические исследовательские роботы (например, роботы-марсоходы)

Игрушки

системы видеоигр, игрушки роботы типа "Aibo", "Furby", и "Elmo".

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

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

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

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




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

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

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

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

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

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

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

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

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

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

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

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



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

Ежегодные обзоры разработчиков, работающих над новыми встроенными устройствами, выполняются несколькими популярными отраслевыми изданиями (Представленные данные содержатся в обзоре 2006 г. рынка встроенных устройств, выполненного EETimes и Embedded Systems Design Magazine, www.embedded.com). Интересно пронаблюдать за общими тенденциями, раскрытыми этими обзорами, и увидеть, какие типы новых встроенных систем разрабатываются в настоящее время. Рисунок 1.4 показывает разрядность процессоров, которые используются в настоящее время в новых разработках встроенных устройств. Как можно видеть, большинство текущих разработок сосредоточено вокруг 32-битных процессоров. Это не удивительно, так как с учетом продолжающегося развития технологии VLSI тенденция всегда была направлена в сторону использования во встроенных устройствах все более мощных процессоров. Программный код и приложения, выполняющиеся на новых встроенных устройствах, также продолжают усложняться и требуют все больше памяти.

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


Рис. 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 используется во многих устройствах, таких как сотовые телефоны, iPod Nano, фотокамеры, игровые приставки, HDTV, декодерах каналов кабельного ТВ. 80% процессоров ARM находится в сотовых телефонах. Хорошее соотношение производительность/энергопотребление делает его очень популярным выбором в устройствах, работающих со слабым источником питания и на батареях. Специальное подмножество инструкций ARM кодируется как 16-битные и распаковывается на лету в 32-битные инструкции. Он может переключаться из 16-битных в 32-битные инструкции на уровне подпрограмм. Это помогает уменьшить стоимость памяти в небольших устройствах.

данные готовых продаж 32 и 64-битных процессоров в 2002 г




Рис. 1.5. Данные готовых продаж 32 и 64-битных процессоров в 2002 г

Семейство процессоров X86 основывается на множестве инструкций Intel 80X86 CISC, которое используется в процессорах настольных ПК со средины 1980-х. Процессоры на основе X86 имеют достаточно низкую стоимость благодаря своему широкому применению в технологии ПК. Процессоры X86 и микросхемы поддержки доступны от множества поставщиков. В устройствах X86 доступен широкий диапазон значений отношения цена/производительность. Большинство процессоров X86 для настольных ПК были оптимизированы для производительности, а не для низкого потребления энергии. Основные поставщики процессоров настольных ПК (Intel, AMD) развивают новые конструкции и 64-битную архитектуры, но ряд других производителей делают теперь процессоры X86 для встроенных устройств.

 число процессоров в каждом встроенном устройстве


Рис. 1.6. Число процессоров в каждом встроенном устройстве

Рисунок 1.6 показывает число процессоров в каждом новой конструкции встроенного устройства. Один или два процессора являются обычными в новых конструкциях встроенных продуктов. Многие современные сотовые телефоны имеют одновременно как процессор общего назначения, так и процессор DSP для обработки более высоких скоростей обмена, необходимых для коммуникационных задач и протоколов. Процессоры, используемые во встроенных системах, составляют 98 процентов продаж на рынке процессоров с ежегодным объемом пятьдесят миллиардов долларов (D. J. Jackson and P. Caspi, "Embedded systems education: future directions, initiatives, and cooperation," SIGBED Rev., vol. 2, no. 4, pp. 1–4, 2005 and J. Turley, The Two Percent Solution, Embedded Systems Programming, Dec. 2002.).

использование ядер ос реального времени в новых встроенных конструкциях


Рис. 1.7. Использование ядер ОС реального времени в новых встроенных конструкциях

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

В обзоре коммерческих операционных в 2006 г. система Microsoft Embedded имела самую большую долю рынка, как видно на рисунке 1.8. Microsoft Embedded состоит из обоих систем, Windows Embedded XP и Windows Embedded CE. Затем идетVxWorks OS компании Wind River Systems. Symbian является ОС, которая широко используется в сотовых телефонах.

коммерческие операционные системы, используемые в новых встроенных разработках




Рис. 1.8. Коммерческие операционные системы, используемые в новых встроенных разработках

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

языки программирования, используемые во встроенных устройствах


Рис. 1.9. Языки программирования, используемые во встроенных устройствах

Отметим, что форма, в которой был поставлен вопрос в опросе, предполагает, что этот ответ не означает, что одна треть кода написана на языке ассемблера. Этот ответ означает скорее, что одна треть разработчиков все еще вынуждена использовать язык ассемблера в некоторых местах своей разработки. Другие обзоры указывают, что объем кода на языке ассемблера будет где-то меньше чем 5-10 процентов разработанного для новых встроенных устройств кода. Даже код ROM BIOS персонального компьютера, который является одним из последних бастионов языка ассемблера, в настоящее время преобразуется в С основными производителями ПК.

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

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


  1   2   3   4   5   6   7   8   9   ...   20


База данных защищена авторским правом ©zubstom.ru 2015
обратиться к администрации

    Главная страница