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

1158

.pdf
Скачиваний:
4
Добавлен:
07.01.2021
Размер:
922.79 Кб
Скачать

А. А. Зубарев

ПРОГРАММНАЯ ЭМУЛЯЦИЯ УСТРОЙСТВ НА МИКРОКОНТРОЛЛЕРАХ В СРЕДЕ VISUAL MICRO LAB

VISUAL MICRO

Release 3.12

for AVR

Bring your microcontroller

into the 21st Centuri…

By Advanced Micro Tools

R1 PB7 VDD 10K

V1 PA0 VSS SLIDE;

K1 PB7 VSS LATCHED

Федеральное агентство по образованию Сибирская государственная автомобильно-дорожная академия

(СибАДИ)

А. А. Зубарев

ПРОГРАММНАЯ ЭМУЛЯЦИЯ УСТРОЙСТВ НА МИКРОКОНТРОЛЛЕРАХ В СРЕДЕ

VISUAL MICRO LAB

Учебное пособие

Омск Издательство СибАДИ

2007

УДК 681.06.621.3 ББК 32.973.26-018.2 З 91

Рецензенты д-р техн. наук, проф. А.П. Попов (ОмГТУ),

канд. техн. наук, доц. К.Р. Сайфутдинов (ОмГТУ)

Работа одобрена редакционно-издательским советом академии в качестве учебного пособия по дисциплинам “Проектирование автоматических систем”, “Микропроцессорные устройства автоматики” для специальности 220301 “Автоматизация технологических процессов и производств”, а также “Проектирование микропроцессорных систем ”, “Разработка микропроцессорных устройств диагностики автомобилей и тракторов” для специальности 140607 “Электрооборудование автомобилей и тракторов” и для проведения учебной практики.

Зубарев А.А. Программная эмуляция устройств на микроконтроллерах в среде Visual Micro Lab: Учебное пособие. – Омск: Изд-во СибАДИ, 2007. – 60 с.

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

использовано в курсовом и дипломном проектировании.

 

Учебное пособие в простой и доступной форме знакомит

читателей с

программным продуктом Visual Micro Lab (VMLAB) от фирмы Advanced Micro Tools,

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

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

Табл. 3. Ил. 23.

ISBN 5-93204-274-5

© А.А. Зубарев, 2007

ОГЛАВЛЕНИЕ

 

1. Знакомство с программным продуктом Visual Micro Lab …….

4

1.1.Основные сведения о системе Visual Micro Lab ……………….

4

1.2 Что такое виртуальная модель......................................................

4

1.3.Работа с VMLAB.............................…........................................... 5

1.4.Модели микроконтроллеров AVR фирмы Atmel.....…............... 5

1.5.Возможные узлы электрической схемы с МК AVR.................... 6

1.6.Особенности моделирования МК AVR...............................…..... 8

1.7. Какие режимы МК не моделируются…………..……………… 8

2.Пользовательский интерфейс VMLAB............................................ 9

2.1.Главное окно……………………………….…………………… 9

2.2.Панель инструментов ……………….……………….…………. 9

2.3.Панели проекта………………………..………………………… 11

2.4.Текстовый редактор…………………………………….……….. 12

2.5.Окно Code Notebook -записная книжка кода………………….. 14

2.6. Окно Scope – виртуальный осциллограф………………………

15

2.7. Окно просмотра Watch………………………………………..

16

2.8. Окно сообщений Messages……………………………………

17

2.9.Окно панели управления Control panel………………………. 17

2.10.Окна памяти Memory …………………………………………. 19

2.11.Окно регистров и флагов Registers ……………………………. 20

2.12. Окна внешних устройств Peripherals…………..……………… 21

2.13.Окно портов ввода/вывода I/O Ports …………………………. 21

2.14.Диалог модификации Modify Dialog…………..………………. 21

2.15.Менеджер просмотра Watch Manager..………………………… 22

2.16.Инспектор отладки Debug Inspector…………………..………... 23

2.17.Сообщения об ошибках и предупреждения……………………. 25

