Методические указания к лабораторным работам по курсу

Вид материалаМетодические указания
Структура и приhципы работы лабораторhой устаhовки умпк-86
Подобный материал:
1   2   3   4   5

14. Как устроена схема устранения дребезга клавиатуры ?

15. Как задается режим сканирования клавиатуры с обнаружением N-клавишных сцеплений и ошибок ?

16. Какой режим клавиатуры Вы бы выбрали для пишущей машинки (печать аккордами) ? А для игрового автомата ?

17. Для чего может использоваться режим 5 клавиатурной части БИС ?

Лабораторная работа N 3

СТРУКТУРА И ПРИHЦИПЫ РАБОТЫ ЛАБОРАТОРHОЙ УСТАHОВКИ УМПК-86

СПИСОК ИСПОЛЬЗОВАННЫХ СОКРАЩЕНИЙ

И ОБОЗНАЧЕНИЯ СИГНАЛОВ

БДА - блок дешифрации адреса

БИС - большая интегральная схема

БИСРМ - блок индикации состояния резидентной магистрали

БКД - блок клавиатуры и дисплея

БП - блок процессора

БПрИ - блок параллельного интерфейса

БПсИ - блок последовательного интерфейса

БФРМ - блок формирования резидентной магистрали

БФСМ - блок формирования системной магистрали

ВЗУ - внешнее запоминающее устройство

ВУ - внешнее устройство

МП - микропроцессор

ОЗУ - оперативное запоминающее устройство

ПЗУ - постоянное запоминающее устройство

РРШ - регистр режима шага

LM - локальная магистраль

RM - резидентная магистраль

SM - системная магистраль

ARM - адресные линии системной магистрали

DRM - линии данных системной магистрали

AEN - разрешение работы магистрали

BHE - разрешение старшего байта

CS - выбор кристалла

READY - готовность

RESET - сброс

RSEL - выбор системной магистрали

RQ/E - запрос/разрешение

SAEN - разрешение работы системной магистрали

S[2:0]- код состояния микропроцессора (тип машинного цикла)

3.1. Цель работы.

Ознакомление со структурой микропроцессорной системы, реализованной на базе 16-разрядного МП К1810ВМ86, изучение функций программы МОНИТОР, изучение способов работы на лабораторной установке.

3.2. Подготовка к работе

В процессе подготовки к лабораторной работе необходимо изучить:

- внутреннюю структуру, состав внешних выводов микропроцессора К1816ВМ86 [1,2,3];

- внутреннюю структуру и функционирование вспомогательных схем серии К1810: ГФ84, ВГ88, ВБ89 [1,2,3];

- структуру лабораторной установки и функции программы МОНИТОР (см. ниже);

- рабочее задание и методические указания к его выполнению.

3.3. Описание лабораторной установки УМПК-86

Лабораторная установка УМПК-86 может включать в себя базовый модуль УМПК-86/ВМ (в дальнейшем - модуль), плату расширения и блок питания.

Основой лабораторной установки является модуль УМПК-86/ВМ, предназначенный для изучения структуры, системы команд, схемотехнического и программного обеспечения, порядка функционирования и методов программирования МП БИС К1810ВМ86, методов сопряжения с внешними устройствами микропроцессорных систем на базе микропроцессорного комплекта серии К1810.

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

В контроллере предусмотрен доступ к двум шинам микроЭВМ системной и резидентной. Открытая архитектура модуля позволяет подключать к нему и исследовать функционирование других микропроцессорных БИС или использовать модуль для управления объектами и/или процессами.

Модуль содержит операционную систему (программу МОНИТОР), обеспечивающую доступ к регистрам процессора и ВУ, ячейкам памяти, выполнение программ в автоматическом, пошаговом или поцикловом режиме и другие сервисные функции. Средства МОНИТОРа достаточны для ввода и отладки простых программ в машинных кодах.

3.3.1. Модуль, функциональная схема которого представлена на рис. 3.1, включает в себя следующие блоки:

- блок процессора (БП);

- блок дешифрации адреса (БДА);

- блок формирования резидентной магистрали (БФРМ);

- блок формирования системной магистрали (БФСМ);

- блок индикации состояния резидентной магистрали (БИСРМ). К локальной L (и резидентной R) магистрали подключены следующие локальные ресурсы микроЭВМ :

- блок запоминающих устройств (БЗУ);

- блок клавиатуры и дисплея (БКД);

- блок параллельного интерфейса (БПрИ);

- блок последовательного интерфейса (БПсИ). Селекция ресурсов L-магистрали (LM) осуществляется по адресу, установленному на адресных линиях резидентной магистрали (ARM). Список адресов устройств приведен в таблице 3.1.

