Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦМПУ / Новая папка (1) / ЦИМПУ(atmega 128).doc
Скачиваний:
102
Добавлен:
16.04.2015
Размер:
4.2 Mб
Скачать

Лабораторная работа №1 «Освоение среды разработки vmlab 3.12»

1.1 Цель работы: Изучить возможности и основные принципы работы в среде разработки VMLAB 3.12.

1.2 Теоретическое введение

1.2.1 Общие сведения

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

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

  • Написание текста программы на языке ассемблера;

  • Трансляция и компиляция – перевод текста программы в набор машинных кодов, их распределение по адресам, проверка правильности синтаксиса программы, возможное объединение нескольких программных блоков, подключение библиотечных функций и др.;

  • Отладка – проверка правильности логики работы программы, взаимодействие ее с внешними по отношению к микро-ЭВМ устройствами;

  • Занесение программы в память микро-ЭВМ.

Исходный текст программы создается при помощи любого из доступных текстовых редакторов по правилам языка ассемблера, который понимается имеющимся транслятором. К этим правилам относится описание переменных, операторов непосредственного определения данных и т.д.

Трансляция выполняется при помощи специальной программы, которая проверяет правильность написания исходного текста программы и переводит инструкции ассемблера в коды команд конкретной микро-ЭВМ. Результатом трансляции программы является листинг программы – текстовый файл, в котором показано соответствие адресов команд, их команд и инструкций ассемблера, а также файл кодов программы в двоичном (bin) или шестнадцатеричном (hex) форматах.

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

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

  • Загрузка данных в память программы;

  • Просмотр содержимого регистров общего назначения, счетчика команд, указателя стека, флагов, состояний линий портов, состояние управляющих линий и др.;

  • Пошаговое выполнение программы;

  • Быстрое выполнение программы (в виде одного шага);

  • Задание и удаление закладок для выделения определенных фрагментов программы.

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

В лабораторных работах предполагается использование микроконтроллера (МК) AVR семейства Mega. Микроконтроллер семейства AVR фирмы Atmel представляет собой восьмиразрядную однокристальную микро-ЭВМ с упрощенной (сокращенной) системой команд — RISC (Restricted (Reduced) Instruction Set Computer).

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

Микроконтроллеры изготавливаются по высококачественной КМОП (CMOS) технологии, содержат энергонезависимые запоминающие устройства для хранения программы и данных, выполненные по Flash и EEPROM технологиям, и отличаются низким энергопотреблением при высокой тактовой частоте. Запись программы и исходных данных в память может выполняться программатором, подключаемого с одной стороны к микроконтроллеру, а с другой к ЭВМ.

AVR – это семейство 8-разрядных микроконтроллеров фирмы Atmel. Эти микроконтроллеры позволяют решать множество задач встроенных систем. Они отличаются от других распространенных в настоящее время микроконтроллеров большей скоростью работы, большей универсальностью. Быстродействие данных микроконтроллеров позволяет в ряде случаев применять их в устройствах, для реализации которых ранее можно было применять только 16-разрядные микроконтроллеры, что позволяет ощутимо удешевить готовую систему. Кроме того, микроконтроллеры AVR очень легко программируются – простейший программатор можно изготовить самостоятельно в течение 30 минут!

Как и все микроконтроллеры AVR фирмы «Atmel», микроконтрол­леры семейства Mega являются 8-разрядными микроконтроллерами, предназначенными для встраиваемых приложений. Они изготавлива­ются по малопотребляющей КМОП-технологии, которая в сочетании с усовершенствованной RISC-архитектурой позволяет достичь наи­лучшего соотношения быстродействие/энергопотребление. Микро­контроллеры описываемого семейства являются наиболее развитыми представителями микроконтроллеров AVR.

К числу особенностей микроконтроллеров AVR семейства Mega отно­сятся:

• FLASH-память программ объемом 8... 128 Кбайт (число циклов стирания/записи не менее 1000);

