Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПСУ новая 2.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4.56 Mб
Скачать

7. Микроконтроллер экр1847вг6

БИС ЭКР1847ВГ6 (аналог 8042 фирмы Intel, семейство UPI-42) является универсальным периферийным интерфейсным микроконтроллером (УПИМК), выполненным по n-МОП технологии. Это законченный однокристальный МК, который может быть напрямую связан с шинами главного процессора (ГП). Контроллеры, выполненные на базе УПИМК могут быть полностью автономными, взаимодействуя с ГП только для передачи данных.

БИС ЭКР1847ВГ6 имеет следующие характеристики:

  • 8-разрядный процессор;

  • 8-разрядная шина данных и интерфейсных регистров;

  • ПЗУ программ емкостью 2К 8;

  • ОЗУ данных емкостью 128 8;

  • счетчик интервалов времени/событий;

  • два 8-разрядных ТТЛ совместимых порта ввода-вывода;

  • встроенный генератор тактовой частоты (8 МГц).

В обычной конфигурации УПИМК согласуются с шинами ГП как обычные микропроцессорные периферийные устройства. ГП с УПИМК образуют слабо связанную мультипроцессорную систему с прямой связью.

Общие ресурсы в такой системе составляют 3 адресуемых регистра, имеющиеся в УПИМК:

  • DBBIN- входной буферный регистр информационной шины;

  • DBBOUT- выходной буферный регистр информационной шины;

  • STATUS- регистр состояния.

ГП может считывать данные из DBBOUT или записывать их в DBBIN. Состояние DBBOUT и DBBIN плюс биты состояния, определяемые пользователем, записываются в STATUS. ГП может считывать STATUS в любое время. При записи информации в регистр DBBIN автоматически происходит прерывание процессора УПИМК по заполнению буфера IBF(если оно разрешено).

Поскольку УПИМК включает в себя законченный микроконтроллер с программной памятью, памятью данных и процессором, он может использоваться как “универсальный” контроллер. Разработчик может программировать УПИМК для управления печатью, лентопротяжным механизмом, каналами последовательной и параллельной связи и т.п. Наличие двух 8-разрядных портов ввода/вывода Р1 и Р2 обеспечивает возможность обмена информацией с периферией.

БИС ЭКР1847ВГ6 конструктивно выполнена в 40-выводном пластмассовом DIP- корпусе.

На рис. 7.1 представлена структурная схема УПИМК.

АЛУ состоит из собственно арифметико-логического устройства, аккумулятора, регистра временного хранения и схемы десятичной коррекции аккумулятора.

АЛУ выполняет следующие операции:

  • суммирование с переносом и без переноса;

  • логические операции И, ИЛИ и исключающее ИЛИ;

  • инкремент и декремент;

  • битовое дополнение;

  • циклический сдвиг влево или вправо;

  • SWAP (перестановку старшей и младшей тетрад в байте);

  • десятичную коррекцию.

Рис. 7.1. Структурная схема микроконтроллера ЭКР1847ВГ6

Аккумулятор представляет собой 8-разрядный регистр, предназначенный для записи и хранения данных, подаваемых с внутренней шины.

Регистр временного хранения (В) представляет собой 8-разрядный регистр, предназначенный для записи и хранения второго операнда при выполнении операций в АЛУ.

Схема десятичной коррекции предназначена для обработки данных, представленных в двоично-десятичном коде.

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

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

При передачи управления от основной программы к подпрограмме или программе прерывания содержимое СК изменяется на указанное в программе значение. При этом текущее значение СК сохраняется в стеке, чтобы после окончания выполнения подпрограммы продолжить выполнение основной программы. СК устанавливается в начальное (нулевое) состояние сигналом сброса /RES.

Регистр слова состояния программы (PSW) это 8-разрядный регистр, который используется для хранения информации о ходе выполнения программы.

Память программ имеет емкость 20488 (2 К) и занимает адресное пространство от 000Н до 7FFH. Память программ делится на страницы емкостью 256 байт в каждой.

В начальной области памяти программ имеются три ячейки, в которых записываются команды перехода по адресам векторов прерывания:

  • «000Н» - адрес, по которому выполняется первая выборка инструкции по сигналу сброса /RES;

  • «003Н» - начальный адрес подпрограммы, вызываемой по заполнению входного буфера (IBF) при условии, что прерывание разрешено;

  • «007Н» - начальный адрес подпрограммы, вызываемой по переполнению таймера/счетчика при условии, что прерывание разрешено.

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

Карта распределения памяти данных представлена на рис. 7.2.

В ОЗУ имеется два банка РОН. Переключение банков осуществляется программным путем. Если банк 1 не используется, то регистры (ячейки 24-31) могут использоваться как дополнительное ОЗУ данных.

