Микропроцессоры универсальные

Автор работы: Пользователь скрыл имя, 08 Апреля 2014 в 12:27, курсовая работа

Краткое описание

Различные выполняемые функции и сферы применения обусловили специализацию СБИС. По данному признаку достаточно условно их можно разделить на следующие классы:
СБИС с аппаратной реализацией алгоритмов обработки данных;
микропроцессоры универсальные;
микропроцессоры сигнальные;
микроконтроллеры, включая интерфейсные схемы для образования мультипроцессорных систем;
микросхемы памяти: статические и динамические;
программируемые логические интегральные схемы (ПЛИС).

Содержание

ВВЕДЕНИЕ 2
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 5
1.1.Архитектура МК attiny13 6
1.2.Процессорное ядро МК attiny13 11
1.3.Способы адресации 15
1.4.Энергонезависимая память данных 15
1.5.Порты ввода/вывода 20
2.РАЗРАБОТКА МК УСТРОЙСТВА 22
2.1.Индикатор температуры тела 32
2.2. Принципиальная схема 33
3. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ МКУ 36
3.1.Интегрированная среда программирования 38
3.2.Программа на языке Ассемблера 42
Список используемой литературы 45
ЗАКЛЮЧЕНИЕ 50

Вложенные файлы: 1 файл

КП пояснительная записка.doc

— 1.20 Мб (Скачать файл)

3)32-разрядные микроконтролллеры

32-разрядные микроконтроллеры содержат  высокопроизводительный процессор, соответствующий по своим возможностям  младшим моделям микропроцессоров  общего назначения. Кроме 32-разрядного процессора на кристалле микроконтроллера размещается внутренняя память команд емкостью до десятков Кбайт, память данных емкостью до нескольких Кбайт, а также сложно-функциональные периферийные устройства — таймерный процессор, коммуникационный процессор, модуль последовательного обмена и ряд других. Микроконтроллеры работают с внешней памятью объемом до 16 Мбайт и выше. Они находят широкое применение в системах управления сложными объектами промышленной автоматики (двигатели, робототехнические устройства, средства комплексной автоматизации производства), в контрольно-измерительной аппаратуре и телекоммуникационном оборудовании.

 

 

 

 

 

 

 

 

 

 

  1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ.

1.1.Архитектура МК Attiny13.

Первые микроконтроллеры с ядром AVR (аббревиатура производная от имен двух главных разработчиков Alf-Egil Bogen + Vegard Wollen + RISC) увидели свет в 1997г и начали стремительно завоевывать нишу на рынке 8-разрядных микроконтроллеров для встраиваемых систем. А уже через несколько лет своего становления AVR превратились в основное направление развития компании Atmel.

Первопроходцем стало семейство Classic, которое сейчас уже полностью снято с производства. Первые модели Classic были немного “сыроватыми” (что, впрочем, характерно и для многих других сложных изделий) и вызывали различные нарекания по поводу стабильности работы, надежности энергонезависимой памяти и т.д. Однако со временем недостатки были устранены, а основные концепции Atmel увидели свое продолжение в двух семействах нового поколения ATtiny (младшее семейство) и ATmega (старшее семейство). В данный момент микроконтроллеры ATtiny и ATmega составляют основную массу изделий AVR (характеристики микроконтроллеров ATtiny и ATmega приведены в приложении A). Но сказать, что на этом их развитие завершилось, конечно, нельзя. На сегодняшний день ядро AVR лежит в основе целого ряда микроконтроллеров для специализированных приложений. К ним относятся модели, содержащие на своем борту CAN (AT90CAN), USB (AT90USB), модули для генерации ШИМ (AT90PWM), радиочастотный модуль (AT86RF), а также конфигурируемые микроконтроллеры, которые совмещают на одном кристалле процессор и программируемые массивы FPGA.

Со второй половины 2008 г начался серийный выпуск моделей микроконтроллеров семейства Xmega. Архитектура AVR перетерпела значительную переработку. Были устранены многие слабые места. В составе  Xmega появились контроллеры прерываний и прямого доступа к памяти, 12-разрядные АЦП и ЦАП, дополнительные модули таймеров-счетчиков и мн. др. Память EEPROM стала проецироваться на адресное пространство SRAM. Напряжение питания снизилось до 3.3 В, а максимальная тактовая частота процессора Xmega возросла до 32 МГц.

