Remkomplekty.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Современные микроконтроллеры архитектура

АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРА

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

Рисунок 1.1 Структура микроконтроллера.

Процессорное ядро (MCU – Microprocessor Core Unit) является основой микроконтроллера. Оно выполняет все вычислительные операции и, одновременно, управляет работой всех остальных элементов схемы. По системным шинам процессорное ядро обменивается данными с памятью и всеми функциональными блоками. Разрядность микропроцессорного ядра определяет разрядность микроконтроллера. Наиболее распространены в настоящее время 8-битные (8-разрядные) контроллеры. Вместе с тем, широкое применение в простых задачах находят и 4-битные изделия, а в сложных высокопроизводительных системах 16- и 32-битные.

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

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

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

Практически все ведущие производители разрабатывают целые семейства микроконтроллеров с так называемой модульной структурой. При этом процессорное ядро для всего семейства неизменно, а память и состав функциональных блоков у каждого микроконтроллера различны. Процессорное ядро всегда имеет свою оригинальную схему и, обязательно, оригинальное имя. Например микроконтроллеры фирмы Motorola построены на базе ядра НС05 и HC08, фирма Intel создала ядро MCS-51 и MCS-96, контроллеры фирмы Microchip строятся на базе ядра PIC12, PIC16, PIC17, PIC18, фирма Atmel усиленно развивает семейство микроконтроллеров с ядром AVR.

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

По организации памяти различаются:

Неймановская архитектура – характеризуется общим пространством памяти для хранения данных и программы. При этом разрядность памяти зафиксирована (как правило, равна одному байту). Такую архитектуру имеют, например, микроконтроллеры HC05 и HC08 фирмы Motorola, в которых общий массив 8-битных ячеек памяти включает в себя как память программ, так и память данных.

Гарвардская архитектура – отличается разделением памяти программ памяти данных. При этом разрядность памяти программ и памяти данных, а также шины доступа к ним, различны. В частности, все микроконтроллеры PIC12, PIC16 фирмы Microchip имеют 8-битную память данных, а разрядность памяти программ у них различна: PIC12 имеют 12 битную память программ, а PIC16 – 14 битную.

По системе команд различаются:

► CISC-архитектура (Complicated Instruction Set Computer) – архитектура с развитой системой команд. Система команд процессорного ядра имеет инструкции разного формата: однобайтовые, двухбайтовые, трехбайтовые. Различные инструкции при этом имеют и существенно разное время исполнения.

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

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

Разные производители в своих изделиях используют зачастую различные архитектурные принципы. Поэтому приведенное выше деление довольно условно.

Например, AVR-микроконтроллеры фирмы Atmel, по мнению её создателей, имеют улучшенную RISC (enhanced RISC) архитектуру. В соответствии с принципами RISC – архитектуры практически все команды микроконтроллера (исключая те, у которых одним из операндов является 16-разрядный адрес) занимают только одну ячейку памяти программ. Но сделать это разработчикам удалось за счет одновременного использования принципов Гарвардской архитектуры и расширения ячейки памяти программ до 16 разрядов. Поэтому в системе команд AVR-микроконтроллеров целых 130 различных команд, что значительно больше, чем у большинства современных RISC – архитектур. Для сравнения, контроллеры фирмы Microchip с ядром PIC12, PIC16, PIC17 имеют всего 33 команды.

Архитектура и принцип работы микроконтроллеров;

Современные микроконтроллеры (МК).

Перспектива развития микропроцессорной техники

Лекция

Определение и классификация микроконтроллеров.

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

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

а) Принстонская архитектура (или фон Неймоновская).

Например, МК КР 580ВМ80, Z80.

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

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

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

Эта архитектура сложна в технической реализации. Преимущества архитектуры: меньшее количество тактов на выполнение команды (процессор точно знает, в каком блоке какая информация). Пример такой архитектуры: микроконтроллеры фирмы “Atmel”.

  • По функциональному назначению

а) встраиваемые восьмиразрядные микроконтроллеры.

б) шестнадцатиразрядные и тридцатидвухразрядные микроконтроллеры.

в) цифровые сигнальные микроконтроллеры (DSP). Их предназначение: для построения цифровых фильтров, вокодеров.

МК относится к числу встраиваемых с Гарвардской структурой микроконтроллеров.

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

