Что такое однокристальный микроконтроллер
Перейти к содержимому

Что такое однокристальный микроконтроллер

  • автор:

12. Однокристальные микроконтроллеры

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

Цель главы – ознакомление с основными элементами архитектуры однокристальных контроллеров.

После изучения главы необходимо знать

  • Основные элементы архитектуры контроллеров,
  • организацию портов ввода-вывода,
  • методы расширения адресного пространства памяти программ и данных.

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

Физическое программирование контроллеров осуществляется с помощью программаторов, пересылающими данные в ПЗУ программ в параллельном или последовательном коде в соответствии с протоколом программирования. Для написания программ обычно используется Ассемблер. Составленная программа транслируется с помощью кросс-ассемблера на ЭВМ и загружается в контроллер с помощью программатора. Используются также специальные среды разработки и программирования.

Типичным примером однокристальных контроллеров является семейство микроконтроллеров К1816, выпускаемое в различных модификациях.

12.1. Однокристальный микроконтроллер к1816

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

В состав контроллеров семейства К1816 входит процессор, перепрограммируемое ПЗУ емкостью 1-8 Кбайт с ультрафиолетовым или электрическим стиранием, которое имеет возможность наращивания внешним ПЗУ до 64 Кбайт, ОЗУ данных до 256 байт с возможностью наращивания. Разрядность, количество и назначение входов/выходов зависит от типа контроллера (Рис.12.1.).

Простейший однокристальный контроллер К1816ВЕ48, функциональная схема которого представлена на рисунке 12.2. имеет следующие аппаратные средства:

  • 8-разрядный процессор,
  • внутреннее ОЗУ данных емкостью 64байта с возможностью внешнего расширения на 256 байт,
  • внутреннее ППЗУ программ с ультрафиолетовым стиранием емкостью 1Кбайт с возможностью внешнего расширения до 4 Кбайт,
  • программируемый 8-разрядный таймер-счетчик,
  • 3 программируемых 8-разрядных порта (24=3*8 линии прямого ввода-вывода для связи с объектами) с возможностью внешнего расширения до 8 портов,
  • 3 тестируемых входа (признаков вырабатываемых объектами),
  • одноуровневая векторная система прерываний с двумя источниками запросов,
  • генератор с частотой синхронизации до 6 Мгц.

Назначение основных выводов микросхемы:

PROG (ПРОГ) — выходной строб для расширителя ввода-вывода или программирующий импульс 25в при программировании,

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

PSEN (РВПП)- разрешение внешней памяти программ, сигнал выдается только при обращении к внешней памяти программ,

EA (ОРПП)- отключение рабочей памяти программ, разрешение доступа к внешней памяти, для запрета внутреннего ПЗУ в режимах эмуляции и отладки,

SS (ШАГ) — сигнал, позволяющий при отладке выполнять программу с остановом после очередной команды, т.е. пошаговый режим,

T0 — входной сигнал, опрашиваемый командами условного перехода для ветвления по условию,

T1 — входной сигнал, опрашиваемый командам условного перехода, и вход счетчика-таймера,

INT — сигнал запроса прерывания от внешнего источника,

RD — строб чтения из внешней памяти данных или устройства ввода-вывода,

WR — строб записи во внешнюю память данных или устройство ввода-вывода,

RESET — вход сигнала общего сброса,

Р1 (P10-P17) — 8-битный псевдодвунаправленный порт, каждый разряд может быть запрограммирован на ввод или вывод,

Р2 (P20-P27) — 8-битный псевдодвунаправленный порт, каждый разряд которого может быть запрограммирован на ввод или вывод; младшая тетрада используется в качестве 4 старших разрядов адреса во время чтения из внешней памяти программ (ВПП); старшая тетрада используется для подключения БИС расширителя ввода-вывода (порты 4-7),

BUS — 8-битный двунаправленный многофункциональный порт ввода-вывода информации; может выполнять прием и выдачи байтов синхронно с сигналами RD и WR; при обращении к ВПП содержит 8 младших разряда адреса и затем по сигналу PSEN (РВПП) принимает выбранную команду; при обращении к внешней памяти данных (ВПД) содержит 8 бит адреса синхронно с сигналом ALE (строб адреса внешней памяти) и байт данных синхронно с сигналами RD и WR.

Процессор имеет два набора по 8 восьмиразрядных регистров в адресном пространства внутреннего ОЗУ. Выбор одного из наборов регистров выполняется специальной командой, что позволяет переключать контекст программы. Рабочие регистры доступны по командам с прямой адресацией; ячейки внутренней памяти данных доступны по командам с косвенной адресацией через регистры R0, R1 и R0′, R1′. Процессор имеет ограниченную систему команд: 12 арифметических, 28 логических, 19 передач управления и десятичную коррекцию. Методы адресации: прямая регистровая, косвенная регистровая и непосредственная. Указатель стека — трехразрядный. Стек расположен в адресном пространстве внутреннего ОЗУ данных.

Память программ реализована в резидентном ППЗУ емкостью 1Кбайт. Счетчик команд — 12 разрядный, что позволяет адресовать 4Кбайт. В счетчике команд инкрементируется только 11 разрядов; старший разряд изменяется программно специальной командой смены банка памяти. Память разбита на страницы по 256 байт. В резидентной памяти программ находятся три специализированных адреса:

адрес 0, по которому передается управление после общего сброса,

адрес 3, по которому расположен вектор прерывания от внешнего источника,

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

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

Память данных содержит два банка рабочих регистров с адресами 0-7 и 24-31. Адреса 8-23 используются 8-уровневым стеком, в котором фиксируется только адрес возврата и флаги. При расширении памяти возможен доступ к 256 байтам внешней памяти данных через регистры косвенного адреса.

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

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

Р асширение внешней памяти программ выполняется по приведенной ниже функциональной схеме (Рис.12.3.). Временная диаграмма работы также представлена на рисунке. На шине BUS выставляются 8 младших разряда адреса, которые по срезу сигнала ALE (Address Latch Enable, САВП -строб адреса внешней памяти) запоминаются во внешнем регистре. 4 старших разряда адреса выставляются в порту P2. Сигналом PSEN (Program Store Enable, РВПП- разрешение внешней памяти программ) разрешается работа внешней памяти. По спаду этого сигнала производится ввод команды.

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

Для расширения пространства ввода/вывода выпускается специальная микросхема расширителя КР580ВР43 подключаемая к порту P2 и имеющая 16 линий (Рис.12.5.). Но более удобно использовать микросхему КР580ВВ55. Порты параллельного адаптера можно адресовать или как ячейки памяти (Рис.12.6.) или использовать для этой цели линии порта P2 (Рис.12.7.). Для ввода аналоговых сигналов возможно использование числоимпульсного преобразования. Внешний блок формирует пачки, в которых число импульсов пропорционально входному сигналу. Эти пачки поступают на вход счетчика. Управление преобразователем реализуется через выходные линии одного из портов P1 или P2. Примером системы управления, реализованной на микроконтроллере серии 1816, является система » Разрез», предназначенная для управления рабочими органами асфальтоукладчика.

Однокристальные микроконтроллеры

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

DSP — Digital Signal Processor — ориентирован на цифровую обработку сигналов. Такие процессоры выделяют, как отдельный класс в классе микропроцессоров.

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

Разрядность однокристальных МК:

Разработки фирмы Intel.

8-разрядные — MCS51, MCS251

16-разрядные — MCS96, MCS196, MCS296

32-разрядные — CISC-архитектура — 80186

Отечественные аналоги MCS-51

К1816 ВЕ31 — без ПЗУ

К1816ВЕ51 — ПЗУ масочного типа

К1816ВЕ751 — репрограммируемое ПЗУ

Одна из главных отличительных черт архитектуры однокристальных микроконтроллеров — наличие памяти программ на кристалле. Эта память обычно выполняется, как ПЗУ.

Обобщенная структураMcs-51

В структуре МК имеется:

ПЗУ ёмкостью 4 Кб

Память данных (ОЗУ) ёмкостью 128 байт

На микроконтроллере реализована система приоритетных прерываний, которая рассчитана на обработку пяти запросов:

Внешнее прерывание

Внешнее прерывание

Прерывание от таймера-счётчика 0 — TF0

Прерывание от таймера-счётчика 1 — TF1

Прерывание от последовательного порта SP

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

