Микроконтроллер - это целая микропроцессорная система в одной микросхеме(на одном кристалле). Данная микросхема предназначена для управления всевозможными электронными устройствами и выполнения множества функций. Взаимодействие между электронными устройствами совершается в соответствии с заложенной в микроконтроллер программой.

На нашем сайте наиболее часто будет разговор об микроконтролере Arduino и её наиболее продвинутом варианте в виде Arduino Due .
Микроконтроллеры дают возможность управлять разнообразными электронными и электрическими блоками. Как правило, микроконтроллеры, не работают в одиночку, а интегрируются(процесс объединение части в целое) в схему, где подключены различные периферийные устройства(мониторы, клавиатуры, различные датчики и т.п).

Миросхемы изобрели практически одновременно Джек Килби (Тексас Инструментс) и Роберт Нойс (Файрчайлд Семикондакторс) примерно в 1958 году. Производить промышленно начали только в начале 70-х годов. Первый процессор (8080) был выпущен в 1974 году. Придуман он был под названием Intel 4040, ещё в 1969 году, но в коммерческое производство пошел только в 1974.

С появлением однокристальных микро-ЭВМ связывают начало эры массового применения компьютерной автоматизации в области управления. Скорее всего, это обстоятельство и определило термин «контроллер» (англ. controller - регулятор, управляющее устройство). В связи с резким спадом отечественного производства и увеличением импорта техники, в том числе вычислительной, термин «микроконтроллер» (МК) вытеснил из употребления термин «однокристальная микро-ЭВМ». Первый патент на однокристальную микро-ЭВМ был выдан в 1971 году инженерам Майклу Кочрену и Гари Буну , сотрудникам американской Texas Instruments. Именно они родоночальники идеи размещения на одном кристалле не только процессор, но и память с устройствами ввода-вывода. В 1976 году американская фирма Intel выпускает микроконтроллер i8048. Через 4 года, в 1980 году, Intel выпускает следующий микроконтроллер: i8051. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер i8051 являлся для своего времени крайне сложным изделием - в кристалле было использовано 128 тысяч транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре i8086.

Виды микроконтроллеров

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

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

Встраиваемые в приборы и аппаратуру микроконтроллеры запрограммированы на реализацию узкоспецилизированных задач.

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

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

встраиваемые (embedded) 8-разрядные МК,

16- и 32-разрядные МК,

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

Типы корпусов микроконтроллеров

DIP(Dual Inline Package) - корпус с двумя рядами контактов. Количество ножек в корпусе от 8 до 56.

SOIC(Small Outline Integrated Circuit) - планарная микросхема - ножки припаиваются с той же стороны, где находится корпус. При этом, микросхема лежит корпусом на плате. Количество ножек и их нумерация - такие же, как у DIP.

PLCC(Plastic Leader Chip Carrier) - квадратный корпус. Ножки расположены по всем четырем сторонам, и имеют J - образную форму.

TQFP(Thin Profile Quad Flat Package) - среднее между SOIC и PLCC. Квадратный корпус толщиной около 1 мм, выводы расположены по всем сторонам. Количество ножек - от 32 до 144.

Перечислим основные составные части любого микроконтроллера:

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

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

Порты ввода-вывода -> позволяют микроконтроллеру связываться с окружающим миром.

Для достижения более высокого уровня интеграции(процесс объединения частей в целое) и надежности, все микроконтроллеры имеют встроенные дополнительные устройства. Встроенные устройства повышают надежность системы, потому что они не требуют никаких внешних электрических цепей. Они предварительно тестируются производителем и освобождают место на плате, так как все соединительные электрические цепи выполнены на кристале в микроконтроллере. К наиболее распространенным встроенным устройствам относятся устройства памяти и порты ввода/вывода (I/O), интерфейсы связи, таймеры, системные часы. Устройства памяти включают оперативную память (RAM), постоянные запоминающие устройства (ROM), перепрограммируемую ROM (EPROM), электрически перепрограммируемую ROM (EEPROM). Таймеры включают и часы реального времени, и таймеры прерываний. Средства I/O включают последовательные порты связи, параллельные порты (I/O линии), аналого-цифровые преобразователи (A/D), цифроаналоговые преобразователи (D/A), драйверы жидкокристаллического дисплея (LCD) или драйверы вакуумного флуоресцентного дисплея (VFD). Встроенные устройства обладают повышенной надежностью, поскольку они не требуют никаких внешних электрических цепей.