Каждый год объем продаж AVR-микроконтроллеров увеличивается примерно в два раза, а общее их выпущенное количество уже давно перевалило за полмиллиарда. В электронной промышленности AVR стали безоговорочным индустриальным стандартом.

Особенности архитектуры

Как и подавляющее большинство современных 8-разрядных микроконтроллеров, AVR является типичным представителем архитектуры Гарвардского типа. Память программ и память данных в нем отделены друг от друга и находятся в различных адресных пространствах (см. рис.1). ЦПУ имеет две независимые шины: 16-разрядную для обращения к ПЗУ и 8-разрядную для взаимодействия с ОЗУ. Длина слова команды  у AVR кратна 16-ти битам и может составлять 2 или 4 байта.

 
Рис.3 Разделение памяти программ и данных в Гарвардской архитектуре

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

 
Рис.4 Работа конвейера команд

В микроконтроллерах AVR реализован двухступенчатый конвейер команд (см. рис.4). Во время выполнения текущей команды, происходит выборка и декодирование следующей инструкции. Функционирование конвейера нарушается только в те моменты, когда результат выполнения команды не определен. Это относится к командам типа Test & Skip (Проверка и пропуск) и аппаратным прерываниям. В первом случае происходит ветвление по условию, которое заранее неизвестно, а во втором – программный переход в неопределенный момент времени.  

AVR имеют систему команд RISC (Reduced Instruct Set Computers – компьютеры с сокращённым  набором команд). Такая система  подразумевает наличие небольшого, хорошо продуманного набора команд, большая часть из которых выполняется за одинаковый промежуток времени (машинный цикл). Машинный цикл ядра AVR – 1 период тактовой частоты системного генератора. Это означает, что производительность микроконтроллера составляет 1 MIPS (Millions Instruction Per Second) на 1 МГц (!) или 20 MIPS при наибольшей частоте 20 МГц. Внутренняя структура микроконтроллеров семейства ATtiny приведена на рис.5

 
Рис.5 Внутреннее устройство микроконтроллеров семейства ATtiny.

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

  • Высококачественный низкопотребляющий 8- битный AVR микроконтроллер
  • Передовая RISC архитектура 
        - 120 команд, большинство которых выполняется за один тактовый цикл 
        - 32 8 битных рабочих регистра общего применения 
        - Полностью статическая архитектура
  • Энергонезависимая память программ и данных 
        - 1 КБ внутрисистемно программируемой Flash памяти программы, способной выдержать 10 000 циклов записи/стирания 
        - 64 байта внутрисистемно программируемой EEPROM памяти данных, способной выдержать 100 000 циклов записи/стирания 
        - 64 байта встроенной SRAM памяти (статическое ОЗУ)  
        - Программируемая защита от считывания самопрограммируемой Flash памяти программы и EEPROM памяти данных
  • Характеристики периферии 
        - Один 8- разрядный таймер/счетчик с отдельным предделителем и два ШИМ канала 
        - 4 канальный 10 битный АЦП со встроенным ИОН 
        - Программируемый сторожевой таймер со встроенным генератором 
        - Встроенный аналоговый компаратор
  • Специальные характеристики микроконтроллера  
        - Встроенный отладчик debugWIRE 
        - Внутрисистемное программирование через SPI порт 
        - Внешние и внутренние источники прерывания 
        - Режимы пониженного потребления Idle, ADC Noise Reduction и Power-down 
        - Усовершенствованная схема формирования сброса при включении 
        - Программируемая схема обнаружения кратковременных пропаданий питания 
        - Встроенный откалиброванный генератор
  • Порты ввода - вывода и корпусное исполнение 
        - 8 выводные PDIP и SOIC корпуса: 6 программируемых линий ввода-вывода
  • Диапазон напряжения питания 
        - от 1.8 до 5.5 В
  • Индустриальный рабочий температурный диапазон
  • Потребление 
        - Активный режим: 290 мкА при частоте 1 МГц и напряжении питания 1.8 В. 
        - Режим пониженного потребления 0.5 мкА при напряжении питания 1.8 В.

 

 

 

 

 

 

 

 