четыре 8-оазрядных порта ввода-вывода; назначение каждого порта программируется: в рамках одного порта одни каналы могут работать на ввод, а другие на вывод (48 = 32 канала)

канал последовательного ввода

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

Элементы архитектуры МК объединены внутренней системной магистралью с 16-разрядной шиной адреса и 8-разрядной шиной данных.

Система команд содержит более 100 команд. Формат команды — переменный — 1,2 или 3 байта. В системе команд выделяют специфическую группу команд, которые реализуют булевский процессор — работу с отдельными битами.

Организация памяти программ

Объём памяти программ на кристалле — 4 Кб. Существует возможность расширить объём памяти до 64 Кб.

= 1 При адресе меньше 0FFFh идёт обращение к внутренней памяти.

= 0 При адресе меньше 0FFFh идёт обращение к внешней памяти.

Таким образом можно отключить внутреннюю память программ.

Организация внутренней памяти

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

Подключение внешней памяти программ

Способ подключения внешней памяти программ приведен на рисунке.

Младший байт адреса формируется в P0 и по сигналу ALE защёлкивается в регистре адреса. Затем в P2 устанавливается старшая часть адреса. Команда принимается через P0 от выходов D ПЗУ.

Сигнал — Program Store Enable.

Микроконтроллер – однокристальная микропроцессорная система с программной логикой

Микропроцессорные системы

1. МИКРОКОНТРОЛЛЕР – ОДНОКРИСТАЛЬНАЯ МИКРОПРОЦЕССОРНАЯ СИСТЕМА С ПРОГРАММНОЙ ЛОГИКИЙ

2.

• Принцип микропрограммного управления. Функции выполнения операций
над информацией в цифровых системах (устройствах) возлагаются на
процессор (П).
• Построение П базируется на принципе микропрограммного управления
(МКПРУ), согласно которому:
• => любая операция над словами информации (двоичными кодами),
реализуемая П, рассматривается как сложное действие, которое разделяется
на последовательность элементарных действий, называемых
микрооперациями (МКОП);
• => для управления порядком следования МКОП используются логические
условия (ЛУ), которые отражают состояние П после выполняемых МКОП в
виде логического 0 или 1;
• => процесс выполнения МКОП в П описывается в форме алгоритма,
представленного в терминах МКО и ЛУ, и называется микропрограммой
(МКПР);
• => МКПР используется как форма представления функции П, на основе
которой определяются его структура и порядок функционирования во
времени.
• В структурно-функциональном отношении процессор разделяется на две части
: операционный и управляющий автоматы (рис. 15.1.1).

3.

4.

• Структура процессора.
• Операционный автомат (ОА)предназначен:
• => для хранения множества входных (D), выходных (R) и внутренних (S)
слов;
• => для выполнения набора МКОП для получения результата R;
• => для формирования множества осведомительных сигналов (ОсвдС)
X, отождествляемых с определенными логическим условиям (ЛУ).
• МКОП, реализуемые ОА, инициируются множеством управляющих
сигналов (МнУС) Y=, каждый из которых соответствует
определенной МКОП.
• ОА можно представить в виде трех функциональных модулей (рис.
15.1.2): памяти, комбинационной схемы, реализующей
микрооперации, и комбинационной схемы, вычисляющей значения
логических условий.
• Управляющий автомат (УА) генерирует последовательность
управляющих сигналов из множества Y, предписанную (МКПР) и
соответствующую значениям ЛУ X. При выполнении П пакета МКПР на
его входы последовательно подаются коды МКОП, которые
соответствуют той или иной МКПР. На входы П могут поступать
внешние сигналы ЛУ, а с выходов сниматься сигналы для управления
внешними устройствами.

5.

• Структура УА во многом зависит от принципа его построения. В
УА, построенных по принципу схемной логики, необходимая
последовательность управляющих сигналов Y вырабатывается
с помощью определенным образом соединенных логических
элементов (обычно в виде интегральных микросхем с малой и
средней степенью интеграции).
• При использовании принципа программируемой логики
управляющие сигналы Y вырабатываются на основе МКПР,
хранимой в постоянных запоминающих устройствах или
программируемых логических матрицах.
• ОА и УА могут быть заданы своими функциями или перечнем
выполняемых ими действий, на основании которых строятся
схемы автоматов.
• Для построения схем ОА и УА а должны быть заданы их
функции в виде перечня выполняемых действий. Функции
операционного автомата заданы, если определены множества
D, R, S, Y, X. Функции УА задаются операторной схемой
алгоритма (микропрограммой) с использованием множеств Y,
X. Это может быть граф-схема алгоритма, которая
устанавливает порядок проверки логических условий (X) и
порядок следования управляющих сигналов (Y).