Таблица 3.1

+---------------------------------------------+

¦ Устройство ¦ Адреса (HEX) ¦

+------------------------+--------------------¦

¦ Регистр управления ¦ F8, FA, FC, FE ¦

¦ ИБИС КР580ВВ79 ¦ E4, E6 ¦

¦ ИБИС КР580ВВ51 ¦ E0, E2 ¦

¦ ИБИС КР580ВВ53 ¦ F0, F2, F4, F6 ¦

¦ ИБИС КР580ВВ55 ¦ E8, EA, EC, EE ¦

¦ ОЗУ ¦ 00000 .. 00FFF ¦

¦ ПЗУ ¦ FE000 .. FFFFF ¦

+---------------------------------------------+

3.3.1.1. Блок процессора (БП) включает в себя центральный процессор ..ВМ86, генератор тактовых импульсов ..ГФ84 и схему обработки сигналов готовности.

Основу БП составляет БИС МП К1810ВМ86, работающая в максимальном режиме. В модуле предусмотрена возможность подключения арифметического сопроцессора К1810ВМ87, однако существующие лабораторные установки не укомплектованы сопроцессорами.

Для формирования тактовых импульсов, сигналов начальной установки (RESET) и готовности (READY) используется ИМС К1810ГФ84. Сигнал RESET формируется при включении питания или по нажатии кнопки RESET.

Схема обработки сигналов готовности включает двухразрядный регистр режима шага (РРШ), схему его загрузки и сброса, триггер готовности и схема подключения сигнала готовности RM или SM. По сбросу в РРШ записывается 00, что соответствует выполнению программы в реальном времени. При РРШ[1:0] = 01 режим работы по машинным циклам включается после окончания первого сигнала LOCK\, а при РРШ[1:0] = 11 - сразу же после занесения кода в РРШ. Поцикловый режим обеспечивается сбросом триггера готовности в нулевое состояние в начале каждого машинного цикла. Установка триггера готовности осуществляется по нажатию кнопки "ШЦ".

Для формирования запроса немаскируемого прерывания NMI используется клавиша "СТОП" со схемой устранения дребезга. При отсутствии внешнего задатчика векторов прерываний возможно исследования поведения подсистемы векторных прерываний по вектору 00, который считывается с L-магистрали в цикле обработки прерывания.

3.3.1.2. Блок дешифрации адреса выполнен на основе ПЗУ и логических элементов. Последние выполняют предварительную дешифрацию кода адреса на RM. С выходов ПЗУ снимаются сигналы разрешения CS для работы резидентных ОЗУ, ПЗУ и контроллеров ВУ.

3.3.1.3. Блок формирования резидентной магистрали служит для подключения к микроЭВМ других модулей через RM, а так же выдачи ряда сигналов для внутренних узлов микроЭВМ.

Поскольку зараннее неизвестно количество подключенных к RM модулей, сигналы RM формируются независимо от того, обращается к ней микроЭВМ или нет. Однако, прием данных с RM на LM возможен лишь при выдаче подтверждающего сигнала от адресуемого модуля. Любой модуль, подсоединенный к RM, должен в ответ на свой адрес сформировать сигнал RSEL, по которому будет разрешен обмен между RM и LM и запрещена работа системной магистрали.

Функциональная схема БФРМ показана на рис. 3.2 вместе с основной частью БП. БФРМ состоит из буфера магистрали данных D3,D4, регистров формирования магистрали адреса D5,D6,D7, защелкивающих так же и код состояния S[2:0] и значение сигнала разрешения старшего байта BHE\ для текущего машинного цикла, и системного контроллера D8, формирующего RM управления.

Работа RM разрешена, если не установлен запрещающий потенциал RAEN = 0 на разъеме RM. Для осуществления прямого доступа в память, подключенной к RM, необходимо воспользоваться сигналом запроса/разрешения доступа к LM RQ/E0\ или RQ/E1\, для отключения от нее процессора и затем сигналом RAEN\ для перевода всех выходов БФРМ в высокоимпедансное состояние.

3.3.1.4. Блок формирования системной магистрали (БФСМ) представляет собой схему, сопрягающую микроЭВМ с системной многопроцессорной магистралью (SM). Разрешение работы БФСМ осуществляется сигналом, формируемым блоком дешифрации адреса. В свою очередь, БФСМ выдает сигнал, указывающий блоку процессора на необходимость обработки его сигнала готовности.

