Тарифы Услуги Сим-карты

Микросхема предназначенная для управления электронными устройствами. Микроконтроллеры (Тема). битовые команды

В 70-е годы XX века ученые выдвинули революционную по тем временам идею создания микропроцессора, "понимающего" только минимально возможное количество команд.

Замысел RISC - процессора (Reduced Instruction Set Computer, компьютер с сокращенным набором команд) родился в результате практических исследований частоты использования команд программистами, проведенных в 70-х годах в США и Англии. Их непосредственный итог - известное "правило 80/20": в 80% кода типичной прикладной программы используется лишь 20% простейших машинных команд из всего доступного набора.

Первый "настоящий" RISC-процессор с 31 командой был создан под руководством Дэвида Паттерсона из Университета Беркли, затем последовал процессор с набором из 39 команд. Они включали в себя 20-50 тыс. транзисторов. Плодами трудов Паттерсона воспользовалась компания Sun Microsystems, разработавшая архитектуру SPARC с 75 командами в конце 70-х годов. В 1981 г. в Станфордском университете стартовал проект MIPS по выпуску RISC-процессора с 39 командами. В итоге была основана корпорация Mips Computer в середине 80-х годов и сконструирован следующий процессор уже с 74 командами.

По данным независимой компании IDC, в 1992 году архитектура SPARC занимала 56% рынка, далее следовали MIPS - 15% и PA-RISC - 12,2%

Примерно в то же время Intel разработала серию 80386, последних "истинных" CISC-процессоров в семействе IA-32. В последний раз повышение производительности было достигнуто только за счет усложнения архитектуры процессора: из 16-разрядной она превратилась в 32-разрядную, дополнительные аппаратные компоненты поддерживали виртуальную память, и добавился целый ряд новых команд.

Основные особенности RISC-процессоров:

Сокращенный набор команд (от 80 до 150 команд).

Большинство команд выполняется за 1 такт.

Большое количество регистров общего назначения.

Наличие жестких многоступенчатых конвейеров.

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

Наличие вместительной раздельной кэш-памяти.

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

RISC-процессоры 3-го поколения

Самыми крупными разработчиками RISC-процессоров считаются Sun Microsystems (архитектура SPARC - Ultra SPARC), IBM (многокристальные процессоры Power, однокристальные PowerPC - PowerPC 620), Digital Equipment (Alpha - Alpha 21164), Mips Technologies (семейство Rxx00 - R 10000), а также Hewlett-Packard (архитектура PA-RISC - PA-8000).

Все RISC-процессоры третьего поколения:

являются 64-х разрядными и суперскалярными (запускаются не менее 4-х команд за такт);

имеют встроенные конвейерные блоки арифметики с плавающей точкой;

имеют многоуровневую кэш-память. Большинство RISC-процессоров кэшируют предварительно дешифрованные команды;

изготавливаются по КМОП-технологии с 4 слоями металлизации.

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

Повышение производительности RISC-процессоров достигается за счет повышения тактовой частоты и усложнения схемы кристалла. Представителями первого направления являются процессоры Alpha фирмы DEC, наиболее сложными остаются процессоры компании Hewlett-Packard.

Уменьшение набора машинных команд в RISC-архитектуре позволило разместить на кристалле вычислительного ядра большое количество регистров общего назначения. Увеличение количества регистров общего назначения позволило минимизировать обращения к медленной оперативной памяти, оставив для работы с RAM только операции чтения данных из оперативной памяти в регистр и запись данных из регистра в оперативную память, все остальные машинные команды используют в качестве операндов регистры общего назначения.

Основными преимуществами RISC-архитектуры является наличие следующих свойств:

Большое число регистров общего назначения.

Универсальный формат всех микроопераций.

Равное время выполнения всех машинных команд.

Практически все операции пересылки данных осуществляются по маршруту регистр - регистр.

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

Аппаратные блоки в RISC-архитектуре:

Блок загрузки инструкций включает в себя следующие составные части: блок выборки инструкций из памяти инструкций, регистр инструкций, куда помещается инструкция после ее выборки и блок декодирования инструкций. Эта ступень называется ступенью выборки инструкций.

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

Арифметико-логическое устройство и, если в данной архитектуре реализован, аккумулятор, вместе с логикой управления, которая, исходя из содержимого регистра инструкций, определяет тип выполняемой микрооперации. Источником данных помимо регистра инструкций может быть счетчик команд, при выполнении микроопераций условного или безусловного перехода. Данная ступень называется исполнительной ступенью конвейера.

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

Однако к моменту разработки RISC-архитектуры, промышленным стандартом микропроцессоров де-факто стала архитектура Intel x86, выполненная по принципу CISC-архитектуры. Наличие большого числа программ, написанных под архитектуру Intel x86, сделала невозможным массовый переход ЭВМ на RISC-архитектуру. По этой причине основной сферой использования RISC-архитектуры явились микроконтроллеры, благодаря тому, что они не были привязаны к существующему программному обеспечению. Кроме того некоторые производители ЭВМ во главе с IBM так же начали выпускать ЭВМ, построенные по RISC-архитектуре, однако несовместимость программного обеспечения между Intel x86 и RISC-архитектурой в значительной степени ограничивала распространение последних.

Однако, преимущества RISC-архитектуры были столь существенны, что инженеры нашли способ перейти на вычислители, выполненные по RISC-архитектуре, при этом не отказываясь от существующего программного обеспечения. Ядра большинство современных микропроцессоров, поддерживающих архитектуру Intel x86, выполнены по RISC-архитектуре с поддержкой мультискалярной конвейерной обработки. Микропроцессор получает на вход инструкцию в формате Intel x86, заменяем ее несколькими (до 4-х) RISC-инструкциями.

Таким образом, ядра большинства современных микропроцессоров, начиная с Intel 486DX, выполнены по RISC-архитектуре с поддержкой внешнего Intel x86 интерфейса. Кроме того, подавляющее большинство микроконтроллеров, а так же некоторые микропроцессоры выпускаются по RISC-архитектуре.

В современном RISC-процессоре используется не менее 32 регистров, часто

более 100, в то время, как в классических ЦВМ обычно 8-16 регистров общего

назначения. В результате процессор на 20% -30% реже обращается к

оперативной памяти, что также повысило скорость обработки данных. Кроме

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

После появления RISC-процессоров традиционные процессоры получили

обозначение CISC - то есть с полным набором команд (Complete Instruction Set Computer).

В настоящее время RISC-процессоры получили широкое распространение. Современные RISC-процессоры характеризуются

следующим:

упрощенным набором команд;

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

простые способы адресации, что позволяет упростить логику декодирования команд;

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

логика выполнения команд с целью повышения производительности

ориентирована на аппаратную, а не на микропрограммную реализацию,

отсутствуют макрокоманды, усложняющие структуру процессора и

уменьшающие скорость его работы;

взаимодействие с оперативной памятью ограничивается операциями

пересылки данных;

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

помимо упрощения дешифрации дает возможность сохранять большее

число переменных в регистрах без их последующей перезагрузки;

создан конвейер команд, позволяющий обрабатывать несколько из них

одновременно;

наличие большого количества регистров;

используется высокоскоростная память.

В RISC-процессорах обработка машинной команды разделена на

несколько ступеней, каждую ступень обслуживают отдельные аппаратные

средства и организована передача данных от одной ступени к следующей.

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

Выполнение типичной команды можно разделить на следующие этапы:

выборка команды IF - по адресу, заданному счетчиком команд, из памяти извлекается команда;

3) выполнение операции EX, при необходимости обращения к памяти - вычисление физического адреса;

4) обращение к памяти ME;

5) запоминание результата WB

В процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды. При этом все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один цикл (такт) синхронизации. Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К МК с RISC-процессором относятся МК AVR фирмы Atmel, МК PIC16 и PIC17 фирмы Microchip и другие.

На первый взгляд, МК с RISC-процессором должны иметь более высокую производительность по сравнению с CISC МК при одной и той же тактовой частоте внутренней магистрали. Однако на практике вопрос о производительности более сложен и неоднозначен.

Рис.2

Гарвардская архитектура почти не использовалась до конца 70-х годов, пока производители МК не поняли, что она дает определенные преимущества разработчикам автономных систем управления.

Дело в том, что, судя по опыту использования МПС для управления различными объектами, для реализации большинства алгоритмов управления такие преимущества фон-неймановской архитектуры как гибкость и универсальность не имеют большого значения. Анализ реальных программ управления показал, что необходимый объем памяти данных МК, используемый для хранения промежуточных результатов, как правило, на порядок меньше требуемого объема памяти программ. В этих условиях использование единого адресного пространства приводило к увеличению формата команд за счет увеличения числа разрядов для адресации оперрандов. Применение отдельной небольшой по объему памяти данных способствовало сокращению длины команд и ускорению поиска информации в памяти данных.

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

Большинство производителей современных 8-разрядных МК используют гарвардскую архитектуру. Однако гарвардская архитектура является недостаточно гибкой для реализации некоторых программных процедур. Поэтому сравнение МК, выполненных по разным архитектурам, следует проводить применительно к конкретному приложению.

Микроконтроллер - это специальная микросхема, предназначенная для управления различными электронными устройствами. Микроконтроллеры впервые появились в том же году, что и микропроцессоры общего назначения (1971).

Разработчики микроконтроллеров придумали остроумную идею - объединить процессор, память, ПЗУ и периферию внутри одного корпуса, внешне похожего на обычную микросхему. С тех пор производство микроконтроллеров ежегодно во много раз превышает производство процессоров, а потребность в них не снижается.

Микроконтроллеры выпускают десятки компаний, причем производятся не только современные 32-битные микроконтроллеры, но и 16, и даже 8-битные (как i8051 и аналоги). Внутри каждого семейства часто можно встретить почти одинаковые модели, различающиеся скоростью работы ЦПУ и объемом памяти.

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

Софт для микроконтроллеров может привлечь внимание тех, кто обожает «гоняться за битами», так как обычно память в микроконтроллерах составляет от 2 до 128 Кб. Если меньше, то писать приходится на ассемблере или Форте, если есть возможность, то используют специальные версии Бейсика, Паскаля, но в основном - Си. Прежде чем окончательно запрограммировать микроконтроллер, его тестируют в эмуляторах - программных или аппаратных.

Тут может возникнуть вопрос: микропроцессор и микроконтроллер это просто разное название одного и того же устройства, или это все-таки разные вещи?

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

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

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

МИКРОКОНТРОЛЛЕР - это уже не процессор, но ещё и не компьютер.

Центральный процессор, имеющийся в каждом компьютере - главный вычислитель. Хотя компьютер и не предназначен исключительно для вычислительной нагрузки, процессор является в нём головным элементом. Но не только в компьютере имеется процессор.

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

Так что же такое микроконтроллер и чем отличается от собственно процессора или это совершенно различные электронные компоненты?

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

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

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

Кроме памяти процессор должен взаимодействовать с внешними устройствами - периферией. Иначе какой пользы можно ожидать от работы процессора, перемешивающего и перемещающего данные туда-сюда. Смысл возникает тогда, когда процессор взаимодействует с устройствами ввода-вывода. У компьютера это клавиатура, манипулятор мышь и устройства отображения как дисплей, опционально - принтер и, например, сканер опять же для ввода информации.