6.

• . УПРАВЛЯЮЩИЙ АВТОМАТ С ПРОГРАММИРУЕМОЙ
ЛОГИКОЙ (УА c ПРЛ)
• Принцип УА. Рассмотрим принцип построения УА, при котором
генерирование управляющих сигналов (УС) МКПР, хранимой в
ячейках управляющей памяти.
• Совокупность УС Y= на каждом тактовом периоде
образует микрокоманду (МКК). Последовательность МКК,
предназначенную для выполнения некоторой операции,
называют. микропрограммой (МКПР) При этом выполнение
операции сводится к выборке из управляющей памяти
(УП)последовательно МКК МКПР и выдаче с их помощью УС Y
в операционный автомат (ОА). В УП можно хранить много
МКПР, предназначенных для выполнения различных
операций. Выбор той или иной МКПР осуществляется с
помощью команды, поступающей из оперативной памяти
(ОП). Выбранная МКПР реализуется путем последовательного
считывания МКК МКПР из ячеек УП. При таком принципе
управления в каждом такте определяется адрес ячейки в УП,
откуда должна считываться следующая МКК МКПР .

7.

• МКК МКПР содержит ряд полей. Для каждого поля отведено
определенное количество разрядов. Совокупность полей
называют форматом МКК (ФМКК). Как правило, в ФМКК
МКПР имеется
=> поле управляющих сигналов, представляющее собой
МКК Y для управления ОА;
• => поле условий перехода, в котором указывается вид
перехода: условный или безусловный.
• При условном переходе указывается логическое условие Xit по
которому осуществляется переход;
• => поле адреса, в котором указывается ориентировочный
адрес следующей МК МКПР. В общем случае адрес зависит от
логических условий. В зависимости от вида перехода и
выполнения (невыполнения) логического условия указанный
адрес сохраняется или модифицируется (изменяется).
• Обобщенная структура УА изображена на рис. 15.4.1 и
включает в себя помимо управляющей памяти блок МКПРУ,
основная функция которого состоит в формировании адреса
следующей МКК.

8.

9.

• По состоянию полей адреса и условий перехода
текущей МКК, а также по значению сигналов
логических условий, выдаваемых операционным
автоматом, в блоке МКПРУ формируется адрес
ячейки памяти, в которой хранится следующая МКК
исполняемой МКПР. В следующем тактовом
периоде МКК считывается из управляющей памяти.
Разряды поля управляющих сигналов поступают в
ОА, который выполняет данную микрокоманду Yk, а
разряды поля адреса и поля условий перехода — в
блок МКПРУ, который формирует адрес очередной
МКК. Процесс продолжается до тех пор, пока не
будет выполнена вся МКПР. Так как структура УА
стандартна, основные усилия разработчика
направлены на составление МКПР, которая
записывается в ячейки постоянного запоминающего
устройства (ПЗУ).

10.

• ОБЩИЕ СВЕДЕНИЯ О МИКРОПРОЦЕССОРАХ
Структурно-функциональные особенности микропроцессоров.
Рассмотренная выше структура в виде ОА и УА дает наглядное
представление о принципах построения и функционирования
процессора (П). Универсальные процессоры (УП) включают в себя
большое число различных цифровых узлов и каналов для обмена
информацией между ними и поэтому обладают широкими
функциональными возможностями.
Микропроцессором (МКП) называют универсальный процессор,
построенный на одной или нескольких интегральных микросхемах.
На МКП возлагается выполнение следующих основных функций:
=> выборка команд из внешней памяти, их дешифрация и выполнение;
=> прием данных из внешней памяти, выполнение над ними
арифметических, логических и других операций, определяемых кодом
команды, и передача обработанных данных во внешние устройства
или память;
=> генерирование сигналов состояния, управления и времени,
необходимых для нормальной работы внешних устройств и памяти;
=> реагирование на внешние сигналы от внешних устройств и
обслуживание их запросов.