3.Основные директивы……………………………………………….. 29

4.Библиотека аппаратных компонентов…………………………… 36

5.Файлы, включаемые в проект……………………….…………….. 44 5.1. Спецификация файлов AVR ……………………….……………. 44 5.2.Проектный файл…………………………………………...……… 45 5.3. Использование GNU/WinAVR Cи-компилятора…….………… 47 5.4. Использование компиляторов сторонних разработчиков……… 49

6.Создание нового проекта…………………………………………… 50 6.1. Создание нового проекта по шагам……………………………. 50

6.2. Оптимизация работы VMLAB ………………………………… 52

6.3.Работа с двумя микроконтроллерами (режим Multiprocess)….. 53

7.Примеры проектов…………………………………………………… 54 Контрольные вопросы……………………………………………… 59

1. ЗНАКОМСТВО С ПРОГРАММНЫМ ПРОДУКТОМ

VISUAL MICRO LAB

1.1. Основные сведения о системе Visual Micro Lab

Visual Micro Lab визуальная микролаборатория, в дальнейшем VMLAB, является виртуальной средой проектирования (имитационного моделирования). Это инструмент проектирования схем на микроконтроллерах, объединяющий в одной среде:

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

-встроенную среду разработки (Integrated Development Environment IDE) микроконтроллеров;

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

-устройство проверки качества кода.

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

VMLAB обеспечивает преимущества:

гибкое представление аппаратной и программной (hw/sw) частей системы;

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

проверку кода: ICE предупреждает об относительно опасных подключениях порта ввода/вывода;

возможность пройти алгоритм управления с обратной связью с ICE, работающий в пошаговом режиме;

простое изменение аппаратных средств путем изменения некоторых данных в файле проекта (*.PRJ файле).

Впособии рассматривается существующая на сегодняшний день (декабрь 2006 г.) версия продукта V.3.12 с Web-сайта разработчика – http:// www. amctools.com.

1.2. Что такое виртуальная модель

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

VMLAB основан в уникальном движке моделирования CCCP (Concurrent Co-simulator of Circuits and Processors – параллельный имитатор цепей и процессов).

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

1.3. Работа с VMLAB

Чтобы создать приложение с VMLAB, необходимо:

1.Создать проектный файл (ПФ), указав в нем параметры МК и подключаемые программные модули, используя команду New Project или Оpen Project, если проект создан предварительно.

2.Добавить или изменить аппаратные средства вокруг МК в ПФ, используя меню Components.

3.Создать или изменить программные модули, определенные в шаге 1, используя встроенный текстовый редактор. Программные модули помещаются в окно Code Notebook.

4.Создать hw/sw базу данных, используя команду Build.

Любая ошибка/предупреждение будет показываться в окне сообщений. Двойной щелчок по сообщенной ошибке и VMLAB укажет её местоположение, переведя курсор непосредственно на строку, содержащую ошибку.

5.При отсутствии ошибок VMLAB включает зеленый свет на «светофоре» кнопке панели инструментов, запускающей приложение. На этом шаге вы может наблюдать переменные, аппаратные сигналы, содержание регистраторов МК, памяти и периферии; и шаг за шагом, просматривая анимированный код, останавливаясь в контрольных точках

ит.д., вы можете проверить работу приложения.

6.Когда приложение готово, вы получаете .HEX-файл для программирования МК.

Процесс программирования МК в настоящем учебном пособии не рассматривается.

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

1.4. Модели микроконтроллеров AVR фирмы Atmel

Модели МК, которые поддерживаются программой VMLAB, приведены в табл. 1.

 

 

 

Таблица 1

Модели МК AVR, которые поддерживает MVLab

 

Model

Flash,Кбайт

EEPROM,байт

RAM,байт

I/O

ATiny11

1

---

---

6

ATiny12

1

---

---

6

ATiny15

1

64

---

6

ATiny22

2

128

128

6

AT90S2343

2

128

128

4

AT90S2323

2

128

128

3

AT90S1200

1

64

---

15

AT90S2313

2

128

