Какие бывают микроконтроллеры: Тотальный микроконтроль. Какие бывают микроконтроллеры и как выбрать подходящий

Содержание

Выбираем микроконтроллер вместе / Хабр

Прочитав

эту статью

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

Могу предположить, что всех интересует выбор их

первого

, либо первого 32-х битного МК.


Тем, кто знает, что на фотографии нет ни одного микроконтроллера — прошу в комментарии, дополнить мой рассказ и тем самым поделиться своим опытом с начинающими. Остальным, непременно под кат!


На мой взгляд чем проще будет каждый этап обучения — тем проще будет дойти до самостоятельного плаванья. Поэтому я считаю, что на начальном этапе следует брать все готовое. Ничего не придумывать самому. Представьте:
вы выбрали контроллер,
проглядели даташит,
развели под него плату,
или нашли ее на просторах интернета,
купили все компоненты(или аналоги если советуемых не было),
запаяли все,
написали первый «hello world»,
собрали программатор, прошили контроллер

И… и ничего не происходит! Что-то не работает, и вы не можете понять что: то ли в пайке ошибка, то ли что-то с программой, то ли в интернете кривая схема, то-ли проблемы с софтом.

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

Преимущество простого старта отлично показывает платформа Arduino. Посудите сами: возможности контроллеров совсем не велики, цены на платы огромны, зато огромная поддержка сообщества и все уже готова, любые платы расширения, кучи примеров.
За счет этого и живет платформа!

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

совсем не велик:
я бы сразу отсек все 8-ми и 16-ти битные архитектуры, кроме PIC и AVR, да иногда производители предлагают отладочные платы и контроллеры по очень заманчивой цене
но я не советую их брать потому, что это малораспространенные архитектуры и на них меньше примеров + пересаживаться на другие контроллеры будет сложнее.
По той же самой причине отсек все 32-х разрядные архитектуры кроме ARM + с ними еще начинаются проблемы с примерами, и они постепенно вымирают.

Арм микроконтроллеры делятся на ARM7, ARM9, Cortex M0, 3, 4.
Седьмые и девятые постепенно замещаюся кортексами и вскоре их тоже не будет.

Итого имеем:
AVR
PIC
ARM Cortex

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

Итак, какие производители представлены у нас?
NXP, ST, Freescale, TI, Luminary Micro, Atmel и много других но поменьше распространенных.

Как выбрать из такого большого количества производителей?

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

Сам щупал только NXP, ST и Freescale.

Первые 2 производителя наводнили Москву и другие города России дешевыми/бесплатными отладками — это очень хорошо в том смысле, что всегда есть у кого спросить, есть к кому обратиться.
Также не нужны никакие программаторы — все есть на борту!

Для NXP есть альтернатива от Olimex www.chipdip.ru/product/lpc-p1343.aspx
Есть и минусы: когда захочется расширить их возможности придется искать новую.

Больше всего мне понравилась отлатдка от Freescale, с которой столкнулся на работе.
На мой взгляд это лучший вариант для новичка, но у нее есть один огромный минус:

пока довольно сложно найти в продаже и регионам придется заказывать, но оно того стоит:
Первое и самое важно преимущество: стандартные платы расширения (сначала покупаете стандартный набор, потом докупаете вайфай, сенсоры и тп)

Еще большущий плюс это среда разработки: благодаря Processor Expert можно генерировать код, и море примеров с объяснениями.

Итак подведем итоги:

1 купить Arduino Uno c AVR за 1000р на плате практически ничего нет, зато в продаже множество плат расширения и огромное сообщество

2 купить STM32L-DISCOVERY c M3 за 16.22дол c сенсорными кнопками, USB и маленьким LСD-дисплеем и дебагером на борту

3 купить за 1000р LPCEXPRESSO c M3 с просто выведеными контактами и дебагером на борту

4 купить KWIKSTICK с M4 за 30дол+ доставку с большим сегментным LCD, USB, входом под наушники, динамиком, сенсорными кнопками, литиевой батарейкой, микрофоном, ИК портом, слотом под SD-карту + возможность расширения функционала без пайки и больших вложений. Большой набор библиотек, примеров и хорошая IDE.

В итоге я считаю, что надо покупать STM32L-DISCOVERY и начинать с нее,
либо если не лень заморочиться с заказом платы и чуть-чуть побольше заплатить брать KWIKSTICK — с ней старт будет полегче, да и хватит ее на дольше, но для общения с коллегами нужен английский.

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

UPD: stm32l-discovery по таким ценам можно купить в Компэле
Kwikstick на сайте freescale

Микроконтроллеры. Энциклопедия электроники L7805CV

Микроконтроллер (microcontroller , microcontroller unit, MCU) – интегральная микросхема, совмещающая в себе процессор, ОЗУ, ПЗУ, АЦП, ЦАП, каналы ввода/вывода, таймеры и прочее.

Классификация

В зависимости от разрядности (как правило, шины данных) микроконтроллеры бывают: 4, 8, 16, 32 битные.

В настоящее время существует большое число архитектур микроконтроллеров. Наиболее распространены МК Гарвардской архитектуры с системой команд RISC. Ниже перечислены некоторые из них:

  • AVR – семейство 8ми битных МК выпускаемые фирмой Microchip (ранее выпускались фирмой Atmel).
  • PIC – семейство 8, 16 и 32 битных МК выпускаемые фирмой Microchip.
  • SAM – семейство 32 битных МК на базе ядра ARM Cortex выпускаемые фирмой Microchip.
  • STM8 – семейство 8ми битных МК выпускаемых фирмой ST.
  • STM32 – семейство 32 битных МК на базе ядра ARM Cortex выпускаемых фирмой ST.

Семейство восьмибитных микроконтроллеров PIC делится на несколько серий:

  • PIC10 – серия самых простых микроконтроллеров в малом корпусе с сокращенной системой команд;
  • PIC12/PIC16 – наиболее массовая серия микроконтроллеров, содержит разнообразную периферию: SPI, I2C, USART, LCD, АЦП;
  • PIC18 – серия продвинутых восьмибитных микроконтроллеров в больших корпусах (от 28 до 100 выводов), содержит сложную периферию: CAN, USB, Ethernet, LCD, драйвер сенсорных кнопок.

Семейство восьмибитных микроконтроллеров AVR делится на несколько серий:

  • tinyAVR – серия микроконтроллеров в малом корпусе;
  • megaAVR – наиболее массовая серия микроконтроллеров, содержит разнообразную периферию: SPI, USART, ЦАП, PWM и т.д.;
  • XMEGA – серия продвинутых восьмибитных микроконтроллеров в больших корпусах (от 44 до 100 выводов), содержит сложную периферию: USB, DMA.

Структура

Структурная схема микроконтроллера семейства AVR приведена на рисунке.

Память программ (Program memory)

В микроконтроллере программа хранится в отдельной области памяти – память программ. Первые микроконтроллеры выпускались с однократно программируемой памятью программ. У выпускаемых в настоящее время микроконтроллеров программы хранятся в электрически перепрограммируемой памяти типа FLASH. Это позволяет обновлять программу в процессе жизненного цикла изделия. Применяемая в микроконтроллерах FLASH память допускает около 10 000 циклов записи/очистки.

Оперативная память (Data memory, SRAM)

Оперативная память микроконтроллера содержит регистры портов ввода/вывода и пользовательские регистры необходимые для выполнения программ. Например, адресное пространство оперативной памяти микроконтроллера семейства AVR Atmega8A состоит из 32 регистров общего назначения, 64х регистров портов ввода/вывода и 1024 байтов памяти.

Память данных (EEPROM)

Энергонезависимая память данных (EEPROM) предназначена для хранения данных при отсутствии питания, например, коэффициенты настройки устройства, текущий режим и т.д. В МК память данных выделена в отдельное адресное пространство. Для чтения и записи используются специальные команды. Ресурс памяти около 100 000 циклов записи/очистки.

АЛУ и регистры данных

Арифметико-логическое устройства (АЛУ) предназначено для выполнения операций с регистрами и константами. Операции могут быть арифметические, логические, операции, изменяющие счетчик команд.

Особенностью архитектуры AVR является наличие 32 регистров общего назначения: R0…R31. В архитектуре PIC предусмотрен один 8ми битный регистр, под названием W.

После выполнения операции в АЛУ происходит запись регистра статуса (в архитектурах AVR и PIC регистр называется STATUS). В нем содержится информация о выполненной информации. Отдельные биты характеризуют: флаг четности, флаг отрицательного числа, флаг нуля и т.д.

Также после выполнения команды изменяется счетчик программы: адрес в памяти программ выполняемой команды.

Тактовый генератор

Для работы АЛУ, периферии ввода/вывода, оперативной памяти необходим тактовый сигнал. В качестве источника тактового сигнала в большинстве микроконтроллеров могут выступать:

  • встроенный RC генератор;
  • внешний сигнал от генератора прямоугольных импульсов;
  • встроенный генератор от внешнего кварцевого резонатора;
  • встроенный генератор от внешней RC цепочки.

На рисунке ниже показано использование генератора от внешнего кварцевого резонатора.

Встроенный RC генератор может работать на нескольких частотах. Выбор конкретной частоты осуществляется программированием специальной ячейки. Например, у МК ARV частота задается изменением прожигаемых ячеек (fuses) CKSEL.

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

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

Выводы микроконтроллера могут быть настроены на прием или на выдачу логического сигнала. Направление работы вывода меняются в пользовательской программе путем изменения регистра порта ввода/вывода. На рисунке вывод PB3 работает как вход, PB0, PB1 – как выход. Применение полевых транзисторов позволяет подключать светодиоды непосредственно к микроконтроллеру.

