Микроконтроллеры (Тема). Микроконтроллеры Микроконтро́ллер (англ. Micro Controller Unit, MCU) микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер. Микросхема предназначенная для управления электронными устройства

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

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

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

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

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

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

В ходе работы микрконтроллер считывает команды из памяти или порта ввода и исполняет их. Что означает каждая команда, определяется системой команд микроконтроллера. Сиситема команд заложена в архитектуре микрконтроллера и выполнение кода команды выражается в проведении внутренними элементами микросхемы определенных микроопераций.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Организация памяти микроконтроллера
Порты ввода-вывода
Таймеры-счетчики
Прерывания
Аналого-цифровой преобразователь
Интерфейсы связи
  • Универсальный синхронно-асинхронный приемопередатчик 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 и др.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На нашем сайте наиболее часто будет разговор об микроконтролере 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-память. Данная последовательность команд является ничем иным, как программой микроконтроллера, которую создает программист. Все команды находятся в ПЗУ по определенным адресам. Для того, чтобы достать какую-то команду из ПЗУ, необходимо обратиться к ее адресу, чем занимается программный счетчик или счетчик команд. Данные из ПЗУ попадают в регистр команд. АЛУ постоянно «смотрит» содержимое регистра команд и если в нем появляется команда, то АЛУ сразу же начинает ее выполнять. Все эти устройства микроконтроллера были бы бесполезны без портов ввода-вывода, с помощью которых микроконтроллер взаимодействует с внешним миром. Порты ввода-вывода можно настраивать таким образом, чтобы они работали как в качестве входов, так и в качестве выходов. Управления портами осуществляется через специальные регистры. По умолчанию все порты микроконтроллера настроены на выход.

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

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

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

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

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

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



Просмотров