Блок- схема ATtiny13:

Рис.6. Блох схема attiny13.

Общее описание:

ATtiny13 - низкопотребляющий 8 битный КМОП микроконтроллер  с AVR RISC архитектурой. Выполняя команды  за один цикл, ATtiny13 достигает производительности 1 MIPS при частоте задающего генератора 1 МГц, что позволяет разработчику оптимизировать отношение потребления к производительности.

AVR ядро  объединяет богатую систему команд  и 32 рабочих регистра общего назначения. Все 32 регистра непосредственно  связаны с арифметико-логическим  устройством (АЛУ), что позволяет получить доступ к двум независимым регистрам при выполнении одной команды. В результате эта архитектура позволяет обеспечить в десятки раз большую производительность, чем стандартная CISC архитектура.

ATtiny13 имеет  следующие характеристики: 1 КБ внутрисистемно программируемой Flash память программы, 64 байтную EEPROM память данных, 64 байтное SRAM (статическое ОЗУ), 6 линий ввода - вывода общего применения, 32 рабочих регистра общего назначения, 8 битный таймер/счетчик со схемой сравнения, внутренние и внешние источники прерывания, 4 канальный 10 битный АЦП, программируемый сторожевой таймер со встроенным генератором и три программно инициализируемых режима пониженного потребления. В режиме Idle останавливается ядро, но ОЗУ, таймер/счетчик, АЦП, аналоговый компаратор и система прерываний продолжают функционировать. В режиме Power-down регистры сохраняют свое значение, но генератор останавливается, блокируя все функции прибора до следующего прерывания или аппаратного сброса. В режиме ADC Noise Reduction останавливается вычислительное ядро и все модули ввода-вывода за исключением АЦП, что позволяет минимизировать шумы при выполнении преобразования.

Прибор изготовлен по высокоплотной энергонезависимой технологии изготовления памяти компании Atmel. Встроенная ISP Flash позволяет перепрограммировать память программы в системе через последовательный SPI интерфейс программой-загрузчиком, выполняемой в AVR ядре, или обычным программатором энергонезависимой памяти.

ATtiny13 поддерживается различными  программными средствами и интегрированными  средствами разработки, такими как  компиляторы C, макроассемблеры, программные  отладчики/симуляторы, внутрисхемные  эмуляторы и ознакомительные наборы.

 

1.2.Процессорное ядро микроконтроллера attiny13.

 

ATtiny – семейство AVR микроконтроллеров оптимизированных для приложений, требующих относительно большой производительности (до 1.0 MIPS и способны работать на частотах до 20.0 МГц), энергоэффективности (ATtiny единственное семейство способное работать от 0,7В напряжения питания!) и компактности (есть микроконтроллеры в SOT23-6 корпусе – всего 6 пин, и при этом каждый пин обладает несколькими функциями, к примеру: порт ввода/вывода, вход АЦП, вывод ШИМ и т.д.). Отсюда вырисовывается и область их применения: устройства критичные к цене, энергопотреблению, габаритам и т.д.

AVR микроконтроллеры, как и любые  другие интегральные схемы, для  большей сохранности упаковывается  производителем в герметичный  корпус, во избежание физического/химического  или любого другого контакта  с внешним миром. Единственно возможный способ воздействовать/управлять микроконтроллером являются металлические проводки соединенные с различными внутренними устройствами микроконтроллера и ему подчиняющиеся. Эти проводки называют – “выводами/контактами”. Через эти выводы в микроконтроллер подается питающие напряжения и токи, тактирующие сигналы, а самое главное подаются/считываются различные аналоговые и цифровые сигналы, для их последующей обработки.

Самые популярными упаковочными корпусами являются:

  • DIP (Dual Inline Package) — корпус с двумя рядами контактов
  • QFP (Quad Flat Package) — плоский корпус с четырьмя рядами контактов
  • SOIC (Small-Outline Integrated Circuit) – малогабаритные (малая площадь) интегральные схемы

Питание и тактирование

Начнем с того что AVR микроконтроллеры построены по технологии КМОП (CMOS), что обеспечивает очень малое энергопотребление. Практически, энергопотребление линейно и прямо пропорционально зависит от рабочей частоты (чем выше частота – тем выше энергопотребление).


 

 

 

 

 

 

 

 

 