Некоторые выводы микроконтроллера кроме приема и выдачи логических сигналов могут применяться для других целей, например, вход АЦП, компаратора и т.д.

Интерфейсы связи

Шина SPI (Serial Peripheral Interface) – синхронная полнодуплексная шина. Предназначена для обмена между микроконтроллером и другими устройствами.

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

  • MOSI (master output, slave input) — передача информации от ведущего устройства ведомому;
  • MISO (master input, slave output) — передача информации от ведомого устройства;
  • SCLK — тактовый сигнал;
  • SS – выбор ведомого устройства.

Обмен данными между микроконтроллером ATMega8A и EEPROM памятью AT25010B по шине SPI

Шина I2C, TWI – последовательная ассиметричная шина, использующая две линии связи:

  • SDA (serial data) – линия данных;
  • SCL (serial clock) – линия тактового сигнала.

АЦП MCP3425 измеряет сопротивление терморезистора, чтение измеренных значений осуществляется по шине I2C/TWI

USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter) – универсальный синхронный/асинхронный последовательный передатчик/приемник. Позволяет принимать/передавать данные по последовательному интерфейсу.

Для связи с персональным компьютером через порт RS-232 используется микросхема MAX232. Обмен информацией осуществляется через порт USART микроконтроллера.

Счетчики/таймеры

Счетчики/таймеры предназначены для предназначены для подсчета импульсов. Источником импульсов может служить внешний сигнал или тактовый сигнал микроконтроллера.

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

Блок прерываний

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

Сторожевой таймер

Сторожевой таймер (watchdog timer) предназначен для сброса микроконтроллера при его зависаниях. Зависания могут возникнуть из-за ошибок в пользовательской программе, (переход в бесконечный цикл, переход в «пустую» область памяти программ). При переполнении сторожевого таймера осуществляется сброс микроконтроллера.

АЦП

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

Компараторы

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

Конфигурируемая логика

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

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

Корпуса

Одна модель микроконтроллера может выпускаться в различных корпусах. Корпус DIP для монтажа в отверстия платы последнее время встречается всё реже. Ниже приведен краткий список наиболее распространенных корпусов микроконтроллеров:

  • DIP – Dual Inline Package;
  • SOIC – Small-Outline Integrated Circuit;
  • SSOP – Shrink Small Outline Package;
  • TQFP – Thin profile plastic flat package;
  • MLF – Micro Lead Frame Package.

Язык

Программирование микроконтроллеров может осуществляться на ассемблере или на языке высокого уровня Си.

Запись программ в МК

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

Контроллеры Microchip PIC16 программируются по технологии ICSP (In-Circuit Serial Programming). По данной технологии программирование может осуществляться в готовом устройстве. Программатор имеет пять линий связи с МК:

Микроконтроллеры Microchip AVR можно запрограммировать параллельным и последовательным способами. Для параллельного метода необходимо: 9 (управляющие линии) + 8 (линии данных) +2 (линии питания и земли) линий связи. Параллельное программирование требует подачи напряжения 12 В в микроконтроллер.

Для последовательного метода используется интерфейс SPI: 5 линий связи. Одним из недостатков является медленная скорость по сравнению с параллельным методом и необходимость предварительного запуска МК.

На рисунке ниже представлен внутрисхемный USB программатор микроконтроллеров AVR. Такой программатор продается в известном китайском магазине.

Среда разработки

Разработка программ для микроконтроллеров осуществляется в интегрированной среде разработке (IDE). Для создания проектов на AVR и PIC можно воспользоваться средой: Atmel Studio 7 IDE, MPLAB X IDE, он-лайн MPLAB Xpress.

Онлайн среда разработки MPLAB Xpress

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

Онлайн среда конфигурирования ATmel START

Применение

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

Atmel микроконтроллеры: помощники начинающим программистам

Компания Atmel – производитель популярных семейств микроконтроллеров, каждое из которых имеет свои направления. Интересен этот производитель тем, что микроконтроллеры Atmel семейства AVR очень популярны в среде радиолюбителей. Кроме AVR контроллеров компания выпускает устройства с архитектурой ARM и i8051.

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

Плата Atmel AVR

Какие бывают микроконтроллеры Atmel

Начнем с самого популярного, для освоения микроконтроллеров в целом, – Atmel AVR. Его можно разделить на два направления:

  1. 8-битные микроконтроллеры.
  2. 32-битные микроконтроллеры.

Среди простых проектов для любителей электроники особую популярность снискала именно 8-битная часть семейства. Есть хорошая справочная литература «Микроконтроллеры AVR семейства classic фирмы Atmel», в которой описана вся архитектура, назначение отдельных узлов, регистров и прочего. Не стоит беспокоиться, что она посвящена уже устаревшему семейству AVR Classic – в наши дни оно вытеснено контроллерами Attiny и Atmega, хотя самая маленькая и быстрая модель – AT90S2313 выпускается и по сей день, слегка в модернизированном виде – Attiny 2313.

Современные семейства программно и функционально совместимы с более старыми, а переход с Classic на Mega и Tiny требует минимальных трудозатрат и изменений программного кода. Среди семейства особенную популярность заслужил микроконтроллер с маркировкой Atmega 328p, применяемый во многих популярных платах Arduino. Почти все они имеют небольшое количество энергонезависимой памяти с ограниченным числом циклов записи (до 100 000) – EEPROM.

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

Семейство Atmel Smart базируется на архитектуре ARM. Компания правообладатель ARM свободно продает лицензии на разработку контроллеров со своей архитектурой разным производителям, что ускоряет распространение и популяризацию первых. Стоит отметить яркого представителя – микроконтроллер AT91SAM3X8E, является сердцем Arduino DUE, 32-бита. Это позволяет очень легко начать знакомство с такой архитектурой и разработку устройств энтузиастам электроники. Atmel ARM по характеристикам превосходит большинство микроконтроллеров Atmel AVR

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

Способы связи компьютера и микроконтроллера Atmel

Чаще всего связь с МК устанавливается через COM-порт. На современных компьютерах и ноутбуках последовательного порта нет. Это вызывает необходимость использования USB-UART преобразователь, который распознаётся как виртуальный COM-порт.

Чтобы заливать прошивку в микроконтроллер, нужен либо этот преобразователь, либо специализированный программатор, например, AVRISP MKii – вы можете его собрать сами, но и в его составе есть микроконтроллер.

Происходит «каламбур»: для сборки программатора нужен программатор. Чтобы выйти из этой ситуации, используется специальный чип AT90USB162. Он, в свою очередь, при подключении к USB порту компьютера распознаётся как полноценное USB устройство, прошивку в которое можно загрузить с помощью утилиты Flip от Atmel.

Утилита Flip поддерживает программирование через следующие интерфейсы:

С помощью flip можно загрузить прошивку для программатора микроконтроллеров Атмела без использования COM-порта, а схема AVRISP mk II изображена ниже.

Для работы микроконтроллеров по интерфейсу UART (маркировка интерфейса – rs-232) в Atmel AVR выделен регистр UDR (UART data register), а настройки его работы хранятся в конфигурационных регистрах UCSRA, UCSRB и UCSRС. Настройки битов приемопередатчика Rx, Tx, кстати, хранятся в UCSRA.

Вопросы программирования микроконтроллеров

Для программирования МК ваш код нужно компилировать, для этого есть множество программного обеспечения, пример одного из них – это компилятор IAR. Использование этого компилятора не ограничено одними лишь Atmel. 8051, AVR, AVR32, ARM – это лишь небольшой перечень из более чем 20 поддерживаемых архитектур.

IAR – это универсальное решение для программирования микроконтроллеров различного типа и уровня. Хотя компиляторов есть большое количество, например, WinAVR и CodeVision, но они не осуществляют компилирование программ для тех же АРМов и других архитектур.

IAR Embedded Workbench – полное название этой мощной рабочей среды. Применение ИАРА позволяет добиться меньше размера и большего быстродействия кода; он набирает всё большую популярность из-за своих огромных возможностей.

Пример экрана IAR Embedded Workbench

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

Для отладки готовых программ был разработан Atmel ice. Он нужен для внутрисхемной отладки программирования и прошивки устройств. Имеет два разъёма:

  1. Универсальный AVR, поддерживающий любой интерфейс;
  2. ARM.

Судя по отзывам реальных пользователей, работает он быстрее аналогов – AVR Dragon, например, при этом захватывает архитектуру АРМов и имеет больше функций.

Выводы

Фирма Atmel сейчас принадлежит Microchip’у, но продолжает выпускать свои семейства микроконтроллеров. Их популярность не угасала за многие годы, однако в последнее время наблюдается активная конкуренция с STM. Пока рано говорить, кто из них вырвется вперед, рассуждения об этом – тема отдельной статьи.

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

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

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

 

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


Существует шесть компаний занимающихся данной отраслью микроэлектроники: Atmel Corporation, Microchip Technology Inc, STMicroelectronics, Texas Instruments, NXP и Freescale.


Две основные из них, занимающихся продажами микроконтроллеров на свободный рынок:
Microchip Technology Inc. — США, созданная в 1987 году, выпускающая 8 битные, 16 битные и 32-битные микроконтроллеры, семейства PIC. Модели: PIC12C508, PIC14000, PIC16C432, PIC17C42…
Atmel Corporation – США. Эта компания создана в 1984 году, выпускает 8 бит, 16 бит и 32 микроконтроллеры, семейства ARM,RISC архитектуры. Первая выпущенная модель была в 1993 году на базе ядра Intel 8051. Модели: ATtiny11, ATtiny2313, AT90S2313, ATmega8, ATmega16, ATmega32, ATmega48 и т.д.


Именно на МК этих производителей, сейчас радиолюбители собирают, различные простые и сложные автоматизированные устройства.


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


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


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