Чтобы управлять устройствами ввода-вывода, непременно необходимы соответствующие буферные схемы и элементы. На их основе реализуются интерфейсные так называемые аппаратные средства. Способы взаимодействия с интерфейсными элементами предполагают наличие схем портов ввода-вывода, дешифраторов адреса и формирователей шин с буферными схемами, для увеличения нагрузочной способности микропроцессора.

Интеграция процессора со всеми необходимыми дополнительными элементами, для того чтобы это изделие выливалось в какой-то завершённый конструктив и приводит к образованию микроконтроллера. Микросхема или микроконтроллерный чип реализует на одном кристалле процессор и интерфейсные схемы.

Самодостаточный чип, который содержит практически всё, чтобы этого хватало для построения законченного изделия и есть пример типового микроконтроллера. Например наручные электронные часы или часы-будильник имеют внутри микроконтроллер, который реализует все функции такового устройства. Отдельные периферийные устройства подключаются непосредственно к ножкам микросхемы микроконтроллера, либо совместно используются дополнительные элементы или микросхемы малой либо средней степени интеграции.

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

Смотите также у нас на сайте:

Смотрите также по этой теме обучающие видеокурсы Мaкcима Селиванова:

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

Курс замечательно подойдет и тем, кто только недавно предпринял первые попытки изучить программирование микроконтроллеров, но уже готов все бросить от того, что у него ничего не работает или работает, но не так как ему нужно (знакомо?!).

Курс будет полезен и тем, кто уже собирает простенькие (а может и не очень) схемы на микроконтроллерах, но плохо понимает суть того как микроконтроллер работает и как взаимодействует с внешними устройствами.

Курс посвящен обучению программирования микроконтроллеров на языке Си. Отличительная особенность курса - изучение языка на очень глубоком уровне. Обучение происходит на примере микроконтроллеров AVR. Но, в принципе, подойдет и для тех, кто использует другие микроконтроллеры.

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

Курс идеально подойдет тем, кто только начал изучать программирование AVR микроконтроллеров на языке С и хочет углубить свои знания. Хорошо подойдет и тем, кто немного умеет программировать микроконтроллеры на других языках. И еще подойдет обычным программистам, которые хотят углубить знания в языке Си.

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

Материал курса прежде всего ориентирован на практику использования. Рассматриваются следующие темы: радиочастотная идентификация, воспроизведение звука, беспроводной обмен данными, работа с цветными TFT дисплеями, сенсорным экраном, работа с файловой системой FAT SD-карты.

Работа с портами ввода/вывода микроконтроллера MC9S12C128

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

Необходимые оборудования:

1. Плата APS12DT56

2. Платформа NI ELVIS II+

3. Платформа PBMCUSLK

4. Персональный компьютер

Общая сведения о микроконтроллерах

Микроконтроллер (англ. Micro Controller Unit, MCU) - микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ и (или) ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи.

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

· В вычислительной технике: материнские платы, контроллеры дисководов жестких и гибких дисков, CD и DVD;

· Электронике и разнообразных устройствах бытовой техники, в которой используется электронные системы управления - стиральных машинах, микроволновых печах, посудомоечных машинах, телефонах и современных приборах;

В промышленности:

· Устройств промышленной автоматики - от программируемого реле и встраиваемых систем до ПЛК;

· Систем управления станками;

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

Микроконтроллер MC9S12C128

В данном лабораторном практикуме Вами будет детально изучаться однокристальный 16-разрядный микроконтроллер семейства HCS12: MC9S12C128.

Основные технические характеристики этого МК:

· 16-разрядное процессорное ядро HCS12.

· Напряжение питания 2.97..5.5 В . В лабораторном макете составляет 5 В.

· Развитая система тактирования. Тактирование микроконтроллера возможно как от внешних источников, так и от внутренних. В лабораторном стенде используется элемент, относящийся к первому типу: кварцевый резонатор. Частота тактового сигнала, который он генерирует, составляет 4 МГц. При этом частота внутренней шины микроконтроллера BUS f уменьшается вдвое и равна 2 МГц. Максимальное её значение для этой модели микроконтроллера составляет 20 МГц;

· Резидентная память программ (ПЗУ). Её объем равен 128K = 131072 ячеек (128 КБ). Память выполнена по технологии flash с эмуляцией EEPROM, число циклов записи/стирания составляет не менее 100000.

· Резидентная память данных (ОЗУ). Объём составляет 4 КБ.

· Общее число выводов микроконтроллера – 40. Тип корпуса – QFP (Quad Flat Package).

На кристалле микроконтроллера имеются следующие периферийные модули:

· Порты ввода/вывода. Всего доступно 9 портов, более подробное их описание приведено в табл. 2.1.;

· Модуль таймера TIM с 16-разрядным счетчиком временной базы и восемью каналами IC/OC/PWM.

· Встроенный аналого-цифровой преобразователь ATD. Число каналов оцифровки равно 8, разрядность – 10 бит.

· Последовательные интерфейсы: синхронный SPI и асинхронный SCI, а также модуль CAN со скоростью до 1 Мбит/с.

Порты ввода/вывода

Все МК семейства HCS12 имеют некоторое количество линий ввода/вывода данных. Линии объединены в 8 разрядные параллельные порты данных: Port A, Port B, Port E, За редким исключением, все линии ввода/вывода двунаправленные. Направление передачи линий ввода/вывода настраивается программно путем записи управляющего слова в регистр направления передачи соответствующего порта. Возможно изменение направления передачи в ходе выполнения программы посредством перепрограммирования этих регистров. Сигнал сброса устанавливает все двунаправленные линии в режим ввода. Следует особо подчеркнуть, что направление передачи каждой линии может быть выбрано разработчиком произвольно, независимо от других линий, принадлежащих к одному и тому же порту ввода/вывода. Исключение составляют лишь линии однонаправленной передачи, которые изначально специализированы на ввод или на вывод.

Часть линий ввода/вывода имеют так называемую альтернативную функцию, т.е. обеспечивают связь встроенных периферийных модулей МК с «внешним миром». Так линии порта PORT AD используются для подключения к встроенному АЦП измеряемых напряжений, линии порта PORT S служат входами и выходами контроллеров последовательного обмена. Если соответствующий периферийный модуль МК не используется, то его выводы можно задействовать как обычные линии ввода/вывода.

Если линии порта двунаправленные, то для его обслуживания такого порта предусмотрены два типа регистров:

PORTx - регистр данных порта x, где x - имя порта ввода/вывода;

DDRx - регистр направления передачи порта x.

Например, порт PORT A обслуживается регистрами PORTA и DDRA, а порт PORT B - регистрами PORTB и DDRB.

Если порт имеет схемотехнику с программно подключаемым «подтягивающим» резистором (R pullup), то для обслуживания такого порта предусмотрен дополнительный регистр входного сопротивления порта.

Ниже приведен фрагмент текста программы, которая конфигурирует PORT B для вывода данных, а затем записывает в порт число $62. Для того, чтобы все линии порта PORT B стали линиями вывода, необходимо записать в регистр направления передачи DDRB код $FF.

/* МAIN PROGRAМ: */

/*подключаемые файлы*/

#include

#include"derivative.h"

