Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Ошибки
  • Про микроконтроллеры для начинающих - история создания, основные виды и различия. Микропроцессоры и микроконтроллеры Чем отличается микросхема от процессора

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

Удивительно, как небольшая часть технологии изменила лицо персональных компьютеров. С первого коммерческого микропроцессора (4-бит 4004), который был разработан Intel в 1971 году для более продвинутого и универсального 64-битного Itanium 2, микропроцессорная технология перешла в совершенно новую сферу архитектуры следующего поколения. Достижения в области микропроцессорной техники сделали персональные вычисления более быстрыми и надежными, чем когда-либо прежде. Если микропроцессор является сердцем компьютерной системы, микроконтроллер - это мозг. Как микропроцессор, так и микроконтроллер часто используются в синонимах друг друга из-за того, что они имеют общие функции и специально разработаны для приложений реального времени. Однако у них есть и их доля различий.

Что такое микропроцессор?

Микропроцессор - это интегрированный чип на основе кремния, имеющий только центральный процессор. Это сердце компьютерной системы, которая предназначена для выполнения множества задач, связанных с данными. Микропроцессоры не имеют RAM, ROM, IO контактов, таймеров и других периферийных устройств на чипе. Они должны быть добавлены извне, чтобы сделать их функциональными. Он состоит из ALU, который обрабатывает все арифметические и логические операции; блок управления, который управляет и управляет потоком инструкций по всей системе; и Register Array, который хранит данные из памяти для быстрого доступа. Они предназначены для приложений общего назначения, таких как логические операции в компьютерной системе. Проще говоря, это полностью функциональный процессор на единой интегральной схеме, который используется компьютерной системой для выполнения своей работы.

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

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

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

1) Технология, используемая в микропроцессоре и микроконтроллере

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

2) Архитектура микропроцессора и микроконтроллера

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

3) Работа микропроцессора и микроконтроллера

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

4) Память данных в микропроцессоре и микроконтроллере

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

5) Хранение в микропроцессоре и микроконтроллере

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

6) Приложения микропроцессора и микроконтроллера

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

Микропроцессор против микроконтроллера: сравнительная таблица

Резюме микропроцессора и микроконтроллера

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

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

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

Что такое микропроцессор

Микропроцессор (в ангоязычной литературе MPU — Micro Processor Unit) содержит функционал компьютерного центрального процессора, или ЦП (CPU — Central Processing Unit) на одном полупроводниковом кристалле (ИМС — интегральная микросхема или на западный манер — Integrated Circuit).

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

Микропроцессор обрабатывает данные, поступающие с входных периферийных устройств и передает обработанные данные на выходные периферийные устройства.

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

Микропроцессоры с полным набором команд (Complex Instruction Set Computer, CISC -архитектура). Характеризуются нефиксированным значением длины команды, кодированием арифметических действий одной командой, небольшим числом регистров, выполняющих строго определённые функции. Примером такого типа процессоров служит семейство x86.

Микропроцессоры с сокращенным набором команд (Reduced Instruction Set Computer, RISC -архитектура). Обладают, как правило, повышенным быстродействием за счёт упрощения инструкций, что позволяет упростить процесс декодирования и, соответственно, сократить время их выполнения. Большинство графических процессоров разрабатываются, используя этот тип архитектуры.

Микропроцессоры с минимальным набором команд (Minimal Instruction Set Computer, MISC -архитектура). В отличие от RISC-архитектуры, в них используются длинные командные слова, что позволяет выполнять достаточно сложные действия за один цикл работы устройства. Формирование длинных «командных слов» стало возможным благодаря увеличению разрядности микропроцессорных устройств.

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

Отдельно хочу выделить микропроцессоры специального назначения (ASIC — Application S pecific I ntegrated C ircuit). Как следует из названия, предназначены для решения конкретной задачи. В отличие от микропроцессоров общего назначения, применяются в конкретном устройстве и выполняют определенные функции, характерные только для данного устройства. Специализация на выполнении узкого класса функций приводит к увеличению скорости работы устройства и, как правило, позволяет снизить стоимость такой интегральной схемы. Примерами таких микропроцессоров может быть микросхема, разработанная исключительно для управления мобильным телефоном , микросхемы аппаратного кодирования и декодирования аудио- и видеосигналов - так называемые цифровые сигнальные процессоры (Digital Signal Processing, DSP multiprocessors). Могут быть реализованы в виде ПЛИС (программируемая логическая интегральная схема). При разработке таких процессоров для описания их функциональности используют языки описания аппаратных устройств (HDL — Hardware D escription L anguage) , такие как Verilog и VHDL .