Можно использовать и готовые написанные программы. Благо в интернете их полно.


Для осуществления такого простого проекта понадобятся:
Первое — собрать программатор. Он нужен для согласования микроконтроллера с компьютером (ПК), для того чтобы выполнить программирование микроконтроллера. Так как без программы, МК работать не будет. Второе — Установленная программа на ПК, которая будет прошивать МК.


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


Самый распространённый и безопасный, последовательный тип — собирается на базе буферной микросхемы, такой как 74HC244N фирмы Philips (Его точный аналог 74LS244N фирмы TEXAS INSTRUMENTS). Эта микросхема — 8 буферный шинный формирователь. Который сопрягает, каналы обмена данных (в частности программы) МК с ПК. Можно конечно обойтись и без неё, поставив обычные резисторы. Но тогда вы подвергните опасности (в виде порчи) аппаратную часть компьютера и микроконтроллера. Как это может произойти? Дело в том, что данный программатор подключается к компьютеру через LPT порт. В котором уровень сигнала передачи данных, намного выше чем, уровень порта интерфейса передачи данных(ISP) МК. Только поэтому и нужен программатор,
Сам ISP-интерфейс МК, из себя представляет пять проводников (контактных ножек МК),это: SCK, MISO, MOSI,RESET, GND. каждая из них выполняет конкретную функцию по передаче данных. MISO (Master Input Slave Output) — ввод данных, MOSI (Master Output Slave Input) — вывод данных, SCK — линия синхроимпульса скорости обмена данных, RESET — сброс, GND — общий провод(масса).


Кроме программирования через LPT(параллельный), существует ещё два варианта: через COM порт (последовательный) и универсальную последовательную шину(USB).


Программатор МК через COM порт, очень простой. Для его исполнения не нужна микросхема буфера. При использовании режима Bitbang, собирается из пяти деталей — диодов с резисторами, которые приводят уровень сигнала COM порта к необходимым МК. Описанный программатор, тоже довольно хорошо распространён, но менее безопасен, чем программатор LPT.


Теперь по поводу USB. Программаторы, сделанные для работы через данный порт, очень сложны. Для его сборки нужен прошитый микроконтроллер, которого у нас пока нет. Именно по этой и другим причинам, первый программатор лучше собирать с последовательным подключением(LPT).


Программ для работ с микроконтроллерами устанавливаемых в компьютер, достаточно много. Более удобны и функциональны: AVReAl, Pony prog, Visual avr и Ic prog. Они позволяют, редактировать, прошивать, считывать, форматировать, а также писать на них программы.


Есть ещё программы эмулирующую работу МК, такая как Proteus. Хороша тем, что позволяет проверить работу вашего будущего устройства в виртуальном виде, до того как вы будете собирать устройство на базе микроконтроллера. Заранее дав вам возможность исправить все недочёты. Само программирование происходит, путём установки МК в программатор с последующим подключением к ПК, и ни как в другой последовательности. Бывает и внутрисхемное программирование. МК позволяет прошивание, не изымая его из устройства.


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


Также прошу обратить внимание на фьюзы(FUSE)во время прошивания микроконтроллера. FUSE — это внутрисхемный программный предохранитель. От которого зависят важные системные функции МК. В разных микроконтроллерах их бывает разное количество.
Главное помните, неправильное выставление FUSE, может вывести из строя МК. Данные об их правильной настройке, вы найдёте в справке микроконтроллера.

мир электроники — Строение и характеристики AVR микроконтроллеров

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

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

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

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

 

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

 

Арифметико-логическое устройство (Arithmetic Logic Unit)

Счетчик команд (Program counter)

Указатель стека (Stack Pointer)

  • Регистр состояния (Status Register)
  • Память программ (Flash Program memory)
  • Память данных (Data memory)

 

Регистры общего назначения (General Purpose Registers)

Регистры периферийных устройств (I/O Registers)

Оперативная память (SRAM memory)

Система тактирования (Clock System). Данную систему можно сравнить с сердечно-сосудистой системой

Модуль обработки прерываний (Interrupt Unit)

 

Периферийные устройства, перечислю некоторые из них :

 

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

EEPROM память

USB (только в xMega), USART, I2C, SPI, JTAG интерфейсы

Сторожевой таймер, Таймер/Счетчик (с функцией ШИМ генератора, захвата/сравнения и т.д.)

АЦП, ЦАП (только в xMega), Аналоговый компаратор

Модули внешнего прерывания (External Interrupts)

 

Набор периферийных устройств в различных семействах (Tiny, Mega и xMega) и различных микроконтроллеров данных семейств отличается. Есть микроконтроллеры набитые «по самое немагу” различными периферийными устройствами, но также, для разработок критичных к стоимости, имеются и микроконтроллеры с малым (нужным) набором периферии.

 

Одним из плюсов AVR микроконтроллеров является возможность использования периферийных устройств в различных совместных режимах работы, что очень часто упрощает задачу разработчика. Также в AVR встроенна система сброса и отслеживания уровня питаниющего напряжения (System Control and Reset), обеспечивающая нормальный старт микроконтроллера и в случае необходимости, надежное завершение работы.

 

Регистры управления/состояния периферийных устройств находятся в области памяти данных (Data memory), между регистрами общего назначения и оперативной памятью, что обеспечивает высокое быстродействие в работе с периферией. Разработчик, естественно, имеет полный доступ к данным регистрам (I/O Registers).

 

Что необходимо чтобы заработал микроконтроллер?

 

Здесь вырисовываются два базовых направления :

  • написать программу (запрограммировать). Для того чтобы написать программу/алгоритм по которому будет действовать микроконтроллер вам понадобится интегрированная среда разработки для AVR микроконтроллеров, в состав которой входит редактор кода/текста, компилятор, компоновщик (linker) и пр. утилиты.
  • схемотехника. Одной лишь программы недостаточно чтобы микроконтроллер заработал, ему также требуется минимальный обвес (набор внешних электронных устройств), для обеспечения микроконтроллера напряжением питания и тактирующим сигналом, чтобы как минимум заработало ядро микроконтроллера.

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

На рисунке приведены минимальные схемотехнические требования к микроконтроллеру ATmega16. При данной схеме включения, начинает работать ядро AVR микроконтроллера, можно использовать все порты ввода/вывода и пр. периферийные устройства. Короче говоря микроконтроллер находится в полной боевой готовности. Чтобы, например, начать использовать АЦП или Аналоговый компаратор следует, для начало, программно настроить периферийное устройство при помощи его регистров управления/контроля, для установки нужного вам режима работы и т.п., а дальше подать исследуемые сигналы на входы соответствующего периферийного устройства.

 

— Кварц и конденсаторы C1,C2 (по 22пФ) обеспечивают микроконтроллер и все его периферийные устройства качественным тактирующим сигналом (максимальная частота – 16.0МГц).

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

— ISP connector используется для внутрисхемного программирования, тоесть необходим для записи написанной вами программы в память микроконтроллера прямо на плате (не вынимая микроконтроллер из устройства).

— Дроссель L1 и конденсаторы C3,C4 обеспечивают напряжением питания аналоговые периферийные устройства а также некоторые регистры портов ввода/вывода. Если у микроконтроллера отсутствует аналоговая часть, соответственно, отсутствуют и пины аналогового питания, как результат – данные компоненты не нужны.

— Конденсатор C5 обеспечивает развязку межды пином питания и землей микроконтроллера. Земли микроконтроллера следует соединить вместе (GND и AGND).

 

Это, так сказать, классическое подключение микроконтроллера, в реальности, конечно-же все это может немного отличаться…

 

Ну, и это еще не все: чтобы микроконтроллер заработал в него необходимо «засунуть» программу. Сделать это можно только лишь при помощи программатора.

 

Программатор это устройство для записи откомпилированной программы (прошивки) в память микроконтроллера.
Самый часто-используемый метод записи прошивки в память микроконтроллера является метод ISP (In-System Programming), для чего и нужен ISP connector. Также весьма популярными методами записи прошивки в память микроконтроллера являются HVP (High-Voltage Programming) и запись прошивки через JTAG-интерфейс.

 

Минимальные требования для устойчивой работы AVR микроконтроллера


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

* во первых:  подать напряжение питания (плюс развязывающий конденсатор – на всякий случай-хуже не будет)
*  во вторых – удерживать «высокий уровень” на пине RESET (при помощи подтягивающего резистора), чтобы избежать спонтанных сбросов микроконтроллера.

 

В общем-то даже такая упрощенная схема включения микроконтроллера вполне работоспособна, но она далека от идеала: последствия такой упрощенной обвязки микроконтроллера следующие : во первых, поскольку микроконтроллер был лишен внешнего тактирования, ему следует указать что тактирование будет происходить от внутреннего RC-генератора, установив соответствующие фьюз биты (своего рода предельные эксплуатационные параметры микроконтроллера).
Максимальная частота внутреннего генератора равна 8.0 МГц, а это означает что микроконтроллер не сможет работать на своей максимальной частоте (производительности).
Во вторых- аналоговая часть микроконтроллера (а также некоторые регистры портов ввода/вывода), лишены источника питания, что исключает их использование.
В третьих- отсутствует разъем для внутрисхемного программирования, поэтому чтобы записать прошивку в память микроконтроллера придется вынимать его из устройства, где-то производить запись, после чего возвращать его на место. Как вы сами понимаете это не очень удобно (вынимать/вставлять, припаивать/отпаивать), и может привести к повреждению как самого микроконтроллера (могут поломаться ножки, перегреться от пайки и т.п.), так и близлежащих устройств – разъем, дорожки на плате и т.п.

 

Даташит на русском Atmega8 | Практическая электроника

Что такое даташит