• оперативная память (статическое ОЗУ) объемом 1...4 Кбайт;

• память данных на основе ЭСППЗУ (EEPROM) объемом 512 байт...4 Кбайт (число циклов стирания/записи не менее 100000);

• возможность защиты от чтения и модификации памяти программ и данных;

• возможность программирования непосредственно в системе че­рез последовательные интерфейсы SPI и JTAG;

• возможность самопрограммирования;

• возможность внутрисхемной отладки в соответствии со стандар­том IEEE 1149.1 (JTAG);

• различные способы синхронизации: встроенный RС-генератор с внутренней или внешней времязадающей LС-цепочкой или с внешним резонатором (пьезокерамическим или кварцевым); внешний сигнал синхронизации;

• наличие нескольких режимов пониженного энергопотребления;

• наличие детектора снижения напряжения питания (brown-out de­tector, BOD);

• возможность программного снижения частоты тактового генератора.

Лабораторные работы построены на изучении микроконтроллера AVR ATmega128 семейства Mega. Отличительная особенность этого микроконтроллера:

– Высокопроизводительный, маломощный 8-разрядный AVR-микроконтроллер;

– Развитая RISC-архитектура;

– 133 мощных инструкций, большинство из которых выполняются за один машинный цикл;

– 32 8-разрядных регистров общего назначения и регистры управления встроенной периферией;

– Полностью статическая работа;

– Производительность до 16 млн. операций в секунду при тактовой частоте 16 МГц;

– Встроенное умножающее устройство выполняет умножение за 2 машинных цикла;

– Энергонезависимая память программ и данных;

– Износостойкость 128-ми кбайт внутрисистемной перепрограммируемой флэш-памяти: 1000 циклов запись/стирание;

– Опциональный загрузочный сектор с отдельной программируемой защитой;

– Программируемая защита кода программы;

– Интерфейс SPI для внутрисистемного программирования;

– Интерфейс JTAG (совместимость со стандартом IEEE 1149.1);

– Граничное сканирование в соответствии со стандартом JTAG;

– Обширная поддержка функций встроенной отладки;

– Программирование флэш-памяти, ЭСППЗУ, бит конфигурации и защиты через интерфейс JTAG ;

– Отличительные особенности периферийных устройств;

– Два 8-разр. таймера-счетчика с раздельными предделителями и режимами сравнения;

– Два расширенных 16-разр. таймера-счетчика с отдельными предделителями, режимами сравнения и режимами захвата;

– Счетчик реального времени с отдельным генератором;

– Два 8-разр. каналов ШИМ;

– 6 каналов ШИМ с программируемым разрешением от 2 до 16 разрядов;

– Модулятор выходов сравнения;

– 8 мультиплексированных каналов 10-разрядного аналогово-цифрового преобразования;

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

7 дифференциальных каналов;

2 дифференциальных канала с выборочным усилением в 1x, 10x и 200x;

– Двухпроводной последовательный интерфейс, ориентированный на передачу данных в байтном формате;

– Два канала программируемых последовательных УСАПП (универсальный синхронный и асинхронный последовательный приемопередатчик);

– Последовательный интерфейс SPI с поддержкой режимов ведущий/подчиненный;

– Программируемый сторожевой таймер со встроенным генератором

– Встроенный аналоговый компаратор;

– Специальные возможности микроконтроллера;

– Сброс при подаче питания и программируемая схема сброса при снижении напряжения питания;

– Встроенный калиброванный RC-генератор;

– Внешние и внутренние источники прерываний;

– Шесть режимов снижения энергопотребления: холостой ход (Idle), уменьшение шумов АЦП, экономичный (Power-save), выключение (Power-down), дежурный (Standby) и расширенный дежурный (Extended Standby);

– Программный выбор тактовой частоты;

– Общее выключение подтягивающих резисторов на всех линиях портов ввода-вывода.

Соседние файлы в папке Новая папка (1)