БФСМ построен аналогично БФРМ. Отличие состоит в наличии дополнительно арбитра магистрали К1810ВБ89, участвующего в арбитраже доступа к SM. Сигнал SAEN, поступающий на вход AEN системного контроллера SM, формируется на выходе арбитра.

3.3.1.5. Блок запоминающих устройств состоит из ОЗУ объемом 2KW и ПЗУ объемом 4KW.

ОЗУ реализовано на двух микросхемах К537РУ8А (2K*8, статическое). Поскольку эти микросхемы имеют раздельные входы для адреса и данных, его адресные линии и линии управления подключены к RM, а линии данных - к LM.

ПЗУ реализовано на одной БИС К573РФ3 (4K*16, с совмещенными линиями адреса и данных) и подключено к LM.

3.3.1.6. Блок клавиатуры и дисплея (БКД) служит для подключения к LM функциональной клавиатуры и матричного дисплея, используемых при работе МОНИТОРа микроЭВМ. БКД выполнен на основе БИС КР580ВВ79. Сканируемая клавиатура выполнена в виде матрицы 4*8 и содержит 26 клавиш. Функциональное назначение клавиш описано в разделе 1.3.2.

3.3.1.7. Блок последовательного интерфейса (БПсИ) реализован на базе БИС К580ВВ51 и включает в себя БИС интервального таймера К580ВИ53. Таймер обеспечивает формирования частоты выдачи и приема последовательного кода. Кроме того, при помощи таймера формируется двухтональный звуковой сигнал.

Линии последовательного порта выводятся на разъем X4, что позволяет осуществлять обмен информацией в последовательном коде с использованием интерфейса "20 ма токовая петля".

3.3.1.8. Блок параллельного интерфейса (БПрИ) реализован на БИС К580ВВ55, причем каналы A, B и C выведены на разъем параллельного интерфейса X3 через шинные формирователи К580ВА86, линии управления которых так же выведены на разъем X3. Кроме того, линии порта C выведены на разъем X3 и непосредственно.

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

3.3.1.9. Блок индикации состояния RM выполнен на светодиодах и индицирует состояние ARM (20 индикаторов), DRM (16), а так же значения управляющих сигналов процессора: BHE, S0, S1, S2 в текущий момент времени.

3.3.2. Клавиатура и индикация модуля

Органы управления модулем включают блок клавиатуры, взаимодействующий с процессором через БИС КР580ВВ79 и ряда кнопок и переключателей, управляющих непосредственно входами МП и другими элементами схемы.

Блок клавиатуры (рис. 3.3) включает 28 клавиш, многие из которых, в силу ограниченности ресурсов микроЭВМ, используются для передачи различных команд. В Приложении 1 приведено обозначение клавиш и их назначение.

Кроме блока клавиатуры в схему микроЭВМ включен ряд микропереключателей следующего назначения:

SA1.1,2 - управление арбитражем между LM и RM;

SA1.3 - не подключен

SA1.4 - подключает CLK RM на BCLK SM;

SA2.1 - запрос INT на вход МП;

SA2.2 - значение TEST на вход МП;

SA3.1,2 - управление последовательным портом;

SA4.1 - подача потенциала на вход CNTL ..ВВ79;

SA4.2 - подача потенциала на вход SHFT ..ВВ79;

+------------------------------------------------------+

¦ +----+ +----+ +----+ +----+ +----+ +----+ +----+ ¦

¦ ¦SA5 ¦ ¦SA9 ¦ ¦SA13¦ ¦SA17¦ ¦SA21¦ ¦SA25¦ ¦SA29¦ ¦

¦ +----+ +----+ +----+ +----+ +----+ +----+ +----+ ¦

¦ +----+ +----+ +----+ +----+ +----+ +----+ +----+ ¦

¦ ¦SA6 ¦ ¦SA10¦ ¦SA14¦ ¦SA18¦ ¦SA22¦ ¦SA26¦ ¦SA30¦ ¦

¦ +----+ +----+ +----+ +----+ +----+ +----+ +----+ ¦

¦ +----+ +----+ +----+ +----+ +----+ +----+ +----+ ¦

¦ ¦SA7 ¦ ¦SA11¦ ¦SA15¦ ¦SA19¦ ¦SA23¦ ¦SA27¦ ¦SA31¦ ¦

¦ +----+ +----+ +----+ +----+ +----+ +----+ +----+ ¦

¦ +----+ +----+ +----+ +----+ +----+ +----+ +----+ ¦

¦ ¦SA8 ¦ ¦SA12¦ ¦SA16¦ ¦SA20¦ ¦SA24¦ ¦SA28¦ ¦SA32¦ ¦