11.

• Основу ОА МКП составляет арифметическо-логическое устройство (АЛУ),
которое в большинстве случаев :
• => состоит из двоичного сумматора со схемами ускоренного переноса,
регистров для временного хранения операндов и регистра-сдвигателя,
комбинационных схем для выработки логических условий и работы с
десятичной арифметикой;
• => выполняет операции арифметического сложения и вычитания, пересылки,
логического И и ИЛИ, инверсии, сложения по модулю 2, сдвига и др. УА, или
устройство управления, в МП строится на основе схемной или
программируемой логики.
• Кроме того, МП содержат блок регистров, образующий их внутреннюю память.
• Связь между всеми узлами и блоками микропроцессора осуществляется по
многоразрядным шинам (магистралям).
• По функциональному назначению различают шину данных, шину адреса и
шину управления. Внутренняя шина данных соединяет между собой АЛУ,
устройство управления, блок регистров общего назначения, регистр адреса.
• Шина адреса предназначена для обращения к ячейкам внешней памяти и
определяет их число. Например, 16-разрядная адресная шина позволяет
прямо адресовать 216= 64К ячеек памяти, где К = 210= 1024.
• Двунаправленная шина управления обычно служит для передачи
управляющих сигналов, признаков состояния процессора и периферийного
оборудования. По ней передаются: синхронизирующие сигналы; сигналы
обращения к памяти (чтение, запись); сигналы, информирующие
микропроцессор о состоянии внешних устройств (готовность); сигналы
запроса и разрешения прерывания от внешних устройств и микропроцессора.

12.

Микропроцессоры с полным набором команд
(CISC — Complete Instruction Set Computer).
• Такие МП используют программирование (ПРВ) на
языке команд и выполняются на одном кристалле.
Они имеют фиксированную разрядность слова
данных и фиксированный набор команд. Каждая
команда представляет собой определенную
последовательность микрокоманд. На ее
выполнение может затрачиваться несколько
машинных циклов (обращений к внешним по
отношению к микропроцессору памяти и
устройствам), каждый из которых включает в себя 15 и более рабочих тактов.

13.

• Основными блоками МП являются (рис. 15.5.2):
• => блок арифметическо-логических операций (АЛО),
осуществляющий обработку поступающих данных. Перечень
АЛО зависит от типа МП. В большинстве МПвыполняются
следующие операции: арифметическое сложение и
вычитание; логические операции ИЛИ, И, НЕ, ИСКЛЮЧАЮЩЕЕ
ИЛИ; арифметические и логические сдвиги вправо и влево и
др.
• Что касается операций умножения и деления, то в 8-разрядных
МП они выполняются программным способом, в 16- и 32разрядных МП для их реализации предусмотрены
специальные команды. Блок АЛО строится на основе
двоичного сумматора со схемами ускоренного переноса,
регистров для временного хранения операндов и регистровсдвигателей, комбинационных схем для выработки логических
условий, схем десятичной коррекции и других
функциональных узлов;
• => блок обработки команд, предназначенный для приема,
декодирования и выполнения поступающих из внешней
памяти команд;

14.

• => блок формирования адреса, обеспечивающий
адресацию к внешней памяти и внешним устройствам. Его
основными узлами являются программный счетчик,
указатель стека, адресный регистр; .
• => блок регистров, выполняющих функции
сверхоперативной внутренней памяти, функцию
временного хранения операндов и др.
• Среди регистров следует выделить:
• — регистры общего назначения и регистр-аккумулятор,
предназначенные для временного хранения операндов в
процессе выполнения операций;
• — регистр признаков, или слова состояния программы,
фиксирующий наличие переполнения, нулевой результат,
положительный или отрицательный знак в АЛУ или
признаки устройства управления: наличие запроса
прерывания, разрешение или маскирование прерывания
и др.
• => блок синхронизации и управления, координирующий
работу всех узлов МП.

15.

16.

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

17.

