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

Доброго дня уважаемые радиолюбители!
Приветствую вас на сайте “ “

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

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

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

На сегодняшний день существует большое количество микроконтроллеров разных типов. Популярностью у разработчиков пользуются микроконтроллеры РiС фирмы Microchip Technology, а также AVR и ARM компании Atmel Corporation. Чтобы заставить микроконтроллер выполнять поставленные задачи, его необходимо запрограммировать с помощью определенной программы. Обычно она прилагается к принципиальной схеме и содержится в файле с расширением.hex. Чаще эту программу называют “прошивка” (firmware). Для различных микроконтроллеров пишутся разные прошивки. Любая прошивка содержит машинные коды, понятные микроконтроллеру. Но человеку трудно запомнить соответствие управляющих команд и машинных кодов. Поэтому программу вначале пишут с помощью какого-нибудь языка программирования (Assembler, С), а затем переводят в машинные коды контроллера с помощью программы-транслятора.

Для написания программ также существует специальный софт. Например, для разработки прошивок AVR чаще используют WinAVR, который имеет все необходимые инструменты: компилятор (для языков С и C++) , программатор, отладчик, редактор и прочее. WinAVR широко используется во всем мире, как любителями, так и профессионалами. Для создания прошивок PIC микроконтроллеров можно воспользоваться CCS PCWHD (PIC С Compiler) – компилятор языка С. Так же, как и предыдущий софт, содержит все необходимое для программирования микроконтроллеров.
Для того чтобы “прошить” микроконтроллер, необходим программатор (см. Рис. 16) . Он представляет собой программно-аппаратный комплекс, состоящий непосредственно из устройства, связывающего микроконтроллер с компьютером, и программы, которая этим устройством управляет. Программатор заносит подготовленную для микроконтроллера программу в его память. Программатор можно купить или собрать самому.

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

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

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

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

1. Плата APS12DT56

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* МAIN PROGRAМ: */

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

#include

#include"derivative.h"

void main{void) {

unsigned char DDRB_INIT = 0xFF;

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

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

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

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

Микроконтроллеры – наиболее простой тип микропроцессорных систем, в которых все или большинство узлов системы выполнены в виде одной микросхемы.

Микропроцессорная система может рассматриваться как частный случай электронной системы, предназначенной для обработки входных сигналов и выдачи выходных сигналов (рис. 1). В качестве входных и выходных сигналов при этом могут использоваться аналоговые сигналы, одиночные цифровые сигналы, цифровые коды, последовательности цифровых кодов. Внутри системы может производиться хранение, накопление сигналов (или информации), но суть от этого не меняется. Если система цифровая (а микропроцессорные системы относятся к разряду цифровых), то входные аналоговые сигналы преобразуются в последовательности кодов выборок с помощью АЦП, а выходные аналоговые сигналы формируются из последовательности кодов выборок с помощью ЦАП. Обработка и хранение информации производятся в цифровом виде.

Характерная особенность традиционной цифровой системы состоит в том, что алгоритмы обработки и хранения информации в ней жестко связаны со схемотехникой системы. То есть изменение этих алгоритмов возможно только путем изменения структуры системы, замены электронных узлов, входящих в систему, и/или связей между ними. Например, если нам нужна дополнительная операция суммирования, то необходимо добавить в структуру системы лишний сумматор. Или если нужна дополнительная функция хранения кода в течение одного такта, то мы должны добавить в структуру еще один регистр. Естественно, это практически невозможно сделать в процессе эксплуатации, обязательно нужен новый производственный цикл проектирования, изготовления, отладки всей системы. Именно поэтому традиционная цифровая система часто называется системой на "жесткой логике".

Рис. 1. Электронная система

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

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

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

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

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



Рис. Программируемая электронная система

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

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

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

Однако за последние десятилетия быстродействие универсальных (микропроцессорных) систем сильно выросло (на несколько порядков). К тому же большой объем выпуска микросхем для этих систем привел к резкому снижению их стоимости. В результате область применения систем на "жесткой логике" резко сузилась. Более того, высокими темпами развиваются сейчас программируемые системы, предназначенные для решения одной задачи или нескольких близких задач. Они удачно совмещают в себе как достоинства систем на "жесткой логике", так и программируемых систем, обеспечивая сочетание достаточно высокого быстродействия и необходимой гибкости. Так что вытеснение "жесткой логики" продолжается.

Ядром любой микропроцессорной системы является микропроцессор или просто процессор (от английского processor). Перевести на русский язык это слово правильнее всего как "обработчик", так как именно микропроцессор – это тот узел, блок, который производит всю обработку информации внутри микропроцессорной системы. Остальные узлы выполняют всего лишь вспомогательные функции: хранение информации (в том числе и управляющей информации, то есть программы), связи с внешними устройствами, связи с пользователем и т.д. Процессор заменяет практически всю "жесткую логику", которая понадобилась бы в случае традиционной цифровой системы. Он выполняет арифметические функции (сложение, умножение и т.д.), логические функции (сдвиг, сравнение, маскирование кодов и т.д.), временное хранение кодов (во внутренних регистрах), пересылку кодов между узлами микропроцессорной системы и многое другое. Количество таких элементарных операций, выполняемых процессором, может достигать нескольких сотен. Процессор можно сравнить с мозгом системы.

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


Рис. Информационные потоки в микропроцессорной системе

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

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

Для выполнения команд в структуру процессора входят внутренние регистры, арифметико-логическое устройство (АЛУ, ALU – Arithmetic Logic Unit) , мультиплексоры, буферы, регистры и другие узлы. Работа всех узлов синхронизируется общим внешним тактовым сигналом процессора. То есть процессор представляет собой довольно сложное цифровое устройство.

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

Рис. 4. Пример структуры простейшего процессора

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

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

Рис. Классическая структура связей

При шинной структуре связей (рис. 6) все сигналы между устройствами передаются по одним и тем же линиям связи, но в разное время (это называется мультиплексированной передачей). Причем передача по всем линиям связи может осуществляться в обоих направлениях (так называемая двунаправленная передача). В результате количество линий связи существенно сокращается, а правила обмена (протоколы) упрощаются. Группа линий связи, по которым передаются сигналы или коды как раз и называется шиной (англ. bus).

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


Рис. 6. Шинная структура связей

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

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

Типичная структура микропроцессорной системы приведена на рис. 7. Она включает в себя три основных типа устройств:

  1. процессор;
  2. память, включающую оперативную память ( ОЗУ, RAM – Random Access Memory) и постоянную память ( ПЗУ, ROM –Read Only Memory), которая служит для хранения данных и программ;
  3. устройства ввода/вывода ( УВВ, I/O – Input/Output Devices), служащие для связи микропроцессорной системы с внешними устройствами, для приема (ввода, чтения, Read) входных сигналов и выдачи (вывода, записи, Write) выходных сигналов.



Рис. 7. Структура микропроцессорной системы

Все устройства микропроцессорной системы объединяются общей системной шиной (она же называется еще системной магистралью или каналом ). Системная магистраль включает в себя четыре основные шины нижнего уровня:

1) шина адреса (Address Bus);