void main{void) {

unsigned char DDRB_INIT = 0xFF;

DDRB = DDRT_INIT; //установить порт PORT B на вывод

  • ВВЕДЕНИЕ
    • 1.1 Классификация и структура микроконтроллеров
    • 1.2 Структура процессорного ядра микроконтроллера
    • 2. Специальная часть
    • 2.1 CISC и RISC архитектура процессора
    • 2.2 RISC-архитектура.
    • 2.3 Микроконтроллер с RISC архитектурой
    • Заключение
    • Список использованной литературы
ВВЕДЕНИЕ Микроконтроллер (MCU) - микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает в себе функции процессора и периферийных устройств, может содержать ОЗУ и ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи. Использование одной микросхемы, вместо целого набора, как в случае обычных процессоров, применяемых в персональных компьютерах, значительно снижает размеры, энергопотребление и стоимость устройств, построенных на базе микроконтроллеров. Микроконтроллеры являются основой для построения встраиваемых систем, их можно встретить во многих современных приборах, таких, как телефоны, стиральные машины и т.п. Термин "микроконтроллер" (МК) вытеснил из употребления ранее использовавшийся термин "однокристальная микро-ЭВМ". Первый же патент на однокристальную микро-ЭВМ был выдан в 1971 году инженерам М. Кочрену и Г. Буну, сотрудникам Texas Instruments. Именно они предложили на одном кристалле разместить не только микропроцессор, но и память, устройства ввода-вывода. С появлением однокристальных микро-ЭВМ связывают начало эры компьютерной автоматизации в области управления. По-видимому, это обстоятельство и определило термин "микроконтроллер" (control - управление). В 1979 году НИИ ТТ разработали однокристальную 16-разрядную ЭВМ К1801ВЕ1, архитектура которой называлась "Электроника НЦ". В 1980 году фирма Intel выпускает микроконтроллер i8048. Чуть позже в этом же году Intel выпускает следующий микроконтроллер: i8051. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер i8051 являлся для своего времени очень сложным изделием - в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре i8086.На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, шестнадцатибитные MSP430 фирмы TI, а также ARM, архитектуру которых разрабатывает фирма ARM и продаёт лицензии другим фирмам для их производства, процессоров - микроконтроллеры.При проектировании микроконтроллеров приходится соблюдать баланс между размерами и стоимостью с одной стороны и гибкостью и производительностью с другой. Для разных приложений оптимальное соотношение этих и других параметров может различаться очень сильно. Поэтому существует огромное количество типов микроконтроллеров, отличающихся архитектурой процессорного модуля, размером и типом встроенной памяти, набором периферийных устройств, типом корпуса и т.д.

1. Общая часть

1.1 Классификация и структура микроконтроллеров В настоящее время выпускается целый ряд типов МК. Все эти приборы можно условно разделить на три основных класса:8-разрядные МК для встраиваемых приложений;16 - и 32-разрядные МК;цифровые сигнальные процессоры (DSP).Наиболее распространенным представителем семейства МК являются 8-разрядные приборы, широко используемые в промышленности, бытовой и компьютерной технике. Они прошли в своем развитии путь от простейших приборов с относительно слаборазвитой периферией до современных многофункциональных контроллеров, обеспечивающих реализацию сложных алгоритмов управления в реальном масштабе времени. Причиной жизнеспособности 8-разрядных МК является использование их для управления реальными объектами, где применяются, в основном, алгоритмы с преобладанием логических операций, скорость обработки которых практически не зависит от разрядности процессора.Росту популярности 8-разрядных МК способствует постоянное расширение номенклатуры изделий, выпускаемых такими известными фирмами, как Motorola, Microchip, Intel, Zilog, Atmel и многими другими. Современные 8-разрядные МК обладают, как правило, рядом отличительных признаков. Перечислим основные из них:модульная организация, при которой на базе одного процессорного ядра (центрального процессора) проектируется ряд (линейка) МК, различающихся объемом и типом памяти программ, объемом памяти данных, набором периферийных модулей, частотой синхронизации;использование закрытой архитектуры МК, которая характеризуется отсутствием линий магистралей адреса и данных на выводах корпуса МК. Таким образом, МК представляет собой законченную систему обработки данных, наращивание возможностей которой с использованием параллельных магистралей адреса и данных не предполагается;использование типовых функциональных периферийных модулей (таймеры, процессоры событий, контроллеры последовательных интерфейсов, аналого-цифровые преобразователи и др.), имеющих незначительные отличия в алгоритмах работы в МК различных производителей;расширение числа режимов работы периферийных модулей, которые задаются в процессе инициализации регистров специальных функций МК.При модульном принципе построения все МК одного семейства содержат процессорное ядро, одинаковое для всех МК данного семейства, и изменяемый функциональный блок, который отличает МК разных моделей. Процессорное ядро включает в себя: центральный процессор; внутреннюю контроллерную магистраль (ВКМ) в составе шин адреса, данных и управления; схему синхронизации МК; схему управления режимами работы МК, включая поддержку режимов пониженного энергопотребления, начального запуска (сброса) и т.д.Изменяемый функциональный блок включает в себя модули памяти различного типа и объема, порты ввода/вывода, модули тактовых генераторов (Г), таймеры. В относительно простых МК модуль обработки прерываний входит в состав процессорного ядра. В более сложных МК он представляет собой отдельный модуль с развитыми возможностями. В состав изменяемого функционального блока могут входить и такие дополнительные модули как компараторы напряжения, аналого-цифровые преобразователи (АЦП) и другие. Каждый модуль проектируется для работы в составе МК с учетом протокола ВКМ. Данный подход позволяет создавать разнообразные по структуре МК в пределах одного семейства.1.2 Структура процессорного ядра микроконтроллера Основными характеристиками, определяющими производительность процессорного ядра МК, являются:набор регистров для хранения промежуточных данных;система команд процессора;способы адресации операндов в пространстве памяти;организация процессов выборки и исполнения команды.С точки зрения системы команд и способов адресации операндов процессорное ядро современных 8-разрядных МК реализует один из двух принципов построения процессоров:процессоры с CISC-архитектурой, реализующие так называемую полную систему команд (Complicated Instruction Set Computer);процессоры с RISC-архитектурой, реализующие сокращенную систему команд (Reduced Instruction Set Computer).CISC-процессоры выполняют большой набор команд с развитыми возможностями адресации, давая разработчику возможность выбрать в наибольшей мереподходящую команду для выполнения необходимой операции. В применении к 8-разрядным МК процессор с CISC-архитектурой может иметь однобайтовый, двухбайтовый и трехбайтовый (редко четырехбайтовый) формат команд. Время выполнения команды может составлять от 1 до 12 циклов. К МК с CISC-архитектурой относятся МК фирмы Intel с ядром MCS-51, которые поддерживаются сегодня целым рядом производителей, МК семейств НС05, НС08 и НС11 фирмы Motorola и ряд других.В процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды. При этом все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один цикл (такт) синхронизации. Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К МК с RISC-процессором относятся МК AVR фирмы Atmel, МК PIC16 и PIC17 фирмы Microchip и другие.На первый взгляд, МК с RISC-процессором должны иметь более высокую производительность по сравнению с CISC МК при одной и той же тактовой частоте внутренней магистрали. При этом на практике вопрос о производительности более сложен и неоднозначен.С точки зрения организации процессов выборки и исполнения команды в современных 8-разрядных МК применяется одна из двух уже упоминавшихся архитектур МПС: фон-неймановская (принстонская) или гарвардская.Основное преимущество архитектуры Фон-Неймана - упрощение устройства МПС, так как реализуется обращение только к одной общей памяти. Кроме того, использование единой области памяти позволяло оперативно перераспределять ресурсы между областями программ и данных, что существенно повышало гибкость МПС с точки зрения разработчика программного обеспечения. Размещение стека в общей памяти облегчало доступ к его содержимому. Неслучайно поэтому фон-неймановская архитектура стала основной архитектурой универсальных компьютеров, включая персональные компьютеры.Гарвардская архитектура почти не использовалась до конца 70-х годов, пока производители МК не поняли, что она дает определенные преимущества разработчикам автономных систем управления.Дело в том, что, судя по опыту использования МПС для управления различными объектами, для реализации большинства алгоритмов управления такие преимущества фон-неймановской архитектуры как гибкость и универсальность не имеют большого значения. Анализ реальных программ управления показал, что необходимый объем памяти данных МК, используемый для хранения промежуточных результатов, как правило, на порядок меньше требуемого объема памяти программ. В этих условиях использование единого адресного пространства приводило к увеличению формата команд за счет увеличения числа разрядов для адресации операндов. Применение отдельной небольшой по объему памяти данных способствовало сокращению длины команд и ускорению поиска информации в памяти данных.Кроме того, гарвардская архитектура обеспечивает потенциально более высокую скорость выполнения программы по сравнению с фон-неймановской за счет возможности реализации параллельных операций. Выборка следующей команды может происходить одновременно с выполнением предыдущей, и нет необходимости останавливать процессор на время выборки команды. Этот метод реализации операций позволяет обеспечивать выполнение различных команд за одинаковое число тактов, что дает возможность более просто определить время выполнения циклов и критичных участков программы.Большинство производителей современных 8-разрядных МК используют гарвардскую архитектуру. При этом гарвардская архитектура является недостаточно гибкой для реализации некоторых программных процедур. Поэтому сравнение МК, выполненных по разным архитектурам, следует проводить применительно к конкретному приложению.В настоящее время в наибольшей мереяркими представителями микроконтроллеров SISC и RISC, имеющих соответственно фон-неймановскую и гарвардскую архитектуры являются микроконтроллеры i8051 и AVR - микроконтроллеры фирмы Atmel, которые по ряду характеристик превзошли очень известные PIC - микроконтроллеры. Поэтому рассмотрим организацию и устройство вышеперечисленных представителей.2. Специальная часть 2.1 CISC и RISC архитектура процессора Двумя основными архитектурами набора команд, используемыми компьютерной промышленностью на современном этапе развития вычислительной техники, являются архитектуры CISC и RISC. Основоположником CISC-архитектуры - архитектуры с полным набором команд (CISC - Complete Instruction Set Computer) можно считать фирму IBM с ее базовой архитектурой IBM/360, ядро которой используется с 1964 г. и дошло до наших дней, например, в таких современных мейнфреймах, как IBM ES/9000.Лидером в разработке микропроцессоров с полным набором команд считается компания Intel с микропроцессорами X86 и Pentium. Это практически стандарт для рынка микропроцессоров. Простота архитектуры RISC-процессора обеспечивает его компактность, практическое отсутствие проблем с охлаждением кристалла, чего нет в процессорах фирмы Intel, упорно придерживающейся пути развития архитектуры CISC. Формирование стратегии CISC-архитектуры произошло за счет технологической возможности перенесения "центра тяжести" обработки данных с программного уровня системы на аппаратный, так как основной путь повышения эффективности для CISC-компьютера виделся, в первую очередь, в упрощении компиляторов и минимизации исполняемого модуля. На сегодняшний день CISC-процессоры почти монопольно занимают на компьютерном рынке сектор персональных компьютеров, однако RISC-процессорам нет равных в секторе высокопроизводительных серверов и рабочих станций. Основные черты RISC-архитектуры с аналогичными по характеру чертами CISC-архитектуры отображаются следующим образом (табл.1):Таблица 1. Основные черты архитектуры

Одним из важных преимуществ RISC-архитектуры является высокая скорость арифметических вычислений. RISC-процессоры первыми достигли планки в наибольшей мерераспространенного стандарта IEEE 754, устанавливающего 32-разрядный формат для представления чисел с фиксированной точкой и 64-разрядный формат "полной точности" для чисел с плавающей точкой. Высокая скорость выполнения арифметических операций в сочетании с высокой точностью вычислений обеспечивает RISC-процессорам безусловное лидерство по быстродействию в сравнении с CISC-процессорами.

Другой особенностью RISC-процессоров является комплекс средств, обеспечивающих безостановочную работу арифметических устройств: механизм динамического прогнозирования ветвлений, большое количество оперативных регистров, многоуровневая встроенная кэш-память.

Организация регистровой структуры - основное достоинство и основная проблема RISC. Практически любая реализация RISC-архитектуры использует трехместные операции обработки, в которых результат и два операнда имеют самостоятельную адресацию - R1: = R2, R3. Это позволяет без существенных затрат времени выбрать операнды из адресуемых оперативных регистров и записать в регистр результат операции. Кроме того, трехместные операции дают компилятору большую гибкость по сравнению с типовыми двухместными операциями формата "регистр - память" архитектуры CISC. В сочетании с быстродействующей арифметикой RISC-операции типа "регистр - регистр" становятся очень мощным средством повышения производительности процессора.

Вместе с тем опора на регистры является ахиллесовой пятой RISC-архитектуры. Проблема в том, что в процессе выполнения задачи RISC-система неоднократно вынуждена обновлять содержимое регистров процессора, причем за минимальное время, чтобы не вызывать длительных простоев арифметического устройства. Для CISC-систем подобной проблемы не существует, поскольку модификация регистров может происходить на фоне обработки команд формата "память - память".

Существуют два подхода к решению проблемы модификации регистров в RISC-архитектуре: аппаратный, предложенный в проектах RISC-1 и RISC-2, и программный, разработанный специалистами IВМ и Стэндфордского университета. Принципиальная разница между ними заключается в том, что аппаратное решение основано на стремлении уменьшить время вызова процедур за счет установки дополнительного оборудования процессора, тогда как программное решение базируется на возможностях компилятора и является более экономичным с точки зрения аппаратуры процессора.

2.2 RISC-архитектура. В 70-е годы XX века ученые выдвинули революционную по тем временам идею создания микропроцессора, "понимающего" только минимально возможное количество команд.Замысел RISC - процессора (Reduced Instruction Set Computer, компьютер с сокращенным набором команд) родился в результате практических исследований частоты использования команд программистами, проведенных в 70-х годах в США и Англии. Их непосредственный итог - известное "правило 80/20": в 80% кода типичной прикладной программы используется лишь 20% простейших машинных команд из всего доступного набора.Первый "настоящий" RISC-процессор с 31 командой был создан под руководством Дэвида Паттерсона из Университета Беркли, затем последовал процессор с набором из 39 команд. Они включали в себя 20-50 тыс. транзисторов. Плодами трудов Паттерсона воспользовалась компания Sun Microsystems, разработавшая архитектуру SPARC с 75 командами в конце 70-х годов. В 1981 г. в Станфордском университете стартовал проект MIPS по выпуску RISC-процессора с 39 командами. В итоге была основана корпорация Mips Computer в середине 80-х годов и сконструирован следующий процессор уже с 74 командами.По данным независимой компании IDC, в 1992 году архитектура SPARC занимала 56% рынка, далее следовали MIPS - 15% и PA-RISC - 12,2%Примерно в то же время Intel разработала серию 80386, последних "истинных" CISC-процессоров в семействе IA-32. В последний раз повышение производительности было достигнуто только за счет усложнения архитектуры процессора: из 16-разрядной она превратилась в 32-разрядную, дополнительные аппаратные компоненты поддерживали виртуальную память, и добавился целый ряд новых команд.Основные особенности RISC-процессоров:Сокращенный набор команд (от 80 до 150 команд).Большинство команд выполняется за 1 такт.Большое количество регистров общего назначения.Наличие жестких многоступенчатых конвейеров.Все команды имеют простой формат, и используются немногие способы адресации.Наличие вместительной раздельной кэш-памяти.Применение оптимизирующих компиляторов, которые анализируют исходный код и частично меняют порядок следования команд.RISC-процессоры 3-го поколенияСамыми крупными разработчиками RISC-процессоров считаются Sun Microsystems (архитектура SPARC - Ultra SPARC), IBM (многокристальные процессоры Power, однокристальные PowerPC - PowerPC 620), Digital Equipment (Alpha - Alpha 21164), Mips Technologies (семейство Rxx00 - R 10000), а также Hewlett-Packard (архитектура PA-RISC - PA-8000).Все RISC-процессоры третьего поколения:являются 64-х разрядными и суперскалярными (запускаются не менее 4-х команд за такт);имеют встроенные конвейерные блоки арифметики с плавающей точкой;имеют многоуровневую кэш-память. Большинство RISC-процессоров кэшируют предварительно дешифрованные команды;изготавливаются по КМОП-технологии с 4 слоями металлизации.Для обработки данных применяется алгоритм динамического прогнозирования ветвлений и метод переназначения регистров, что позволяет реализовать внеочередное выполнение команд.Повышение производительности RISC-процессоров достигается за счет повышения тактовой частоты и усложнения схемы кристалла. Представителями первого направления являются процессоры Alpha фирмы DEC, в наибольшей мересложными остаются процессоры компании Hewlett-Packard.Уменьшение набора машинных команд в RISC-архитектуре позволило разместить на кристалле вычислительного ядра большое количество регистров общего назначения. Увеличение количества регистров общего назначения позволило минимизировать обращения к медленной оперативной памяти, оставив для работы с RAM только операции чтения данных из оперативной памяти в регистр и запись данных из регистра в оперативную память, все остальные машинные команды используют в качестве операндов регистры общего назначения.Основными преимуществами RISC-архитектуры является наличие следующих свойств:Большое число регистров общего назначения.Универсальный формат всех микроопераций.Равное время выполнения всех машинных команд.Практически все операции пересылки данных осуществляются по маршруту регистр - регистр.Равное время выполнения всех машинных команд позволяют обрабатывать поток командных инструкций по конвейерному принципу, т.е. выполняется синхронизация аппаратных частей с учетом последовательной передачи управления от одного аппаратного блока к другому.Аппаратные блоки в RISC-архитектуре:Блок загрузки инструкций включает в себя следующие составные части: блок выборки инструкций из памяти инструкций, регистр инструкций, куда помещается инструкция после ее выборки и блок декодирования инструкций. Эта ступень называется ступенью выборки инструкций.Регистры общего назначения совместно с блоками управления регистрами образуют вторую ступень конвейера, отвечающую за чтение операндов инструкций. Операнды могут храниться в самой инструкции или в одном из регистров общего назначения. Эта ступень называется ступенью выборки операндов.Арифметико-логическое устройство и, если в этой архитектуре реализован, аккумулятор, вместе с логикой управления, которая, исходя из содержимого регистра инструкций, определяет тип выполняемой микрооперации. Источником данных помимо регистра инструкций может быть счетчик команд, при выполнении микроопераций условного или безусловного перехода. Данная ступень называется исполнительной ступенью конвейера.Набор состоящий из регистров общего назначения, логики записи и иногда из RAM образуют ступень сохранения данных. На этой ступени результат выполнения инструкций записываются в регистры общего назначения или в основную память.При этом к моменту разработки RISC-архитектуры, промышленным стандартом микропроцессоров де-факто стала архитектура Intel x86, выполненная по принципу CISC-архитектуры. Наличие большого числа программ, написанных под архитектуру Intel x86, сделала невозможным массовый переход ЭВМ на RISC-архитектуру. По этой причине основной сферой использования RISC-архитектуры явились микроконтроллеры, благодаря тому, что они не были привязаны к существующему программному обеспечению. Кроме того некоторые производители ЭВМ во главе с IBM так же начали выпускать ЭВМ, построенные по RISC-архитектуре, однако несовместимость программного обеспечения между Intel x86 и RISC-архитектурой в значительной степени ограничивала распространение последних.При этом, преимущества RISC-архитектуры были столь существенны, что инженеры нашли способ перейти на вычислители, выполненные по RISC-архитектуре, при всём этом не отказываясь от существующего программного обеспечения. Ядра большинство современных микропроцессоров, поддерживающих архитектуру Intel x86, выполнены по RISC-архитектуре с поддержкой мультискалярной конвейерной обработки. Микропроцессор получает на вход инструкцию в формате Intel x86, заменяем ее несколькими (до 4-х) RISC-инструкциями.Таким образом, ядра большинства современных микропроцессоров, начиная с Intel 486DX, выполнены по RISC-архитектуре с поддержкой внешнего Intel x86 интерфейса. Кроме того, подавляющее большинство микроконтроллеров, а так же некоторые микропроцессоры выпускаются по RISC-архитектуре.В современном RISC-процессоре используется не менее 32 регистров, частоболее 100, в то время, как в классических ЦВМ обычно 8-16 регистров общегоназначения. В результате процессор на 20% -30% реже обращается коперативной памяти, что также повысило скорость обработки данных. Крометого, наличие большого количества регистров упрощает работу компилятора по распределению регистров под переменные. Упростилась топология процессора, выполняемого в виде одной интегральной схемы, сократились сроки ее разработки, она стала дешевле.После появления RISC-процессоров традиционные процессоры получилиобозначение CISC - то есть с полным набором команд (Complete Instruction Set Computer).В настоящее время RISC-процессоры получили широкое распространение. Современные RISC-процессоры характеризуютсяследующим:упрощенным набором команд;используются команды фиксированной длины и фиксированного формата,простые способы адресации, что позволяет упростить логику декодирования команд;большинство команд выполняются за один цикл процессора;логика выполнения команд с целью повышения производительностиориентирована на аппаратную, а не на микропрограммную реализацию,отсутствуют макрокоманды, усложняющие структуру процессора иуменьшающие скорость его работы;взаимодействие с оперативной памятью ограничивается операциямипересылки данных;для обработки, как правило, используются трехадресные команды, чтопомимо упрощения дешифрации дает возможность сохранять большеечисло переменных в регистрах без их последующей перезагрузки;создан конвейер команд, позволяющий обрабатывать несколько из ниходновременно;наличие большого количества регистров;используется высокоскоростная память.В RISC-процессорах обработка машинной команды разделена нанесколько ступеней, каждую ступень обслуживают отдельные аппаратныесредства и организована передача данных от одной ступени к следующей.Производительность при всём этом возрастает благодаря тому, что одновременно на различных ступенях конвейера выполняются несколько команд.Выполнение типичной команды можно разделить на следующие этапы:выборка команды IF - по адресу, заданному счетчиком команд, из памяти извлекается команда;2) декодирование команды ID - выяснение ее смысла, выборка операндов из регистров;3) выполнение операции EX, при необходимости обращения к памяти - вычисление физического адреса;4) обращение к памяти ME;5) запоминание результата WBВ процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды. При этом все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один цикл (такт) синхронизации. Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К МК с RISC-процессором относятся МК AVR фирмы Atmel, МК PIC16 и PIC17 фирмы Microchip и другие.На первый взгляд, МК с RISC-процессором должны иметь более высокую производительность по сравнению с CISC МК при одной и той же тактовой частоте внутренней магистрали. При этом на практике вопрос о производительности более сложен и неоднозначен.Рис.2 Структура МК с RISC архитектуройГарвардская архитектура почти не использовалась до конца 70-х годов, пока производители МК не поняли, что она дает определенные преимущества разработчикам автономных систем управления.Дело в том, что, судя по опыту использования МПС для управления различными объектами, для реализации большинства алгоритмов управления такие преимущества фон-неймановской архитектуры как гибкость и универсальность не имеют большого значения. Анализ реальных программ управления показал, что необходимый объем памяти данных МК, используемый для хранения промежуточных результатов, как правило, на порядок меньше требуемого объема памяти программ. В этих условиях использование единого адресного пространства приводило к увеличению формата команд за счет увеличения числа разрядов для адресации оперрандов. Применение отдельной небольшой по объему памяти данных способствовало сокращению длины команд и ускорению поиска информации в памяти данных.Кроме того, гарвардская архитектура обеспечивает потенциально более высокую скорость выполнения программы по сравнению с фон-неймановской за счет возможности реализации параллельных операций. Выборка следующей команды может происходить одновременно с выполнением предыдущей, и нет необходимости останавливать процессор на время выборки команды. Этот метод реализации операций позволяет обеспечивать выполнение различных команд за одинаковое число тактов, что дает возможность более просто определить время выполнения циклов и критичных участков программы.Большинство производителей современных 8-разрядных МК используют гарвардскую архитектуру. При этом гарвардская архитектура является недостаточно гибкой для реализации некоторых программных процедур. Поэтому сравнение МК, выполненных по разным архитектурам, следует проводить применительно к конкретному приложению.2.3 Микроконтроллер с RISC архитектурой PIC16C71 относится к семейству КМОП микроконтроллеров. Отличается тем, что имеет внутреннее 1K x 14 бит EPROM для программ, 8-битовые данные и 64 - байтовый встроенный аналого-цифровой преобразователь. Отличаются низкой стоимостью и высокой производительностью.Пользователи, которые знакомы с семейством PIC16C5X могут посмотретьподробный список отличий нового от производимых ранее контроллеров.Все команды состоят из одного слова (14 бит шириной) и исполняются за один цикл (200 нс при 20 МГц), кроме команд перехода, которые выполняются за два цикла (400 нс).PIC16C71 имеет прерывание, срабатывающее от четырех источников, ивосьмиуровневый аппаратный стек.Периферия включает в себя 8-битный таймер/счетчик с 8-битнымпрограммируемым предварительным делителем (фактически 16 - битный таймер),13 линий двунаправленного ввода/вывода и восьми битный АЦП. Высокаянагрузочная способность (25 мА макс. втекающий ток,20 мА макс. вытекающийток) линий ввода/вывода упрощают внешние драйверы и, тем самым, уменьшаетсяобщая стоимость системы.АЦП имеет четыре канала, схему выборки и хранения, разрешающую способность 8бит с погрешностью не более одного младшего разряда. Среднее времяпреобразования 30 мкс, включая время выборки.Серия PIC16C71 подходит для широкого спектра приложений от схемвысокоскоростного управления автомобильными и электрическими двигателями до экономичных удаленных приемопередатчиков, показывающих приборов и связныхпроцессоров. Наличие ПЗУ позволяет подстраивать параметры в прикладныхпрограммах (коды передатчика, скорости двигателя, частоты приемника и т.д.).Малые размеры корпусов, как для обычного, так и для поверхностного монтажа, делает эту серию микроконтроллеров пригодной для портативных приложений.Низкая цена, экономичность, быстродействие, простота использования и гибкость ввода/вывода делает PIC16C71 привлекательным даже в тех областях, где ранее не применялись микроконтроллеры. Например, таймеры, замена жесткой логики в больших системах, сопроцессоры.Микроконтроллер имеет:только 35 простых команд;все команды выполняются за один цикл (200ns), кроме команд перехода - 2цикла;рабочая частота 0 Гц...20 МГц (min 200 нс цикл команды)14 - битовые команды;8 - битовые данные;36 х 8 регистров общего использования;15 специальных аппаратных регистров SFR;восьмиуровневый аппаратный стек;прямая, косвенная и относительная адресация данных и команд;четыре источника прерывания:внешний вход INTпереполнение таймера RTCCпрерывание при завершении аналого-цифрового преобразованияпрерывание при изменении сигналов на линиях порта B.Периферия, ввод и вывод микроконтроллера имеет:13 линий ввода-вывода с индивидуальной настройкой;втекающий/вытекающий ток для управления светодиодами. макс втекающий ток - 25 мА. макс вытекающий ток - 20 мА8 - битный таймер/счетчик RTCC с 8-битным программируемым предварительным делителем;модуль АЦП:4 мультиплексируемых аналоговых входа, подсоединенных к одномуаналога цифровому преобразователюсхема выборки\хранениявремя преобразования - 20 мкс на каналпреобразователь - 8 бит, с погрешностью +-1 LSBвход для внешнего опорного напряжения Vref (Vref <= Vdd)диапазон входных аналоговых сигналов от Vss до Vrefавтоматический сброс при включении;таймер включения при сбросе;таймер запуска генератора;Watchdog таймер WDT с собственным встроенным генератором, обеспечивающимповышенную надежность;EPROM бит секретности для защиты кода;экономичный режим SLEEP;выбираемые пользователем биты для установки режима возбуждения встроенного генератора:RC генератор RCобычный кварцевый резонатор XTвысокочастотный кварцевый резонатор HSэкономичный низкочастотный кристалл LPвстроенное устройство самопрограммирования EPROM памяти программ,используются только две ножки.Обозначения ножек и их функциональное назначение:RA4/RTCC - Вход через триггерШмидта. Ножка порта ввода/вывода соткрытым стоком или вход частоты длтаймера/счетчика RTCC.RA0/AIN0 - Двунаправленная линия ввода/вывода.Аналоговый вход канала 0.Как цифровой вход имеет уровни ТТЛ.RA1/AIN1 - Двунаправленная линия ввода/вывода.Аналоговый вход канала 1.Как цифровой вход имеет уровни ТТЛ.RA2/AIN2 - Двунаправленная линия ввода/вывода.Аналоговый вход канала 2.Как цифровой вход имеет уровни ТТЛ.RA3/AIN3/Vref - Двунаправленная линия ввода/вывода.RB0/INT - Двунаправленная линия портавывода или внешний вход прерывания.RB1 - RB5 - Двунаправленные линии ввода/вывода.RB6 - Двунаправленные линии ввода/вывода.RB7 - Двунаправленные линии ввода/вывода./MCLR/Vpp - Низкий уровень на этомвходе генерирует сигнал сбросадля контроллера. Активный низкий.Вход через триггер Шмидта.OSC1 - Для подключения кварца, RC или вход внешней тактовой частоты.OSC2 - Генератор, выход тактовойCLKOUT - частоты в режиме RC генератора, в остальных случаях - для подкл. кварцаVdd -Напряжение питания.Vss -Общий (земля).Заключение В данной курсовой работе рассмотрены микроконтроллеры с RISC и CISC архитектурой. RISC архитектура была рассмотрена более углубленно и точнее. Отмечена классификация, структура микроконтроллера, структурапроцессорного ядра микроконтроллера, основные особенности RISC архитектуры.На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, шестнадцатибитные MSP430 фирмы TI, а также ARM, архитектуру которых разрабатывает фирма ARM и продаёт лицензии другим фирмам для их производства, процессоров - микроконтроллеры.При проектировании микроконтроллеров приходится соблюдать баланс между размерами и стоимостью с одной стороны и гибкостью и производительностью с другой. Для разных приложений оптимальное соотношение этих и других параметров может различаться очень сильно. Поэтому существует огромное количество типов микроконтроллеров, отличающихся архитектурой процессорного модуля, размером и типом встроенной памяти, набором периферийных устройств, типом корпуса и т.д.Список использованной литературы

1. "?????? ????????????????? ???????", ?????? ?.?. ??????? ? ?.?. ????????????.

2. "??????????? ?????????????? ??????". ?????? "????? ? ?????" 1990 ?. ????? ?.?. ???????.

3. "??????????-?????????????? ?????? ? ???????". ?????? "????? ? ?????" 1991 ?. ?????? ?.?. ?????.

Микроконтролеры Микроконтро́лер (англ. Micro Controller Unit, MCU) микросхема, предназначенная для управления электронными устройствами. Типичный микроконтролер сочетает в себе функции процессора и периферийных устройств, содержит ОЗУ или ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи.англ.микросхема электронными процессора периферийных устройств ОЗУПЗУкомпьютер На рисунке - Микроконтролер ATtiny2313 американской фирмы AtmelATtiny2313 американскойAtmel С появлением однокристальных микро-ЭВМ связывают начало эры массового применения компьютерной автоматизации в области управления. В связи со спадом отечественного производства и возросшим импортом техники, в том числе вычислительной, термин «микроконтролер» (МК) вытеснил из употребления ранее использовавшийся термин «однокристальная микро-ЭВМ». Первый патент на однокристальную микро-ЭВМ был выдан в 1971 году инженерам М. Кочрену и Г. Буну, сотрудникам американской Texas Instruments. Именно они предложили на одном кристалле разместить не только процессор, но и память с устройствами ввода- вывода.1971 годуTexas Instrumentsкристалле В 1976 году американская фирма Intel выпускает микроконтролер i8048. Через 4 года, в 1980 году, Intel выпускает следующий микроконтролер: i8051. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтролеру успех на рынке. С точки зрения технологии микроконтролер i8051 являлся для своего времени очень сложным изделием в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре i годуInteli8048i8051 транзисторовi8086 На сегодняшний день существует более 200 модификаций микроконтролеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтролеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтролеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также 32-битные микроконтролеры, архитектуры ARM, которую разрабатывает фирма ARM Limited и продаёт лицензии другим фирмам для их производства.PICMicrochip TechnologyAVRAtmel MSP430TIARMARM Limited


