Унификация архитектур однокристальных микроконтроллеров и ее применение для разработки программного обеспечения встраиваемых систем
Практическая ценность. Предложенные принципы и методы были положены в основу создания среды разработки ПО для встраиваемых систем на базе 8-ми разрядных микроконтроллеров с использованием унифицированного для целевого класса ОМК языка ассемблера. Реализованные на этом языке модули (конечные программы, выполняющие одну или несколько функций) могут быть повторно использованы в других программных… Читать ещё >
Содержание
- 1. АНАЛИЗ СРЕДСТВ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ОДНОКРИСТАЛЬНЫХ МИКРОКОНТРОЛЛЕРОВ
- 1. 1. Проблемы разработки программного обеспечения встраиваемых систем, реализуемых на однокристальных микроконтроллерах
- 1. 2. Цели анализа архитектуры микроконтроллеров и средств разработки программного обеспечения встраиваемых систем
- 1. 3. Языки разработки программного обеспечения встраиваемых систем
- 1. 4. Инструментальные среды разработки программного обеспечения для однокристальных микроконтроллеров
Унификация архитектур однокристальных микроконтроллеров и ее применение для разработки программного обеспечения встраиваемых систем (реферат, курсовая, диплом, контрольная)
Актуальность. В настоящее время в системах управления и обработки данных все чаще применяются микроконтроллеры, решающие широкий спектр задач. Однокристальные микроконтроллеры (ОМК) являются наиболее массовым видом устройств современной микропроцессорной техники, годовой объем выпуска которых составляет более 2,5 млрд. штук. Интегрируя на одном кристалле высокопроизводительный процессор, память и набор периферийных схем, ОМК позволяют с минимальными затратами реализовать высокоэффективные системы и устройства управления различными объектами (процессами). В отличие от обычных микропроцессоров, для работы которых необходимы внешние интерфейсные схемы, в корпусе ОМК наряду с основными функциональными узлами размещены такие вспомогательные узлы, как тактовый генератор, таймер, контроллер прерываний, цифро-аналоговый и аналого-цифровой преобразователи, порты ввода-вывода.
Система управления, в зависимости от сложности решаемых ею задач, может быть реализована на основе специализированной интегральной схемы, многокристальной микропроцессорной системы (МПС) или на основе ОМК. Применение МПС, выполненной в виде модульной конструкции, или однокристального микроконтроллера позволяет «встроить» систему управления непосредственно в управляемый объект. Поэтому для характеристики систем управления данного класса в настоящее время широко используется термин «встроенная система» {embedded system). Этот термин обозначает вычислительную систему, входящую неотъемлемой частью в состав другой системы, или, что более точно, — аппаратные средства обработки данных и программное обеспечение, формирующие управляющий компонент какой-либо технической метасистемы, который должен функционировать при минимальном вмешательстве человека.
Основными характеристиками встраиваемых систем являются [1]:
— ограниченность аппаратных ресурсов;
— неизменность программного обеспечения в процессе применения;
— высокая надежность;
— короткий цикл разработкивнедрения;
— серийность производства;
— низкая себестоимость.
Именно благодаря этим качествам ОМК находят широкое применение в системах промышленной автоматики, контрольно-измерительных приборах и системах, аппаратуре связи, автомобильной электронике, медицинском оборудовании, бытовой технике и многих других областях.
Применение однокристальных микроконтроллеров позволяет перенести основные затраты, связанные с разработкой встраиваемых систем управления, из аппаратной в программную область. Это неминуемо влечет за собой увеличение сложности программного обеспечения (ПО) микроконтроллеров.
Особенностью разработки ПО для ОМК является использование языка низкого уровня — языка ассемблера. Это связано с тем, что при реализации встраиваемых систем критичными являются время реакции на внешние воздействия, время выполнения заданных процедур обработки данных, размер программного кода и области данных [2]. Последнее связано с тем, что зачастую сначала выбираются аппаратные средства, включающие ядро и периферию микроконтроллера, и только затем разрабатывается ПО для выбранного ОМК. Следовательно, выход за рамки возможностей микроконтроллера, например по такому показателю, как емкость памяти, влечет повторный выбор ОМК и проектирование системы практически с нуля. Это обусловлено тем, что языки ассемблеров и архитектуры вновь выбранного и ранее используемого микроконтроллеров могут существенным образом отличаться.
Учитывая сказанное, представляется актуальной разработка методов и средств создания повторно-используемых программных модулей, написанных на унифицированном языке ассемблера, инвариантном относительно архитектур ОМК заданного целевого класса. При этом инвариантность программных модулей должна обеспечиваться эффективной трансляцией унифицированного языка ассемблера на внутренние машинные языки микроконтроллеров целевого класса.
Перспективным концептуальным подходом к разработке указанных выше методов и средств является создание такой унифицированной архитектуры однокристального микроконтроллера, которая позволила бы разрабатывать программное обеспечение для различных ОМК целевого класса, используя унифицированный язык ассемблера, единую инструментальную среду разработки и накопленные (разработанные ранее) эффективные программные модули.
Целью диссертационной работы является разработка механизмов унификации архитектур ОМК и их применение для повышения эффективности создания программного обеспечения встраиваемых систем.
Для достижения поставленной цели требовалось, чтобы были решены следующие основные задачи:
— проведен анализ существующих методов и средств разработки ПО однокристальных микроконтроллеров, а также архитектур ОМК наиболее известных производителей;
— поставлена задача повышения эффективности разработки ПО ОМК, относящихся к ограниченным целевым классам архитектур, на основе унификации архитектур этих классов;
— предложен способ формального описания архитектур ОМК;
— сформулированы правила выделения базового набора унифицируемых архитектур ОМК в целевом классе;
— разработана процедура унификации целевых архитектур по выделенному базовому набору;
— разработана методика создания ПО для однокристальных микроконтроллеров;
— разработана унифицированная архитектура ОМК, включающая систему команд, представленную на ассемблерном уровне (унифицированный ассемблер), для реального целевого класса микроконтроллеров;
— разработан инструментарий, позволяющий вести создание программ для однокристальных микроконтроллеров с использованием унифицированного ассемблера;
— определены критерии оценки использования унифицированной архитектуры и ассемблера;
— проведена сравнительная оценка эффективности использования унифицированной архитектуры и ассемблера при создании ПО встраиваемых систем.
Методы исследования. При выполнении работы использовались методы теории множеств, теории графов, теории формальных грамматик, теории программирования, методы формального описания синтаксиса и семантики языков программирования.
Научная новизна. На основе анализа архитектуры современных однокристальных микроконтроллеров, а также подходов к разработке программного обеспечения ОМК предложена методика разработки приложений для встраиваемых систем на языке ассемблер. Разработка ПО, в соответствии с предложенной методикой, основана на унификации архитектур однокристальных микроконтроллеров. Научную новизну раскрывают следующие результаты:
— предложен способ формального описания архитектур однокристальных микроконтроллеров, включающий формальное описание структуры, системы команд и алгоритма функционирования;
— сформулированы принципы разработки унифицированной архитектуры и ассемблера для заданного целевого класса однокристальных микроконтроллеров;
— предложена методика разработки программного обеспечения встраиваемых систем на однокристальных микроконтроллерах, использующая принципы унификации их архитектур.
Достоверность полученных результатов. Достоверность полученных в работе результатов подтверждается внедрением разработанной методики и процедуры унификации архитектур ОМК заданного целевого класса.
Практическая ценность. Предложенные принципы и методы были положены в основу создания среды разработки ПО для встраиваемых систем на базе 8-ми разрядных микроконтроллеров с использованием унифицированного для целевого класса ОМК языка ассемблера. Реализованные на этом языке модули (конечные программы, выполняющие одну или несколько функций) могут быть повторно использованы в других программных продуктах, и быть откомпилированными под различные микроконтроллеры без внесения изменений в исходный текст этих модулей. Кроме того, разработанная унифицированная система мнемонических кодов команд — мнемоник и соответствующая структура модельного микроконтроллера могут быть использованы для обучения специалистов, например при изучении ими принципов разработки ПО однокристальных микроконтроллеров на языке ассемблер. Использование созданной процедуры унификации в коммерческих разработках подтверждено актом о внедрении.
Апробация работы. Основные результаты исследований отражены в докладах на международных конференциях «Компьютерные технологии в науке, производстве, социальных и экономических процессах» (Новочеркасск, 2004), «Радиоэлектроника, электротехника и энергетика» (Москва, 2002, 2003, 2004).
Публикации. По теме диссертации опубликовано 6 научных работ.
1) Белых А. А. Применение модульных принципов при разработке ПО для встраиваемых систем. // Восьмая международная науч.-техн. конф. студентов и аспирантов «Радиоэлектроника, электротехника и энергетика»: Тез. докл. в 3-х т.-М.: МЭИ, 2002. Т. 1. — С. 317−318.
2) Белых А. А. Критерии эффективной разработки ПО для встраиваемых систем. // Девятая международная науч.-техн. конф. студентов и аспирантов: Тез. докл. в 3-х т. — М.: МЭИ, 2003. Т. 1. — С. 348.
3) Белых А. А. Хранение информации о языках программирования для встраиваемых систем. // Тезисы и доклады X международной конф. «Теоретические и клинические аспекты применения биорезонансной терапии». — М.: ИМЕДИС, 2004. Ч. 2 — С. 372−374.
4) Белых А. А. Генерация промежуточного кода при компиляции ПО для встраиваемых систем. // Десятая международная науч.-техн. конф. студентов и аспирантов «Радиоэлектроника, электротехника и энергетика»: Тез. докл. в 3-х т. — М.: МЭИ, 2004. Т. 1. — С. 358−359.
5) Белых А. А. Проблемы эффективной разработки ПО для встраиваемых систем и пути их решения. // Тезисы и доклады X международной конф. «Теоретические и клинические аспекты применения биорезонансной терапии». — М.: ИМЕДИС, 2004. Ч. 2 — С. 381−387.
6) Белых А. А. Принципы построения унифицированной архитектуры однокристального микроконтроллера. // Компьютерные технологии в науке, производстве, социальных и экономических процессах: Материалы V международной. науч.-практ. конф., г. Новочеркасск, ноябрь 2004 г.: в 3 ч. / Юж.-Рос. гос. техн. ун-т (НПИ). — Новочеркасск: ЮРГТУ, 2004. 4.2. — С. 27−28.
Структура и объем работы. Диссертация состоит из введения, семи глав, заключения, списка информационных источников и приложений. Диссертация содержит 135 страниц машинописного текста без учета приложений.
7.4 Основные результаты и выводы.
1) Определена область применения предлагаемой методики и унифицированного ассемблера.
2) Сформулированы основные критерии сравнения программ для ОМК, реализованных с помощью различных языков программирования.
3) Рассмотрены два примера применения унифицированного языка ассемблер при разработке законченных программ для 8-ми разрядных ОМК, проведена оценка разработанных программ, сравнение с другими языками программирования микроконтроллеров.
4) Показана эффективность использования разработанной унифицированной архитектуры ОМК, особенно в модифицируемых и постоянно развивающихся проектах.
ЗАКЛЮЧЕНИЕ
.
Цели, поставленные в процессе подготовки диссертации, сформулированные во введении, полностью достигнуты. В ходе проведенных исследований получены следующие основные результаты.
1) Проведен анализ структур и систем команд современных ОМК, что позволило классифицировать микроконтроллеры по ряду выделенных признаков, характеризующих их архитектуру.
2) Установлено, что подавляющее большинство производителей микроконтроллеров поставляют специализированные компиляторы с ассемблера, обеспечивающие генерацию эффективного целевого машинного кода. Эти компиляторы могут использоваться для реализации двухуровневой схемы трансляции, которая используется в настоящей работе.
3) Предложено использование языка ассемблера в качестве унифицированного средства написания программ для ОМК в силу ряда причин — ограниченного размера памяти программ и данных, высоких требованиями к временным характеристикам программного обеспечения однокристальных микроконтроллеров.
4) Разработана методика реализации программного обеспечения встраиваемых систем на однокристальных микроконтроллерах с использованием унифицированного языка ассемблера абстрактного ОМК, которая позволяет в рамках одной группы разработчиков использовать широкий спектр микроконтроллеров, которые могут в значительной степени различаться по системе команд и структуре.
5) Предложен способ формального описания архитектур ОМК.
6) Разработана процедура построения абстрактной унифицированной архитектуры, основанная на формальных описаниях ОМК, принадлежащих к суженному целевому классу архитектур.
7) Разработана унифицированная архитектура ОМК для реального целевого класса 8-ми разрядных однокристальных микроконтроллеров с использованием предложенной процедуры унификации. Разработанный унифицированный ассемблер отличается наглядностью, простотой использования и, в то же время, полнотой.
8) Разработаны и реализованы алгоритмы лексического и синтаксического анализа текстов программ на унифицированном языке ассемблера (для унифицированной архитектуры ОМК), разработана инструментальная среда создания программ для микроконтроллеров, учитывающая сформулированные аспекты методики.
9) Показана эффективность применения унифицированного языка ассемблера однокристального микроконтроллера по сравнению с целевыми ассемблерами и языком С.
Выполненные исследования позволяют повысить эффективность разработки ПО микроконтроллеров, увеличить количество взаимозаменяемых ОМК в проекте за счет использования унифицированной архитектуры при большом количестве проектов.
Работа над диссертацией показала, что в дальнейшем возможно развитие предложенной в ней концепции. Целесообразным является, например, создание коммерчески используемой интегрированной среды разработки ПО ОМК, позволяющей компилировать тексты программ на внутренние языки наиболее подходящих целевых микроконтроллеров автоматически.
Список литературы
- Предко М. Руководство по микроконтроллерам. М.: Постмаркет, 2001.-Т. 1 -416 е., Т. 2−382 с.
- Назаров С.В. Операционные системы специализированных вычислительных комплексов: Теория построения и системного проектирования. М.: Машиностроение, 1989. — 400 с.
- Видениекс П.О. и др. Проблемно-ориентированные микропроцессорные системы в производстве РЭА / П. О. Видениекс, Я. Я. Вентиньш, А. А. Кривченков. -М.: Радио и связь, 1987. 296 с.
- Белых А.А. Проблемы эффективной разработки ПО для встраиваемых систем и пути их решения // Тез. и доклады X Междунар. Конф. «Теоретические и клинические аспекты применения биорезонансной терапии». М.: «ИМЕДИС», 2004. Ч. 2 — С. 381−387.
- Представлено в Интернете по адресу www.cminusminus.org.
- Адрес сайта в Интернете www.eecs.harvard.edu.
- Кухар А. Язык С с двумя минусами, или Как ассемблер стал порта-бельным, Издательский Дом «КОМИЗДАТ», 2004.
- С. Емец, М. Еременко. Компиляторы Си для микроконтроллеров PIC18. Часть 2. http://www.chipnews.com.ua/html.cgi/arhiv/0209/st-03.htm.
- CCS PIC С Compiler Comparison, www.ccsinfo.com/compare.shtml.
- ЗобнинЮ.С. Воздействие средств подержки разработки на рынок микроконтроллеров. М.: журнал «Компоненты и технологии», номер за 05.07.2000.
- Методология RAD. М.: Центр Информационных Технологий, 2001. http://www.citforum.ru/database/case/glaval32.shtml.
- Шнитман В.З., Кузнецов С. Д. Аппаратно-программные платформы корпоративных информационных систем. М.: Центр Информационных Технологий, 1998.
- Современные высокопроизводительные компьютеры. Гл. 4. Основные архитектурные понятия. -М.: Центр Информационных Технологий, 1999.
- Пустоваров В.И. Язык Ассемблера в программировании информационных и управляющих систем. М.: «ЭНТРОП», К, «ВЕК», 1997. — 304 с.
- John Day. Microcontrollers, EBN, The Technology Network, 2000.
- Фрунзе А., Контроллерный рынок России: факты и домыслы, парадоксы и закономерности, журнал «Компоненты и технологии», 2001.
- J. Edwards. The global top 20: Semiconductor sales are jumping, but capacity addition remains muted, leading to higher prices and fears of shortages. My-ESM, 2004. http://www.my-esm.com/showArticle.jhtml?articleID=165 600 157.
- C. Souza. Crista SouzaTop semiconductor companies: Pricing pressure remains the order of the day for the vast majority of chipmakers. EBN, 2003. http://www.my-esm.com/showArticle.jhtml?articleID= 10 300 871.
- R. Cravotta. Reaching down: 32-bit processors aim for 8 bits. EDN, 2005. http://www.edn.com/index.asp?layout=articlePrint&articleID=CA502421.
- Microcontrollers predicted to show healthy growth. EBN, 2003. http://www.my-esm.com/showArticle.jhtml?articleID=8 600 262.
- Заводсков С.Д. Микропроцессоры и периферийные устройства. Введение в микропроцессоры, 2002. http ://www. sm.bmstu.ru/sm5/n4/oba/proz 1 .html.
- Motorola Microcontroller Selector Guide Quarter 3 2003. Motorola, 2003.
- M-CORE MMC2001 User manual. Motorola, 1998.25. 8XC251SA/SB/SP/SQ Embedded Microcontroller User’s Manual. Intel, 1996.26. 8XC196Kx/Jx/CA Microcontroller Family User’s Manual. Intel, 1997.
- TMS370 Microcontroller Family User’s Guide. Texas Instruments, 1997.
- MSP430xlxx Family User’s Guide. Architecture Guide and Module Library, SLAU049, Texas Instruments, 2000.
- Microchip 2004 Technical Library First Edition. Microchip, 2004.
- SX18 AC/20AC/28 AC/48 AC/52 AC High-Performance 8-Bit Microcontrollers with EE/Flash Program Memory and In-System Programming Capability. -Ubicom, 2001.
- H8 8 & 16-bit CISC Technical Product Overview. — Hitachi, 2001.
- Кривченко И., Ламберт E. AVR-микроконтроллеры: семь ярких лет становления. журнал «Компоненты и технологии», № 1 за 2004 г.
- Кривченко И. Микроконтроллеры общего назначения для встраиваемых приложений производства ATMEL Corp. журнал «Электронные Компоненты», № 5 за 2002 г.
- Белых А.А. Критерии эффективной разработки ПО для встраиваемых систем // Девятая Междунар. науч.-техн. конф. студентов и аспирантов «Радиоэлектроника, электротехника и энергетика»: Тез. докл. В 3-х т. М.: МЭИ, 2003. Т. 1.-С. 348.
- Панфилов И.В., Половко A.M. Вычислительные системы/ Под ред. A.M. Половко. М.: Сов. Радио, 1980, 304 с.
- Каган Б.М. Электронные вычислительные машины и системы: Учеб. пособие для вузов. М.: Энергия, 1979. — 528 с.
- Клингман Э. Проектирование микропроцессорных систем. / Пер. с англ. М.: Мир, 1980.
- Белых А.А. Применение модульных принципов при разработке ПО для встраиваемых систем // Восьмая Междунар. науч.-техн. конф. студентов и аспирантов «Радиоэлектроника, электротехника и энергетика»: Тез. докл. В 3-х т. -М.: МЭИ, 2002. Т. 1.-С.317.
- Белых А.А. «Разработка и исследование интегрированной среды быстрой реализации приложений для встраиваемых систем». Дис. на соискание степени магистра. М.: МЭИ, 2002. — 116 с.
- Волкова И.А., Руденко Т. В. Формальные грамматики и языки. Элементы теории трансляции. М.: Изд-во МГУ им. М. В. Ломоносова, 1996.
- Ахо А.В., Сети Р., Ульман Д. Д. Компиляторы: принципы, технологии и инструменты. / Пер. с англ. М.: Издательский дом «Вильяме», 2001.
- Белых А.А. Генерация промежуточного кода при компиляции по для встраиваемых систем // Десятая Междунар. науч.-техн. конф. студентов и аспирантов «Радиоэлектроника, электротехника и энергетика»: Тез. докл. В 3-х т. М.: МЭИ, 2004. Т. 1. — С. 358−359.
- Белых А.А. Хранение информации о языках программирования для встраиваемых систем // Тез. и доклады X Междунар. Конф. «Теоретические и клинические аспекты применения биорезонансной терапии». М.: ИМЕДИС, 2004. Ч. 2 — С. 372−374.
- Каляев А.В. Микропроцессорные системы с программируемой архитектурой. М.: Радио и связь, 1984. — 240 с.
- Компаниец Р.И., Маньков Е. В., Филатов Н. Е. Системное программирование. Основы построения трансляторов./Учеб. пособ. СПб.: КОРОНА принт, 2000. — 256 с.
- Капитонова Ю.В., Летичевский А. А. Математическая теория проектирования вычислительных систем. М.: Наука, гл. ред. физ.-мат.лит., 1988. -296 с.
- Подбельский. В.В. Язык Си++/ Учеб. пособ. М.: Финансы и статистика, 1995.-560 с.
- Лавров С.С. Программирование. Математические основы, средства, теория. СПб.: БХВ-Петербург, 2001. — 320 с.
- Stroustrup В. The С++ programming language, spec, edition. NJ: Addison-Wesley, 2002. -1056 p.
- Зиндер Е.З. Проектирование баз данных: новые требования, новые подходы. М.: Корпорация ЛВС, 2001.
- ER/Studio User’s Guide. San Francisco: Embarcadero Technologies, Inc., 2003. Дополнительная информация доступна на www.embarcadero.com.
- Архангельский А.Я. Язык SQL в Delphi 5 М.: ЗАО «Изд-во БИНОМ», 2000. — 208 е.: ил. (Все о Delphi).
- Гоффман В.Э., Хомоненко А. Д. Работа с базами данных в Delphi. -СПб.: БХВ-Петербург, 2000. 656 е.: ил.
- Таненбаум Э. Архитектура компьютера. 4-е изд. Спб.: Питер, 2005. — 699 с.