Системы на основе микропроцессоров строят примерно следующим образом.

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

Теперь, давайте, рассмотрим микроконтроллер.

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

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

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

Ядро микроконтроллера (центральный процессор), как правило строится на основе RISC-архитектуры.

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

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

Микропроцессор Микроконтроллер
Использование Компьютерные системы Встраиваемые системы
Устройство Содержит центральный процессор, регистры общего назначения, указатели стека, счетчики программы, таймер и цепи прерываний Cодержит схему микропроцессора и имеет встроенные ПЗУ, ОЗУ, устройства ввода/вывода, таймеры и счетчики.
Память данных Имеет много инструкций для перемещения данных между памятью и процессором. Имеет одну-две инструкции для перемещения данных между памятью и процессором.
Электрические цепи Высокая сложность Достаточно простые
Затраты Стоимость всей системы увеличивается Низкая стоимость системы
Число регистров Имеет меньшее количество регистров, операции в основном производятся в памяти. Имеет большее число регистров, поэтому проще писать программы
Запоминающее устройство Основано на архитектуре фон Неймана. Программа и данные хранятся в том же модуле памяти. Основано на Гарвардской архитектуре. Программы и данные хранятся в разных модулях памяти.
Время доступа Время доступа к памяти и устройствам ввода/вывода больше. Меньшее время доступа для встроенной памяти и устройств ввода/вывода.
Железо Требует большее количество аппаратного обеспечения. Требует меньшее количество аппаратного обеспечения.

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

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

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

Предпосылки для появления микропроцессорных и микроконтроллерных систем

Чтобы разобраться с причинами появления и развития микропроцессорной техники взгляните на характеристики и особенности первых компьютеров. ENIAC - первый компьютер, 1946 год. Вес - 30 т, занимал целое помещение или 85 кубических метров объёма в пространстве. Большое тепловыделение, энергопотребление, постоянные неполадки из-за разъёмов электронных ламп. Окислы приводили к исчезновению контактов и лампы теряли связь с платой. Требовали постоянного обслуживания.

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

Кстати, в 1969 году уже был изобретен прообраз интернета - ARPANET (англ. Advanced Research Projects Agency Network).

Параллельно развивались полупроводниковые технологии - в 1907 работы по детекторам и электролюминесценции полупроводников. В 1940-е диоды и транзисторы. Это всё привело к появлению интегральных технологий. Роберт Нойс в 1959 году изобрел интегральную микросхему (дальше ИМС или МС).

Важно:

Фирма Intel - внесла огромный вклад в развитие микроконтроллеров. Основатели: Роберт Нойс, Гордон Мур и Эндрю Гроув. Основана в 1968 году.

До определённых пор фирма производила п/п запоминающие устройства. Первым была МС «3101» - 64 разряда, Шотки - биполярная статическая ОЗУ.

Следующим было изобретение «4004» - микропроцессора с 2300 п/п транзисторов в своём составе, по производительности не хуже, чем ENIAC, а размером меньше ладони. Т.е. размер 4004-го микропроцессора был на много порядков меньше.

Архитектура, программирование, физическая реализация

Разработчиком архитектуры первого микропроцессора стал - Тед Хофф , системы команд - Стен Мейзор . Федерико Феджин - спроектировал кристалл. Но изначально компания Intel не владела всеми правами на этот чип, и, заплатив 60 000 долларов компании Busicom, получила полные права. Вскоре, последняя обанкротилась.

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

Впоследствии и другие производители электроники объявляли о создании подобных устройств.

Это интересно:

4004 - 4-разрядная, p-МОП микросхема.

Следующим этапом стал выпуск в 1972 году процессора «8008». В отличие от предыдущей модели он уже больше похож на современные модели. 8008 - 8 разрядный, имеет аккумулятор, 6 регистров общего назначения, указатель стэка, 8 регистров адреса, команды ввода-вывода.

Событие:

А в 1973 году была изобретена наиболее удачная конфигурация микропроцессора, который до сих пор является классическим - это 8 разрядный «8080».

Через полгода у Intel появился серьезный конкурент - Motorola с процессором «6800», n-МОП технология, трёхшинную структуру с 16 разрядной шиной адреса. Более мощная система прерываний, для его питания достаточно оного напряжения, а не три, как у «8080». Кроме того, команды были проще и короче.