128

15

AT90S4433

4

256

128

20

AT90S4414

4

256

256

32

AT90S8515

8

512

512

32

AT90S8515_64K

8

5125

12

16

AT90S4434

4

256

256

32

AT90S8535

8

512

512

32

ATmega8

8

512

1024

23

ATmega16

16

512

1024

32

ATmega161

16

512

1024

32

ATmega161_64K

16

512

1024

24

ATmega162

16

512

1024

32

ATmega32

32

1024

2048

32

ATmega64

64

2048

4096

48

ATmega128

128

4096

4096

48

ATmega128_64K

128

4096

4096

40

Примечание. Устройства с суффиксом _64K представляют соответствующий МК с 64K внешнего SRAM.

1.5. Возможные узлы электрической схемы с МК AVR

Все выводы портов, вывод Reset (СБРОС) и выводы AREF являются электрическими узлами в ПФ. Электрические узлы, доступные для различных моделей МК, представлены в табл. 2.

 

Таблица 2

 

Электрические узлы, доступные для моделей МК

Модель

Доступные электрические узлы

1

2

ATTiny11

СБРОС, PB0-PB5, ACO

ATTiny12

СБРОС, PB0-PB5, ACO

ATTiny15

СБРОС, AREF, PB0-PB5, ACO

ATTiny22

СБРОС, PA0-PB5, ACO

AT90S2323

СБРОС, PB0-PB2, ACO

AT90S2343

СБРОС, PB0-PB4, ACO

AT90S2313

СБРОС, PB0-PB7, PD0-PD5, ACO, TIMOVF1

AT90S4433

СБРОС, AREF, PB0-PB5, PC0-PC5, PD0-PD7, ACO

 

Окончание табл. 2

1

2

AT90S4414

СБРОС, PA0-PA7, PB0-PB7, PC0-PC7, PD0-PD7, ACO, TIMOVF1

AT90S8515

СБРОС, PA0-PA7, PB0-PB7, PC0-PC7, PD0-PD7, ACO, TIMOVF1

AT90S8515_64K СБРОС, PB0-PB7, PD0-PD7, ACO, TIMOVF1

AT90S4434

СБРОС, AREF, PA0-PA7, PB0-PB7, PC0-PC7, PD0-PD7, ACO,

 

TIMOVF1

AT90S8535

СБРОС, AREF, PA0-PA7, PB0-PB7, PC0-PC7, PD0-PD7, ACO,

 

TIMOVF1

ATmega8

СБРОС, AREF, PB0-PB7, PC0-PC6, PD0-PD7, ACO, TIM1OVF,

 

ADC6, ADC7

ATmega16

СБРОС, AREF, PA0-PA7, PB0-PB7, PC0-PC7, PD0-PD7, ACO,

 

TIM1OVF

ATmega161

СБРОС, AREF, PA0-PA7, PB0-PB7, PC0-PC7, PD0-PD7, PE0-PE2,

ACO, TIM1OVF

ATmega161_64K СБРОС, AREF, PB0-PB7, PD0-PD7, PE0-PE2, ACO, TIM1OVF ATmega162 СБРОС, AREF, PA0-PA7, PB0-PB7, PC0-PC7, PD0-PD7, PE0-PE2,

ACO, TIM1OVF,

ATmega32 СБРОС, AREF, PA0-PA7, PB0-PB7, PC0-PC7, PD0-PD7, ACO, TIM1OVF

ATmega64 СБРОС, AREF, PA0-PA7, PB0-PB7, PC0-PC7, PD0-PD7, PE0-PE7, PF0-PF7, PG0-PG4, ACO, TIM1OVF

ATmega128 СБРОС, AREF, PA0-PA7, PB0-PB7, PC0-PC7, PD0-PD7, PE0-PE7, PF0-PF7, PG0-PG4, ACO, TIM1OVF

ATmega128_64K СБРОС, AREF, PB0-PB7, PD0-PD7, PE0-PE7, PF0-PF7, PG0-PG4, TIM1OVF