Микроконтролеры – общая архитектура При проектировании микроконтролеров приходится соблюдать баланс между размерами и стоимостью с одной стороны и гибкостью и производительностью с другой. Для разных приложений оптимальное соотношение этих и других параметров может различаться очень сильно. Поэтому существует огромное количество типов микроконтролеров, отличающихся архитектурой процессорного модуля, размером и типом встроенной памяти, набором периферийных устройств, типом корпуса и т. д. В отличие от обычных компьютерных микропроцессоров, в микроконтролерах часто используется гарвардская архитектура памяти, то есть раздельное хранение данных и команд в ОЗУ и ПЗУ соответственно.гарвардская архитектураОЗУПЗУ Кроме ОЗУ, микроконтролер может иметь встроенную энергонезависимую память для хранения программы и данных. Во многих контролерах вообще нет шин для подключения внешней памяти. Наиболее дешёвые типы памяти допускают лишь однократную запись. Такие устройства подходят для массового производства в тех случаях, когда программа контролера не будет обновляться. Другие модификации контролеров обладают возможностью многократной перезаписи энергонезависимой памяти.ОЗУшин Неполный список периферии, которая может присутствовать в микроконтролерах, включает в себя:периферии универсальные цифровые порты, которые можно настраивать как на ввод, так и на вывод; различные интерфейсы ввода-вывода, такие как UART, I²C, SPI, CAN, USB, IEEE 1394, Ethernet;UARTI²CSPICANUSBIEEE 1394Ethernet аналого-цифровые и цифро-аналоговые преобразователи;аналого-цифровые цифро-аналоговые компараторы;компараторы широтно-импульсные модуляторы;широтно-импульсные модуляторы таймеры;таймеры контролеры бесколлекторных двигателей; контролеры дисплеев и клавиатур; радиочастотные приемники и передатчики; массивы встроенной флеш-памяти;флеш-памяти встроенный тактовый генератор и сторожевой таймер.сторожевой таймер Ограничения по цене и энергопотреблению сдерживают также рост тактовой частоты контролеров. Хотя производители стремятся обеспечить работу своих изделий на высоких частотах, они, в то же время, предоставляют заказчикам выбор, выпуская модификации, рассчитанные на разные частоты и напряжения питания. Во многих моделях микроконтролеров используется статическая память для ОЗУ и внутренних регистров. Это даёт контролеру возможность работать на меньших частотах и даже не терять данные при полной остановке тактового генератора. Часто предусмотрены различные режимы энергосбережения, в которых отключается часть периферийных устройств и вычислительный модуль.статическая память регистров энергосбережения


Микроконтролеры Intel 8051 Intel 8051 это однокристальный микроконтролер (не путать с процессором) гарвардской архитектуры, который был впервые произведен Intel в 1980 году, для использования во встраиваемых системах. В течение 1980-ых и начале 1990-ых годов был чрезвычайно популярен. Однако, в настоящее время устарел и вытеснен более современными устройствами, с 8051-совместимыми ядрами, производимыми более чем 20 независимыми производителями, такими как Atmel, Maxim IC (дочерняя компания Dallas Semiconductor), NXP (ранее Philips Semiconductor), Winbond, Silicon Laboratories, Texas Instruments и Cypress Semiconductor. Существует также советский клон данной микросхемы, КР1816ВЕ51. Официальное название 8051-семейства микроконтролеров Intel MCS 51. однокристальный микроконтролерпроцессоромгарвардской архитектурыIntel1980 году встраиваемых системахAtmelMaxim ICDallas Semiconductor NXPPhilipsWinbondSilicon LaboratoriesTexas InstrumentsCypress Semiconductor Первые из 8051-семейства Intel производились с использованием n-МОП технологии, но следующие версии, содержащие символ «C» в названии, такие как 80C51, использовали КМОП-технологию и потребляли меньшую мощность, чем n-МОП предшественники (это облегчало их применение для устройств с питанием от батарей).n-МОП КМОП Особенности: Состоит из процессорного ядра (CPU), ОЗУ, ПЗУ, последовательного порта, параллельного порта, логики управления прерываниями, таймер и т. д.CPUОЗУПЗУпоследовательного порта параллельного порта прерываниями таймер Шина данных 8-ми битная шина данных. Возможность обработки 8 бит данных за одну операцию. Обуславливает название 8-битный микропроцессор Шина данных 8-битныймикропроцессор Шина адреса 16 битная адресная шина. Возможность доступа к 2 16 адресам памяти, то есть 64 кБ адресное пространство в ОЗУ и ПЗУШина адреса 16 битнаякБОЗУПЗУ Встроенное ОЗУ 128 байт (Памяти данных)ОЗУбайт Памяти данных Встроенное ПЗУ 4 КБ (Памяти программ)ПЗУКБПамяти программ Четыре порта ввода/вывода: один двунаправленный и три квазидвунаправленныхввода/вывода Последовательный интерфейс UART (Универсальный асинхронный приёмопередатчик)Универсальный асинхронный приёмопередатчик Два 16-битных таймера Два уровня приоритета прерываний Энергосберегающий режим