Даташит – это техническое описание на какой-либо радиокомпонент. Где его найти? Ну, конечно же, в интернете! Так так почти вся радиоэлектронная продукция выпускается “за бугром”, то и описание на них, соответственно, “забугорское”, а точнее, на английском языке. Те, кто хорошо дружит с разговорным английским, не факт, что сможет прочитать технические термины в даташитах.

Даташит на английском на Atmega8

Давайте попробуем пролить свет истины на основные характеристики МК ATmegа8. Для этого качаем даташит. В нашей статье мы будем рассматривать только основные сведения нашего подопечного.

Вот что мы видим на первой странице даташита:

 

Даташит на русском  Atmega8

Запоминаем правило: в фирменном описании нет ни одного лишнего слова! (иногда информации не хватает, но это уже другой случай)

Features. Переводится как “функции”. В среде электронщиков просто “фичи”.

– High Performance, Low Power AVR® 8-Bit Microcontroller

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

Понимаем как рекламу, единственно полезное то, что данный микроконтроллер — 8 битный.

– Advanced RISC Architecture

Расширенная RISC архитектура.-6). А при 10 МГц — в десять раз быстрее, т.е., 0,1 мкс.

– 32 x 8 General Purpose Working Registers

32 восьмибитных регистра общего пользования.

Про регистры поговорим позднее, просто запомним, что большое количество регистров — весьма неплохо, ведь регистр — это ячейка памяти в самом МК. А чем больше такой памяти – тем «шустрее» работает МК!

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

– Fully Static Operation

Полностью статическая структура.

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

(Также нелишним будет напомнить о том, что потребляемая мощность большинства типов МК напрямую зависит от тактовой частоты: чем выше тактовая частота, тем больше он  потребляет)

– Up to 16 MIPS Throughput at 16 MHz

До 16 миллионов выполняемых команд при тактовой частоте 16 МГц.

За одну секунду при тактовой частоте 16 МГц может быть выполнено до 16 000 000 команд! Следовательно, одна однобайтовая команда может быть выполнена за 0,07 мкс. Весьма недурно для маленькой микросхемы.

С учетом предыдущего пункта понимаем, как работает на частотах от 0 Гц до 16 МГц.

– On-chip 2-cycle Multiplier

В данном МК имеется встроенный умножитель, который умножает числа за два такта.

Ну, это хорошо. Даже очень. Но мы пока не будет вгрызаться в эти нюансы…

– High Endurance Non-volatile Memory segments

Надежная энергонезависимая память, построенная в виде нескольких сегментов.

Вспоминаем типы памяти: EEPROM и FLASH.

– 8KBytes of In-System Self-programmable Flash program memory

– 8 Кбайт встроенной в МК памяти. Память выполнена по технологии Flash. В самом МК имеется встроенный программатор.

Этот объем весьма хорош! Для обучения (да и не только) — с запасом. А наличие встроенного программатора этой памяти, позволяет загружать данные в память, используя простой внешний программатор (в простейшем случае это пять проводков, которыми микроконтроллер подключают к LPT порту компьютера).

– 256 Bytes EEPROM

В МК имеется 256 байт энергонезависимой памяти EEPROM.

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

– 1024 Bytes Internal SRAM

В МК имеется 1024 байт оперативной памяти (ОЗУ/RAM).

Также весьма приятный объем

– Write/Erase cyles: 10,000 Flash/100,000 EEPROM

Память Flash выдерживает 10 000 циклов записи/стирания, а память EEPROM — до 100 000

Проще говоря, программу в МК можно изменять до 10 000 раз, а свои данные в 10 раз больше.

– Data retention: 20 years at 85°C/100 years at 25°C

Сохранность данных в памяти МК — до 20 лет при температуре хранения 85°C, и 100 лет — при температуре 20°C.

Если ваши внуки и правнуки включат вашу «мигалку» или музыкальную шкатулку, то они смогут насладиться их работой ))

– Optional Boot Code Section with Independent Lock Bits

– Programming Lock for Software Security

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

Ну, тут всё понятно: свои труды вы можете защитить от вычитывания программы из памяти МК.

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

– Two 8-bit Timer/Counters

– One 16-bit Timer/Counter

В МК имеется два таймера/счетчика: 8 и 16 бит.

– Three PWM Channels

Три канала ШИМ

– 8-channel ADC in TQFP and QFN/MLF package

Eight Channels 10-bit Accuracy

– 6-channel ADC in PDIP package

Six Channels 10-bit Accuracy

В составе МК есть несколько каналов АЦП: 6 – для корпуса PDIP и 8 – для корпуса QFN/MLF. Разрядность АЦП — 10 бит.

– Byte-oriented Two-wire Serial Interface

– Programmable Serial USART

В данном МК реализован аппаратный двухпроводный интерфейс связи USART, байт ориентированный и программируемый — имеется возможность настройки параметров интерфейса.

Master/Slave SPI Serial Interface

Реализован SPI интерфейс связи, режимы Мастер/Подчиненный.

[quads id=1]

– Programmable Watchdog Timer with Separate On-chip Oscillator

Сторожевой таймер с собственным автономным генератором.

– On-chip Analog Comparator

Аналоговый компаратор.

– Power-on Reset and Programmable Brown-out Detection

Реализованы режимы контроля напряжения питания и защита работы МК при плохом питании (гарантирует увеличение надёжности работы всей системы).

– Internal Calibrated RC Oscillator

Встроенный калиброванный RC-генератор (можно запустить МК без внешних элементов).

– External and Internal Interrupt Sources

Реализовано несколько типов внешних и внутренних прерываний.

– Five Sleep Modes

Пять режимов «сна» (уменьшение энергопотребления МК за счет отключения некоторых внутренних узлов или специальных методов замедления их работы)

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

– 28-pin PDIP, 32-lead TQFP, 28-pad QFN/MLF and 32-pad QFN/MLF

Указаны типы корпусов, в которых выпускается данный микроконтроллер. Видим «28 DIP» — это хорошо! Не надо покупать специализированные дорогостоящие панели и мучиться с тоненькими и часто расположенными выводами на корпусе МК.

Temperature Range:

 -40°C to 85°C

Рабочая температура: -40°C … +85°C

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

(Был у меня горький опыт, когда в устройстве был применен именно такой «теплолюбивый» микроконтроллер. А устройство поместили на улицу… И каждую зиму «благодарные» пользователи моего устройства «хвалили» меня за «замерзание» микроконтроллера, которое проявлялось в виде полного его зависания)

Напряжение питания и тактовая частота

– 2.7 – 5.5V for ATmega8L

– 4.5 – 5.5V for ATmega8

Имеется две модификации данного МК: одна работоспособна при широком диапазоне питающих напряжение, вторая — в узком.

ATmega8L: 0 – 8 MHz @ 2.7 – 5.5V

ATmega8: 0 – 16 MHz @ 4.5 – 5.5V

Максимальная тактовая частота:

– Atmega8L: 0 – 8 МГц при напряжении питания 2,7 – 5,5 вольт

– Atmega8: 0 – 16 МГц при напряжении питания 4,5 – 5,5 вольт.

И что мы видим? А то, что модификация МК, работоспособная в широком диапазоне питающих напряжений, не может быть тактируема частотами выше 8 МГц. Следовательно, и ее вычислительные возможности будут ниже.

Power Consumption at 4 Mhz, 3V, 25°C

– Active: 3.6 mA

– Idle Mode: 1.0 mA

– Power-down Mode: 0.5 µA

Потребляемая мощность:

– при работе на частоте 4 МГц и напряжении питания 3 вольта потребляемый ток: 3,6 миллиампер,

– в различных режимах энергосбережения потребляемый ток: от 1 миллиампер до 0,5 микроампера

Распиновка Atmega8

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

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

Внимание!

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

Изготовители микроконтроллеров рекомендуют подключать соответствующие выводы вместе, т.е., минус подавать на все выводы, помеченные как Gnd (Ground — Земля), плюс — на все выводы помеченные как Vcc.

При этом через одинаковые выводы МК не должны протекать токи, так как внутри корпуса МК они соединены тонкими проводниками! То есть при подключении нагрузки эти выводы не должны рассматриваться как «перемычки».

Блочная диаграмма

Листаем описание далее, видим главу «Overview» (Обзор).

В ней имеется раздел «Block Diagram» (Устройство). На рисунке показаны устройства, входящие в состав данного микроконтроллера.

Генератор тактовой частоты

Но самым важным для нас в настоящее время является блок «Oscillator Circuits/Clock Generation» (Схема генератора/Генератор тактовой частоты).

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

Да и не лишним будет заранее просчитать: успеет ли МК выполнить тот или иной фрагмент программы за отведенное для этого время.

В даташите ищем соответствующую главу: «System Clock and Clock Options» (Тактовый генератор и его параметры). В ней видим раздел «Clock Sources» (Источники тактового сигнала), в котором имеется таблица с перечнем видов тактовых сигналов. В этом разделе указано, что данный МК имеет встроенный тактовый RC-генератор. В разделе «Default Clock Source» имеется указание о том, что МК продается уже настроенным для использования встроенного RC-генератора. При этом тактовая частота МК — 1 МГц.

Из раздела «Calibrated Internal RC Oscillator» (Калиброванный RC-генератор) узнаем, что встроенный RC-генератор имеет температурный дрейф в пределах 7,3 — 8,1 МГц. Может возникнуть вопрос: если частота встроенного тактового генератора 7,3 — 8,1 МГц, то как была получена частота 1 МГц? Дело в том, что тактовый сигнал попадает в схемы микроконтроллера через программируемый делитель частоты (Об это рассказано в разделе «System Clock Prescaler»).