Напряжение питания для AVR микроконтроллеров находится в диапазоне от 2.7 до 5.5В (6.0В – максимум, хотя у меня AVR’ка как-то работала и при 7В – и ничего, жива и по сей день). Это означает что AVR может напрямую управлять, обмениваться данными и т.д. с различными устройствами (как 3.3В-толерантными так и 5В-толерантными) без необходимости применять какие-либо преобразователи логических уровней. Для более точной обработки аналоговых сигналов, в AVR предусмотренно отдельные выводы для питания аналоговой части микроконтроллера, в которую входят такие устройства как АЦП, ЦАП, Аналоговый компаратор. В добавок, AVR микроконтроллеры обладают несколькими “спящими режимами” (Sleep modes), для обеспечения наилучшего энергосбережения.

Также каждый пин микроконтроллера (в зависимости от рабочей частоты и напряжения питания) может питать внешние устройства током до 40.0мА (максимум!), но всего из микроконтроллера можно “закачать/выкачать” до 200.0мА (максимум!).

Диапазон частот тактирующих сигналов отличается в зависимости

от “семейного старшинства”(ATtiny является самым младшим семейством AVR микроконтроллеров). У некоторых представителей, в особенности ATtiny семейства, рабочая частота может достигать 20.0МГц, у ATmega она не превышает 16.0МГц, а у ATxMega она не превышает 32.0МГц. Также в каждом AVR микроконтроллере есть внутрений RC-генератор до 8.0МГц, что позволяет обойтись без внешнего источника тактирующего сигнала.

Ниже в качестве примера приведена таблица из даташита на микроконтроллер ATtiny13. В столбце “Ordering Code” видны различия между кодировками и не трудно догадаться с чем они связаны.

А что у AVR внутри?

Микроконтроллеры AVR имеют гарвардскую архитектуру (главная характеристика такой архитектуры является то что память программ и оперативная память, как и шины доступа к ним, разделены для повышения скорости выполнения команд: пока одна команда выполняется, следующая извлекается из памяти программ) с RISC процессором, с быстродействием в 1.0 MIPS. Во всех микроконтроллерах, независимо от их модели и компоновки, одно и тоже центральное процессорное устройство (процессор/ядро). Единое ядро, делает написанную на любом языке программу более универсальной и при желании можно заменить в любом из проектов, скажем, более дорогой

 

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

RISC (Reduced Instruction Set Computer) – процессор с набором простых ассемблерных команд (прибавить, отнять, сдвиг влево/вправо, “логическое И”, и т.д.), все команды имеют фиксированную длину, в составе процессора находятся большое количество регистров общего назначения, и т.д. Чтобы, к примеру, расчитать какое-нибудь среднее математическое уровнение, процессору придется выполнить несколько простых ассемблерных команд, в отличии от CISC-процессора у которого есть команды “на все случаи жизни“. Но у AVR не совсем RISC-процессор, поскольку не все ассемблерные команды имеют фиксированный

формат. Большинство имеют 16-разрядный формат, остальные 32-разрядные. Это означает что каждая команда занимает в памяти программ 16 или 32 бита. Кстати, нефиксированная длина ассемблерных команд и делает его процессор: Advanced Virtual RISC-процессором (AVR).

MIPS (Million Instructions Per Second) – AVR микроконтроллеры способны выполнять (приблизительно) миллион команд на частоте 1.0 МГц, или проще говоря, большинство ассемблерных команд выполняются за один период тактирующего сигнала.


 

 

 

 

 

 

 

 

 

 

 

 

Рис.7.Архитектура ядра

 

Архитектура процессора AVR

Мозгами AVR микроконтроллера является его центральное процессорное устройство (процессор/ядро).

Некоторые составляющие процессора:

Арифметико-логическое устройство (Arithmetic Logic Unit) 
Счетчик команд (Program counter) 
Указатель стека (Stack Pointer) 
Регистр состояния (Status Register) 
Память программ (Flash Program memory) 
Память данных (Data memory)

  • Регистры общего назначения (General Purpose Registers)
  • Регистры периферийных устройств (I/O Registers)
  • Оперативная память (SRAM memory)

Информация о работе Микропроцессоры универсальные