2) шина данных (Data Bus);

3) шина управления (Control Bus);

4) шина питания (Power Bus).

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

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

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

Наконец, шина питания предназначена не для пересылки информационных сигналов, а для питания системы. Она состоит из линий питания и общего провода. В микропроцессорной системе может быть один источник питания (чаще +5 В) или несколько источников питания (обычно еще –5 В, +12 В и –12 В). Каждому напряжению питания соответствует своя линия связи. Все устройства подключены к этим линиям параллельно.

Если в микропроцессорную систему надо ввести входной код (или входной сигнал), то процессор по шине адреса обращается к нужному устройству ввода/вывода и принимает по шине данных входную информацию. Если из микропроцессорной системы надо вывести выходной код (или выходной сигнал), то процессор обращается по шине адреса к нужному устройству ввода/вывода и передает ему по шине данных выходную информацию.

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

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

Важно учитывать, что устройства ввода/вывода чаще всего представляют собой устройства на "жесткой логике". На них может быть возложена часть функций, выполняемых микропроцессорной системой. Поэтому у разработчика всегда имеется возможность перераспределять функции системы между аппаратной и программной реализациями оптимальным образом. Аппаратная реализация ускоряет выполнение функции, но имеет недостаточную гибкость. Программная реализация значительно медленнее, но обеспечивает высокую гибкость. Аппаратная реализация функций увеличивает стоимость системы и ее энергопотребление, программная – не увеличивает. Чаще всего применяется комбинирование аппаратных и программных функций.

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

Практически любая развитая микропроцессорная система (в том числе и компьютер) поддерживает три основных режима обмена по магистрали:

1) программный обмен информацией;

2) обмен с использованием прерываний (Interrupts);

3) обмен с использованием прямого доступа к памяти (ПДП, DMA – Direct Memory Access).

Программный обмен информацией является основным в любой микропроцессорной системе. Он предусмотрен всегда, без него невозможны другие режимы обмена. В этом режиме процессор является единоличным хозяином (или задатчиком, Master) системной магистрали. Все операции (циклы) обмена информацией в данном случае инициируются только процессором, все они выполняются строго в порядке, предписанном исполняемой программой. Процессор читает (выбирает) из памяти коды команд и исполняет их, читая данные из памяти или из устройства ввода/вывода, обрабатывая их, записывая данные в память или передавая их в устройство ввода/вывода. Путь процессора по программе может быть линейным, циклическим, может содержать переходы (прыжки), но он всегда непрерывен и полностью находится под контролем процессора. Ни на какие внешние события, не связанные с программой, процессор не реагирует. Все сигналы на магистрали в данном случае контролируются процессором. Рис. 9. Архитектура с общей шиной данных и команд

Но существует также и альтернативный тип архитектуры микропроцессорной системы – это архитектура с раздельными шинами данных и команд (двухшинная, или гарвардская, архитектура). Эта архитектура предполагает наличие в системе отдельной памяти для данных и отдельной памяти для команд (рис. 10). Обмен процессора с каждым из двух типов памяти происходит по своей шине.

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

Архитектура с общей шиной (принстонская, фон-неймановская) проще, она не требует от процессора одновременного обслуживания двух шин, контроля обмена по двум шинам сразу. Наличие единой памяти данных и команд позволяет гибко распределять ее объем между кодами данных и команд. Например, в некоторых случаях нужна большая и сложная программа, а данных в памяти надо хранить не слишком много. В других случаях, наоборот, программа требуется простая, но необходимы большие объемы хранимых данных. Перераспределение памяти не вызывает никаких проблем, главное – чтобы программа и данные вместе помещались в памяти системы. Как правило, в системах с такой архитектурой память бывает довольно большого объема (до десятков и сотен мегабайт). Это позволяет решать самые сложные задачи.

Рис. 10. Архитектура с раздельными шинами данных и команд

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

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

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

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

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

В настоящее время при разработке новых микропроцессорных систем чаще всего выбирают путь использования микроконтроллеров (примерно в 80 % случаев). При этом микроконтроллеры применяются или самостоятельно, с минимальной дополнительной аппаратурой, или в составе более сложных контроллеров с развитыми средствами ввода/вывода.

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

Микроконтролеры Микроконтро́лер (англ. 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) различных микроконтроллеров, различающихся сферой применения, параметрами, встроенными в кристалл периферийными узлами. Выпуском микроконтроллеров занимается более десятка производителей.