Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000544.doc
Скачиваний:
26
Добавлен:
30.04.2022
Размер:
14.75 Mб
Скачать

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

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

12.2. AVR микроконтроллеры

12.3. Процессоры обработки сигналов

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

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

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

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

  • организацию портов ввода-вывода,

  • методы расширения адресного пространства памяти программ и данных.

Однокристальные контроллеры, выпускаемые различными производителями, отличаются друг от друга, но имеют и общим характеристики. Архитектура микроконтроллеров относится к гардвардскому типу, в которой память данных и программ разнесены, т.е. отдельно есть память команд (программ) и отдельно есть память данных, где хранятся переменные. Общим для них является 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, является система " Разрез", предназначенная для управления рабочими органами асфальтоукладчика.