Основное назначение МК: обеспечить гибкое управление объектами с учетом сложившейся ситуации или режимов работы.

Читать еще:  Архитектуры хранения данных

В состав МК входят следующие элементы:

· схема начального пуска МК (Reset);

· генератор тактовых импульсов (внешний или внутренний);

· память данных. RAM (ОЗУ) и ROM (ПЗУ);

· устройства ввода/вывода данных;

· таймеры, фиксирующие количество командных циклов.

Эту структуру можно представить следующем виде:

Тактовая частота МК 2…40 МГц. Более сложные МК содержат встроенные мониторы, отладчики программ, компараторы АЦП/ЦАП, подключение внешней памяти, параллельные и последовательные порты ввода/вывода.

Особенности построения МК AVR фирмы «Atmel»

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

Для обработки 16-ти разрядных чисел некоторые регистры могут объединятся попарно.

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

Архитектура, устройство и типы микроконтроллеров

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

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

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

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

  1. Встраиваемый 8-разрядный микроконтроллер.
  2. 16 и 32-х битные контроллеры соответственно. Их выделяют в отдельный класс, но в интернет-магазинах, зачастую, объединяют, для удобства поиска.
  3. Цифровые процессоры на основе сигнальной системы.

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

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

Для «оживления» любого МК достаточно подать ток определённой частоты на соответствующие контакты, после чего устройство будет доступно для работы. Если разбирать, каким образом выглядит информация для микроконтроллеров в простой аналогии, то это будет двоичный код. То есть, в зависимости от того, подаётся ли напряжение на пин или нет, процессор трактует это, как 1 и 0 соответственно.

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

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

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

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

  1. Схемы для стартовых запусков процессора.
  2. Специальные генераторы, способные отображать информацию в цифровом сигнале – тактовых импульсах.
  3. Главный компьютер – процессор, построенный вокруг кристалла.
  4. Постоянная память. И, по-хорошему, в ней уже должна находиться какая-то заготовленная или оптимальная прошивка под конкретные задачи. Ведь производитель должен был как-то протестировать свой девайс, прежде чем выставлять его на продажу.
  5. Пины, которые послужат для ввода и вывода данных.
  6. Таймер, как условный, так и цифровой. Он необходим для фиксирования количества выполняемых командных циклов. Но, в случае необходимости, всегда можно создать свой, через функции и методы ООП.

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

  1. Устройство вывода – монитор или отладчик для программ, который упростит последующее программирование микроконтроллера. Подойдёт для сложных проектов, где программных отладчиков уже не хватает, или же языков, вроде С-подобных, где они, в принципе, отсутствуют, как инструмент.
  2. Дополнительные блоки памяти, которую можно выделить под буфер обмена, или оперативную память в программах.
  3. Датчик для обработки прерываний, исходящих от других девайсов.
  4. Аналоговые вводы и выводы, которые пригодятся в работе со старой техникой.
  5. Синхронные и асинхронные пины, а также параллельные и последовательные. Наличие позволит улучшить эргономику конечного устройства, например, установить несколько аккумуляторов в параллельном подключении. Такая находка, к тому же, уменьшит минимальное значение заряда на них, увеличив общую емкость.
  6. Дополнительный модуль для внешней памяти. Это будет крайне удобно, если в системе планируется применять тяжелые медиафайлы. Например, для разговаривающих нейросетей и проигрывания музыки.

Пример схемы микроконтроллера

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

Архитектура ядра микропроцессора

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

Внутри Intel 8742 (8-разрядный микроконтроллер с процессором, работающим на частоте 12 МГц, 128 байт ОЗУ, 2048 байт EPROM и I / O в одном чипе)

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

Читать еще:  Архитектура машинного обучения

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

Аппаратные средства

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

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

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

Классификация и особенности архитектуры микроконтроллеров

Архитектура однокристальных микроконтроллеров

Вопросы лекции:

Классификация и особенности архитектуры микроконтроллеров.

Структура микроконтроллеров.

Популярные семейства 8-разрядныхмикроконтроллеров.

Классификация и особенности архитектуры микроконтроллеров

Основной особенностью современного этапа развития МПС является завершение перехода от систем, выполненных на основе нескольких больших ИС, к однокристальным МК.

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

Все МК можно условно разделить на три основных класса:

• 8-разрядные МК для встраиваемых приложений;

• 16- и 32-разрядные МК;

• цифровые сигнальные процессоры (DSP),

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

Росту популярности 8-разрядных МК способствует постоянное расширение номенклатуры изделий, выпускаемых такими известными фирмами, как Motorola, Microchip, Intel, Zilog, Atmel и многими другими.

Современные 8-разрядные МК обладают, как правило, рядом отличительных признаков. Перечислим основные из них:

• модульная организация, при которой на базе одного процессорного ядра (центрального процессора) проектируется ряд (линейка) МК, различающихся объемом и типом памяти программ, объемом памяти данных, набором периферийных модулей, частотой синхронизации;

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

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

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

С точки зрения системы команд и способов адресации операндов процессорное ядро современных 8-разрядных МК реализует один из двух принципов построения процессоров:

• процессоры с CISC-архитектурой, реализующие так называемую полную систему команд (Complicated Instruction Set Computer);

• процессоры с RISC-архитектурой, реализующие сокращенную систему команд (Reduced Instruction Set Computer).

CISC-процессоры выполняют большой набор команд с развитыми возможностями адресации, давая разработчику возможность выбрать наиболее подходящую команду для выполнения необходимой операции. В применении к 8-разрядным МК процессор с CISC-архитектурой может иметь однобайтовый, двухбайтовый и трехбайтовый (редко четырехбайтовый) формат команд. При этом система команд, как правило, неортогональна, то есть не все команды могут использовать любой из способов адресации применительно к любому из регистров процессора. Выборка команды на исполнение осуществляется побайтно в течение нескольких циклов работы МК. Время выполнения команды может составлять от 1 до 12 циклов. К МК с CISC-архитектурой относятся МК фирмы Intel с ядром MCS-51, которые поддерживаются в настоящее время целым рядом производителей, МК семейств НС05, НС08 и HCII фирмы Motorola и ряд других.

В процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды. При этом все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один цикл (такт) синхронизации. Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К МК с RISC-процессором относятся МК AVR фирмы-AtmeI, МК PIC16 и PIC17 фирмы Microchip и другие.

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

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

Основное преимущество архитектуры Фон-Неймана — упрощение устройства МПС, так как реализуется обращение только к одной общей памяти. Кроме того, использование единой области памяти позволяло оперативно перераспределять ресурсы между областями программ и данных, что существенно повышало гибкость МПС с точки зрения разработчика программного обеспечения. Размещение стека в общей памяти облегчало доступ к его содержимому. Неслучайно поэтому фон-неймановская архитектура стала основной архитектурой универсальных компьютеров, вклю­чая персональные компьютеры.

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

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

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

Читать еще:  Андроид код ошибки 924

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

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

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

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

  • Встраиваемые (embedded) 8-разрядные МК;
  • 16- и 32-разрядные МК;
  • Цифровые сигнальные процессоры.

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

  • Схема начального запуска процессора (Reset);
  • Генератор тактовых импульсов;
  • Центральный процессор;
  • Память программ (E(E)PROM) и программный интерфейс;
  • Средства ввода/вывода данных;
  • Таймеры, фиксирующие число командных циклов.

Общая структура МК показана на рис. 1.1. Эта структура дает представление о том, как МК связывается с внешним миром.

Более сложные встраиваемые МК могут дополнительно реализовывать следующие возможности:

  • Встроенный монитор/отладчик программ;
  • Внутренние средства программирования памяти программ (ROM);
  • Обработка прерываний от различных источников;
  • Аналоговый ввод/вывод;
  • Последовательный ввод/вывод (синхронный и асинхронный);
  • Параллельный ввод/вывод (включая интерфейс с компьютером);
  • Подключение внешней памяти (микропроцессорный режим).