В данном микроконтроллере он имеет несколько коэффициентов деления: 1, 2, 4 и 8. При выборе первого мы получим частоту самого тактового генератора, при включении последнего — в 8 раз меньше, т.е., 8/8=1 МГц. С учетом вышесказанного получаем, что тактовая частота данного МК при включенном делителе с коэффициентом 8 будет в пределах от 7,3/8 = 0,9125 МГц (9125 КГц) до 8,1/8 = 1,0125 МГц.

Обратите внимание на один ну очень важный факт: стабильность частоты дана при температуре МК 25 градусов по шкале Цельсия. Вспомним, что внутренний генератор выполнен по RC схеме. А емкость конденсатора очень зависит от температуры!

Конденсаторы по питанию

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

В схему необходимо установить и электролитический конденсатор емкостью 4-10 мкф. Он также является блокировочным фильтром, но на менее высоких частотах. Такой конденсатор можно устанавливать один для нескольких микросхем. Обычно на 2-3 корпуса микросхем.

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

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

Конденсатор для постоянного тока является изолятором. Но при установке конденсатора в цепи с непостоянным током он делается сопротивлением. Чем выше частота, тем меньшее сопротивление оказывает конденсатор. Следовательно, блокировочный конденсатор с малой емкостью пропускает через себя (шунтирует) высокочастотные сигналы (десятки и сотни Герц), а конденсатор с бОльшей емкостью — низкочастотные. Об этом я писал еще в статье Конденсатор в цепи постоянного и переменного тока

Выводы

– микроконтроллер AVR ATmega-8 при поставке с завода работает на тактовой частоте 0,91—1,1 МГц;

– напряжение питания должно быть в пределах 4,5 — 5,5 Вольт. Мы будем использовать микросхемы с питающим напряжением 5 Вольт, поэтому и МК будет питаться этим же напряжением. (Хотя работоспособность сохранится при напряжении питания 2,7 Вольт для обычных, не низковольтных моделей МК)

Где и как искать компоненты и даташиты ? Смотрите в видео:

Урок 1. Вводная часть для работы с микроконтроллерами — Микроконтроллеры с нуля — Каталог статей

     Здравствуйте, дорогие друзья! И вот настало то время, когда наигравшись с готовыми платформами, наподобие Arduino, нам захотелось заняться чем-то более серьезным и на новом уровне. А именно — программированием микроконтроллеров (МК). Причем не на облегченном языке С, а именно на его оригинальном синтаксисе. Конечно программировать МК можно и на других языках, например Assembler, но учиться осваивать азы программирования мы рекомендуем именно на С.

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

1. Что такое микроконтроллеры?

 

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

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

2. Какие бывают микроконтроллеры?

 

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

  1. AVR (8-ми битные микроконтроллеры семейства Atmel) 
    Это основной конкурент для PIC. Может делать все, что делает PIC, но лучше, быстрее, дешевле и проще. Короче говоря, больше возможностей и меньше головной боли за те же деньги.
     
  2. PIC (микроконтроллеры компании Microchip Technology Inc)

    Классические микроконтроллеры от компании Microchip. Очень простые, проверенные, но в них часто отсутствуют многие функции, которые другие производители встраивают в свои микроконтроллеры.
     
  3. MSP 
    Очень неплохие микроконтроллеры от компании Texas Instruments (TI), но не столь популярные, как AVR или PIC. Однако они очень хороши для приложений, где важно низкое энергопотребление.     
     
  4. ARM 

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

 

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

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

3. Типы корпусов

 

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

  1. DIP (Dual Inline Package) — корпус с двумя рядами контактов. Количество ножек в корпусе — 8, 14, 16, 20, 24, 28, 32, 40, 48 или 56.
     
  2. SOIC (Small Outline Integrated Circuit) — планарная микросхема — ножки припаиваются с той же стороны платы, где находится корпус. При этом, микросхема лежит корпусом на плате. Количество ножек и их нумерация – такие же как у DIP.
     
  3. PLCC (Plastic Leader Chip Carrier) — квадратный (реже — прямоугольный) корпус. Ножки расположены по всем четырем сторонам, и имеют J -образную форму (концы ножек загнуты под корпус). Микросхемы либо запаиваются непосредственно на плату (планарно), либо вставляются в панельку.
     
  4. TQFP (Thin Profile Quad Flat Package) — среднее между SOIC и PLCC. Квадратный корпус толщиной около 1мм, выводы расположены по всем сторонам. Количество ножек – от 32 до 144.

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

Что такое микроконтроллер и как он работает?

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

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

Как работают микроконтроллеры?

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

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

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

Из чего состоит микроконтроллер?

Основные элементы микроконтроллера:

  • Процессор (CPU) — Процессор можно рассматривать как мозг устройства. Он обрабатывает и реагирует на различные инструкции, управляющие работой микроконтроллера.Это включает в себя выполнение основных арифметических, логических операций и операций ввода-вывода. Он также выполняет операции передачи данных, которые передают команды другим компонентам в более крупной встроенной системе.
  • Память — память микроконтроллера используется для хранения данных, которые процессор получает и использует для ответа на инструкции, которые он был запрограммирован для выполнения. Микроконтроллер имеет два основных типа памяти:
    1. Программная память, в которой хранится долгосрочная информация об инструкциях, выполняемых ЦП.Программная память — это энергонезависимая память, что означает, что она хранит информацию с течением времени без использования источника питания.
    2. Память данных, которая требуется для временного хранения данных во время выполнения инструкций. Память данных является энергозависимой, то есть данные, которые она хранит, являются временными и поддерживаются только в том случае, если устройство подключено к источнику питания.
  • Периферийные устройства ввода / вывода
  • — устройства ввода и вывода являются интерфейсом для процессора с внешним миром.Порты ввода получают информацию и отправляют ее процессору в виде двоичных данных. Процессор получает эти данные и отправляет необходимые инструкции устройствам вывода, которые выполняют задачи, внешние по отношению к микроконтроллеру.

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

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

  • Аналого-цифровой преобразователь (АЦП) — АЦП — это схема, преобразующая аналоговые сигналы в цифровые. Это позволяет процессору в центре микроконтроллера взаимодействовать с внешними аналоговыми устройствами, такими как датчики.
  • Цифро-аналоговый преобразователь
  • (ЦАП) — ЦАП выполняет обратную функцию АЦП и позволяет процессору в центре микроконтроллера передавать свои исходящие сигналы внешним аналоговым компонентам.
  • Системная шина — Системная шина — это соединительный провод, который связывает все компоненты микроконтроллера вместе.
  • Последовательный порт — Последовательный порт является одним из примеров порта ввода-вывода, который позволяет микроконтроллеру подключаться к внешним компонентам.Он имеет функцию, аналогичную USB или параллельному порту, но отличается способом обмена битами.

Характеристики микроконтроллера

Процессор микроконтроллера зависит от приложения. Варианты варьируются от простых 4-битных, 8-битных или 16-битных процессоров до более сложных 32-битных или 64-битных процессоров. Микроконтроллеры могут использовать энергозависимые типы памяти, такие как оперативная память (RAM) и энергонезависимые типы памяти — сюда входят флэш-память, стираемая программируемая постоянная память (EPROM) и электрически стираемая программируемая постоянная память (EEPROM).

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

Архитектура микроконтроллера

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

Процессоры микроконтроллеров

могут быть основаны на вычислениях со сложным набором команд (CISC) или на вычислениях с сокращенным набором команд (RISC). CISC обычно имеет около 80 инструкций, в то время как RISC имеет около 30, а также больше режимов адресации, 12-24 по сравнению с RISC 3-5. Хотя CISC может быть проще в реализации и более эффективно использует память, производительность может снижаться из-за большего количества тактовых циклов, необходимых для выполнения инструкций.RISC, который уделяет больше внимания программному обеспечению, часто обеспечивает лучшую производительность, чем процессоры CISC, которые уделяют больше внимания аппаратному обеспечению из-за упрощенного набора инструкций и, следовательно, повышенной простоты конструкции, но из-за упора на программное обеспечение, программное обеспечение может быть более сложным. Какой ISC используется, зависит от приложения.

Когда они впервые стали доступны, микроконтроллеры использовали исключительно язык ассемблера. Сегодня популярным вариантом является язык программирования C.Другие распространенные языки микропроцессоров включают Python и JavaScript.

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

оснащены входными и выходными контактами для реализации периферийных функций. К таким функциям относятся аналого-цифровые преобразователи, контроллеры жидкокристаллических дисплеев (LCD), часы реального времени (RTC), универсальный синхронный / асинхронный приемный передатчик (USART), таймеры, универсальный асинхронный приемный передатчик (UART) и универсальная последовательная шина ( USB) возможность подключения. Датчики, собирающие данные, связанные, в частности, с влажностью и температурой, также часто присоединяются к микроконтроллерам.

Типы микроконтроллеров Стандартные микроконтроллеры

включают Intel MCS-51, часто называемый микроконтроллером 8051, который был впервые разработан в 1985 году; микроконтроллер AVR, разработанный Atmel в 1996 году; контроллер программируемого интерфейса (PIC) от Microchip Technology; и различные лицензированные микроконтроллеры Advanced RISC Machines (ARM).

Ряд компаний производят и продают микроконтроллеры, включая NXP Semiconductors, Renesas Electronics, Silicon Labs и Texas Instruments.

Приложения микроконтроллера Микроконтроллеры

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

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

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

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

Сравнение микроконтроллеров и микропроцессоров

