Windows. Вирусы. Ноутбуки. Интернет. Office. Утилиты. Драйверы

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

где каждый разряд двоичного числа a v ..., а п+[ может принимать только два значения: 0 или 1. Цифра 0 воспроизводится низким уровнем напряжения, а 1 - высоким.

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

Рис. 2.16.

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

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

Структура и характеристики микроконтроллеров определяют их функциональные возможности. Используются 4-, 8-, 16-, 32- и 64-разрядпые процессоры, способные выполнять операции с данными в формате с фиксированной точкой (в большинстве случаев) или плавающей точкой, что обеспечивает более высокую точность. Микроконтроллеры различаются наличием специализированных устройств ввода-вывода, таких как таймеры (счетчики импульсов), блоки захвата и сравнения, ШИМ-модули с разным количеством каналов, аналого-цифровые преобразователи (АЦП), интерфейсы различного типа. Производителями выпускаются семейства микроконтроллеров, насчитывающие десятки представителей (серий) с разнообразными конфигурациями интерфейсов и составом встроенных периферийных устройств. Для решения задач, требующих большого объема и скорости вычислений, применяются специализированные микроконтроллеры, адаптированные к решению задач цифрового управления в реальном времени, - процессоры для цифровой обработки сигналов (англ. DSP - Digital Signal Processor). Существуют микроконтроллеры, специально предназначенные для управления полупроводниковыми преобразовательными устройствами, имеющие вычислительное ядро на базе DSP с объектно-ориентированной системой команд. Одним из лидеров в области производства микроконтроллеров является фирма Texas Instruments, выпускающая широкую номенклатуру устройств для управления силовыми электронными преобразователями. Одно из популярных семейств - микроконтроллеры С2000 |3].

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

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

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

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

Чтобы разобраться с причинами появления и развития микропроцессорной техники взгляните на характеристики и особенности первых компьютеров. 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. Курс отлично подойдет и для тех, кто уже пытался изучать дисплеи . Из курса вы узнаете много новой информации, даже если думаете, что хорошо изучили дисплей!

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

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

Altera-Cyclone and Arduino

Суть вопроса. Разница между ПЛИС и микроконтроллером

Каждый начинающий микропрогер на определенном этапе своего развития задается вопросом в чем же разница между ПЛИС (фирм Altera или Xilinx) и микроконтроллером (микропроцессором)?

Читаешь форумы — знатоки дела пишут, что это совершенно разные вещи, которые нельзя сравнить, аргументируя это тем, что у них разная архитектура . Читаешь мануал по Verilog или C++ — и тот и другой используют похожие операторы со схожим функционалом, даже синтаксис похож, а почему разные? Заходишь на марсоход — там светодиодами (или даже просто лампочками) с помощью FPGA моргают, смотришь проекты на Arduino — там роботами управляют. СтОп!

А вот теперь остановимся и спросим себя: почему с ПЛИС — тупо лампочка, а Ардуино — умно робот? Ведь и первый и второй вроде как программируемое устройство, неужели у ПЛИС возможностей для робота не хватает?

В какой-то степени суть вопроса «В чем разница между ПЛИС и микроконтроллером ?» раскрывается именно на таком примере.

Отметим сразу. Функционал ПЛИС изначально не уступает микроконтроллеру (и микропроцессору, кстати, тоже), точнее — основные функции у одного и второго по сути идентичны — выдавать логические 0 или 1 при определенных условиях, а если говорить о быстродействии, количестве выводов(ножек) и возможностях конвейерной обработки, то микроконтроллеру до ПЛИС а вообще далеко. Но есть одно «но». Время на разработку одного и того же программного алгоритма на двух разных устройствах (ПЛИС и микроконтроллер ) различается в разы, а то и в десятки раз. Именно ПЛИС здесь в 99% случаев сильно уступает МК. И дело вовсе не в замороченности языков Verilog , VHDL или AHDL , а в устройстве самой ПЛИС .

О взаимодействии программного языка с архитектурой ПЛИС и микроконтроллера

FPGA : в ПЛИС и нет сложных автоматизированных цепочек(делающих часть работы за вас). Есть только железные проводные трассы и магистрали, входы, выходы, логические блоки и блоки памяти. Среди трасс есть особый класс — трасса для тактирования(привязанная к определенным ножкам, через которые рекомендуется проводить тактовую частоту).

Основной состав:

Трасса — металл, напаянный на слои микросхемы, является проводником электричества между блоками.

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

Ячейки — группы от нескольких единиц до нескольких десятков транзисторов.

Транзистор — основной элемент ТТЛ логики.

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

Тактовый генератор — внешняя микросхема, вырабатывающая тактовые импульсы, на которых основывается большая часть работы ПЛИС .

Архитектура ПЛИС. Взаимосвязь составляющих элементов

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


Архитектура ПЛИС (FPGA)

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

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

Постоянная память (ПЗУ) — память, в которой хранится ваша программа. В нее входят алгоритмы действий и константы. А так же библиотеки(наборы) команд и алгоритмов.

Оперативная память (ОЗУ) — память, используемая микроконтроллером для временного хранения данных(как триггеры в ПЛИС ). Например, при вычислении в несколько действий. Допустим, нужно умножить первое пришедшее число на второе(1-е действие), затем третье на четвертое(2 действие) и сложить результат(3 действие). В оперативную память при этом занесется результат 1 действия на время выполнения второго, затем внесется результат 2 действия. А затем оба этих результата пойдут из оперативной памяти на вычисление 3 действия.

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

Средства (порты) ввода-вывода и последовательные порты ввода-вывода — ножки микроконтроллера , предназначенные для взаимодействия с внешним миром.

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

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

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

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

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

Взаимосвязь составляющих блоков микроконтроллера

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


Основное отличие ПЛИС и микроконтроллера

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

Железо и программа.

В ПЛИС всю работу нужно делать самому, вручную: для того, чтобы реализовать какую-либо программу на ПЛИС , нужно отследить каждый сигнальчик по каждому проводку, приходящему в ПЛИС , расположить какие-то сигнальчики в ячейки памяти, позаботиться о том, чтобы в нужный момент именно к этим ячейкам памяти обратился другой сигнальчик, который вы так же отслеживаете или даже генерируете, и в итоге набор сигнальчиков, задержанный в памяти задействовал нужный вам сигнальчик, который, например, пойдет на определенную выходную ножку и включит светодиодик, который к ней подключен. Часть сигнальчиков идет не в память, а например на запуск определенной части алгоритма(программы). То есть, говоря языком микропрогера, эти ножки являются адресными. Например, имеем на нашей плате в нашей программе три адресные ножки для включения неких не связанных(или связанных) друг с другом алгоритмов, которые мы реализовали на языке Verilog в ПЛИС . Также в программе, кроме трех адресных ножек, у нас есть еще например 20 информационных ножек, по которым приходит набор входных сигнальчиков(например с разных датчиков) с какой-либо информацией (например температура воды в аквариуме с датчика температуры воды в аквариуме). 20 ножек = 20 бит. 3 ножки -3 бита. Когда приходит адресный сигнал 001(с трех ножек адреса) — запускаем первый алгоритм, который записывает 20 информационных сигнальчиков в 20 ячеек памяти(20 триггеров), затем следующие 20 сигнальчиков умножаем на полученные ранее 20, а результат умножения записываем в память, а потом отсылаем по другим ножкам например в терморегулятор воды в аквариуме. Но Отошлем мы этот результат только тогда, когда на наши адресные ножки придет код например 011 и запустит алгоритм считывания и передачи. Ну, естественно «отсылаем», «считываем» и еще что-то прописываем в ручную. Ведем каждый сигнальчик в каждый такт работы ПЛИС по определенному пути, не теряем. Обрабатываем или записываем. Складываем или умножаем. Не забываем записать. Не забываем принять следующий сигнал и записать в другие триггеры. Еще добавьте сюда работу, привязанную к тактовой частоте, синхронизацию (которая так же реализуется вручную), неизбежные ошибки на этапах разработки и отладки и кучу других проблем, которые в данной статье рассматривать просто бессмысленно. Трудно. Долго. Но зато на выходе работает супер оперативно, без глюков и тормозов. Железно!

Теперь микроконтроллер . 20 ножек на прием информации — для большинства микроконтроллеров физически невозможная задача. А вот 8 или 16 — да пожалуйста! 3 информационных — в легкую! Программа? По адресу 001 умножить первое пришедшее число на второе, по адресу 011 отсылай результат в терморегулятор. Все! Быстро. Легко. Не супер, но оперативно. Если очень грамотно написать программу- без глюков и тормозов. Программно!

Железо и Программа! Вот главное отличие между ПЛИС и Микроконтроллером .

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

Заключение

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

По характеристикам выдаваемого сигнала, ПЛИС чаще всего рассчитана на 3,3В, 20мА, Микроконтроллер на 5В, 20мА.

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

В принципе, все просто!

Остались вопросы? Напишите комментарий. Мы ответим и поможем разобраться =)

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

Микроконтроллер - это «все в одном», процессор, RAM, IO на одном чипе, поэтому вы не можете (скажем) увеличить объем доступной RAM или количество портов ввода-вывода. Управляющая шина является внутренней и недоступной дизайнеру платы.

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

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

However, as I mentioned, the line gets blurry. For example, recent Intel/AMD processors add a memory controller on the chip (previously it was in the chipset).

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

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

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

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

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ: