Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1531

.pdf
Скачиваний:
2
Добавлен:
15.11.2022
Размер:
52.65 Mб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Пермский национальный исследовательский политехнический университет»

О.В. Гончаровский, Н.Н. Матушкин, А.А. Южаков

ВСТРОЕННЫЕ

МИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ

Утверждено Редакционно-издательским советом университета

в качестве учебного пособия

Издательство Пермского национального исследовательского

политехнического университета

2012

УДК 004.415.2 ББК 32.973.202-018.2

Г65

Рецензенты:

кандидат технических наук, начальник отдела ТО-5 С.В. Березняков (ОАО «Стар»);

кандидат технических наук, доцент Т.С. Леготкина, (Пермский национальный исследовательский политехнический университет)

Гончаровский, О.В.

Г65 Встроенные микропроцессорные системы : учеб. пособие / О.В. Гончаровский, Н.Н. Матушкин, А.А. Южаков. – Пермь : Изд-во Перм. нац. исслед. политехн. ун-та, 2012. – 198 с.

ISBN 978-5-398-00934-7

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

Предназначено для студентов, обучающихся по профилю подготовки магистров 16070051.68 – Информационные технологии в разработке двигателей летательных аппаратов, может быть полезно студентам смежных направлений подготовки.

УДК 004.415.2 ББК 32.973.202-018.2

ISBN 978-5-398-00934-7

© ПНИПУ, 2012

ОГЛАВЛЕНИЕ

 

ВВЕДЕНИЕ..............................................................................................................

6

АППАРАТНЫЕ СРЕДСТВА ВСТРОЕННЫХ СИСТЕМ .................................

14

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

14

1.1. Организация аппаратных средств встроенных

 

микропроцессорных систем..........................................................

15

1.2. Элементы архитектуры процессоров встроенных систем.........

18

1.2.1. Множество команд...............................................................

19

1.2.2. Программная модель............................................................

20

1.2.2.1. Регистры...................................................................

20

1.2.2.2. Типы данных ...........................................................

22

1.2.3. Модели памяти.....................................................................

22

1.2.3.1. Адресное пространство..........................................

22

1.2.3.2. Порядок байтов.......................................................

23

1.2.3.3. Когерентность памяти............................................

24

1.2.3.4. Защита памяти.........................................................

25

1.2.4. Модель прерываний.............................................................

25

1.2.5. Модель управления памятью..............................................

27

1.2.5.1. Страничная организация памяти...........................

28

1.2.5.2. Сегментация памяти...............................................

30

1.3. Типы процессоров..........................................................................

32

1.4. Формы параллелизма в процессорах............................................

34

1.4.1. Конвейеризация....................................................................

36

1.4.2. Параллелизм уровня команд...............................................

40

1.5. Технологии памяти........................................................................

42

1.5.1. Оперативная память.............................................................

43

1.5.1.1. Статическое ОЗУ.....................................................

43

1.5.1.2. Динамическое ОЗУ.................................................

45

1.5.2. Постоянное запоминающее устройство (ROM) ................

50

1.6. Иерархия памяти............................................................................

53

1.6.1. Распределение, или карта памяти.......................................

54

1.6.2. Блокнотная и кеш-память....................................................

55

1.6.2.1. Кеш-память прямого отображения........................

57

1.6.2.2. Ассоциативная по множеству кеш-память...........

58

1.6.2.3. Обновление кеш-памяти.........................................

58

1.6.2.4. Протокол когерентности кеширования

 

с обратной записью.................................................

60

1.6.2.5. Команды поддержки когерентности памяти........

61

1.7. Магистраль микропроцессорной системы...................................

62

1.7.1. Циклы обращения к магистрали.........................................

63

3

1.7.2. Двухшинная магистраль......................................................

65

1.8. Базовые устройства ввода-вывода встроенных систем..............

66

1.8.1. Порты ввода-вывода общего назначения...........................

68

1.8.2. Таймер-счетчик.....................................................................

71

1.8.3. Импульсно-кодовая модуляция ..........................................

72

1.8.4. Многоканальный аналого-цифровой преобразователь.....

74

1.9. Базовые последовательные интерфейсы ввода-вывода

 

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

76

1.9.1. Асинхронный старт-стопный интерфейс...........................

76

1.9.2. Последовательный интерфейс SPI......................................

79

1.9.3. Интерфейс I2C ......................................................................

80

1.9.4. Шина USB .............................................................................

82

1.9.4.1. Введение в USB.......................................................

82

1.9.4.2. Интерфейс OpenHCl для USB ................................

85

Вопросы для самоконтроля .................................................................

89

Модуль 2. Разработка устройств ввода-вывода

 

на программируемой логике................................................................

90

1.10. Язык проектирования аппаратуры VHDL .................................

90

1.10.1. Реконфигурируемая логика...............................................

90

1.10.2. Введение в VHDL...............................................................

92

1.10.2.1. Программирование на VHDL

 

для моделирования и синтеза..............................

93

1.10.2.2. Entity и architecture................................................

94

1.10.2.3. Операторы «присваивание» и process .................

96

1.10.2.4. Цикл моделирования VHDL ..............................

102

1.10.2.5. Многозначная логика и стандарт IEEE 1164 ....

104

1.11. Проектирование устройств ввода-вывода и контроллеров

 

интерфейсов ввода-вывода по модели программно-

 

управляемого автомата................................................................

106

1.12. Интегрированная среда разработки аппаратных средств

 

Active-HDL....................................................................................

114

Вопросы для самоконтроля ...............................................................

117

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВСТРОЕННЫХ СИСТЕМ.....................

119

Модуль 3. Прикладное программирование.......................................................

119

2.1. Модель вычислений.....................................................................

121

2.2. Автомат с конечным числом состояний....................................

126

2.3. Асинхронный язык проектирования SDL..................................

128

2.4. Синхронный язык проектирования Lustre.................................

130

2.5. Многозадачность..........................................................................

137

2.5.1. Язык программирования Си..............................................

138

2.5.2. Потоки.................................................................................

143

4

2.5.2.1. Реализация потоков...............................................

145

2.5.2.2. Взаимное исключение ..........................................

146

2.5.2.3. Взаимная блокировка ...........................................

149

2.5.2.4. Модели непротиворечивости памяти..................

151

2.5.2.5. Проблемы с потоками...........................................

152

2.5.3. Процессы и передача сообщений .....................................

153

2.6. Интегрированная среда разработки прикладного

 

программного обеспечения.........................................................

159

2.6.1. Средства разработки программ

 

для встроенных систем на Си...........................................

159

2.6.2. Комплект программ Telelogic Tau SDL Suite...................

160

2.6.3. Средства разработки программного обеспечения

 

встроенных систем SCADE...............................................

164

2.7. Валидация и оценка проекта.......................................................

168

2.7.1. Моделирование, эмуляция и макетирование...................

168

2.7.2. Формальная верификация..................................................

170

2.7.3. Оценка производительности.............................................

174

2.7.3.1. Оценка WCET........................................................

174

2.7.3.2. Исчисление реального времени...........................

180

2.7.4. Модели энергии и мощности ............................................

184

2.7.5. Тепловая модель.................................................................

185

Вопросы для самоконтроля................................................................

186

ЗАКЛЮЧЕНИЕ...................................................................................................

187

ЗАДАНИЯ............................................................................................................

189

СПИСОК ЛИТЕРАТУРЫ...................................................................................

195

5

ВВЕДЕНИЕ

Объектом изучения дисциплины являются встроенные микро-

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

вэтой области подготовки специалистов).

1.Встроенная система – это система обработки информации, включенная в состав изделий.

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

3.Встроенная система – это система, включенная в оборудование и взаимодействующая с ним с целью измерения или управления.

4.Встроенная система – это то, что имеет программное обеспечение специального применения, размещенное в компьютерном оборудовании.

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

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

Встроенные системы от остальных систем отличаются следующими характеристиками:

повышенной надежностью;

повышенной безопасностью;

критичностью к реальному времени;

структурой стоимости: периодические издержки на разработку аппаратной части (решающее значение для потребительского рынка); разовые затраты на разработку программного обеспечения (возможны ограничения на время вывода нового изделия на рынок);

ограничениями, которых обычно нет для настольных компьютеров: объем памяти, среда разработки, потребляемая мощность, интерфейс оператора;

6

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

интерфейсом с окружающим миром через сенсоры и исполнительные механизмы;

смешанным поведением – взаимодействием с непрерывной окружающей средой с помощью логических функций и конечных автоматов.

Результаты исследования (на 2009 г.) структуры рынка встроенных систем, приведенные ниже в виде гистограммы, говорят о том, что три четверти встроенных систем – это системы реального времени, т.е. системы с ограничением на время решения задачи, и больше половины являются распределенными системами.

Системы реального времени

С сетевой структурой

Для экстремальных условий

Сбатарейным питанием

Сбеспроводной связью

Выделяют 4 типа встроенных систем, определяемых областью их применения (или спецификой решаемых задач):

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

системы связи: мобильные телефоны, сетевое оборудование и оборудование систем передачи;

обработка аудио- и видеосигналов;

карманные компьютеры и портативные игры.

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

реализация классических законов управления, нечеткого управ-

ления (fuzzy logic) и др.;

реализация последовательностной логики: конечные автоматы, модули переключения между различными законами управления;

обработка сигналов: сжатие данных мультимедиа, цифровая фильтрация, гармонический анализ;

7

специализированное сопряжение с кнопками, звуковыми и световыми индикаторами, высокоскоростным вводом-выводом;

диагностика: обнаружение неисправностей и реконфигурация. Характеристики встроенных систем, выполняемые ими функции

сделали их применение тотальным, охватывающим практически все области человеческой деятельности.

Предметом изучения дисциплины является организация аппа-

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

Система управления поршневыми и газотурбинными авиацион-

ными двигателями, или FADEC (full authority digital engine control) –

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

В случае поршневых двигателей смесь топлива с воздухом в камере сгорания должна быть воспламенена в правильный момент времени для обеспечения эффективного горения и генерации мощности. Эту работу ранее выполняло магнето, в современных двигателях это делает микропроцессорная система зажигания FADEC. Система зажигания измеряет данные, поступающие от датчиков MAP (измеритель давления в воздухопроводе), CHT (измеритель температуры головки цилиндра), EGT (измеритель температуры выходящих газов), RPM (датчик скорости вращения), атмосферного давления и давления топлива. FADEC управляет инжекцией топлива и временем зажигания для оптимизации мощности, выдаваемой двигателем. Регулирование времени зажигания искры зависит от оборотов, положения ручки газа и приводит к сглаживанию работы двигателя при переменной нагрузке или выполнению быстрого запуска.

Рассмотренные области применения и функции, реализуемые встроенными системами, свидетельствуют об их актуальности как узлов управления изделиями («мозги» изделий), уровень совершенства

8

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

Проектирование встроенных систем является сложной задачей, которая разбивается на ряд подзадач приемлемой сложности. Эти подзадачи решаются последовательно друг за другом, но часто решения некоторых из них выполняются итеративно. Проектирование начинается с идей. Идеи должны включать знания прикладной области, а затем должны быть трансформированы в спецификацию. Также необходимы сведения о стандартных компонентах аппаратного и системного программного обеспечения. Эти компоненты по возможности многократно используются в проекте. Вся информация сохраняется в репозитории проекта (рис. 1) [1]. С использованием репозитория проектные решения могут приниматься в итерационной манере. Во время проектных итераций прикладные задачи отображаются на исполнительную платформу, и генерируется новая проектная информация. Генерация включает в себя отображение операций на одновременные задачи, отображение операций или на аппаратуру, или на программное обеспечение, компиляцию и планирование задач. В общем случае отображение выполняется на мультипроцессорную систему, принадлежащую к одному из двух классов:

однородные (гомогенные) мультипроцессорные системы: все процессоры системы обеспечивают одинаковую функциональность. Это вариант многоядерной архитектуры персональных компьютеров. Совместимость программ различных процессоров – ключевое преимущество, которое используется планировщиком задач во время работы программ, а также при проектировании с целью достижения отказоустойчивости. Также упрощается разработка платформы и инструментов проектирования из-за однотипности процессоров;

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

9

Рис. 1. Упрощенная последовательность проектирования

Несколько разных чипов Несколько одинаковых чипов

Один чип с одинаковыми ядрами Один чип с разными ядрами

Задача отображения формулируется следующим образом. Дано:

1.Множество прикладных задач.

2.Примеры, описывающие, как эти задачи будут использоваться.

3.Множество архитектур-кандидатов:

процессоры (возможно неоднородные);

архитектуры коммуникаций (возможно неоднородные);

возможные политики планирования выполнения задач. 4. Технические требования:

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

минимизация цены, энергопотребления.

Найти:

1.Отображение задач на процессоры.

2.Варианты планирования выполнения задач.

3.Архитектуру.

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]