Различие между микроконтроллерами и микропроцессорами стало менее четким, поскольку плотность и сложность микросхем стали относительно дешевыми в производстве, и микроконтроллеры, таким образом, интегрировали более «общие компьютерные» типы функциональности.В целом, однако, можно сказать, что микроконтроллеры работают сами по себе, с прямым подключением к датчикам и исполнительным механизмам, где микропроцессоры предназначены для максимизации вычислительной мощности на кристалле, с подключением к внутренней шине (а не с прямым вводом / выводом). для поддержки оборудования, такого как ОЗУ и последовательные порты. Проще говоря, в кофеварках используются микроконтроллеры; настольные компьютеры используют микропроцессоры.

Микроконтроллер Microchip Technology ATtiny817. Микроконтроллеры

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

Выбор подходящего микроконтроллера

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

Помимо стоимости, важно учитывать максимальную скорость, объем RAM или ROM, количество или типы контактов ввода-вывода на MCU, а также энергопотребление, ограничения и поддержку разработки.Обязательно задавайте такие вопросы, как:

  • Какие аппаратные периферийные устройства требуются?
  • Нужны ли внешние коммуникации?
  • Какую архитектуру использовать?
  • Какие сообщества и ресурсы доступны для микроконтроллера?
  • На каком рынке представлен микроконтроллер?

Что такое микроконтроллер? Определяющие характеристики и архитектура общего компонента

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

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

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

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

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

В этой статье мы рассмотрим определение микроконтроллера и рассмотрим, для какой цели он служит в конструкции.

Что такое микроконтроллер?

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

Наиболее распространенным способом обозначения этой категории интегральных схем является «микроконтроллер», но сокращение «MCU» используется взаимозаменяемо, поскольку оно означает «микроконтроллерный блок». Иногда вы также можете видеть «µC» (где греческая буква mu заменяет «Микро»).

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

Сравнение микроконтроллеров и микропроцессоров

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

Термин «процессор» используется для обозначения системы, состоящей из центрального процессора и (необязательно) некоторой памяти; Микропроцессор — это устройство, которое реализует все функции процессора в одной интегральной схеме. Для сравнения, микроконтроллеры уделяют больше внимания дополнительным аппаратным модулям, которые позволяют устройству управлять системой, а не просто выполнять инструкции и сохранять данные.

Схема ниже иллюстрирует эту концепцию.

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

Микроконтроллеры и цифровые сигнальные процессоры (DSP)

Цифровой сигнальный процессор (или «DSP») — это микропроцессор, оптимизированный для сложных вычислительных задач, таких как цифровая фильтрация, математический анализ сигналов в реальном времени и сжатие данных. Сложный микроконтроллер может работать как замена цифрового сигнального процессора, но он по-прежнему считается микроконтроллером, если значительная часть его внутренних схем предназначена для управления, мониторинга и связи с окружающей системой.

Элементы микроконтроллера

Микроконтроллер состоит из центрального процессора (ЦП), энергонезависимой памяти, энергозависимой памяти, периферийных устройств и вспомогательных схем.

Центральный процессор

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

Память

Энергонезависимая память используется для хранения программы микроконтроллера, то есть (часто очень длинного) списка инструкций на машинном языке, которые точно сообщают процессору, что делать. Обычно вы увидите слово «Flash» (которое относится к определенной форме энергонезависимого хранилища данных) вместо «энергонезависимая память».”

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

Периферийные устройства

Мы используем слово «периферийное» для описания аппаратных модулей, которые помогают микроконтроллеру взаимодействовать с внешней системой. В следующих пунктах перечислены различные категории периферийных устройств и приведены примеры.

  • Преобразователи данных: аналого-цифровой преобразователь, цифро-аналоговый преобразователь, генератор опорного напряжения

На этом графике показаны данные трехосного акселерометра, которые я оцифровал с помощью встроенного АЦП микроконтроллера.

  • Генерация часов: внутренний генератор, схема кварцевого привода, фазовая автоподстройка частоты
  • Синхронизация: таймер общего назначения, часы реального времени, счетчик внешних событий, импульсная модуляция
  • Обработка аналоговых сигналов: операционный усилитель, аналоговый компаратор
  • Вход / выход: схема цифрового ввода-вывода общего назначения, параллельный интерфейс памяти
  • Последовательная связь: UART, SPI, I2C, USB

Мой коллега Марк Хьюз разработал эту сенсорную подсистему на основе 16-разрядного микроконтроллера.
Опорная схема
Микроконтроллеры

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

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

Программы микроконтроллера, написанные на языке C, сгруппированы по функциям.Прерывание приводит к тому, что выполнение программы «переносится» в подпрограмму обслуживания прерывания (ISR), и после того, как ISR завершает свои задачи, процессор возвращается к функции, которая выполнялась, когда произошло прерывание.

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

Следующие статьи

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

В следующей части серии «Введение в микроконтроллеры» мы рассмотрим, как выбрать правильный микроконтроллер. Затем мы перейдем к чтению таблицы данных микроконтроллера.

Если у вас есть какие-либо темы, которые вы хотели бы осветить в будущих статьях, сообщите нам об этом в комментариях ниже.

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

Вы можете перейти к оставшейся части серии «Введение в микроконтроллеры» здесь:

Дополнительные ресурсы

Дополнительные ресурсы о микроконтроллерах см. В других статьях ниже:

Что такое микроконтроллер? — Как работают микроконтроллеры

Микроконтроллер — это компьютер. Все компьютеры — будь то персональный настольный компьютер, большой мэйнфрейм или микроконтроллер — имеют несколько общих черт:

  • Все компьютеры имеют ЦП (центральный процессор), который выполняет программы.Если вы сейчас сидите за настольным компьютером и читаете эту статью, центральный процессор этого компьютера выполняет программу, реализующую веб-браузер, отображающий эту страницу.
  • CPU загружает программу откуда-то. На вашем настольном компьютере программа браузера загружается с жесткого диска.
  • Компьютер имеет некоторую RAM (оперативную память), где он может хранить «переменные».
  • И компьютер имеет несколько устройств ввода и вывода, так что он может разговаривать с людьми. На настольном компьютере клавиатура и мышь являются устройствами ввода, а монитор и принтер — устройствами вывода.Жесткий диск — это устройство ввода-вывода — он обрабатывает как ввод, так и вывод.

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

  • Микроконтроллеры — это « встроенный » в какое-то другое устройство (часто потребительский продукт), чтобы они могли управлять функциями или действиями продукт.Поэтому другое название микроконтроллера — «встроенный контроллер».
  • Микроконтроллеры предназначены для выполнения одной задачи и запускают одну конкретную программу. Программа хранится в ПЗУ (постоянное запоминающее устройство) и обычно не изменяется.
  • Микроконтроллеры часто маломощные устройства . Настольный компьютер почти всегда подключен к розетке и может потреблять 50 Вт электроэнергии. Микроконтроллер с батарейным питанием может потреблять 50 милливатт.
  • Микроконтроллер имеет выделенное устройство ввода и часто (но не всегда) имеет небольшой светодиодный или ЖК-дисплей для вывода .Микроконтроллер также принимает входные данные от устройства, которым он управляет, и управляет устройством, отправляя сигналы различным компонентам устройства. Например, микроконтроллер внутри телевизора принимает входные данные с пульта дистанционного управления и отображает выходные данные на экране телевизора. Контроллер управляет переключателем каналов, акустической системой и некоторыми регулировками электроники кинескопа, такими как оттенок и яркость. Контроллер двигателя в автомобиле принимает данные от датчиков, таких как кислородный датчик и датчик детонации, и управляет такими вещами, как смесь топлива и синхронизация свечей зажигания.Контроллер микроволновой печи принимает входные данные с клавиатуры, отображает выходной сигнал на ЖК-дисплее и управляет реле, которое включает и выключает микроволновый генератор.
  • Микроконтроллер часто бывает маленьким и недорогим . Компоненты выбираются так, чтобы минимизировать размер и быть как можно более дешевыми.
  • Микроконтроллер часто, но не всегда, в некотором роде имеет повышенную защиту . Например, микроконтроллер, управляющий двигателем автомобиля, должен работать при экстремальных температурах, с которыми обычный компьютер обычно не может справиться.Микроконтроллер автомобиля на Аляске должен нормально работать при -30 градусов F (-34 C), в то время как тот же микроконтроллер в Неваде может работать при 120 градусах F (49 C). Когда вы добавляете тепло, выделяемое двигателем, температура в моторном отсеке может достигать 150 или 180 градусов F (65-80 C). С другой стороны, микроконтроллер, встроенный в видеомагнитофон, совсем не защищен.

Фактический процессор , ​​используемый для реализации микроконтроллера, может сильно различаться.Например, сотовый телефон, показанный на странице «Внутри цифрового сотового телефона», содержит процессор Z-80. Z-80 — это 8-битный микропроцессор, разработанный в 1970-х годах и первоначально использовавшийся в домашних компьютерах того времени. Мне сказали, что Garmin GPS, показанный в Как работают GPS-приемники, содержит маломощную версию Intel 80386. Изначально 80386 использовался в настольных компьютерах.

Во многих продуктах, например в микроволновых печах, требования к ЦП довольно низки, и цена является важным фактором. В этих случаях производители обращаются к специализированным микросхемам микроконтроллера — микросхемам, которые изначально были разработаны как недорогие, небольшие, маломощные встроенные процессоры.Motorola 6811 и Intel 8051 — хорошие примеры таких чипов. Также существует линейка популярных контроллеров под названием «микроконтроллеры PIC», созданная компанией Microchip. По сегодняшним меркам эти процессоры невероятно минималистичны; но они чрезвычайно недороги при покупке в больших количествах и часто могут удовлетворить потребности разработчика устройства с помощью всего лишь одного чипа.