Все эти возможности значительно увеличивают гибкость применения МК и делают более простым процесс разработки систем на и основе.
Некоторые МК (особенно 16- и 32-разрядные) используют только внешнюю память, которая включает в себя как память программ (ROM), так и некоторый объем памяти данных (RAM), требуемый для данного применения. Они применяются в системах, где требуется большой объем памяти и относительное не большое количество устройств (портов) ввода/вывода. Типичным примером применения такого МК с внешней памятью является котроллер жесткого диска (HDD) с буферной кэш-памятью, который обеспечивает промежуточное хранение и распределение больших объемов данных (порядка нескольких мегабайт). Внешняя память дает возможность такому микроконтроллеру работать с более высокой скоростью, чем встраиваемый МК.
Цифровые сигнальные процессоры (DSP) – относительно новая категория процессоров. Назначение DSP состоит в том, чтобы получать текущие данные от аналоговой системы, обрабатывать данные и формировать соответствующий отклик в реальном масштабе времени. Они обычно входят в состав систем, используясь в качестве устройств управления внешним оборудованием, и не предназначены для автономного применения.

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

В зависимости от числа используемых кодов операций системы команд МК можно разделить на две группы: CISC и RISC. Термин CISC означает сложную систему команд и является аббревиатурой английского определения Complex Instruction Set Computer. Аналогично термин RISC означает сокращенную систему команд и происходит от английского Reduce Instruction Set Computer. Систему команд МК 8051 можно отнести к типу CISC. Однако, не смотря на широкую распространенность этих понятий, необходимо признать, что сами названия не отражают главного различия между системами команд CISC и RISC. Основная идея RISC архитектуры – это тщательный подбор таких комбинаций кодов операций, которые можно было бы выполнить за один такт тактового генератора. Основной выигрыш от такого подхода – резкое упрощение аппаратной реализации ЦП и возможность значительно повысить его производительность.
Очевидно, что в общем случае одной команде CISC соответствует несколько команд RISC. Однако обычно выигрыш от повышения быстродействия в рамках RISC перекрывает потери от менее эффективной системы команд, что приводит к более высокой эффективности RISC систем в целом по сравнению с CISC.
Однако в настоящее время грань между CISC и RISC архитектурой стремительно стирается. Например, МК семейства AVR фирмы Atmel имеют систему команд из 120 инструкций, что соответствует типу CISC. Однако большинство из них выполняется за один такт, что является признаком RISC архитектуры. Сегодня принято считать, что признаком RISC архитектуры является выполнение команд за один такт тактового генератора. Число команд само по себе значения уже не имеет.

Типы памяти МК

Можно выделить три основных вида памяти, используемой в МК:
а) память программ;
б) память данных;
в) регистры МК.
Память программ представляет собой постоянную память, предназначенную для хранения программного кода и констант. Эта память не изменяет содержимого в процессе выполнения программы.
Память данных предназначена для хранения переменных в ходе выполнения программы.
Регистры МК – этот вид памяти включает внутренние регистры процессора и регистры, которые служат для управления периферийными устройствами.
Для хранения программ обычно служит один из видов постоянной памяти: ROM (масочные ПЗУ), PROM (однократно программируемые ПЗУ), EPROM (электрически программируемые ПЗУ с ультрафиолетовым стиранием) или EEPROM (ПЗУ с электрической записью и стиранием, к этому виду также относятся современные микросхемы Flash-памяти). Все эти виды памяти являются энергонезависимыми – это означает, что содержимое памяти сохраняется после выключения питания МК.
Многократно программируемые ПЗУ – EPROM и EEPROM (Electrically Erasable Programmable Memory) подразделяются на ПЗУ со стиранием ультрафиолетовым (УФ) облучением (выпускаются в корпусах с окном), и МК с электрически перепрограммируемой памятью, соответственно.
В настоящее время протоколы программирования современной EEPROM памяти позволяют выполнять программирование МК непосредственно в составе системы, где он работает. Такой способ программирования получил название – ISP (In System Programming). И теперь можно периодически обновлять программное обеспечение МК без удаления из платы. Это дает огромный выигрыш на начальных этапах разработки систем на базе МК или в процессе их изучения, когда масса времени уходит на многократный поиск причин неработоспособности системы и выполнение последующих циклов стирания-программирования памяти программ.
Функционально Flash-память мало отличается от EEPROM. Основное различие состоит в способности стирания записанной информации. В памяти EEPROM стирание производится отдельно для каждой ячейки, а во Flash-памяти стирание осуществляется целыми блоками.
ОЗУ (RAM) – оперативное запоминающее устройство, используется для хранения данных. Эту память называют еще памятью данных. Число циклов чтения и записи в ОЗУ неограниченно, но при отключение питания вся информация теряется.

Ссылка на основную публикацию
Adblock
detector