До нашего времени сохраняется противостояние семейств микропроцессоров этих производителей.

Ускорило скорость работы и расширило возможности микропроцессоров внедрение 16-разрядных микропроцесоров. Первым из них был разработан «8086» от Intel. Именно его использовали в компании IBM для создания первых персональных компьютеров.

Процессор «68000» - 16 разрядный ответ от «Motorola», использовался в компьютерах ATARI и Apple

Для широкой аудитории в роли ПК стали популярны ZX Spectrum . В них устанавливались процессоры «Z80», от Sinclair Research Ltd. Одна из основных причин популярности - не нужно покупать монитор, ведь спектрум, как современные приставки, подключался к телевизору, а обычный магнитофон как устройство для записи и хранения программ и данных.

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

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

А первый патент в СССР на однокристальные микро-ЭВМ был выдан в 1971 году М. Кочрену и Г. Буну, из Texas Instruments. С этих пор на кристалле кремния кроме процессора размещали еще память, и дополнительные устройства.

Конец семидесятых - это новая волна конкуренции между Intel и Motorola. Причиной этому стали две презентации, а именно в 76 году Intel выпустила i8048, а Motorola, только в 78 - mc6801, который был совместим с раним микропроцессором mc6800.

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

Для своего времени он имел немыслимые 128 000 транзисторов. Это в четыре раза превосходило количество в i8086 процессоре.

В 2017 году, и последние десятилетие наиболее распространены следующие виды микроконтроллеров:

    8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel;

    16-битные MSP430 фирмы TI;

    32-битные микроконтроллеры, архитектуры ARM. Она продаётся разработчиками различным фирмам, на базе которой выпускается масса различных продуктов.

В Советском союзе техника не стояла на месте. Ученные не только копировали наиболее удачные и интересные зарубежные разработки, но и занимались разработкой уникальных проектов. Таким образом к 1979 году в НИИ ТТ была разработана К1801ВЕ1, эта микроархитектура называлась «Электроника НЦ» и имела 16 разрядов.

Различия микроконтроллеров

Микроконтроллеры можно разделить по таким критериям:

    Разрядность;

    Система команд;

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

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

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

Деление происходит на:

Деление по типу системы команд:

    RISC-архитектура , или сокращенная система команд. Ориентирована на быстрое выполнение базовых команд за 1, реже 2 машинных цикла, а также имеет большое количество универсальных регистров, и более длинный способ доступа к постоянной памяти. Архитектурна характерна для систем под управление UNIX;

    СISC-архитектура , или полная система команд, характерна прямая работа с памятью, большее число команд, малое число регистров (ориентирована на работу с памятью), длительность команд от 1 до 4 машинных циклов. Пример - процессоры Intel.

Деление по типу памяти:

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

    Гарвардская архитектура - раздельная память данных и память программ, использовалась в первые на компьютерах семейства Mark. Разработана в 1944 году.

Выводы

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

Пошаговое обучение программированию и созданию устройств на микроконтроллерах AVR

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

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

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

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

На данный момент у Максима Селиванова есть 4 курса по созданию устройств на микроконтроллерах, построенные по принципу от простого к сложному.

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

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

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

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

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

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

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

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

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

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

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

Полный курс обучения программированию микроконтроллеров со скидкой:


ЧТО ТАКОЕ МИКРОПРОЦЕССОР, МИКРОКОНТРОЛЛЕР И
ПРОГРАММИРУЕМЫЙ ЛОГИЧЕСКИЙ КОНТРОЛЛЕР

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

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

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

Эта статья раскрывает некоторые аспекты применения микропроцессорных систем в технике и промышленности. Если дальнейший текст покажется вам слишком тяжелым и непонятным, рекомендуем предварительно ознакомиться со статьей «Основы информатики. Компоненты микропроцессорных систем ».

  • Что такое микропроцессор?
  • Что такое микроконтроллер? Каковы его особенности?
  • Где используются микроконтроллеры?
  • Чем микроконтроллер отличается от микропроцессора?
  • Что такое сигнальный процессор?
  • Что такое программируемый логический контроллер (ПЛК)? Как он построен?
  • Как программируют ПЛК?

Вы уже наверняка знаете, что любой компьютер – это машина для обработки информации, не взирая на то, какую конкретно задачу он выполняет. Центральным элементом компьютера является микропроцессор. Если спросить у ученика средней школы: – Что такое микропроцессор?, – то, скорее всего, получите ответ «Микропроцессор – это сердце компьютера».

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