Типичная микросхема микроконтроллера младшего уровня может иметь 1000 байтов ПЗУ и 20 байтов ОЗУ на микросхеме, а также восемь контактов ввода / вывода.В больших количествах стоимость этих чипов иногда может составлять всего несколько копеек. Вы, конечно, никогда не собираетесь запускать Microsoft Word на таком чипе — Microsoft Word требует, возможно, 30 мегабайт оперативной памяти и процессора, который может выполнять миллионы инструкций в секунду. Впрочем, для управления микроволновой печью Microsoft Word тоже не нужен. С микроконтроллером у вас есть одна конкретная задача, которую вы пытаетесь выполнить, и важна низкая стоимость и производительность с низким энергопотреблением.

Типы и применение микроконтроллеров — EIT | Инженерный технологический институт: EIT

Введение в микроконтроллер:
Микроконтроллер (микроконтроллер или микроконтроллер) — это микрокомпьютер на одной микросхеме, изготовленный на базе СБИС.Микроконтроллер также известен как встроенный контроллер. Сегодня на рынке доступны различные типы микроконтроллеров с разной длиной слова, такие как 4-битные, 8-битные, 64-битные и 128-битные микроконтроллеры. Микроконтроллер — это сжатый микрокомпьютер, предназначенный для управления функциями встроенных систем в офисных машинах, роботах, бытовой технике, автомобилях и ряде других устройств. Микроконтроллер состоит из таких компонентов, как память, периферийные устройства и, самое главное, процессор.Микроконтроллеры в основном используются в устройствах, которым требуется определенная степень контроля со стороны пользователя устройства.

Основы микроконтроллера:
Любое электрическое устройство, которое хранит, измеряет, отображает информацию или вычисляет, состоит из микросхемы микроконтроллера
внутри себя. Базовая структура микроконтроллера состоит из: —
1. ЦП — Мозг микроконтроллера называется ЦП. ЦП — это устройство, которое используется для получения данных, их декодирования и успешного завершения поставленной задачи.С помощью центрального процессора все компоненты микроконтроллера объединены в единую систему. Выборка инструкции
, редактируемая программируемой памятью, декодируется ЦП.
2. Память — В микроконтроллере микросхема памяти работает так же, как микропроцессор. Чип памяти хранит все программы и данные. Микроконтроллеры построены с определенным объемом ПЗУ или ОЗУ (EPROM, EEPROM и т. Д.) Или флэш-памятью для хранения исходных кодов программ.
3. Порты ввода / вывода — порты ввода / вывода в основном используются для взаимодействия или управления различными устройствами, такими как принтеры, ЖК-дисплеи, светодиоды и т. Д.

4. Последовательные порты — эти порты предоставляют последовательные интерфейсы между микроконтроллером и различными другими периферийными устройствами, такими как параллельный порт.
5. Таймеры — микроконтроллер может быть встроен с одним или несколькими таймерами или счетчиками. Таймеры и счетчики контролируют все операции подсчета и синхронизации в микроконтроллере. Таймеры используются для подсчета внешних импульсов. Основными операциями, выполняемыми таймерами, являются генерация импульсов, функции часов, измерение частоты, модуляция, создание колебаний и т. Д.
6.ADC (аналого-цифровой преобразователь) –ADC используется для преобразования аналоговых сигналов в цифровые. Входные сигналы должны быть аналоговыми для АЦП. Производство цифровых сигналов можно использовать в различных цифровых приложениях (например, в измерительных устройствах).

7.DAC (цифро-аналоговый преобразователь) — этот преобразователь выполняет функции, противоположные функциям АЦП. Это устройство обычно используется для контроля аналоговых устройств, таких как двигатели постоянного тока и т. Д.
8. Интерпретируемое управление. Этот контроллер используется для обеспечения отложенного управления рабочей программой.Интерпретация может быть внутренней или внешней.
9. Специальный функциональный блок — Некоторые специальные микроконтроллеры, изготовленные для специальных устройств, таких как космические системы, роботы и т. Д., Содержат этот специальный функциональный блок. Этот специальный блок имеет дополнительные порты для выполнения некоторых специальных операций.

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

бит:
8-битный микроконтроллер выполняет логические и арифметические операции. Примером 8-битного микроконтроллера является Intel 8031/8051.
16-битный микроконтроллер работает с большей точностью и производительностью в отличие от 8-битного.
Примером 16-битного микроконтроллера является Intel 8096.

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

Память:

  • Микроконтроллер внешней памяти — когда встроенная структура построена с микроконтроллером, который не состоит из всех функциональных блоков, существующих на микросхеме, он называется микроконтроллером внешней памяти. Для иллюстрации — микроконтроллер 8031 ​​не имеет памяти программ на микросхеме.
  • Микроконтроллер со встроенной памятью — когда встроенная структура построена с микроконтроллером, который состоит из всех функциональных блоков, существующих на микросхеме, он называется микроконтроллером встроенной памяти.Для иллюстрации — микроконтроллер 8051 имеет всю память программ и данных, счетчики и таймеры, прерывания, порты ввода / вывода и, следовательно, свой микроконтроллер встроенной памяти.

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

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

Архитектура памяти:

  • Гарвардская архитектура памяти Микроконтроллер
  • Принстонская архитектура памяти Микроконтроллер

Микроконтроллер 8051:
Наиболее широко используемый набор микроконтроллеров относится к семейству 8051. Микроконтроллеры 8051 по-прежнему остаются идеальным выбором для огромной группы любителей и экспертов. В течение 8051 года человечество стало свидетелем самого революционного набора микроконтроллеров. Первоначально микроконтроллер 8051 был изобретен Intel.Двумя другими членами этого семейства 8051 являются:

  • 8052. Этот микроконтроллер имеет 3 таймера и 256 байтов ОЗУ. Кроме того, он имеет все функции традиционного микроконтроллера 8051. Микроконтроллер 8051 является частью микроконтроллера 8052.
  • 8031 ​​- Этот микроконтроллер меньше ПЗУ, за исключением того, что он имеет все функции традиционного микроконтроллера 8051. Для выполнения в его микросхему можно добавить внешнее ПЗУ размером 64 Кбайт.

8051 микроконтроллер задействует 2 типа памяти, такие как NV-RAM, UV-EPROM и Flash.

8051 Архитектура микроконтроллера:
Микроконтроллер 8051 — это восьмиразрядный микроконтроллер, выпущенный в 1981 году корпорацией Intel. Он доступен в 40-контактном DIP-корпусе (двухрядный корпус). Он имеет 4 КБ ПЗУ (программируемое пространство на кристалле) и 128 байтов встроенного ОЗУ, при желании 64 КБ внешней памяти могут быть связаны с микроконтроллером. Есть четыре параллельных 8-битных порта, которые легко программируются и адресуются. Встроенный кварцевый генератор интегрирован в микроконтроллер с тактовой частотой 12 МГц.В микроконтроллере есть последовательный порт ввода / вывода, который имеет 2 контакта. В него также встроены два таймера по 16 бит; эти таймеры могут использоваться как таймер для внутреннего функционирования, а также как счетчик для внешнего функционирования. Микроконтроллер состоит из 5 источников прерываний, а именно: прерывание от последовательного порта
, прерывание от таймера 1, внешнее прерывание 0, прерывание от таймера 0, внешнее прерывание 1. Режим программирования этого контроллера micro-
включает в себя GPR (регистры общего назначения), SFR (специальные регистры). регистры функций) и SPR (регистры специального назначения).

Микроконтроллер PIC:
Контроллер периферийного интерфейса (PIC), предоставленный Micro-chip Technology для классификации своих микроконтроллеров с одиночным чипом. Эти устройства оказались чрезвычайно успешными в 8-битных микроконтроллерах. Основная причина этого заключается в том, что Micro-Chip Technology постоянно модернизирует архитектуру устройства и включает в микроконтроллер столь необходимые периферийные устройства, чтобы удовлетворить потребности клиентов. Микроконтроллеры PIC очень популярны среди любителей и промышленников; это единственная причина широкой доступности, низкой стоимости, большой базы пользователей и возможности последовательного программирования.

Архитектура микроконтроллера PIC:
Архитектура 8-битных микроконтроллеров PIC может быть классифицирована следующим образом:
1. Архитектура базовой линии — В базовую архитектуру микроконтроллеры PIC семейства PIC10F включены, кроме этой части PIC12 и PIC16 семьи также включены. Эти устройства используют 12-битную архитектуру программного слова с альтернативами от шести до двадцати восьми выводов.
Кратко определенный набор атрибутов базовой архитектуры позволяет получать наиболее прибыльные продуктовые решения.Эта архитектура идеально подходит для гаджетов с батарейным питанием. Серия PIC10F200 — еще один недорогой 8-битный микроконтроллер флэш-памяти с 6-контактным корпусом.

2. Архитектура среднего диапазона — в эту среднюю линию добавлены семейства PIC12 и PIC16, которые атрибутируют 14-битную архитектуру программного слова. Гаджеты среднего уровня PIC16 предлагают широкий спектр альтернативных пакетов (от 8 до 64 пакетов) с низким и высоким уровнем встраивания периферийных устройств
. Это устройство PIC16 поддерживает множество аналоговых, цифровых и последовательных периферийных устройств, таких как SPI, USART, I2C, USB, ЖК-дисплеи и аналого-цифровые преобразователи.Микроконтроллеры PIC16 среднего уровня обладают функцией приостановки управления с восьмиуровневой аппаратной нагрузкой.
3. Высокопроизводительная архитектура. Высокопроизводительная архитектура включала семейство устройств PIC18. Эти микроконтроллеры используют 16-битную архитектуру программного слова вместе с альтернативами от 18 до 100 выводов. Устройства PIC18 представляют собой высокопроизводительные микроконтроллеры со встроенными аналого-цифровыми преобразователями. Все микроконтроллеры PIC18 объединяют высокоразвитую архитектуру RISC, которая поддерживает флеш-устройства.PIC18 имеет улучшенные атрибуты фундамента, 32 уровня глубокой нагрузки и несколько внутренних и внешних прерываний.

