Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Моделирование заданных команд микроконтроллера

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Моделирование заданных команд, внутренних функциональных устройств и объектов ввода-вывода микроконтроллера. Разработка программа для демонстрации совместной работы микроконтроллера и моделируемого внешнего устройства. Компоненты архитектуры ATMega128.
Краткое сожержание материала:

Размещено на

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

Ульяновский государственный технический университет

Факультет информационных систем и технологий

Кафедра «Вычислительная техника»

Дисциплина «Машинно-ориентированное программирование»

Пояснительная записка к Курсовой работе

Вариант A13

Выполнил:

студент гр. ЭВМд-31

Радаев А. И.

Проверил:

Негода В.Н.

Ульяновск 2011

Техническое задание (Вариант 13)

Задача проекта:

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

Интеграция:

Для доступа к моделируемым программно-доступным компонентам и внутренним регистрам микроконтроллера необходимо использовать файл atmega128.h.

Реализация моделируемых команд должна размещаться в файле a13.cpp

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

ORI

CPI

BRPL

LD X, R

(ST -X, Rr)

MOVW

BST

SET

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

Модель внешнего устройства:

Необходимо разработать модель внешнего устройства I-8082W

Необходимо дать схему подключения моделируемого устройства и ядра микроконтроллера через порты ввода/вывода

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

Введение

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

Для решения выше изложенных проблем создают специальные программы «эмуляторы», которые полностью могут заменить реальные устройства на этапе отладки программной части работы микроконтроллера. Требования к этим программам-эмуляторам очень просты: как можно ближе соответствовать выполнению кода на реальном устройстве. То есть эмулятор должен поддерживать все необходимые компоненты устройства, такие как регистры, память, адресация, стек, порты ввода/вывода, цикл команд, прерывания. Можно сказать, что требования могут ограничиваться необходимым уровнем абстракции, который позволит решить поставленную задачу.

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

В данной курсовой записке нет детализированного описания архитектуры семейств эмулируемых устройств ATMega128, так как для этого используется полное руководство по устройству. Изложенный материал касается только тех моментов, которые необходимы для выполнения задания по варианту A13.

Компоненты архитектуры ATMega128

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

Отличительные особенности

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

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

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

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

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

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

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

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

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

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

* наличие детектора снижения напряжения питания (brown-out detector, BOD);

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

Характеристики процессора:

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

* АЛУ подключено непосредственно к регистрам общего назначения;

* большинство команд выполняются ла один машинный цикл;

* многоуровневая система прерываний; поддержка очереди прерываний. В то же время процессор микроконтроллфов семейства Mega имеет ряд характеристик, присущих именно этому семейству:

* наибольшее число источников прерываний (до 27 источников, из I них до 8 внешних);

* наличие программного стека во всех моделях семейства; I * наличие аппаратного умножителя.

Подсистема ввода/вывод:

* программное конфигурирование и выбор портов ввода/вывода;

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

* входные буферы с триггером Шмитта на всех выводах;

* возможность подключения ко всем входам внутренних подтягивающих резисторов (сопротивление резисторов составляет 35...120кОм)

Архитектура ядра

Ядро микроконтроллеров AVR семейства Mega выполнено по усовершенствованной RISC-архитектуре (enhanced RISC). Арифметико-логическое устройство (АЛУ), выполняющее все вычисления, подключено непосредственно к 32-м рабочим регистрам, объединенным в регистровый файл. Благодаря этому АЛУ выполняет одну операцию (чтение содержимого регистров, выполнение операции и запись результата обратно в регистровый файл) за один машинный цикл. Практически каждая из команд (за исключением команд, у которых одним из операндов является 16-разрядный адрес) занимает одну ячейку памяти программ.

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

Еще одним решением, направленным на повышение быстродействия, является использование технологии конвейеризации. Конвейеризация заключается в том, что во время исполнения текущей команды производится выборка из памяти и дешифрация кода следующей команды. Причем, поскольку длительность машинного цикла микрокотроллеров AVR составляет всего один период тактового генератора, они могут обеспечивать ту же 1пюизводительность, что и RISC-микроконтроллеры других фирм, но при более низкой тактовой частоте.

Организация памяти

Микроконтроллеры AVR семейства Mega являются 8-разрядными микроконтроллерами с RISC-архитектурой. Они имеют электрически стираемую память программ (FLASH) и данных (EEPROM), а также разнообразные периферийные устройства. Следует отметить, что микроконтроллеры семейства Mega имеют самый богатый набор периферийных устройств по сравнению с микроконтроллерами других семейств. Более того, состав этих устройств от модели к модели практически не меняется (меняются только их функциональные возможности). К устройствам, присутствующим не во всех моделях семейства, относятся АЦП, модуль двухпроводного интерф...

Другие файлы:

Разработка микроконтроллера для приемника команд RC5
Создание приемника команд RC5 для персонального компьютера на основе микроконтроллера ATmega8. Особенности написания файла прошивки и симулирование ус...

Простые микропроцессоры и программируемые системы. Микроконтроллеры
Исследование системы команд языка Assembler для микроконтроллера MSC-51. Выполнение каждого шага программы и фиксирование состояния регистров микрокон...

Моделирование внутренних функциональных устройств и объектов ввода-вывода микроконтроллера
Отличительные особенности микроконтроллеров AVR семейства Mega. Характеристики процессора, подсистемы ввода-вывода. Архитектура ядра и организация пам...

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

Система команд ЭВМ
Архитектура ЭВМ - совокупность принципов организации аппаратно-программных средств, их основные характеристики, определяющие функциональные возможност...