АЛУ производит операции над числами и возвращает результат операции в виде числа. Данные числа помещаются в регистры общего назначения – своеобразную временную память. У каждого микроконтроллера количество регистров может быть разным. Однако, для нормальной работы микроконтроллера регистров общего назначения недостаточно, т.к., например, 32 байта – очень маленький объем памяти. Для того, чтобы можно было хранить больше информации, используется оперативно-запоминающее устройство (ОЗУ) . Регистры общего назначения содержат данные, с которыми АЛУ работает в данный момент, а ОЗУ – остальные. Команды, а точнее последовательность команд, которые выполняет АЛУ, хранятся в постоянно-запоминающем устройстве (ПЗУ) . Обычно это Flash-память. Данная последовательность команд является ничем иным, как программой микроконтроллера, которую создает программист. Все команды находятся в ПЗУ по определенным адресам. Для того, чтобы достать какую-то команду из ПЗУ, необходимо обратиться к ее адресу, чем занимается программный счетчик или счетчик команд. Данные из ПЗУ попадают в регистр команд. АЛУ постоянно «смотрит» содержимое регистра команд и если в нем появляется команда, то АЛУ сразу же начинает ее выполнять. Все эти устройства микроконтроллера были бы бесполезны без портов ввода-вывода, с помощью которых микроконтроллер взаимодействует с внешним миром. Порты ввода-вывода можно настраивать таким образом, чтобы они работали как в качестве входов, так и в качестве выходов. Управления портами осуществляется через специальные регистры. По умолчанию все порты микроконтроллера настроены на выход.

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

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

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

Собирать устройство на основе микроконтроллера можно как на собственной плате, так и на макетной или даже методом навесного монтажа, в зависимости от того, как вам удобней и от сложности предполагаемого устройства.

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

Организация памяти микроконтроллера
Порты ввода-вывода
Таймеры-счетчики
Прерывания
Аналого-цифровой преобразователь
Интерфейсы связи
  • Универсальный синхронно-асинхронный приемопередатчик USART

Видеокурс по программированию микроконтроллеров STM32

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

Главной особенностью микропроцессора является возможность программирования логики работы.

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

Микропроцессорная система (МПС) представляет собой функционально законченное изделие, состоящее из одного или нескольких устройств, главным образом микропроцессорных: микропроцессора и/или микроконтроллера.

Микропроцессорное устройство (МПУ) представляет собой функционально и конструктивно законченное изделие, состоящее из нескольких микросхем, в состав которых входит микропроцессор; оно предназначено для выполнения определенного набора функций: получение, обработка, передача, преобразование информации и управление.

Основные преимущества микропроцессорных систем по сравнению с цифровыми системами на «жесткой логике».

  • Многофункциональность: большее количество функций может быть реализовано на одной элементной базе.
  • Гибкость: возможность исправления и модификации программы микропроцессора для реализации различных режимов работы системы.
  • Компактность: миниатюрные габариты микросхем и уменьшения их количества по сравнению с реализацией на «жесткой логике» позволяют уменьшить габариты устройств.
  • Повышение помехоустойчивости: меньшее количество соединительных проводников способствует повышению надежности устройств.
  • Производительность: возможность применения больших рабочих частот и более сложных алгоритмов обработки информации.
  • Защита информации: возможность защитить программу микропроцессора от считывания позволяет защитить авторские права разработчиков.