Особенности Intel 8051 Предшественником контролера 8051 был Intel 8048, который был применён в клавиатуре первого компьютера IBM PC он конвертировал сигналы о нажатиях клавиш в поток данных, передававшийся по последовательной линии в системный блок компьютера. Контролер 8048, а также контролеры, спроектированные на его базе, всё ещё применяются в клавиатурах.клавиатуреIBM PC Общей особенностью в современных 8051-совместимых микроконтролерах стало встраивание улучшенных и дополнительных схем, таких как: автоматический сброс по падению питающего напряжения; встроенные тактовые генераторы; внутрисхемное программирование памяти программ; автозагрузчики долговременной памяти данных на основе EEPROM; I²C ; SPI (стандарт 3-проводной последовательной шины); USB хост- интерфейс; ШИМ-генераторы; аналоговых компараторов; АЦП и ЦАП преобразователей; часов реального времени; дополнительных таймеров и счетчиков; внутрисхемных отладчиков, дополнительных источников прерываний; расширенных энергосберегающих режимов.тактовые генераторыEEPROMI²CSPIUSBШИМкомпараторов АЦПЦАПреального времени отладчиков прерываний 8051-совместимые микроконтролеры обычно имеют один или два УАПП (UART), два или три таймера, 128 или 256 байт встроенной ОЗУ (16 байт которой имеют побитовую адресацию), от 512 байт до 128 Кбайт встроенной памяти программ (ПЗУ), и иногда встречается использование EEPROM, адресуемой через «регистры специального назначения» (SFR = special function register). УАПП/UART может быть настроен для использования в режиме 9-бит данных, что делает возможным адресную приёмопередачу в многоточечном подключении на основе RS-485 аппаратного протокола.УАППUARTтаймерабайт КбайтПЗУEEPROMУАППUARTRS-485 Чрезвычайно полезной особенностью 8051-ядра является обработка булевых данных, что позволило ввести бинарную логику, оперирующую напрямую с битами внутренней ОЗУ (области из 128 прямо-адресуемых битов) и регистров. Данная особенность была востребована в приложениях промышленной автоматики. Еще одна ценная особенность состояла в 4 независимых наборах регистров, которые значительно уменьшали задержки при обработке прерываний, в сравнении с классическим использованием стека, применявшимся ранее.булевых промышленной автоматикирегистровпрерыванийстека


Особенности Intel 8051 Один машинный цикл оригинального 8051-ядра занимает 12 временных тактов, а большинство инструкций выполняется за один или два машинных цикла. При частоте тактового генератора, равной 12 МГц, 8051-ядро может выполнять 1 миллион операций в секунду, выполняемых за один цикл, или 500 тысяч операций в секунду, выполняемых за два цикла. Улучшенное 8051-совместимое ядро, которое в настоящее время распространено, выполняет машинный цикл за шесть, четыре, два, или даже за один временной такт, и позволяет использовать тактовые генераторы с частотой до 100 МГц, что позволило увеличить количество выполняемых операций в секунду. Еще более быстрые 8051-ядра, с 1 тактом на машинный цикл, организуются с использованием ПЛИС, таких как FPGA (скорость в диапазоне МГц) или ASIC (скорость в диапазоне нескольких сотен МГц), при помощи специальной прошивки. Все 8051-совместимые устройства, производимые SILabs, некоторые из производимых Dallas и немногие из производимых Atmel имеют ядро с 1 тактом на машинный цикл.машинный цикл МГц миллион операций в секундумашинный циклПЛИСFPGAASIC SILabsDallasAtmel Для программирования 8051 доступно несколько компиляторов с языка программирования Си, большинство из которых поддерживает расширения языка для более эффективного использования особенностей Например, программист может указать, в каком из шести типов памяти 8051 необходимо хранить переменную; компилятору можно указать, каким образом использовать переключаемые регистровые блоки и инструкции для манипулирования отдельными разрядами регистров.компиляторов Си Для программирования 8051 используются и другие языки высокого уровня: Форт, Бейсик, Паскаль, PL/M и Modula-2, однако они не получили такого широкого распространения как Си и ассемблер. Форт БейсикПаскальPL/MModula-2Сиассемблер


Микроконтролеры PIC PIC микроконтролеры Гарвардской архитектуры, производимые американской компанией Microchip Technology Inc. Название PIC является сокращением от Peripheral Interface Controller, что означает «периферийный интерфейсный контролер». Название объясняется тем, что изначально PIC предназначались для расширения возможностей ввода-вывода 16-битных микропроцессоров CP1600. микроконтролеры Гарвардской архитектурыMicrochip Technology Inc. В номенклатуре Microchip Technology Inc. представлен широкий спектр 8-и, 16-и и 32-битных микроконтролеров и цифровых сигнальных контролеров под маркой PIC. Отличительной особенностью PIC-контролеров является хорошая преемственность различных семейств. Это и программная совместимость (единая бесплатная среда разработки MPLAB IDE), и совместимость по выводам, по периферии, по напряжениям питания, по средствам разработки, по библиотекам и стекам наиболее популярных коммуникационных протоколов. Номенклатура насчитывает более 500 различных контролеров со всевозможными вариациями периферии, памяти, количеством выводов, производительностью, диапазонами питания и температуры и т. д. Для программирования микроконтролеров семейства PIC применяется фирменный программатор-отладчик ICD-2, ICD-3, REAL ICE, Pickit. Эти программаторы позволяют как программировать, так и отлаживать код: пошаговое выполнение, точки останова, просмотр оперативной и программной памяти, просмотр стека.


8-битные микроконтролеры PIC 8-битные микроконтролеры имеют модифицированную Гарвардскую архитектуру и делятся на 2 больших семейства: PIC10/12/16 и PIC18. Микроконтролеры PIC10/12/16 представлены двумя базовыми архитектурами ядра: BASELINE и MID-RANGE. Базовая архитектура (BASELINE) состоит из контролеров семейства PIC10 и части контролеров семейств PIC12 и PIC16. Основываются они на 12-и разрядной архитектуре слова программ и представлены контролерами в корпусах от 6 до 28-и выводов. Упрощенная архитектура базового семейства предоставляет наиболее дешевое решение из предлагаемых Microchip. Широкий диапазон напряжений питания, возможность работы при низких напряжениях преследует целью возможность применения микроконтролеров в батарейных устройствах. маловыводные и миниатюрные корпуса Flash память программ низкое потребление тока низкая цена легкое освоение, всего 35 команд Архитектура среднего семейства (Mid-Range) нашла применение в микроконтролерах серий PIC12 и PIC16, и имеет ширину слова памяти программ 14 бит. Эти микроконтролеры выпускаются в корпусах от 8 до 64 выводов. Микроконтролеры с Flash памятью работают в диапазоне напряжений питания от 2.0 до 5.5В, имеют систему прерываний, аппаратный стек и энергонезависимую память данных EEPROM, а также богатый набор периферии, такой как USB, SPI, I²C, USART, LCD, компараторы, АЦП и т. п.EEPROMUSBSPII²CUSARTLCDкомпараторыАЦП различные корпуса: 6 64 выводов Flash память программ малый ток потребления богатая периферия производительность 5 MIPS легкое освоение, всего 35 команд


8-битные микроконтролеры PIC Расширенное ядро микроконтролеров среднего семейства В более новых микроконтролерах Microchip применяет улучшенную архитектуру 8-битных PIC микроконтролеров среднего семейства PIC12 и PIC16: увеличенный объем памяти программ и данных более глубокий и улучшенный аппаратный стек дополнительные источники сброса расширенная периферия, периферия включает модуль mTouch для создания сенсорных пользовательских интерфейсов уменьшенное время входа в прерываниепрерывание производительность увеличена на 50 %, а размер кода снижен на 40 % 14 дополнительных инструкций, оптимизированных под С-компилятор итого, 49 инструкций 8-битные микроконтролеры PIC18 Высокопроизводительное семейство 8-битных микроконтролеров PIC18F представлено широкой гаммой микроконтролеров, включающих большой набор периферийных модулей: 10 бит АЦП, компараторы, ШИМ, захват/сравнение, драйвер ЖКИ; интерфейсы связи USB, CAN, I2C, SPI, USART, Ethernet и т. д. быстродействия до 16 MIPS объем памяти программ до 128Кб корпуса от 18 до 100 выводов. эффективное кодирование на C NanoWatt технологии встроенный программируемый генератор 3В и 5В семейства продвинутая архитектура (16-и разрядные слова программ) гибкость самопрограммирования поддержка широко распространенных протоколов связи (CAN, USB, ZigBee, TCP/IP) программная совместимость и совместимость по выводам и периферийным модулям внутри семейства, а также со старшими (16-битными) семействами, предоставляют возможность расширения и увеличения функциональности при развитии разработок.


16-битные контролеры PIC Компания Microchip Technology Inc. производит два семейства 16-и разрядных микроконтролеров (MCU) и два семейства 16-и разрядных цифровых сигнальных контролеров (DSC), которые дают разработчикам совместимые платформы с обширным выбором типов корпусов, периферийных модулей и быстродействия. Общие атрибуты всех 16-и разрядных семейств это совместимость по выводам, общая система команд и, соответственно, общие компиляторы Си и средства разработки. Широкая линейка 16- битных контролеров включает контролеры от 18 до 100 выводов с объемом flash памяти от 6 Кб до 536 Кб. 16-битные микроконтролеры PIC24F и PIC24H 16-битные микроконтролеры представлены в двух модификациях PIC24F и PIC24H, которые отличаются технологией изготовления FLASH программной памяти. Это определяет диапазон питающих напряжений для PIC24F 2,0…3,6 В, для PIC24H 3,0…3,6 В. Первое семейство (PIC24F) производится по более дешевой технологии (0,25 мкм) и работает с максимальной производительностью ядра Второе семейство (PIC24H) производится с использованием более сложного техпроцесса изготовления, что позволяет добиться большей скорости работы Оба семейства поддерживают внутрисхемное программирование (ICSP), а также самопрограммирование (RTSP). Основные особенности: выполнение команды за 2 такта генератора гарантированное время отклика на прерывание 5 командных тактов доступ к памяти (в том числе инструкции чтения-модификации-записи) за 1 командный такт аппаратный умножитель (за 1 такт) аппаратный делитель 32/16 и 16/16 чисел (17 командных тактов) диапазон питающих напряжений 1.8…3.6В, один источник питания. внутрисхемное и само- программирование расширенная периферия (до 3-х SPI, до 3-х I2C, до 4-х UART (с поддержкой IrDA, LIN), CAN (и расширенный ECAN), USB OTG) модуль измерения времени заряда (CTMU), основное применение управление емкостными сенсорами


16-битные микроконтролеры PIC24F и PIC24H - особенности до девяти 16-битных таймеров общего назначения до восьми модулей захвата ряд энергосберегающих режимов до двух АЦП (32 канала) с конфигурируемой разрядностью до восьми 16-битных модулей сравнения / генерации ШИМ программное переназначение выводов (PPS) прямой доступ к памяти DMA(у PIC24H) расширенный набор инструкций, 16 ортогональных регистров общего назначения, векторная приоритетная система прерываний, и другие особенности (методы адресации, аппаратные циклы).


Контролеры цифровой обработки сигналов dsPIC30F и dsPIC33F Компания Microchip предлагает два семейства 16-ти разрядных Flash микроконтролеров с поддержкой команд цифровой обработки сигналов dsPIC30F и dsPIC33F. Высокое быстродействие в (30 MIPS для dsPIC30F, 40 MIPS для dsPIC33FJ, 70 MIPS для dsPIC33EP) и эффективная система команд позволяет использовать контролеры в сложных системах реального времени. Ключевые особенности: расширенная система команд, включающая специфические команды поддержки цифровой обработки сигналов (DSP). 24-разрядные инструкции выполняются за 4 периода тактовой частоты у dsPIC30F и за 2 у dsPIC33FJ(EP), за исключением команд деления, переходов, команд пересылки данных из регистра в регистр и табличных команд. разрядность программного счетчика (24 бита) позволяет адресовать до 4М слов программной памяти (4М*24 бит). аппаратная поддержка циклов типа DO и REPEAT, выполнение которых не требует дополнительных издержек программной памяти и времени на анализ условий окончания, в то же время эти циклы могут быть прерваны событиями прерывания в любой момент; 16 рабочих регистров, каждый регистр массива может выступать как данные, адрес или смещение адреса два класса команд: микроконтролерные инструкции (MCU) и команды цифровой обработки сигналов (DSP). Оба этих класса равноправно интегрированы в архитектуру контролера и обрабатываются одним ядром. различные типы адресации; система команд оптимизирована для получения максимальной эффективности при программировании на языке высокого уровня Си.