Почему «микроэлектронное»? Потому что микропроцессоры производятся с помощью технологий современной микроэлектроники на основе полупроводникового кристалла. Информация в микропроцессорной системе передается электрическими импульсами. Конструктивно микропроцессор исполняется в виде одной микросхемы (иногда – нескольких). Микросхема состоит из пластикового или керамического корпуса, внутри которого размещается миниатюрная полупроводниковая подкладка (рис. 1). На этой подкладке лазером «начерчены» все электронные схемы микропроцессора. Входы и выходы схемы на подкладке соединены с металлическими выводами, расположенными по бокам или снизу корпуса микросхемы.



а) б)

Рис. 1. Интегральная микросхема (а) и ее внутреннее строение (б)


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

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

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

Персональный компьютер может иметь множество применений, однако это достаточно дорогое и громоздкое устройство. А как же наделить элементами интеллекта бытовую технику, автомобили, медицинские приборы? Как сделать их «умными»? Понятно, что в бытовой кондиционер нельзя вмонтировать системный блок обычного компьютера. Это повысит его стоимость в два-три раза. И в составе так называемого смарт-телевизора мы не найдем отдельного персонального компьютера в его обычном виде. Для автоматизации такого рода техники разработаны и изготавливаются специальные процессорные устройства – однокристальные микроконтроллеры (англ.: «Microcontroller»). Английское слово «control» обозначает «контролировать», «управлять». Таким образом, микроконтроллер – это специальный микропроцессор, предназначенный для автоматизации разнообразных устройств и управления их работой.

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

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



Рис. 2. Сферы применения микроконтроллеров.


Микроконтроллеры также широко используются в автомобильной электронике. Например, автомобиль «Peugeot 206» имеет на борту 27 микроконтроллеров, а в автомобилях высокого класса, таких как, например, «BMW» седьмой серии, используется более 60 микроконтроллеров. Они регулируют жесткость адаптивной подвески, управляют впрыском топлива, светотехникой, двигателями дворников, стеклоподъемников и зеркал заднего вида и т. п. (рис. 3).


Рис. 3. Использование микроконтроллеров в автомобильной электронике
(по материалам Microchip Technology).


Микроконтроллер, в отличие от микропроцессора, обычно имеет небольшую разрядность (8 – 16 бит) и богатый набор команд манипулирования отдельными битами. Битовые команды дают возможность управлять дискретным оборудованием (поднять/опустить шлагбаум, включить/выключить лампу, нагреватель, запустить/остановить двигатель, открыть/закрыть клапан, и проч.) Средства, обеспечивающие возможность оперировать отдельными битами, вводить и выводить дискретные сигналы называют «битовым процессором».

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

Типовая архитектура микроконтроллера (рис. 4) содержит систем систему синхронизации и управления (1), арифметико-логическое устройство (2), регистры общего назначения (3), память данных (4) и память программ (5), порты (6), функциональные устройства (таймеры, счетчики, широтно-импульсные модуляторы, интерфейсы) и регистры для их настройки (7), рис. 4.


Рис. 4. Архитектура типичного микроконтроллера.


Программы для микроконтролеров создают в специальных интегрованных инструментальных средах (англ .: I ntegrated D evelopment E nvironment, IDE) языками Асемблера (машинных команд) или C++.

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

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

Сигнальные процессоры (англ .: D igital S ignal P rocessor, DSP) характеризуются высокой разрядностью и быстродействием, имеют в системе команд специальные инструкции для реализации типовых алгоритмов цифровой обработки сигналов (ЦОС). Также на одном кристалле, кроме собственно процессорной части, реализуются аналогово-цифровые и цифро-аналоговые преобразователи. А налого-Ц ифровой П реобразователь (АЦП) заменяет непрерывный входной сигнал соответствующим потоком цифровых данных (отсчетов). Далее эти данные обрабатываются процессорной частью, после чего с помощью Ц ифро-А налогового П реобразователя (ЦАП) обработанные цифровые данные снова воспроизводятся в аналоговый сигнал. Таким способом сигнальный процессор может углублять четкость изображения, или, наоборот, размывать его, шифровать и дешифровать аудио- и видеопотоки, воспроизводить на экране виртуальную или дополненную реальность, отслеживать движущиеся объекты даже в условиях значительных помех и неполной входной информации.


