Курсовая ОТД. Документ Microsoft Word-1. Отчет по лабораторной работе 1 по дисциплине Микропроцессорные системы
Скачать 1.55 Mb.
|
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА федеральное государственное бюджетное образовательное учреждение высшего образования «ОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ» Кафедра «Телекоммуникационные, радиотехнические системы и сети» Микроконтроллеры семейства Mega AVR Отчет по лабораторной работе № 1 по дисциплине «Микропроцессорные системы» Студенты гр. 28 Б _____________ П.А. Епишин ____________ В.Ю. Ракитин ____________ А.А. Чищаева «___» ______________ 2022 г. Руководитель доцент кафедры ТРСИС: _____________Н.Н. Илюхин «___» ______________ 2022 г. Омск 2022 Цель работы: знакомство с архитектурой микроконтроллеров семейства AVR на примере ATmega8A. Краткие теоретические сведения Микропроцессорное устройство в телекоммуникационных системах представляет собой функционально и конструктивно законченное изделие, состоящее из нескольких микросхем. В состав этого устройства входит микропроцессор, который дает возможность системе реализовать функции по обработке, передаче, приему, хранению и преобразованию информации, а также функцию управления. В большинстве современных телекоммуникационных систем (коммутационных узлах, мультиплексорах, маршрутизаторах и др.) функции по обработке и преобразованию информации выполняют цифровые сигнальные процессоры DSP и специализированные 32-разрядные однокристальные микроконтроллеры. Такие процессоры обладают высоким быстродействием, что позволяет производить цифровую обработку сигналов в реальном масштабе времени. Специализированные 32-разрядные однокристальные микропроцессоры реализуют высокопроизводительную ARM архитектуру и предназначены для систем телефонии, передачи информации, телевидения и других областей, требующих высокоскоростной обработки информации. Микропроцессоры DSP также являются специализированными, они применяются для обработки и синтеза речевых сигналов, уплотнения каналов передачи данных, математической обработки, кодирования и распределения потоков информации. Микроконтроллеры ARM и DSP также могут выполнять функции по управлению технологическими процессами, но высокая стоимость ограничивает их применение при решении подобных задач. Наиболее применимыми в области управления и контроля состояния управляемых объектов являются универсальные восьми- и шестнадцатиразрядные однокристальные микроконтроллеры. Это особые типы микропроцессоров, отличающиеся относительной простотой устройства, небольшим набором команд и ограниченными функциональными возможностями, но вместе с тем достаточным быстродействием и низкой стоимостью. В корпусе микроконтроллера располагается центральный процессор (CPU), различные виды памяти, порты ввода-вывода для подключения внешних устройств, модули ввода и восстановления аналогового сигнала (АЦП и ЦАП), таймеры-счетчики, контроллеры прерываний и различных интерфейсов и другие функциональные модули. Восьмиразрядные однокристальные микроконтроллеры семейства AVR, разработанные фирмой Atmel Corporation в 1996 году, имеют гарвардскую архитектуру и систему команд RISC (выполнение команды в один-три такта), flash-память программ, что позволяет осуществлять многократное перепрограммирование, и множество разнообразных интерфейсов для подключения внешних периферийных устройств и отладчиков. Рассмотрим устройство одного из представителей этого семейства – микроконтроллера ATmega8A. Внешний вид контроллера в DIP-корпусе и графическое обозначение ATmega8A представлены на рисунке 1.1. Рис. 1.1. Внешний вид (a) и условное графическое обозначение (б) микроконтроллера ATmega8A Микроконтроллер ATmega8A в DIP-исполнении имеет 28 выводов. На выводы VCC и GND (pin 8) подается «цифровое» питание. На выводы AVCC и GND (pin 22) может подаваться «аналоговое питание»; AREF – выход внутреннего источника напряжения 1,3 В; PB0:PB7 – линии порта PortB, PC0:PC7 – линии порта PortC, PD0:PD7 – линии порта PortD. В скобках указаны альтернативные функции выводов. Прогрессивной архитектурой контроллера ATmega8A предусмотрено: система из 130 высокопроизводительных команд, большинство которых выполняется за один тактовый цикл; 32 восьмиразрядных рабочих регистра общего назначения (РОН): R0–R31; при тактовой частоте 16 МГц производительность приближается к 16 MIPS (Million Instructions Per Second – миллион операций в секунду); 8 килобайт внутрисхемно программируемой Flash-памяти программ, есть возможность самопрограммирования контроллера в процессе работы; 512 байт энергонезависимой электрически перепрограммируемой памяти EEPROM; 1 килобайт внутренней памяти SRAM (полупроводниковая оперативная память); возможность защиты программного обеспечения; наличие набора периферийных устройств: встроенный калиброванный RC-генератор, один шестнадцатиразрядный и два восьмиразрядных таймера-счетчика с предварительными делителями частоты, внутренние и внешние источники прерываний, программируемый сторожевой таймер (Watchdog) с отдельным встроенным генератором, многоканальный десятиразрядный АЦП (ADC), аналоговый компаратор, двухпроводный бит-ориентированный последовательный интерфейс TWI (соответствует интерфейсу I2C), трехканальный ШИМ-модулятор (PWM), программируемый универсальный последовательный интерфейс USART, последовательный интерфейс ведущий-ведомый SPI; напряжение питания от 2,7 до 5,5 В, максимальный ток потребления 3,6 мА; пять режимов энергопотребления, минимальны потребляемый ток 0,5 мкА; тактовая частота от 0 до 16 МГц. Вышеуказанные элементы присутствуют на блок-схеме архитектуры микроконтроллера ATmega8A показана на рисунке 1.2. Рис. 1.2. Блок-схема архитектуры микроконтроллера ATmega8A Структура памяти данных (ОЗУ) микроконтроллера ATmega8A показана на рисунке 1.3. Рис. 1.3. Память данных микроконтроллера ATmega8A Контроллер имеет 32 рабочих регистра общего назначения (R0-R31), предназначенных для выполнения операций с данными. Они являются источниками и приемниками для большинства выполняемых команд. Некоторые команды могут применяться только к регистрам R16-R32, которые имеют больше возможностей. Для выполнения команд с двухбайтными числами регистры могут объединяться в регистровые пары. Так регистровая пара R0:R1 содержит результат умножения, а регистровые пары X (R26:R27), Y (R28:R29) и Z (R30:R31) используются в командах с косвенной адресацией операндов. Регистрам ввода-вывода присвоены шестнадцатеричные номера (от 0x00 до 0x3F). Каждый регистр выполняет специальную функцию, например, управляет работой портов, задает режим работы таймеров-счетчиков или содержит слово состояние процессора (SREG). РВВ состоят из восьми бит, установка которых может производиться отдельно с использованием их уникального имени. Подробнее о функциях регистров РВВ можно узнать из [Datasheet]. Внутренняя SRAM предназначена для хранения промежуточных результатов выполнения программы. Данных в ячейки этой области помещаются через регистры общего назначения. Для примера рассмотрим работу портов микроконтроллера. За настройку каждой линии каждого порта отвечают регистры 3 регистра РВВ: DDRn, PORTn и PINn, где n-имя порта. Регистр DDRn отвечает за направление передачи: если DDRn.k=0, то линия k порта n работает в режиме входа, если DDRn.k=1 – то линия k в режиме выхода. Регистр PORTn управляет состоянием всех выводов порта. При настройке линии порта на выход (DDRn.k=1) значение PORTn.k соответствует значению выводимого на данную линию логического уровня (лог.0 или лог.1). При настройке линии на вход (DDRn.k=0) значение PORTn.k управляет режимом линии: 1 – вход с подтяжкой (PullUp) к уровню лог. 1, снижает энергопотребление; 0 – высокоимпедансное (Hi-Z) состояние линии. Регистр PINn предназначен только для чтения, в нем содержится информация о текущем логическом уровне на выводах порта n. В высокоимпедансном режиме линий порта с помощью этого регистра можно прослушивать внешние шины. Память программ (ПЗУ) микроконтроллера ATmega8A содержит две области – загрузочную область и область прикладных программ (рисунок 1.4). Рис. 1.4. Память программ микроконтроллера ATmega8A Память программ представляет собой электрически стираемое flash-ПЗУ. Поскольку все AVR команды занимают в памяти по 16 бит или по 32 бита, память программ имеет шестнадцатиразрядную организацию (4К x 16 бит). Для адресации памяти программ используется счетчик команд (PC – Program Counter). Размер счетчика команд составляет 12 бит. C адреса 0x000 по адрес 0x012 памяти программ располагается таблица векторов прерывания (по этим адресам рекомендуется размещать команды относительного перехода к обработчикам прерываний). Прерываниям будет посвящена отдельная лабораторная работа. Далее должна располагаться область инициализаций. В частности, если в алгоритме предусматривается использование подпрограмм, то необходима инициализация указателя стека – области сохранения значения счетчика команд PC – путем записи в РВВ SPH и SPL начального адреса. После инициализаций рекомендуется располагать основную программу, а после нее подпрограммы, если в этом есть необходимость. Практическая часть. В микроконтроллерах AVR семейства Mega используется линейная организация памяти. Объём статического ОЗУ для различных моделей семейства составляет от 512 байт до 8 Кбайт. В адресном пространстве ОЗУ также расположены все регистры микроконтроллеров, под них отведены младшие адреса. Остальные адреса отведены под ячейки статического ОЗУ. Ниже представлен рисунок 2 распределения памяти данных для различных микроконтроллеров: Рис. 2. Распределения памяти данных для различных микроконтроллеров На Рисунке 2.1, 2.2, 2.3 представлены основные параметры микроконтроллеров AVR семейства Mega. Рисунок 2.1 Основные параметры микроконтроллеров AVR семейства Mega Рисунок 2.2 Основные параметры микроконтроллеров AVR семейства Mega Рисунок 2.2 Основные параметры микроконтроллеров AVR семейства Mega Контрольные вопросы: Какие функции выполняют микропроцессоры в телекоммуникационных системах? Цифровые системы, используемые в современных ТКС, имеют высокую помехозащищенность, высокую точность и стабильность характеристик, высокую степень микроминиатюризации аппаратуры. С их помощью легко реализуются практически любые алгоритмы обработки информации. Например, сжатие речи, изображений и видео, помехоустойчивое кодирование, алгоритм криптографирования могут быть реализованы только с помощью цифровой обработки сигналов (ЦОС). Что такое память SRAM и для чего она используется в микроконтроллерах AVR? SRAM Data Memory в микроконтроллерах AVR - это энергозависимая статическая память с произвольным доступом (Static Random Access Memory). То есть данные в этой памяти сохраняются только пока есть питание. Память данных используется для временного хранения данных, получаемых в ходе работы микроконтроллера. Для чего предназначены рабочие регистры? Регистры общего назначения (РОН) есть в любом процессоре, микропроцессоре и микроконтроллере. Их ещё называют “рабочие регистры”. Эти регистры используются для хранения промежуточных итогов вычислений (также как и внутренняя память). По сравнению с памятью у РОН есть два основных преимущества: Обращение к регистрам выполняется намного быстрее, чем к памяти. При обращении к регистрам не нужно указывать адрес (как в случае с памятью). Сколько регистров ввода-вывода содержит ATmega8A? В микроконтроллерах AVR все 32 регистра общего назначения (РОН) непосредственно доступны АЛУ. Благодаря этому любой РОН может использоваться практически во всех командах и как операнд-источник, и как операнд-приёмник. Такое решение (в сочетании с конвейерной обработкой) позволяет АЛУ выполнять одну операцию (извлечение операндов из регистрового файла, выполнение команды и запись результата обратно в регистровый файл) за один такт. Сколько разрядов содержит ячейка памяти программ? Ячейки памяти могут иметь разную ёмкость (число разрядов, длину). Современные запоминающие устройства обычно имеют размер ячейки памяти, равный одной из степеней числа два: 8 бит, 16 бит, 32 бита, 64 бита. |