Среди доступных узлов имеются псевдоузлы, которые необходимы для контроля внутренней работы МК. Эти узлы не существуют в реальном МК и используются главным образом для целей отладки.

ACO – этот псевдоузел подключен непосредственно к выводу аналогового компаратора.

TIMOVF1 этот псевдоузел показывает переполнение таймера

TIMER1.

Узел СБРОСА действует реально таким способом: если на этом узле логический "0" сброс AVR. Рестарт может быть легкий или глубокий в разных ситуациях сброса, выполняемых регистром статуса MCUSR.

Использование узла в ПФ вызывает включение этих узлов в схему. Например, для ATMega16 требуется подключить сопротивление 10кОм

между выводами PA0 и PA1 порта А:

.MICRO " ATMega16" ; выбранный МК

; PA0, и т.д. – выводы порта А используются как узлы

R1 PA0 PA1 10К ; резистор 10 кОм между выводами PA0 и PA1.

VMLAB содержит встроенную проверку имени узла относительно содержащихся в МК имен портов ввода/вывода. Если вы, например,

назовете узел по имени "PC1" для МК, который не содержит порт C, будет выдана ошибка.

Кроме МК Atmel AVR VMLAB поддерживает МК ST62 фирмы ST Microelectronics, но в данном пособии они не рассматриваются.

1.6. Особенности моделирования МК AVR

VMLAB обеспечивает точное и реалистическое моделирование следующих особенностей AVR микроконтроллера:

весь набор команд, включая режимы SLEEP;

всю периферию: АЦП, таймеры, сторожевой таймер, UART, SPI и

т.д.;

порты ввода/вывода, включая аналоговые эффекты: гистерезис, выходное сопротивление, все режимы порта;

оценку потребления мощности (см. панель управления);

прерывания.

Обеспечивается полный показ состояния центрального процессора, периферийных устройств, памяти (ОЗУ, FLESH и EEPROM) – при выборе соответствующих опций в меню View.

Частота синхронизации МК AVR определяется в соответствии с директивой.CLOCK. Если эта директива не найдена, она принимается по умолчанию 1MГц.

Команда SLEEP моделируются бесконечной внутренней петлей команд циклов центрального процессора.

Сторожевой таймер моделируется специальным способом, чтобы упростить код проекта. В реальном МК после достижения 0 (при счете в обратном направлении) сторожевой таймер произвел бы сброс. Вместо выполнения этого VMLAB выдает предупреждение о времени выполнения, высвечивая строку, где сброс имел бы место; это позволяет продолжать программу. С этого времени сторожевой таймер заблокирован. Эта особенность позволяет проектировать сначала код без сторожевого таймера, а затем выбирать места, где вставить контрольные точки, используя меню Options | Error reporting | Watchdog, чтобы выбрать контрольный режим моделирования.

1.7. Какие режимы МК не моделируются

Следующие режимы работы еще не моделируются (их планируется включить в будущие обновления):

USART: синхронный режим и режим многопроцессорности.

Функциональные возможности fuse-битов. VMLAB моделирует только сброс и изменение вектора (fuses BOOTSZ и BOOTRST).

Внутренняя синхронизация: используя директиву .CLOCK, VMLAB не делает никаких предположений относительно предустановки синхронизации. Байт калибровки частоты колебаний не моделируется. В VMLAB не используют сложное аналоговое моделирование, такое как анализ переходных процессов, анализ на переменном токе. Не

моделируются катушки индуктивности, транзисторы и т.д.

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

2. ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС VMLAB

2.1. Главное окно

Главное окно появляется после запуска VMLAB и состоит (сверху – вниз) из строки заголовка, строки командного меню, панели инструментов, рабочего поля и строки состояния (рис.1).

Рис. 1. Главное окно

2.2. Панель инструментов

Панель инструментов строка кнопок наверху главного окна, которые представляют команды VMLAB. Щелчок одной из кнопок быстрая альтернатива к выбору команды от меню. Кнопки на инструментальной панели активизируют и дезактивируют действия согласно состоянию приложения.

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