• Микропроцессоры с сокращенным набором команд (RISC — Reduce
Instruction Set Computer).
• Развитие традиционных CISC-архитектур МП по пути расширения
функциональных возможностей и снижения затрат на ПРВ привело к
увеличению числа команд в наборе и числа МКК в команде. Следствием этого
явилось усложнение интегральных схем и снижение быстродействия
выполнения программ. Один из возможных путей устранения указанных
недостатков состоит в использовании сокращенного набора команд,
организация которого подчинена увеличению скоростей их выполнения.
• Основная особенность RISC-процессоров состоит в использовании небольшого
набора часто используемых команд одинакового формата, которые могут быть
выполнены за один командный цикл (такт) центрального П. Более сложные,
редко используемые команды реализуются на программном уровне. Однако
за счет значительного повышения скорости исполнения сокращенного набора
команд средняя производительность RISC-процессоров оказывается выше,
чем у CISC-процессоров.
• Большинство команд RISC-процессоров связано с операцией регистр-регистр.
Для обращения к памяти оставлены наиболее простые с точки зрения
временных затрат операции загрузки в регистры и записи в память. За счет
сокращения аппаратных средств, необходимых для декодирования и
выполнения сложных команд, достигается существенное упрощение
интегральных схем RISC-процессоров и снижение их стоимости.

18.

Микроконтроллеры (МК) — однокристальные микропроцессорные
системы (МПС).
Самостоятельную группу образуют однокристальные МПС, предназначенные для
управления различными устройствами в реальном времени. Такие системы,
встраиваемые в аппаратуру потребителя, называют однокристальными
микроконтроллерами (ОМК), или микроЭВМ. В отличие от БИС МП ОМК, помимо
процессорного элемента (АЛУ со схемами управления), содержат:
ОЗУ данных, ПЗУ микропрограмм, устройства ввода/вывода, счетчики/таймеры,
сторожевой таймер, генератор тактовых импульсов, логику прерываний и другие
функциональные узлы.
ОМК имеют гарвардскую архитектуру с разделенными шинами данных и программ, и
строятся, как правило, на основе RISC-процессоров.
Одним из крупнейших производителей МК является фирма Atmel, выпускающая МК
серии AVR, работающих на частоте от 4 до 20 МГц и с широким диапазоном объёма
памяти , поэтому пользователь имеет возможность выбора для своих целей
оптимальный тип МК с точки зрения цена/качество.
МК, совместимые с этим семейством, выпускают фирмы Мotorola и Analog Devices.
Семействам МК серии AVR присущи все передовые технологии: однократно или
многократно электрически программируемые пользователем ППЗУ, хорошо развитая
архитектура с использованием RISC-процессоров, минимальное энергопотребление и
размеры корпуса, высокая производительность, функциональная законченность,
низкая стоимость.
Следует отметить хорошей программное сопровождение формой Atmel продукции.
Разработаны и находятся в прямом доступе программы AVR Studio, Code Vision и др.,
призванные облегчить нелегкий труд программистов на языках Ассемблер и СИ.
Благодаря этому МК серии AVR находят весьма широкое и разнообразное применение.

10, 11 Лекция Однокристальные микроконтроллеры с cisc – архитектурой. Однокристальные микроконтроллеры с risc – архитектурой.

Цель: изучение однокристальных микроконтроллеров с CISC и RISC – архитектурой.

1. Рассмотреть принципы организации однокристальных микроконтроллеров с CISC – архитектурой.

2. Рассмотреть принципы организации однокристальных микроконтроллеров с RISC – архитектурой.

3. Изучить способы адресации, используемые в микроконтроллере.

Учебная информация

Микроконтроллеры (МК) — разновидность микропроцессорных систем (микро-ЭВМ), ориентированных на реализацию алгоритмов управления техническими устройствами и технологическими процессами. Микроконтроллеры проще, чем универсальные микро-ЭВМ, оказалось возможным размещать их на одном кристалле в виде «однокристальных микро-ЭВМ». Микроконтроллеры — БИС такой функциональной законченности, которая позволяет решать в полном объеме задачи определенного класса с помощью одного кристалла.

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

Первые МК были выпущены фирмой Intel в 1976г. (восьмиразрядный МК-8048). В настоящее время многими поставщиками выпускаются восьми-, 16-и 32-разрядные МК с емкостью памяти программ до десятков килобайт, небольшими ОЗУ данных и набором таких интерфейсных и периферийных схем, как параллельные и последовательные порты ввода/вывода, таймеры, аналого-цифровые и цифроаналоговые преобразователи, широтно-импульсные модуляторы и др.