Восьмиуровневый 16-разрядный стек с адресами от 08Н до 17Н адресуется указателем стека из PSW.

УПИМК имеет 8-разрядный таймер/счетчик, имеющий несколько режимов работы, выбираемых программно. В режиме таймера он может вырабатывать точные интервалы времени от 60 мкс до 15,36 мс. В режиме счетчика могут подсчитываться внешние события (количество переключений различных устройств или число поступивших тактов) и использоваться для управления ходом программы.

Буфер ШД имеет два 8-разрядных регистра DBBIN и DBBOUT, которые необходимы для хранения команд и данных, проходящих между УПИМК и ГП.

Обмен осуществляется под управлением четырех сигналов: А0 - адресный вход (команда или данные); /CS - выбор кристалла; /RD - строб чтения; /WR - строб записи.

Во входной регистр DBBIN информация записывается ГП и затем читается УПИМК в аккумулятор. Этот регистр не может читаться ГП.

В выходной регистр информация записывается УПИМК и читается ГП. Этот регистр не может быть считан в аккумулятор УПИМК.

Рис. 7.2. Карта памяти микроконтроллера

Восьмиразрядный регистр состояния STATUS используется для отображения состояний регистров буфера шины данных. Биты регистра STATUS имеют следующие значения:

  • OBF - флаг заполнения выходного буфера;

  • IBF - флаг заполнения входного буфера;

  • F0 - флаг используется для передачи информации о состоянии УПИМК ГП;

  • F1 - команда/инверсные данные - устанавливается в состояние линии А0 (А0=1- команда, А0=0- данные);

  • ST4-ST7 - определяются пользователем программно.

Состояние сигналов управления при передаче информации в/из УПИМК приведено в табл. 7.1.

Таблица 7.1. Управление передачей информации

/CS

/RD

/WR

A0

Наименование операции

0

0

1

0

Чтение DBBOUT

0

0

1

1

Чтение STATUS

0

1

0

0

Запись данных в DBBIN

0

1

0

1

Запись команды в DBBIN

1

Х

Х

Х

Запрещение обращения к шине данных

Порты Р1 и Р2 являются 8-разрядными квазидвунаправленными портами совместимыми с ТТЛ уровнями. Данные статически присутствуют на выходах и могут быть изменены только с новой выдачей. Каждая из 16 линий портов может действовать независимо как вход или выход в зависимости от полученной команды. Порт 1 работает как статический порт независимо от режима использования УПИМК. Порт 2 является многофункциональным. Кроме работы в режиме ввода/вывода, 4 младших разряда порта 2 (Р2.3-Р2.0) могут использоваться как интерфейс для расширителя ввода/вывода КР580ВР43, что обеспечивает получение четырех дополнительных 4-разрядных портов, два разряда Р2.4 и Р2.5 могут использоваться для реализации внешних прерываний от ГП и два Р2.6 и Р2.7 - для организации ПДП.

Порты ввода/вывода позволяют подключать к УПИМК различные периферийные устройства, например как показано на рис 7.3.

При помощи команд ввода/вывода адресуются порты УПИМК, а также дополнительные порты ввода/вывода.

Входы тестирования, это входы которые могут программно проверяться. Один из них (Т1) используется как вход счетчика внешних событий.

Подключение УПИМК осуществляется непосредственно к шинам ГП (рис. 7.3).

Рис. 7.3. Пример использования УПИМК

Таблица 7.2. Назначение выводов УПИМК

Номера выводов

Обозна-чение

Тип

Назначение

1

ТО

Вход

Тестовый вход ТО используется при выполнении команд условного перехода JT0 и JNT0.

2

X1

Вход

Выводы для подключения кварцевого резонатора или LC-цепи.

3

X2

Выход

4

/RES

Вход

Сброс.

5

/SS

Вход

Пошаговое выполнение программы.

6

/CS

Вход

Выбор БИС.

7

ЕM

Вход

Выбор режима БИС.

8

/RD

Вход

Чтение регистров DBBOUT и STATUS.

9

A0

Вход

Выбор «команда/данные».

10

/WR

Вход

Запись в регистр DBBIN.

11

SYNC

Выход

Строб цикла.

12-19

D7-D0

Вх/Вых

Шина данных.

20, 40

GND и Ucc

-

Общий и напряжение питания соответственно.

21-24

P2.0-P2.3

Вх/Вых

Порт Р2.

35-38

P2.4-P2.7

Вх/Вых

25

/PROG

Выход

Выход строба для расширителя ввода/вывода.

26

Udd

Вход

Микропотребление.

27-34

P1.0-P1.7

Вх/Вых

Порт Р1.

39

T1

Вход

Тестовый вход Т1 используется при выполнении команд условного перехода JT1 и JNT1 и как вход счетчика внешних событий.

Рис. 7.4. Схема подключения УПИМК