Хотя микропроцессор является универсальным средством для цифровой обработки информации, однако отдельные области применения требуют реализации определенных специфических вариантов их структуры и архитектуры. Поэтому по функциональному признаку выделяются два класса: микропроцессоры общего назначения и специализированные микропроцессоры. Среди специализированных микропроцессоров наиболее широкое распространение получили микроконтроллеры, предназначенные для выполнения функций управления различными объектами, и цифровые сигнальные процессоры (DSP – Digital Signal Processor), которые ориентированы на реализацию процедур, обеспечивающих необходимое преобразование аналоговых сигналов, представленных в цифровой форме.

Неполный список периферии, которая может присутствовать в микроконтроллерах, включает в себя:

  • различные интерфейсы ввода-вывода, такие как UART, I²C, SPI, CAN, USB, ETHERNET;
  • аналого-цифровые и цифро-аналоговые преобразователи;
  • компараторы;
  • широтно-импульсные модуляторы;
  • таймеры-счетчики;
  • генератор тактовой частоты;
  • контроллеры дисплеев и клавиатур;
  • массивы встроенной флэш-памяти.

Идея размещения на одном кристалле микропроцессора и периферийных устройств принадлежит инженерам М. Кочрену и Г. Буну, сотрудникам Texas Instruments. Первым микроконтроллером был 4-х разрядный TMS1000 от Texas Instruments, который содержал ОЗУ (32 байта), ПЗУ (1 кбайт), часы и поддержку ввода-вывода. Выпущенный в 1972 году, он имел новую по тем временам возможность – добавление новых инструкций.

В 1976 году (через 5 лет после создания первого микропроцессора) на свет появился первый микроконтроллер фирмы Intel, получивший имя 8048. Помимо центрального процессора, на кристалле находились 1 килобайт памяти программ, 64 байта памяти данных, два восьмибитных таймера, генератор часов и 27 линий портов ввода-вывода. Микроконтроллеры семейства 8048 использовались в игровых консольных приставках Magnavox Odyssey, в клавиатурах первых IBM PC и в ряде других устройств.

На сегодняшний день среди крупных производителей микроконтроллеров следовало бы упомянуть Atmel, Microchip, ST Microelectronics, Texas Instruments, Freescale Semiconductor, NXP и др.

Микроконтролеры Микроконтро́лер (англ. 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

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

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

В связи со спадом отечественного производства и возросшим импортом техники, в том числе вычислительной, термин «микроконтроллер» (МК) вытеснил из употребления ранее использовавшийся термин «однокристальная микро-ЭВМ».

Первый патент на однокристальную микро-ЭВМ был выдан в 1971году инженерам М. Кочрену и Г. Буну, сотрудникам американской Texas Instruments. Именно они предложили на одном кристалле разместить не только процессор, но и память с устройствами ввода-вывода.

В 1976 году американская фирма Intel выпускает микроконтроллер i8048. В 1978 году фирма Motorola выпустила свой первый микроконтроллер MC6801, совместимый по системе команд с выпущенным ранее микропроцессором MC6800. Через 4 года, в 1980 году, Intel выпускает следующий микроконтроллер: i8051. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер i8051 являлся для своего времени очень сложным изделием - в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре i8086.

На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также 32-битные микроконтроллеры, архитектуры ARM, которую разрабатывает фирма ARM Limited и продаёт лицензии другим фирмам для их производства. Несмотря на популярность в России микроконтроллеров упомянутых выше, по данным Gartner Grup от 2009 года мировой рейтинг по объёму продаж выглядит иначе: первое место с большим отрывом занимает Renesas Electronics на втором Freescale, на третьем

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

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

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

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

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

В автомобилях: бортовые компьютеры, системы управления двигателем и т.д.;

В промышленности: устройств промышленной автоматики - от программируемого реле и встраиваемых систем до ПЛК,систем управления станками.

В настоящее время существует огромная номенклатура (более 10000) различных микроконтроллеров, различающихся сферой применения, параметрами, встроенными в кристалл периферийными узлами. Выпуском микроконтроллеров занимается более десятка производителей.

  • ВВЕДЕНИЕ
    • 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 ?. ?????? ?.?. ?????.