¦ +----+ +----+ +----+ +----+ +----+ +----+ +----+ ¦

+------------------------------------------------------+

Рис. 3.3. Блок клавиатуры

Восьмиразрядный сегментный индикатор используется для вывода адресов (левые 4 разряда) и данных (правые 2 или 4 разряда) в шестнадцатиричной форме. Кроме того, разряды индикатора используются для выдачи "текстовых" сообщений МОНИТОРа. Всего предусмотрено 20 различных сообщений, обеспечивающих диалоги с пользователем. Вид всех сообщений приведен в Приложении 2.

3.4. Описание функций программы МОНИТОР

Программа МОНИТОР располагается в адресах FE000 .. FEC4C ПЗУ и использует ячейки ОЗУ 00000 .. 0000F и 00EC0 .. 00FFF для временного хранения содержимого регистров пользователя, переменных, области стека и таблицы векторов прерываний. Точка входа в монитор - FE000.

Монитор обеспечивает следующие основные функции:

- тестирование и начальную установку микроЭВМ;

- просмотр и модификацию регистров микропроцессора;

- просмотр и модификацию ячеек памяти;

- запуск программы пользователя с произвольного адреса;

- выполнение программы пользователя по шагам команды;

- выполнение программы пользователя по машинным циклам;

- выполнение операций ввода/вывода с ВУ по указанному адресу;

- реализация операций над блоками в памяти;

- поддержка шестнадцатиричного калькулятора.

Кроме перечисленных функций в МОНИТОРе предусмотрены директивы работы с магнитофоном в качестве ВЗУ, однако в настоящих методических указаниях они не рассматриваются.

3.4.1. Начальная установка микроЭВМ осуществляется при включении питания или при нажатии клавиши RESET. При этом инициализируются интерфейсные БИС модуля, устанавливаются системные вектора прерываний, начальные значения регистров МП пользователя. Во время начальной установки на дисплей выдается сообщение 1 (см. Приложение 1) и выдается звуковой сигнал.

Затем МОНИТОР переходит в состояние ввода директив (сообщение 2). В то же состояние МОНИТОР попадает из любого режима (кроме запуска программы пользователя) при нажатии клавиши STOP/DIR или автоматически по окончании выполнения некоторых директив (на дисплее могут появляться сообщения 1..7).

3.4.2. Группа директив просмотра и модификации

REG - просмотр и модификация регистров МП; при нажатии клавиши "REG" выдается сообщение 12 и пользователь получает доступ к служебной области ОЗУ, в которой хранятся образы регистров МП на момент останова программы пользователя или после начальной установки. Выбор регистра для просмотра осуществляется нажатием соответствующей клавиши. При этом на левой группе индикаторов выдается сообщение r<имя регистра>, а на правой - значение регистра.

Возможна модификация содержимого регистра (фактически - его образа в памяти). Для этого достаточно набрать на цифровой клавиатуре новое значение (незначащие нули можно не набирать!) и нажать клавишу "ENTER". В память запишется введенное число, а на индикацию выведется следующий регистр последовательности.

Возможен простой просмотр содержимого регистров в прямом или обратном порядке, причем порядок вывода регистров определяется тем, имя какого регистра было введено по директиве REG. Если просмотр начат с любого сегментного, базового или индексного регистра, то кольцевая последовательность вывода следующая: BP, SP, SI, DI, CS, DS, ES, SS, IP, FL, AX, BX, CX, DX.

Если нажата клавиша регистра общего назначения, то на индикатор выведется младший байт этого РОНа, а по нажатии клавиши "+1" - старший байт и т.д. в следующей кольцевой последовательности: AL, AH, BL, BH, CL, CH, DL, DH.

По нажатию клавиши "-1" просмотр осуществляется в обратном порядке.

ADR - просмотр и модификация ячеек памяти; при нажатии клавиши "ADR" МОНИТОР запрашивает (сообщение 9) сегмент памяти, в который пользователь хочет получить доступ. Ввод необходимого сегментного регистра осуществляется с помощью клавиш "CS", "DS", "ES", "SS". При этом на дисплей выдается сообщение 10 и одновременно отображается содержимое выбранного сегментного регистра. Пользователь может сохранить старое значение или ввести и записать новое значение регистра, набрав число и нажав клавишу ENTER.

Следующим числовым параметром директивы ADR, запрашиваемым сообщением 11, является адрес ячейки памяти (смещение в выбранном сегменте). После его ввода на левую половину дисплея выводится смещение в сегменте, а на правую байт содержимого адресуемой ячейки памяти.

Теперь пользователь может просматривать память вперед и назад с помощью клавиш "+1" и "-1". Кроме того, можно модифицировать содержимое выбранного байта или слова. Для этого достаточно набрать на цифровой клавиатуре код и нажать клавишу "ENTER", причем если будут набраны 4 цифры, то слово занесется в адресуемый и следующий байт, а адрес увеличится на 2.

Если при задании адреса или при просмотре адрес выдйет за пределы физической памяти лабораторной установки (00000..00FFF, FE000..FFFFF), то работа МОНИТОРа блокируется и выход возможен по нажатию клавиши "RESET".

3.4.3. Директивы запуска

Запуск программы пользователя может осуществляться одним из трех режимов при нажатии соответствующих функциональных клавиш.

RUN - запуск программы в реальном времени. Если МОНИТОР находится в режиме просмотра памяти (сегмента кода), то программа стартует с адреса, указанного на дисплее. В случае необходимости может быть введен другой адрес старта.

RUN из другого режима приводит к выдаче сообщения об ошибке. Повторное нажатие "RUN" приводит к передаче управления на прог- рамму пользователя и выдаче на дисплей сообщения 8 и значения регистра IP.

Для останова программы пользователя служит клавиша "STOP". При этом управление передается на МОНИТОР, все регистры пользователя сохраняются в специальной области ОЗУ, а на дисплей выводится сообщение 3.

STEP - выполнение программы по командам. Начальный диалог аналогичен директиве RUN. Нажатие на клавишу "STEP" позволяет выполнить одну команду программы. Затем управление передается на МОНИТОР, сохраняются регистры и осуществляется переход в режим просмотра и модификации памяти. При этом на дисплее отображается содержимое IP в кодовом сегменте пользователя на момент останова.

CYCLE - выполнение программы по машинным циклам. Начальный диалог аналогичен директиве RUN. После входа в этот режим каждое нажатие клавиши "CYCLE" вызывает исполнение одного очередного цикла доступа к магистрали и переход МП в состояние ожидания. При этом на светодиодах можно наблюдать состояние RM, а на дисп- лее присутствует сообщение 14. Выход из этого режима - по клавише "STOP".

Пользователь может переходить из одного режима выполнения программы к другому по мере надобности. Для выхода из режима RUN в определенном месте программы необходимо использовать команду точки останова INT3. Во время останова пользователь может исследовать и изменять содержимое памяти и регистров. Для возврата в точку останова перед продолжением выполнения программы служит директива PC. После ее выполнения на дисплей выводится адрес следующей команды и его содержимое.

3.4.4. Директивы блоковых операций

Для работы с блоками памяти (массивами) в МОНИТОРе существуют 4 директивы:

BLK_MOV (клавиша MOV) - пересылка блока памяти;

BLK_CMP (клавиша CMP) - сравнение блоков памяти;

BLK_FILL (клавиша FILL) - заполнение блока константой;

BLK_SCAN (клавиша SCAN) - поиск байта в блоке памяти.

Числовыми параметрами двухместных директив MOV и CMP служат начальный адрес массива источника в сегменте DS (запрашивается сообщением 15), длина массива источника (запрашивается сообщением 16) и начальный адрес массива приемника в сегменте ES (запрашивается сообщением 17).

По директиве MOV содержимое массива источника пересылается в массив приемника. Во время пересылки на дисплей выводится сообщение 13, а после окончания - сообщение 2.

По директиве CMP производится сравнение двух массивов. При совпадении содержимого массивов на дисплей выводится сообщение 4, иначе сообщение 5.

В одноместных операциях FILL и SCAN адрес начала массива в сегменте ES запрашивается сообщением 11, длина массива - сообщением 16. Третьи параметры этих директив различны по смыслу: для директивы FILL это значение константы, которой будет заполнен массив (запрашивается сообщением 15), а для директивы SCAN значение байта для поиска в массиве (запрашивается так же сообщением 15). Если заданный байт отыщется в массиве (первое вхождение), то на дисплей выводится сообщение 8 с адресом найденного байта в правой части, иначе выводится сообщение 5.

3.4.5. Директивы ввода/вывода

Для обращения с устройствами ввода/вывода в МОНИТОРе предусмотрены 4 директивы.

Директивы IN_B и IN_W позволяют читать содержимое регистра ввода/вывода (байт или слово соответственно) по задаваемому адресу. Адрес запрашивается сообщением 11 и после ввода адреса и нажатия клавиши ENTER производится чтение содержимого указанного регистра. На дисплей выводится сообщение 15, в правой части которого отображается считанная информация. Повторное нажатие клавиши ENTER повторяет ввод по тому же адресу.