Среди выпускаемых МК широко известно семейство восьмиразрядных контроллеров MCS-51/151/251 и 16-разрядных MCS-96/196/296 (фирма Intel) Очень многие производители выпускают аналоги этих семейств или совместимые с ними МК. В отечественной номенклатуре это восьмиразрядные МК К1816ВЕ51, К1830ВЕ51. В последнее время фирма Intel сосредоточила усилия на разработке сложных микропроцессоров для компьютеров и уступила сектор рынка простых МК другим фирмам, в частности, фирме Atmel, которая выпускает несколько популярных семейств МК. Признанными авторитетами в области создания и производства МК являются такие фирмы, как Motorola, Microchip, Zilog и др. В настоящее время микроконтроллеры все чаще применяют в составе СБИС программируемой логики типа «система на кристалле».

На рынке восьмиразрядных микроконтроллеров доминирует следующая тройка: семейство 8051 фирмы Intel (аналоги микроконтроллеров этого семейства выпускаются несколькими фирмами), семейство AVR (фирмы Atmel) и микроконтроллера семейства Р1С (фирмы Microchip). Микроконтроллеру AVR отдано предпочтение как обладающему хорошо продуманной архитектурой и высоким быстродействием. Микросхемы AVR используют RISC-процессоры, которые в последнее время интенсивно внедряются в структуры микроконтроллеров.

Микроконтроллеры марки AVR подразделяются на три семейства, среди которых базовым является семейство Classic. Они имеют RISC-архитектуру и изготовляются по усовершенствованной КМОП-технологии.

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

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

Контроллеры семейства AVR имеют следующие параметры:

— почти все команды выполняются за один машинный такт, что при тактовой частоте 1 МГц дает производительность в 1 MIPS (Million Instructions Per Second);

— флэш-память программ емкостью 1-8 Кбайт имеет допустимое число репрограммирований 10 3 ;

— статическая память данных (SRAM) имеет емкость до 512 байт;

— память данных типа EEPROM с допустимым числом репрограммирований 10 5 имеет емкость 64-512 байт;

— многоуровневая система прерываний обслуживает от 3 до 16 источников запросов прерываний;

— имеется достаточно обширный набор периферийных устройств.

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

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

МК AVR — восьмиразрядный RISC-микроконтроллер с Гарвардской архитектурой и пониженным энергопотреблением. Набор команд, ограниченность которого свойственна RISC-архитектурам, в данном случае необычно широк (120 команд), однако при этом сохранено основное преимущество RISC-архитектур — повышенное быстродействие и сокращенное число операций обмена с памятью программ. Почти все команды размещаются в одной ячейке программной памяти и выполняются за один такт синхронизации. Типичен режим с частотой синхронизации 1 МГц. Максимальная частота синхросигнала составляет 8 МГц. Доступ к памяти программ и памяти данных осуществляется через собственные шины этих модулей, поэтому можно не только сделать различными разрядности шин, но и peализовать параллелизм операций в процессах выполнения текущей команды и выборки и дешифрации следующей, т.е. ввести в работу МК элементы конвейеризации.

Многие блоки AVR по назначению аналогичны блокам микропроцессора и имеют те же обозначения. Программный счетчик PC содержит адрес подлежащей выполнению команды и адресует флэш-память программ. Считанная из флэш-памяти команда поступает в регистр команд IR, ее КОП (код операции) декодируется дешифратором команд для выработки сигналов управления блоками микроконтроллера соответственно заданной операции, а КАД (адресная часть) адресует данные в блоке регистров или в памяти данных SRAM. В памяти типа EEPROM хранятся редко изменяемые данные (калибровочные константы и т.п.). Указатель стека SP используется для организации стека в некоторой области памяти SRAM, глубина стека ограничивается только наличием свободной области в этой памяти. Регистры общего назначения (РОН) объединены в регистровый файл.

Согласно Гарвардской архитектуре, адресные пространства (АП) для памяти программ и памяти данных разделены. Память данных организована линейно и имеет два АП. В первом находятся адреса регистровой памяти и статического 3У (SRAM). Во втором размещены адреса энергонезависимой репрограммируемой памяти EEPROM. Кроме того, возможно подключение к микроконтроллеру внешнего ОЗУ, для которого шина адреса и мультиплексируемая шина адресов/данных организуются с помощью портов ввода/вывода РА и PC. Линии этих портов формируют 16-разрядные адреса для paботы с внешней памятью большой емкости (до 64 Кбайт). При отсутствии внешней памяти достаточно использовать девятиразрядные адреса.

