- •Методические указания
- •Лабораторная работа № 1 Изучение аппаратных средств и структурной организации микроконтроллеров семейства avr aTmega, на примере avr aTmega 8515.
- •Лабораторная работа № 2 Изучение основ языка Си для микроконтроллеров семейства avr Atmega.
- •Лабораторный стенд для изучения работы микроконтроллеров.
ФГБОУ ВПО «Воронежский государственный
технический университет»
Кафедра полупроводниковой электроники и
наноэлектроники
Методические указания
по выполнению лабораторных работ № 1—2
по дисциплине «Системы автоматизированного
управления оборудованием электронной промышленности»
для студентов направления 210100.62
«Электроника и наноэлектроника», профиля
«Электронное машиностроение»
очной формы обучения
Воронеж 2014
Составители: д-р техн. наук С.А. Акулинин,
Ст. преподаватель С.А. Минаков
УДК 621.382
Методические указания по выполнению лабораторных работ № 1—2 по дисциплине «Системы автоматизированного управления оборудованием электронной промышленности» для студентов направления 210100.62 «Электроника и наноэлектроника», профиля «Электронное машиностроение» очной формы обучения / ФГБОУ ВПО «Воронежский государственный технический университет»; сост. С.А. Акулинин, С.А. Минаков. Воронеж, 2014, 37 с.
В методических указаниях дается описание, принцип действия, порядок составления программ на микроконтроллерах семейства AVR.
Методические указания выполнены в текстовом редакторе MS Word 2003 и содержатся в файле Микроконтроллер.doc.
Ил. 10.
Рецензент докт. техн. наук К.А. Разинкин
Печатается по решению редакционно-издательского совета Воронежского государственного технического университета
© ФБОУ ВПО «Воронежский государственный технический университет»
Лабораторная работа № 1 Изучение аппаратных средств и структурной организации микроконтроллеров семейства avr aTmega, на примере avr aTmega 8515.
Цель работы: изучить устройство, принцип работы и организацию микроконтроллера AVR ATmega 8515.
Краткие теоретические сведения:
Микроконтроллер (англ. Micro Controller Unit, MCU) — микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает в себе функции процессора и периферийных устройств, содержит ОЗУ или ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи.
История создания микроконтроллеров
С появлением однокристальных микро-ЭВМ связывают начало эры массового применения компьютерной автоматизации в области управления. По-видимому, это обстоятельство и определило термин «контроллер» (англ. controller— регулятор, управляющее устройство).
В связи со спадом отечественного производства и возросшим импортом техники, в том числе вычислительной, термин «микроконтроллер» (МК) вытеснил из употребления ранее использовавшийся термин «однокристальная микро-ЭВМ».
Первый патент на однокристальную микро-ЭВМ был выдан в 1971 году инженерам М. Кочрену и Г. Буну, сотрудникам американской Texas Instruments. Именно они предложили на одном кристалле разместить не только процессор, но и память с устройствами ввода-вывода.
В 1976 году американская фирма Intel выпускает микроконтроллер i8048. Через 4 года, в 1980 году, Intel выпускает следующий микроконтроллер: i8051. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер i8051 являлся для своего времени очень сложным изделием – в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре i8086.
На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также 32-битные микроконтроллеры, архитектуры ARM, которую разрабатывает фирма ARM Limited и продаёт лицензии другим фирмам для их производства.
В СССР велись разработки оригинальных микроконтроллеров, также осваивался выпуск клонов наиболее удачных зарубежных образцов.
В 1979 году в СССР НИИ ТТ разработали однокристальную 16-разрядную ЭВМ К1801BE1, микроархитектура которой называлась «Электроника НЦ».
Применение
Использование в современном микроконтроллере достаточного мощного вычислительного устройства с широкими возможностями, построенного на одной микросхеме вместо целого набора, значительно снижает размеры, энергопотребление и стоимость построенных на его базе. Используются в управлении различными устройствами и их отдельными блоками:
• в вычислительной технике: материнские платы, контроллеры дисководов жестких и гибких дисков, CD и DVD;
• электронике и разнообразных устройствах бытовой техники, в которой используется электронные системы управления – стиральных машинах, микроволновых печах, посудомоечных машинах, телефонах и современных приборах:
В промышленности:
• устройств промышленной автоматики от программируемого реле и встраиваемых систем до ПЛК (программируемый логический контроллер – электронная составляющая промышленного контроллера, специализированного (компьютеризированного) устройства, используемого для автоматизации технологических процессов.),
• систем управления станками
В то время как 8-разрядные процессоры общего назначения полностью вытеснены более производительными моделями, 8-разрядные микроконтроллеры продолжают широко использоваться. Это объясняется тем, что существует большое количество применений, в которых не требуется высокая производительность, но важна низкая стоимость. В тоже время есть микроконтроллеры, обладающие большими вычислительными возможностями, например цифровые сигнальные процессоры.
История создания архитектуры AVR
Идея разработки нового RISC-ядра принадлежит двум студентам Norwegian University of Science and Technology (NTNU) из норвежского города Тронхейма (Trondheim) — Альфу Богену (Alf-Egil Bogen) и Вегарду Воллену (Vegard Wollen). В 1995 году Боген и Воллен решили предложить американской корпорации Atmel, которая была известна своими чипами с Flash-памятью, выпускать новый 8-битный RISC-микроконтроллер и снабдить его Flash- памятью для программ на одном кристалле с вычислительным ядром.
Идея была одобрена Atmel Corp., и было принято решение незамедлительно инвестировать в данную разработку. В конце 1996 года был выпущен опытный микроконтроллер AT90SI200, а во второй половине 1997-го корпорация Atmel приступила к серийному производству нового семейства микроконтроллеров, к их рекламной и технической поддержке.
Новое ядро было запатентовано и получило название AVR. Существует несколько трактовок данной аббревиатуры. Кто-то утверждает, что это Advanced Virtual RISC, другие полагают, что не обошлось здесь без Alf Egil Bogen Vegard Wollan RISC.
Описание архитектуры
Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Процессор AVR имеет 32 8-бигных регистра общего назначения, объединённых в регистровый файл. В отличие от «идеального» RISC, регистры не абсолютно ортогональны:
• Три «сдвоенных» 16-битных регистра-указателя X (r26:r27), Y(r28:r29) и Z(r30:r31);
• Некоторые команды работают только с регистрами в r16...r31.
• Результат умножения (в тех моделях, в которых есть модуль умножения) всегда помешается в r0:rl.
Система команд
Система команд микроконтроллеров AVR весьма развита и насчитывает в различных моделях от 90 до 133 различных инструкций. Большинство команд занимает только 1 ячейку памяти (16 бит). Большинство команд выполняется в 1 такт.
Всё множество команд микроконтроллеров AVR можно разбить на несколько групп:
• команды логических операций;
• команды арифметических операций и команды сдвига;
• команды операции с битами;
• команды пересылки данных;
• команды передачи управления;
• команды управления системой.
Управление периферийными устройствами осуществляется через адресное пространство данных. Для удобства существуют «сокращённые команды» IN\OUT.
Семейства микроконтроллеров
Стандартные семейства:
• tinyAVR(ATtinyxxx):
○ Флеш-память до 16 Кб; SRAM до 512 б; EEPROM до 512 б;
○ Число линий ввод-вывода 4-18 (общее количество выводов 6-32);
○ Ограниченный набор периферийных устройств.
• megaAVR (ATmegaxxx):
○ Флеш-память до 256 Кб; SRAM до 8 Кб; EEPROM до 4 Кб;
○ Число линий ввода-вывода 23-86 (общее количество выводов 28-100);
○ Аппаратный умножитель;
○ Расширенная система команд и периферийных устройств.
• XMEGA AVR (ATmegaxxx):
○ Флеш-память до 384 Кб; SRAM до 32 Кб: EEPROM до 4 Кб;
○ Четырехканальный DMA-контроллер;
○ Инновационная система обработки событий.
На основе стандартных семейств выпускаются микроконтроллеры, адаптированные под конкретные задачи:
• со встроенными интерфейсами USB, CAN, контроллером LCD;
• со встроенным радиоприёмопередатчиком – серии АTAхххх, ATAMxxx;
• для управления электродвигателями — серия АТ90РWMхххх;
• для автомобильной электроники;
• для осветительной техники.
Версии контроллеров
AT(mega/tiny)ххх — базовая версия.
ATxxxL — версии контроллеров, работающих на пониженном (Low) напряжении питания, обычно 1,8 или 2,7 В.
АТхххР — малопотребляющие версии (до 100 нА в режиме Power-down), применена технология picoPower (анонсированы в июле 2007). повыводно и функционально совместимы с предыдущими версиями.
АТхххА — уменьшен ток потребления, перекрывается весь диапазон тактовых частот и напряжений питания двух предыдущих версий (также, в некоторых моделях, добавлены новые возможности и новые регистры, но сохранена полная совместимость с предыдущими версиями). Микроконтроллеры «А» и «не-А» с точки зрения программатора ничем не отличаются.
ATxxx-PI — корпус DIP ATxxx-PU — корпус DIP, бессвинцовый (Pb-free) припой
ATxxx-AI — корпус TQFP ATxxx-AU — корпус TQFP. бессвинцовый (Pb-free) припой
(цифры 8/10/16/20/.. перед индексом означают максимальную частоту, на которой микроконтроллер может стабильно работать при нормальном для него напряжении питания).
Устройства ввода/вывода МК
МК AVR имеют развитую периферию:
• Многофункциональные, двунаправленные GPIO порты ввода вывода со встроенными подтягивающими резисторами. Конфигурация портов в/в задается программно.
• В качестве источника тактовых импульсов может быть выбран:
кварцевый резонатор;
○ внешний тактовый сигнал;
○ внутренний RC-генератор (частота 1, 2, 4, 8 МГц).
• Внутренняя Флеш-память команд до 256 КБ (не менее 10 000 циклов перезаписи),
• Отладка программ осуществляется с помошью интерфейсов JТKG иди debugWIRE.
○ сигналы JTAG (TMS, TDI, TDO TCK) мультиплексированы на порт ввода/вывода. Режим работы – JTAG или порт — задаётся соответствующим битом в регистре fuses. МК AVR поставляются с включённым интерфейсом JTAG.
• Внутреннее EEPROM данных до 4 КБ (100 000 циклов).
• Внутренняя SRAM до 8 КБ время доступа 1 такт.
• Внешняя память объёмом до 64 КБ (Mega8515 и Megal62).
• Таймеры с разрядностью 8, 16 бит.
• ШИМ-модулятор (РWМ) 8-, 9-. 10-. 16-битный.
• Аналоговые компараторы.
• АЦП (ADC) с дифференциальными входами, разрядность 10 бит (12 для XMEGA AVR):
○ программируемый коэффициент усиления перед АЦП 1, 10 и 200;
○ опорное напряжение 2,56 В.
• Различные последовательные интерфейсы, включая:
○ двухпроводной интерфейс TWI, совместимый с I2С;
○ универсальный синхронно/асинхронный приёмопередатчик UART/USART;
○ синхронный последовательный порт Serial Peripheral Interface (SPI).
• USB серия AT90USBxxxx.
• CAN серия AT90CANxxx.
• LCD серии ATmega169 и ATmega329.
• Датчики температуры ATtiny25, ATtiny45, ATtiny85.
Примечание: не все периферийные устройства могут быть включены программно. Бит в регистре fuses может быть изменён только программатором.
Рис.1. Atmel AVR ATmega8515 в корпусе DIP
Рис. 2. Atmel AVR Atmega169 в корпусе MLF
Общее описание ATmega8515
ATmega8515 - экономичный 8-разрядный микроконтроллер, основанный на усиленной AVR RISC архитектуре. ATmega85l5 обеспечивает производительность 1 млн. оп. в сек на 1 МГц синхронизации за счет выполнения большинства инструкций за один машинный цикл и позволяет оптимизировать потребление энергии за счет изменения частоты синхронизации.
AVR ядро объединяет богатый набор инструкций с 32 рабочими регистрами общего назначения. Все 32 регистра непосредственно подключены к АЛУ (арифметико-логическое устройство), что позволяет указывать два регистра в одной инструкции и выполнить ее на один цикл. Данная архитектура обладает большей эффективностью кода и в 10 раз большей производительностью по сравнению с CISC микроконтроллерами.
ATmega8515 обладает следующими возможностями: 8 кбайт внутрисхемно программируемой флэш-памяти с возможностью чтения во время записи. 512 байт ЭППЗУ, 512 байт статического ОЗУ, внешний интерфейс памяти. 35 линий ввода-вывода. 32 рабочих регистров общего назначения, два универсальных таймера-счетчика с режимами компаратора, внутренние и внешние запросы на прерывание, последовательный программируемый УСАПП, программируемый сторожевой таймер с внутренним генератором, последовательный порт SPI и три программно настраиваемых режима управления энергопотреблением. Режим холостого хода (Idle) останавливает ЦПУ, но оставляет в работе статическое ОЗУ, таймеры-счетчики, порт SPI и систему прерывании. Режим пониженного потребления (Power-down) сохраняет содержимое peгистров, но останавливает генератор, выключает все встроенные функции до появления следующего запроса на прерывание или аппаратного сброса. В дежурном режиме (Standby) генератор на кварцевом резонаторе запущен, а остальная часть отключена. Данный режим позволяет реализовать быстрый запуск в комбинации с малым потреблением.
Устройство выпускается по разработанной Atmel технологии энергонезависимой памяти высокой емкости. Встроенная ISP флэш-память может внутрисхемно перепрограммироваться через последовательный интерфейс SPI, обычным программатором энергонезависимой памяти или запушенной программой в секторе начальной загрузки AVR ядра. Программа в секторе начальной загрузки может использовать любой интерфейс для записи программы. Программа в секторе начальной загрузки выполняется даже при обновлении флэш-памяти приложения, обеспечивая действительную возможность чтения во время записи. За счет комбинирования 8-разрядного RISC ЦПУ с внутрисхемно самопрограммируемой флэш-памятью на одном кристалле, позволило ATmega8515 быть мощным микроконтроллером, обеспечивающего высокую универсальность и обладающего низкой стоимостью, что делает его применение идеальным для построения встроенных систем управления.
ATmega8515 поддерживается полным набором инструментальных и программных средств для разработки приложений, в т.ч.: Си-компиляторы, макроассемблеры, программные отладчики/симуляторы, внутрисхемные эмуляторы, оценочные наборы.
Рис. 3. Структурная схема микроконтроллера ATmega8515
Рис. 4. Расположение выводов микроконтроллера Atmega8515