32-битные микроконтролеры PIC Семейство 32-разрядных микроконтролеров PIC32 выделяется значительно увеличенной производительностью и объемом памяти на кристалле по сравнению с 16-разрядными микроконтролерами и контролерами цифровой обработки сигналов PIC24/dsPIC. Контролеры PIC32 также оснащены большим количеством периферийных модулей, включая различные коммуникационные интерфейсы те же, что у PIC24, и 16-битный параллельный порт, который может использоваться, например, для обслуживания внешних микросхем памяти и жидко-кристаллических TFT-индикаторов. Семейство PIC32 построено на ядре MIPS32®, с конкурентоспособной комбинацией низкого потребления энергии, быстрой реакции на прерывание, функциональностью средств разработки и лидирующем в своем классе быстродействием. Такое быстродействие достигнуто благодаря эффективному набору инструкций, 5-ступенчатому конвейеру, аппаратному умножителю с накоплением и несколькими (до 8) наборами 32-разрядных регистров ядра. Особенности: ядро MIPS32 M4K, частота тактирования 80 МГц, большинство команд выполняются за 1 такт генератора,MIPS32 M4K порты ввода/вывода относятся к основному частотному диапазону, т.о., к примеру, можно управлять портами с тактовой частотой. дополнительный частотный диапазон организуется для периферии из основного посредством программно настраиваемого делителя, т.о. частота тактирования периферии может быть снижена для снижения энергопотребления. 28-, 44-, 64- и 100-выводные корпуса, до 128 кБ SRAM и 512 кБ Flash с кэшем предвыборки совместимость по выводам и отладочным средствам с 16-битными контролерами Microchip аппаратный умножитель-делитель с независимым от основного ядра конвейером, оптимизированным по скорости выполнения набор расширенных инструкций MIPS16e набор 16-битных инструкций, позволяющий на некоторых приложениях снизить объем кода на 40 % независимый от основного ядра контролер USB


Микроконтролеры AVR AVR семейство восьмибитных микроконтролеров фирмы Atmel. Год разработки 1996.микроконтролеровAtmel1996 Идея разработки нового RISC-ядра принадлежит двум студентам Norwegian University of Science and Technology (NTNU) из норвежского города Тронхейма (Trondheim) Альфу Богену (Alf-Egil Bogen) и Вегарду Воллену (Vegard Wollen). В 1995 году Боген и Воллен решили предложить американской корпорации Atmel, которая была известна своими чипами с Flash-памятью, выпускать новый 8-битный RISC-микроконтролер и снабдить его Flash-памятью для программ на одном кристалле с вычислительным ядром. Идея была одобрена Atmel Corp., и было принято решение незамедлительно инвестировать в данную разработку. В конце 1996 года был выпущен опытный микроконтролер AT90S1200, а во второй половине 1997-го корпорация Atmel приступила к серийному производству нового семейства микроконтролеров, к их рекламной и технической поддержке. Новое ядро было запатентовано и получило название AVR.RISCТронхеймаAtmelFlash-памятьюRISC Микроконтролеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Процессор AVR имеет 32 8-битных регистра общего назначения, объединённых в регистровый файл. В отличие от «идеального» RISC, регистры не абсолютно ортогональны:гарвардскую архитектуруRISCрегистра Три «сдвоенных» 16-битных регистра-указателя X (r26:r27), Y (r28:r29) и Z (r30:r31); Некоторые команды работают только с регистрами r16…r31; Результат умножения (в тех моделях, в которых есть модуль умножения) всегда помещается в r0:r1.


Система команд AVR Система команд микроконтролеров AVR весьма развита и насчитывает в различных моделях от 90 до 133 различных инструкций. Большинство команд занимает только 1 ячейку памяти (16 бит). Большинство команд выполняется за 1 такт.такт Всё множество команд микроконтролеров AVR можно разбить на несколько групп: команды логических операций; команды арифметических операций и команды сдвига; команды операции с битами; команды пересылки данных; команды передачи управления; команды управления системой. Управление периферийными устройствами осуществляется через адресное пространство данных. Для удобства существуют «сокращённые команды» IN/OUT.


Семейства микроконтролеров AVR Стандартные семейства: tinyAVR (ATtinyxxx): –Флеш-память до 16 Кб; SRAM до 512 б; EEPROM до 512 б;Флеш-памятьSRAMEEPROM –Число линий ввод-вывода 4–18 (общее количество выводов 6–32);ввод-вывода –Ограниченный набор периферийных устройств.периферийных устройств megaAVR (ATmegaxxx): –Флеш-память до 256 Кб; SRAM до 8 Кб; EEPROM до 4 Кб; –Число линий ввода-вывода 23–86 (общее количество выводов 28–100); –Аппаратный умножитель; –Расширенная система команд и периферийных устройств. XMEGA AVR (ATxmegaxxx): –Флеш-память до 384 Кб; SRAM до 32 Кб; EEPROM до 4 Кб; –Четырёхканальный DMA-контролер;DMA –Инновационная система обработки событий. На основе стандартных семейств выпускаются микроконтролеры, адаптированные под конкретные задачи: со встроенными интерфейсами USB, CAN, контролером LCD;USBCANLCD со встроенным радиоприёмопередатчиком серии ATAхxxx, ATAMxxx;приёмопередатчиком для управления электродвигателями серия AT90PWMxxxx; для автомобильной электроники;автомобильной электроники для осветительной техники.осветительной техники


Устройства ввода-вывода МК AVR Многофункциональные, двунаправленные GPIO порты ввода/вывода со встроенными подтягивающими резисторами. Конфигурация портов в/в задаётся программно.GPIOрезисторами В качестве источника тактовых импульсов может быть выбран: –кварцевый резонатор;кварцевый резонатор –внешний тактовый сигнал; –внутренний RC-генератор (частота 1, 2, 4, 8 МГц). Внутренняя Флеш-память команд до 256 KБ (не менее циклов перезаписи).Флеш-память Внутреннее EEPROM данных до 4 КБ (циклов).EEPROM Внутренняя SRAM до 8 KБ время доступа 1 такт.SRAM Внешняя память объёмом до 64 КБ (Mega8515 и Mega162). Таймеры c разрядностью 8, 16 бит. ШИМ-модулятор (PWM) 8-, 9-, 10-, 16-битный.ШИМ Аналоговые компараторы. АЦП (ADC) с дифференциальными входами, разрядность 10 бит (12 для XMEGA AVR):АЦП –программируемый коэффициент усиления перед АЦП 1, 10 и 200;АЦП –опорное напряжение 2,56 В.В Различные последовательные интерфейсы, включая: –двухпроводной интерфейс TWI, совместимый с I²C;TWII²C –универсальный синхронно/асинхронный приёмопередатчик UART/USART;UARTUSART –синхронный последовательный порт Serial Peripheral Interface (SPI).Serial Peripheral Interface USB серия AT90USBxxxx.USB CAN серия AT90CANxxx.CAN LCD серии ATmega169 и ATmega329.LCDATmega169ATmega329 Датчики температуры ATtiny25, ATtiny45, ATtiny85.ATtiny25ATtiny45ATtiny85


Средства разработки AVR Свободные Code::Blocks IDE;Code::Blocks DDD графический интерфейс к avr-gdb;DDD Avrdude популярное средство для прошивки микроконтролеров.Avrdude V-USB программная реализация протокола USB для микроконтролеров AVR.V-USB PonyProg универсальный программатор, подключение через COM-порт, LPT- порт (подерживается и USB эмулятор COM-порта) поддерживает МК AVR, PIC и др.PonyProgPIC Проприетарные AVR Studio IDE + ассемблер + отладчик. Freeware.AVR StudioIDEассемблеротладчикFreeware CodeVisionAVR компилятор C и программатор CVAVR + генератор начального кода.CodeVisionAVRC ICC ImageCraft Development Tools - компилятор, простой, удобный и эффективный C + генератор начального кода.ICCC Bascom-avr среда разработки основанная на Basic-подобном языке программированияBascom-avrBasic Proteus мощнейший симулятор электрических цепей, компонентов, включая различные МК и др. периферийное оборудование.Proteus Также архитектура AVR позволяет применять операционные системы при разработке приложений, например FreeRTOS, uOS, scmRTOS, ChibiOS/RT, AvrX (ядро реального времени)операционные системыFreeRTOSuOSscmRTOSChibiOS/RTAvrX


Аппаратная вычислительная платформа Arduino Arduino аппаратная вычислительная платформа, основными компонентами которой являются простая плата ввода/вывода и среда разработки на языке Processing/Wiring. Arduino может использоваться как для создания автономных интерактивных объектов, так и подключаться к программному обеспечению, выполняемому на компьютере (например, Adobe Flash, Processing, Max/MSP, Pure Data, SuperCollider). Рассылаемые в настоящее время версии могут быть заказаны уже распаянными. Информация об устройстве платы (рисунок печатной платы) находится в открытом доступе и может быть использована теми, кто предпочитает собирать платы самостоятельно. Микроконтролеры ATmega328 дёшевы и стоят около 200 рублей.аппаратная ввода/вывода ProcessingAdobe Flash ProcessingMax/MSPPure DataSuperColliderпечатной платы Проект Arduino был удостоен почётного упоминания при вручении призов Prix Ars Electronica 2006 в категории Digital Communities.Prix Ars Electronica Интегрированная среда разработки Разработчик Arduino Software Написана на Написана на JavaJava Операционная система Операционная система Кроссплатформенная Кроссплатформенная Последняя версия 0023[ (24 декабря 2010 года)24 декабря 2010 года Лицензия Лицензия LGPL или GPL licenseLGPLGPL Сайт Сайт


Аппаратная часть Arduino Плата Arduino состоит из микроконтролера Atmel AVR (ATmega328 и ATmega168 в новых версиях и ATmega8 в старых), а также элементов обвязки для программирования и интеграции с другими схемами. На многих платах присутствует линейный стабилизатор напряжения +5В или +3,3В. Тактирование осуществляется на частоте 16 или 8 МГц кварцевым резонатором (в некоторых версиях керамическим резонатором). В микроконтролер предварительно прошивается загрузчик BootLoader, поэтому внешний программатор не нужен.микроконтролераAtmelAVR кварцевым резонаторомкерамическим резонаторомзагрузчик программатор На концептуальном уровне все платы программируются через RS-232 (последовательное соединение), но реализация этого способа отличается от версии к версии. Плата Serial Arduino содержит простую инвертирующую схему для конвертирования уровней сигналов RS-232 в уровни ТТЛ, и наоборот. Текущие рассылаемые платы, например, Diecimila, программируются через USB, что осуществляется благодаря микросхеме конвертера USB- to-Serial FTDI FT232R. В версии платформы Arduino Uno в качестве конвертера используется микроконтролер Atmega8 в SMD-корпусе. Данное решение позволяет программировать конвертер так, чтобы платформа сразу определялась как мышь, джойстик или иное устройство по усмотрению разработчика со всеми необходимыми дополнительными сигналами управления. В некоторых вариантах, таких как Arduino Mini или неофициальной Boarduino, для программирования требуется подключение отдельной платы USB-to-Serial или кабеля.RS-232ТТЛUSBFTDI Платы Arduino позволяют использовать большую часть I/O выводов микроконтролера во внешних схемах. Например, в плате Diecimila доступно 14 цифровых входов/выходов, 6 из которых могут выдавать ШИМ сигнал, и 6 аналоговых входов. Эти сигналы доступны на плате через контактные площадки или штыревые разъемы. Также доступны несколько видов внешних плат расширения, называемых «shields» («щиты»), которые присоединяются к плате Arduino через штыревые разъёмы.ШИМ Оригинальные платы Arduino производит Smart Projects.Smart Projects На данный момент доступны 15 версий плат, обладающих разной функциональностью.


Платы расширений Ардуино и Ардуино-совместимые платы спроектированы таким образом, чтобы их можно было при необходимости расширять, добавляя в схему устройства новые компоненты. Эти платы расширений (шилды) подключаются к Ардуино посредством установленных на них штыревых разъёмов. Существует множество различных по функциональности шилдов от простейших, предназначенных для макетирования (прототипирования), до сложных плат управления шаговыми двигателями, плат беспроводного доступа по протоколам Bluetooth, ZigBee, WiFi, GSM и т.д. Примеры щитов: Arduino Ethernet Shield XBee Shield TouchShield Datalog Shield USB Host Shield Cosmo WiFi Connect Cosmo GSM Connect Cosmo USB Host


Программное обеспечение Arduino Интегрированная среда разработки Arduino это кроссплатформенное приложение на Java, включающее в себя редактор кода, компилятор и модуль передачи прошивки в плату.Интегрированная среда разработкиJavaредактор кодакомпилятор Среда разработки основана на языке программирования Processing и спроектирована для программирования новичками, не знакомыми близко с разработкой программного обеспечения. Язык программирования аналогичен используемому в проекте Wiring. Строго говоря, это C++, дополненный некоторыми библиотеками. Программы обрабатываются с помощью препроцессора, а затем компилируется с помощью AVR-GCC.ProcessingC++библиотеками препроцессораAVR-GCC Существует полный русский перевод языка Arduino, предназначенный для преодоления языкового барьера при распространении платформы по России - Радио ЛокН Hi-Tech Arduino Russian (Радио ЛокН Hi-Tech Arduino Russian


Свободное распространение Документация, прошивки и чертежи Arduino распространяется под лицензией Creative Commons Attribution ShareAlike 2.5 и доступны на официальном сайте Arduino. Рисунок печатной платы для некоторых версий Arduino также доступен. Исходный код для интегрированной среды разработки и библиотек опубликован и доступен под лицензией GPLv2. Creative Commons Attribution ShareAlikeGPLv2 Несмотря на то что документация на аппаратную часть и программный код опубликованы под лицензией «copyleft», разработчики выразили желание, чтобы название «Arduino» (и производные от него) было торговой маркой для официального продукта и не использовалось для производных работ без разрешения. В официальном документе об использовании названия Arduino подчеркивается, что проект открыт для всех желающих работать над официальным продуктом.copyleftторговой маркой Результатом защиты названия стало ответвление от версии платы Arduino Diecimila, сделанное группой пользователей, что привело к выпуску эквивалентной платы, названной Freeduino. Название Freeduino не является торговой маркой и может использоваться в любых целях.Freeduino Некоторые программно и аппаратно совместимые продукты избегают названия «Arduino», используя в вариантах собственного названия только «duino». Они были коммерчески выпущены другими производителями.


Микроконтролеры MSP430 Линейка микроконтролеров Texas Instruments насчитывает три вида устройств: MSP битные микроконтролеры; C битные микроконтролеры; Stellaris - 32-битные микроконтролеры с архитектурой ARM Cortex MF4. MSP430 - семейство микроконтролеров фирмы «Texas Instruments» с низким энергопотреблением. Первый контролер с аббревиатурой MSP430 появился в 1999 году. Отличительными характеристиками микроконтролеров семейства MSP430 являются следующие.микроконтролеровTexas Instruments1999 году Архитектура со сверхнизким потреблением, позволяющая увеличить время работы при питании от батарей: –ток сохранения содержимого ОЗУ не более 0.1 мкА; –ток потребления в режиме часов реального времени не более 0.8 мкА; –ток потребления в активном режиме 250 мкА/MIPS. Высокоэффективная аналоговая подсистема, позволяющая выполнять точные измерения: –таймеры, управляемые компаратором; –многоканальный АЦП. 16-битное RISC ЦПУ: –большой регистровый файл устраняет ограничения рабочего регистра; –произведённое по меньшему техпроцессу ядро позволяет снизить потребление и уменьшает стоимость кристалла; –оптимизировано для современных языков программирования высокого уровня; –набор команд состоит всего из 27 инструкций; поддерживается 7 режимов адресации; –векторная система прерываний с расширенными возможностями. Флэш-память с возможностью внутрисхемного программирования позволяет гибко изменять программный код (в том числе, во время эксплуатации), а также производить сохранение данных.


Архитектура MSP разрядный RISC-контролер MSP430 имеет ортогональную систему команд. Ортогональность системы команд означает, что в качестве операндов в любой команде можно использовать не только регистры общего назначения, но и ячейки основного ОЗУ и константы.RISCортогональнуюОЗУ MSP430 имеет фоннеймановскую архитектуру, с единым адресным пространством для команд и данных. Память может адресоваться как побайтово, так и пословно. Порядок хранения 16-разрядных слов от младшего к старшему (англ. little-endian), при котором младший байт слова хранится по младшему адресу памяти, старший байт слова – по старшему адресу.фоннеймановскуюот младшего к старшемуангл. Процессор содержит разрядных ортогональных регистров. Регистр R0 используется как программный указатель – счетчик команд (англ. Program Counter - PC), регистр R1 как указатель стека (англ. Stack Pointer - SP), регистр R2 как регистр статуса (англ. Status Register - SR), а R3 как специальный регистр, именуемый генератор констант (англ. Constant Generator - CG). R2 также может использоваться в качестве генератора констант. Генератор констант используется для сокращения общей длины команды вследствие неявного представления константы в коде операции. Регистры с R4 по R15 используются как регистры общего назначения.англ. 26 Архитектура MSP430 Система тактирования разработана специально для применения в устройствах с батарейным питанием. С ее помощью реализуется режим ожидания со сверхнизким потреблением. Низкочастотный вспомогательный тактовый сигнал ACLK формируется обычным «часовым» кварцем частотой Гц. В составе микроконтролеров имеется специальный модуль внутрисхемной эмуляции, доступ к которому осуществляется по интерфейсу JTAG без использования дополнительных системных ресурсов. Преимущества внутрисхемной эмуляции: создание и отладка кода программы с возможностью его выполнения в реальном времени; поддержка точек останова и выполнения программы в пошаговом режиме. Микроконтролеры семейства MSP430 могут иметь до восьми портов ввода/вывода P1…P8. Все порты содержат по восемь выводов (линий). Цифровые порты ввода/вывода обладают следующими возможностями: независимые индивидуально программируемые линии ввода/вывода; любые комбинации входов или выходов; индивидуально конфигурируемые прерывания от выводов портов P1 и P2; раздельные регистры данных для входов и выходов; индивидуально конфигурируемые внутренние подтягивающие резисторы. Конфигурирование цифровых портов ввода/вывода осуществляется пользовательской программой. Настройка функционирования цифровых портов осуществляется с помощью нескольких специализированных регистров.


Характеристики некоторых микроконтролеров MSP430G2xx MSP430G2211 – 2 КБ флэш-память, 128 Б ОЗУ, 1 порт ввода-вывода, 1 16-разрядный таймер, компаратор, корпус 14PDIP; MSP430G2231 – 2 КБ флэш-память, 128 Б ОЗУ, 1 порт ввода-вывода, 1 16-разрядный таймер, 8-канальный 10-разрядный АЦП, температурный датчик, корпус 14PDIP; MSP430G2452 – 8 КБ флэш-память, 256 Б ОЗУ, 2 порта ввода-вывода, 1 16-разрядный таймер, компаратор, 8-канальный 10-разрядный АЦП, температурный датчик, корпус 20PDIP; MSP430G2553 – 16 КБ флэш-память, 512 Б ОЗУ, 2 порта ввода- вывода, 2 16-разрядных таймера, компаратор, 8-канальный 10- разрядный АЦП, температурный датчик, корпус 20PDIP. Диапазон питающих напряжений – от 1,8 В до 3,6 В, тактовая частота 16 МГц, производительность до 16 MIPS. Энергопотребление MSP430 (при 2,2 В): 0,1 мкА сохранение ОЗУ, 0,4 мкА в режиме ожидания, 0,7 мкА в режиме генератора импульсов времени, 220 мкА / MIPS активно, сверхбыстрый выход из режима ожидания в течение 1 мкс.


Отладочный модуль MSP430 LaunchPad (MSP-EXP430G2) Отладочный модуль MSP430 LaunchPad (MSP-EXP430G2) является простым в использовании средством разработки приложений на основе микроконтролеров MSP430. Характеристики макетной платы LaunchPad: DIP-гнездо с поддержкой до 20 выводов. Встроенный эмулятор флэш-памяти соединяет основанные на флэш-памяти устройства серии MSP430 Value Line с персональным компьютером при помощи кабеля мини-USB в режиме реального времени для осуществления внутрисистемного программирования и отладки. Эмулятор флэш-памяти может программировать все устройства серии Value Line MSP430 с интерфейсом Spy Bi-Wire (2-проводной JTAG), что обеспечивает полную масштабируемость для старших моделей устройств MSP программируемых светодиодных индикатора. 1 светодиод индикации питания. 2 программируемых кнопки (1 кнопка сброса).


Средства программирования микроконтролеров MSP430 Для программирования микроконтролеров MSP430 существует несколько компиляторов и встроенных программных сред разработки (IDE). Основными программными пакетами, предназначенными для разработки приложений с использованием MSP430, являются начальная (стартовая) версия пакета IAR Embedded Workbench KickStart и Code Composer Studio (CCS). Как IAR, так и CCS имеют бесплатно загружаемые версии с ограничением кода. Эти среды полностью функциональны на устройствах серии MSP430 Value Line, поскольку данные устройства не будут превышать предельный размер кода 4 КБ для IAR или 16 КБ для CCS.IAR Embedded Workbench KickStartCode Composer Studio (CCS) Альтернативой этим средствам разработки является среда разработки Energia – модифицированная версия среды Arduino IDE, разработанная специально для программирования LaunchPad MSP430 и распространяемая бесплатно. Интерфейс IDE полностью совпадает с прародителем, за исключением цвета. Таким образом, с помощью Energia можно легко использовать тексты Arduino-программ для LaunchPad. Язык программирования в среде Energia – Cи- подобный язык Arduino, достаточно понятный и простой в освоении.


Интегрированная среда разработки Energia Описание среды Energia можно получить на сайте Energia.ru. Оттуда же можно произвести и загрузку драйверов и программного обеспечения. Существует полный русский перевод языка Arduino, предназначенный для преодоления языкового барьера при распространении платформы по России - Радио ЛокН Hi-Tech Arduino Russian (ЛокН Hi-Tech Arduino Russian