В регистровой области памяти данных размещены адреса регистров общего назначения РОН (32 адреса для адресации 32 байтов памяти) и регистров ввода/вывода РВВ (64 адреса для адресации 64 байтов памяти). Для косвенной адресации используются регистры X, Y, Z, представляющие собою 16-разрядные пары байтовых регистров. Общая емкость регистровой памяти составляет 96 байтов. Для адресов статической памяти SRAM отведены следующие 512 адресов. Подключение внешнего ОЗУ может довести емкость памяти до 64 Кбайт. Обращение к внешнему ОЗУ увеличивает время выполнения команды на 1-2 такта для каждого обрабатываемого байта.

При обращении к разным областям памяти данных используются команды с различными способами адресации. Адреса области РВВ являются операндами команды (прямая адресация). В пространстве РВВ размещены служебные регистры микроконтроллера и регистры, относящиеся к внешним устройствам. В их числе 12 регистров для работы с портами ввода/вывода (таких портов 4, для каждого предусматриваются регистр данных, регистр направления данных и регистр выводов. Имеется регистр — указатель стека. Глубина стека определяется наличием свободной области памяти программ. Многочисленные регистры обеспечивают работу модулей SPI, UART, таймеров, стека, имеются регистры состояния и управления микроконтроллером, регистр флагов и масок запросов прерывания, управления памятью EEPROM. Для управления микроконтроллером служит регистр с битами разрешения внешнего ОЗУ, разрешения перехода к режиму пониженного энергопотребления и выбора конкретного варианта из таких режимов, условий генерации запросов внешних прерываний (по фронту сигнала, по уровню и др.). К РОН и РВВ возможны обращения как по командам ввода и вывода IN и OUT, так и как к ячейкам ЗУ. При этом для разных способов обращения диапазоны адресов РВВ смещены (на 32 адреса).

Энергонезависимая память EEPROM, рассчитанная на хранение редко изменяющихся данных и имеющая длительные операции записи, отличается особой организацией. Доступ к ней происходит с использованием трех регистров области РВВ — регистры адреса, данных и управления. Так как емкости памяти в 512 байт соответствует девятиразрядный адрес, для адреса нужна пара регистров РВВ. Регистр данных служит для размещения данных, подлежащих записи в память или считываемых из нее. В регистре управления задействованы три бита: один определяет наличие или отсутствие разрешения записи, второй разрешает саму запись, третий разрешает чтение. Установка второго и третьего битов вызывает выполнение соответствующих процессов Длительность цикла записи при напряжении питания 5В составляет 2мс, при 2,7 В — 4 мс. Чтение выполняется за один такт синхронизации.

Программы хранятся во флэш-памяти, разрядность которой соответствует формату команд и равна 16.

Способы адресации, используемые в микроконтроллере

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

Прямая используется в следующих случаях:

— при адресации одного РОН, что занимает в слове команды 5 бит, или при адресации двух РОН с занятием 10 бит (по 5 бит для адресов источника и приемника данных);

— при пересылке между РВВ и РОН с занятием 11 бит в слове команды (6 на адрес РВВ и 5 на адрес РОН);

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

Косвенная с использованием индексных регистров X, Y, Z применяется в таких вариантах:

— простая (адрес находится в индексном регистре);

— относительная (адрес вычисляется как сумма содержимого индексного регистра и константы, содержащейся в команде);

— с преддекрементом (до обращения к ячейке памяти адрес в индексном регистре уменьшается на единицу);

— с постинкрементом (после обращения по адресу в индексном регистре его содержимое увеличивается на единицу).

Вопросы для самопроверки:

1. Каковы принципы организации однокристальных микроконтроллеров с CISC – архитектурой?

2. Каковы принципы организации однокристальных микроконтроллеров с RISC – архитектурой?

3. Какие способы адресации используются в микроконтроллерах?

4. Какие Вы знаете параметры контроллеров семейства AVR?

Добавить комментарий

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