ТИПЫ МИКРОПРОЦЕССОРОВ

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

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

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

П рограммируемый Л огический К онтроллер (ПЛК; англ .: P rogrammable L ogic C ontroller или PLC) – это специализированная микропроцессорная система, которая используется для автоматизации технологических процессов и общепромышленных установок и комплексов (конвейеров, рольгангов, подъемных кранов, дробилок, мельниц, классификаторов, смесителей, прессов, упаковочных машин, робототехнических и гибких производственных комплексов, и т. п.)

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

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



Рис. 5. Программируемые логические контроллеры.


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

Таких языков программирования – 6 (5 стандартизированных), причем 4 из них – визуальные (т. е. программа вводится не в виде текста, а как набор соединенных друг с другом графических элементов (блоков), (рис. 6).




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

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

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

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

Чем отличается микропроцессор и микроконтроллер?

Для начала давайте рассмотрим разницу между микроконтроллером (MCU) и микропроцессором (MPU). Обычно микроконтроллер использует встроенную флэш память, в которой хранятся и выполняется его программа. Благодаря этому, микроконтроллер имеет очень короткое время запуска и может выполнять код очень быстро. Единственное ограничение при использовании встроенной памяти - это ее конечный объем. Большинство микроконтроллеров, доступных на рынке, имеют максимальный объем флэш памяти ~2 мегабайта. Для некоторых приложений это может оказаться критическим фактором.

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

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

Что выбрать MPU или MCU?

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

Один из аспектов, которые сложно определить, это быстродействие, требуемое для работоспособности будущей системы. Количественно оценить этот критерий можно с помощью так называемой вычислительной мощности, которая измеряется в Dhrystone MIPS или DMIPS (Dhrystone - это синтетический тест производительности компьютеров, а MIPS - количество миллионов инструкций в секунду). Например, микроконтроллер Atmel SAM4 на базе ядра ARM Cortex-M4 обеспечивает 150 DMIPS, а микропроцессор на ядре ARM Cortex-A5, такой как Atmel SAM5AD3 может обеспечить до 850 DMIPS. Один из способов оценить требуемый DMIPS - это посмотреть какая производительность нужна для запуска части приложения. Запуск полноценной операционной системы (Linux, Android или Windows CE) для работы вашего приложения потребовал бы около 300 - 400 DMIPS. А если использовать для приложения RTOS, то достаточно всего 50 DMIPS. При использовании RTOS также требуется меньше памяти, поскольку ядро обычно занимает несколько килобайт. К сожалению полноценная операционная система требует для своего запуска блок управления памятью (MMU), что в свою очередь ограничивает тип процессорных ядер, которые могут быть использованы.

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

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

Существует несколько факторов относительно пользовательского интерфейса. Во-первых, это дополнительная вычислительная нагрузка. Для такой интерфейсной библиотеки как Qt, которая широко используется на Linux`e, дополнительно потребуется 80-100 DMIPS. Во-вторых - это сложность пользовательского интерфейса. Чем больше вы используете анимации, эффектов и мультимедийного содержимого, чем выше разрешение изображения, тем большая производительность и память вам потребуется. Поэтому вероятнее всего здесь подойдет микропроцессор. С другой стороны, простой пользовательский интерфейс со статическим изображением на дисплее низкого разрешения может быть реализован и на микроконтроллере.

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

На рынке сейчас появляются флэш микроконтроллеры с TFT LCD контроллерами, но все же должно быть достаточное количество встроенной оперативной памяти для управления дисплеем. Например, 16-цветный QVGA 320х240 требует 150 кБ оперативной памяти чтобы выдавать изображение и обновлять дисплей. Это довольно большой объем ОЗУ и может потребоваться внешняя память, что тоже скажется на себестоимости.

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

С точки зрения коммуникаций, большинство микроконтроллеров и микропроцессоров имеют в своем составе наиболее популярные . Но высокоскоростные интерфейсы, такие как HS USB 2.0, 10/100 Мбит/с Ethernet порты или гигабитные Ethernet порты, обычно есть только у микропроцессоров, потому что они лучше приспособлены к обработке больших объемов данных. Ключевой вопрос здесь - это наличие подходящих каналов и полосы пропускания для обработки потока данных. Приложения, использующие высокоскоростные подключения и ориентированные на операционную систему, требуют применения микропроцессоров.

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

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

Заключение

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

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

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

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

Лучшие статьи по теме