Микроконтроллер AVR:
AVR, также известный как Advanced Virtual RISC, представляет собой 8-битный микроконтроллер с одиночным чипом RISC с 8-разрядной архитектурой Гарварда. Он был изобретен Атмелем в 1966 году. Архитектура Гарварда означает, что программа и данные накапливаются в разных местах и ​​используются одновременно. Это было одно из передовых семейств микроконтроллеров, в которых встроенная флэш-память использовалась в основном для хранения программ, в отличие от одноразовых программируемых EPROM, EEPROM или ROM, используемых другими микроконтроллерами одновременно.Флэш-память — это энергонезависимая (постоянная при отключении питания) программируемая память. Архитектура микроконтроллера AVR: Архитектура микроконтроллера AVR
была разработана Альф-Эгилем Богеном и Вегардом Волланом. Название AVR происходит от имен разработчиков архитектуры микроконтроллера. AT90S8515 был передовым микроконтроллером, основанным на архитектуре AVR; с другой стороны, первым микроконтроллером, который поразил коммерческий рынок, был AT90S1200, выпущенный в 1997 году.

Все SRAM, Flash и EEPROM объединены в одном кристалле, что устраняет необходимость в любой другой внешней памяти в максимальном количестве устройств. Несколько устройств содержат альтернативу параллельной внешней шины, чтобы добавить дополнительные устройства памяти данных. Приблизительно все устройства, за исключением микросхем TinyAVR, имеют последовательный интерфейс, который используется для соединения больших последовательных микросхем Flash и EEPROM.

Микроконтроллер AMR:
AMR — это название компании, которая разрабатывает архитектуру микропроцессоров.Он также занимается лицензированием их для производителей, которые производят настоящие чипы. На самом деле AMR — это настоящая 32-битная архитектура RISC. Первоначально он был разработан в 1980 году компанией Acorn Computers Ltd. Этот базовый микропроцессор AMR не имеет встроенной флэш-памяти. ARM специально разработан для устройств с микроконтроллерами, его легко обучить и использовать, но он достаточно мощный для самых сложных встраиваемых устройств.

Архитектура микроконтроллера AMR:
Архитектура AMR представляет собой 32-битный RISC-процессор, разработанный ARM Ltd.Благодаря своим характеристикам энергосбережения центральные процессоры ARM преобладают на рынке мобильной электроники, где снижение энергопотребления является жизненно важной целью при проектировании. Архитектура ARM состоит из нижележащих элементов RISC: —

  • Максимальное функционирование за один цикл
  • Постоянный регистровый файл размером 16 × 32 бита.
  • Загрузить или сохранить архитектуру.
  • Заданная ширина инструкции 32 бита для упрощения конвейерной обработки и декодирования при минимальной плотности кода.
  • Для смещенного доступа к памяти нет поддержки

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

Применение микроконтроллера в повседневной жизни Устройства:

  • Светочувствительные и управляющие устройства
  • Устройства измерения и контроля температуры
  • Устройства обнаружения пожара и безопасности
  • Промышленные контрольно-измерительные приборы
  • Устройства управления технологическим процессом


Применение микроконтроллер в промышленных устройствах управления:

  • Промышленные контрольно-измерительные приборы
  • Устройства управления технологическим процессом


Применение микроконтроллера в измерительных и измерительных приборах:

  • Вольтметр
  • Измерение вращающихся объектов
  • Счетчик тока
  • Ручное измерение системы

Источник: www.electronicshub.org/microcontrollers/

Что такое микроконтроллер? Взгляд изнутри микроконтроллера | Arrow.com

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

Что такое микроконтроллер?

Микроконтроллер (иногда называемый MCU или Microcontroller Unit) — это отдельная интегральная схема (IC), которая обычно используется для определенного приложения и предназначена для реализации определенных задач.Продукты и устройства, которые должны автоматически управляться в определенных ситуациях, такие как бытовые приборы, электроинструменты, системы управления автомобильными двигателями и компьютеры, являются отличными примерами, но микроконтроллеры достигают гораздо большего, чем просто эти приложения.

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

Внутри микроконтроллера: основные компоненты

Микроконтроллер можно рассматривать как маленький компьютер, и это из-за основных компонентов внутри него; Центральный процессор (ЦП), оперативное запоминающее устройство (ОЗУ), флэш-память, интерфейс последовательной шины, порты ввода / вывода (порты ввода-вывода) и, во многих случаях, электрически стираемое программируемое устройство только для чтения. Память (EEPROM). На рисунке 1 показана большая схема основных частей, а также других частей микроконтроллера.Давайте углубимся в каждый из этих компонентов и посмотрим, как они работают внутри микроконтроллера.

Рисунок 1: Части микроконтроллера. (Источник: Max Embedded)

Конструкция микроконтроллера CPU

ЦП, иногда называемый процессором или микропроцессором, контролирует все получаемые инструкции / поток данных. Вы можете думать об этом как о мозге системы, который обрабатывает все входящие данные и выполняет необходимые инструкции.Его двумя основными компонентами являются арифметико-логический блок (ALU), который выполняет арифметические и логические операции, и блок управления (CU), который обрабатывает все инструкции процессора. На рисунке 2 показан обычный «машинный цикл», который проходит ЦП.

Рисунок 2: Типичный машинный цикл, который выполняет ЦП. (Источник: Computer Hope)

RAM микроконтроллера

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

Использование флэш-памяти в микроконтроллерах

Флэш-память — это тип энергонезависимой памяти, которая, в отличие от ОЗУ, сохраняет данные в течение длительного периода, даже если микроконтроллер выключен. Это сохраняет сохраненную программу, которую вы могли загрузить в микроконтроллер. Флэш-память записывает в «блок» или «сектор» за раз, поэтому, если вам нужно просто перезаписать один байт, во флэш-памяти потребуется перезаписать весь блок, в котором находится байт, что может быстрее изнашиваться. .

Что такое EEPROM в микроконтроллерах?

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

Интерфейс последовательной шины

Интерфейс последовательной шины — это последовательная связь в микроконтроллере, отправляющая данные по одному биту за раз. С платами микроконтроллера он соединяет ИС с сигнальными дорожками на печатной плате (PCB). Что касается микросхем, они используют последовательную шину для передачи данных, чтобы уменьшить количество контактов в корпусе, что делает их более рентабельными.Примерами последовательных шин в ИС являются SPI или I2C.

Порты ввода-вывода микроконтроллера

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

Рисунок 3: Общие компоненты входов и выходов, которые используются для микроконтроллера. (Источник: Marshall Ball)

Посмотреть похожие продукты
Посмотреть похожие продукты
Посмотреть похожие продукты
Посмотреть похожие продукты

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

Знайте разницу между инвертором, преобразователем, трансформатором и выпрямителем.

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

Посмотрите на разницу между популярным микроконтроллером Arduino Uno Rev3 и популярным SBC Raspberry Pi 3.

микроконтроллеров повсюду

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

Микроконтроллеры везде…..более здесь

Используется во всем, от простейшего контроллера полива газона до очень сложные спутниковые системы, микроконтроллер стал вездесущий и невидимый. В среднем в американском домохозяйстве около 60 встроенных микроконтроллеры. 1 BMW 7-й серии 1999 года имеет 65 микроконтроллеров. 2 Ежегодно сюда добавляется более 5 миллиардов микроконтроллеров. Хотя микроконтроллеры в ПК наиболее заметны, они составляют всего 6% от рынок микроконтроллеров. 3

Где используются микроконтроллеры

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

Что такое микроконтроллеры?

Микроконтроллеры — это законченные компьютерные системы на микросхеме, обычно объединяет арифметико-логический блок (ALU), память, таймер / счетчики, последовательный порт, порты ввода / вывода (I / O) и тактовый генератор.

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

Другой пример — микроволновая печь. Давайте посмотрим, как микроконтроллер функционирует при приготовлении пакета попкорна в микроволновой печи.

Вы открываете дверь и кладете внутрь пакет с попкорном.Ты близко дверь и нажмите кнопку с надписью «Попкорн». Через несколько минут прозвучал тон объявляет, что попкорн готов. Что произошло за кулисами?

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

Это простой пример приложения микроконтроллера. Доступны микроконтроллеры с дополнительными функциями, такими как аналого-цифровой. преобразователи (АЦП), широтно-импульсная модуляция (ШИМ), сторожевые таймеры, контроллер вычислительная сеть (CAN) и функции безопасности.

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

против микропроцессора — в чем разница?

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

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

Микропроцессор — это компьютерный процессор, который объединяет функции центрального процессора (ЦП) всего на нескольких (а часто и только на одной) интегральных схемах.

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

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

В чем разница между микроконтроллером и микропроцессором?

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

Описание архитектуры микропроцессора и микроконтроллера Микропроцессоры и микроконтроллеры

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

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

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

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

Объяснение применения микропроцессоров и микроконтроллеров

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

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

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

Три ключевых различия между микроконтроллерами и микропроцессорами

Стоимость

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

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

Скорость

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

Одним из ключевых преимуществ дизайна микроконтроллеров является то, что они могут быть оптимизированы для выполнения кода для конкретной задачи. Это означает использование нужной скорости и мощности для выполнения работы — не больше и не меньше. В результате многие микропроцессоры имеют тактовую частоту до 4 ГГц, в то время как микроконтроллеры могут работать с гораздо более низкими частотами, составляющими 200 МГц или меньше.

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

Потребляемая мощность

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

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

Встроенные системы и микроконтроллеры Микроконтроллеры

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

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

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

Резюме

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

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

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *