WWW.LIBRUS.DOBROTA.BIZ
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - собрание публикаций
 

«Новосибирский государственный технический университет УЧЕБНЫЕ МИКРОПРОЦЕССОРНЫЕ КОНТРОЛЛЕРЫ МИКРОКОНТРОЛЛЕР УМПК-86 Лабораторные работы по курсам «Микропроцессорные системы» и «Проектирование ...»

Министерство общего и профессионального образования

Российской Федерации

Новосибирский государственный технический университет

УЧЕБНЫЕ МИКРОПРОЦЕССОРНЫЕ КОНТРОЛЛЕРЫ

МИКРОКОНТРОЛЛЕР УМПК-86

Лабораторные работы

по курсам «Микропроцессорные системы»

и «Проектирование микропроцессорных систем»

для студентов старших курсов

факультета автоматики и вычислительной техники

всех форм обучения

Новосибирск

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

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

Составители: В.А. Афанасьев, В.Н. Веприк, А.И. Дружинин, А.А. Земсков, А.Р. Исаев, О.В. Малявко Рецензенты: Е.Д. Баран, Г.Г. Матушкин Работа подготовлена кафедрой вычислительной техники Новосибирский государственный технический университет, 1997 г .

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

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

Лабораторная работа № 1

УСТРОЙСТВО И ПРИНЦИП РАБОТЫ МОДУЛЯ УМПК-86,

ИЗУЧЕНИЕ ФУНКЦИЙ МОНИТОРА И СИСТЕМЫ КОМАНД

МП КР1810ВМ86. РАЗРАБОТКА И ОТЛАДКА ПРОГРАММ Цель работы

1. Изучение архитектуры модуля УМПК-86 .

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

3. Написание, загрузка и отладка программ .

1. УСТРОЙСТВО И ПРИНЦИП РАБОТЫ МОДУЛЯ

1.1. СТРУКТУРА МОДУЛЯ Структурная схема модуля УМПК-86 приведена на рис.1, а расположение ИМС блоков модуля на плате, разъёмов, переключателей и элементов индикации - на рис.2 .

–  –  –

ПРИМЕЧАНИЯ .

1. Переключатели представлены в исходном положении: H-High - замкнут, L-Low - разомкнут (нижнее положение) .

2. Свечение светодиода в схеме индикации означает наличие на линии сигнала активного уровня





Схема включает в себя следующие функциональные узлы:

процессорный блок (ПБ);

блок формирования системной шины (БФСШ);

блок формирования резидентной шины (БФРШ);

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

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

Обозначение сигналов выборки устройств и адреса их внутренних регистров приведены в табл.1 .

–  –  –

Процессорный блок включает в себя две процессорные БИС (в лабораторном модуле отсутствует арифметический сопроцессор КР1810ВМ87), схему синхронизации и схему формирования сигналов доступа к резидентной или системной шине. Последняя схема реализует также режим выполнения программ по циклам .

Блок формирования СШ подключает локальную шину к внешней, системной шине, которая может быть использована другими микропроцессорами многопроцессорной системы. Разрешение работы БФСШ осуществляется сигналом SYSB, формируемым блоком ДША. В свою очередь, БФСШ выдаёт сигнал AEN, указывающий процессорному блоку на необходимость обработки сигнала готовности RDY системной шины .

Построение БФРШ имеет ряд особенностей, обусловленных неопределённостью количества и типа подключения к РШ модулей. Для решения этой проблемы сигналы РШ (управления, адреса и данных) формируются независимо от того, обращается микропроцессор к ней или нет. Но при отсутствии подключённых к РШ модулей (также как и при формировании адреса, являющегося ошибочным) данные могут только выдаваться на РШ, а приём данных с РШ на ЛШ в этом случае запрещён .

Любой модуль, подсоединённый к РШ, в ответ на свой адрес должен сформировать сигнал RESB, по которому будет разрешён обмен данными между ЛШ и РШ и запрещена работа БФСШ .

Блок дешифрации адреса формирует сигналы выборки устройств ввода/вывода, ОЗУ, ПЗУ, а также формирует сигналы SYSB (выбор СШ) и RDY1 (готовность РШ), воздействие которых на схему арбитра СШ и схему формирования доступа к шинам определяет тип шины (СШ или РШ), с которой будет осуществляться обмен информацией. Сигнал SYSB выдаётся тогда, когда ни на локальной, ни на резидентной магистрали нет устройств, распознающих свой адрес, а также текущий цикл не является циклом обработки прерывания .

Блок ЗУ включает в себя ОЗУ и ПЗУ объёмами по 2 и 4 К шестнадцатиразрядных слов соответственно. В ПЗУ размещён монитор УМПК-86, а ОЗУ предназначено для программ и данных пользователя .

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

Блок последовательного интерфейса позволяет сопрягать УМПК-86 с периферийными устройствами, осуществляющими обмен информацией в последовательном коде с использованием интерфейса «20 mA токовая петля», и магнитофоном .

Кроме того, блок ПсИ формирует двухтональный звуковой сигнал .

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

Схема индикации позволяет наблюдать при поцикловом режиме работы микропроцессора следующую информацию (рис.2):

1. 20-разрядный адрес на РШ и значение сигнала BHE. Значение активных сигналов на линиях BHE и А0 при дешифрации адресов позволяет осуществлять передачу слов или отдельных байтов в соответствии с табл.2 .

–  –  –

1.2. ФУНКЦИОНАЛЬНАЯ СХЕМА МОДУЛЯ

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

процессорный блок;

блоки формирования резидентной и системной шин;

блок дешифрации адреса;

блок запоминающих устройств .

Интерфейсные блоки для параллельного и последовательного обмена информацией модуля с ВнУ, а также контроллер клавиатуры и дисплея рассмотрены ранее при изучении микропроцессорного комплекса УМПК-80 [3,4] .

1.2.1. Процессорный блок

Процессорный блок (рис.3) включает центральный процессор КР1810ВМ86, работающий в максимальном режиме, генератор тактовых сигналов КР1810ГФ84 и схему доступа к шинам РШ и СШ. Задание частоты генерации осуществляется кварцевым резонатором BQ, а подача сигнала начальной установки RES формируется автоматически при включении питания или при нажатии клавиши RES на клавиатуре .

Для формирования запроса немаскируемого прерывания используется клавиша STOP, формирующая одноименный сигнал (прерывание типа 2 [2]). Коммутация внешнего запроса прерывания выполняется переключателем S2.1. Если прерывания по входу INTR не запрещены (флаг IF=1), то разомкнутое состояние переключателя S2.1 инициирует микропроцессор на генерацию двух последовательных циклов

Рис.3. Схема процессорного блока ПБ

INTA (подтверждение прерывания), имеющих целью идентификацию запрашивающего устройства путём восприятия вектора прерывания по шине данных во втором цикле INTA. Поскольку модуль УМПК-86 не содержит в своём составе блока обработки прерываний, то микропроцессор в ответ на действие сигналов от переключателя S2.1 сформирует вектор 00, который соответсвует в таблице указателей векторов прерываний (начальная область памяти ОЗУ) внутреннему прерыванию от ошибки деления (прерывание типа 0) .

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

Основная идея реализации поциклового режима, представленного на рис.3, состоит в том, что триггер доступа к шине Тдост снимает сигнал доступа AcEN (Acces Enable), начиная со второго такта Т2 цикла после фиксации адреса сигналом ALE в конце первого такта Т1 (циклы шины подробно рассмотрены в [2]). Как видно из схемы, сигнал ALE устанавливает в логический «0» триггер Тдост. Процессор вынужден ждать появления сигнала AcEN, вводя такты ожидания TW между тактами Т3 и Т4, сохраняя сигналы состояний S0S2 в активном состоянии. Активное состояние этих сигналов на входах системного контроллера шины (СШ или РШ) КР1810ВГ88 сохраняет неизменными адрес обращения, сигналы чтения/записи (ввода/вывода) и данные на соответствующих линиях магистрали, что и отражено в схеме индикации (рис.1). При нажатии клавиши CYCLE на клавиатуре, формирующей одноимённый сигнал, триггер Тдост переводится в «1»-состояние, что позволяет процессору завершить цикл (выполнив последний такт Т4), перейдя к первому такту следующего цикла, и так далее .

Задание режима работы схемы осуществляется занесением соответствующего кода в 2-разрядный регистр управления РгУП (см. вторую колонку табл.5). Состояние Q 3Q 2 =10 может быть задано аппаратно сигналом RESET при инициализации УМПК или клавишей STOP. Первое нажатие клавиши CYCLE (после инициализации или нажатия клавиши STOP) вызывает управляющую подпрограмму монитора, которая устанавливает РгУП в состояние Q 3Q 2 =11, а триггер Треж в «1», что соответствует поцикловому режиму исполнения команд программы. Последующие нажатия клавиши CYCLE вызывают чисто аппаратное воздействие на схему, приводящее к установке триггера Тдост=1, разрешая тем самым исполнение очередного цикла .

Каждое из состояний РгУП может быть задано пользователем программным путём с помощью команды OUT Acc,port. Поскольку входы регистра подключены к линиям адреса, а не данных, то адрес выборки РгУП (из числа определённых для него ДША) задаёт и код режима, что и отражено в табл.5 (содержимое Асс при этом

–  –  –

значения не имеет). Следует отметить, что задание состояния Q 3Q 2 =01 предопределяет немедленный перевод схемы в поцикловый режим, в то время как задание состояния «11» - лишь необходимое условие для реализации этого режима, так как для перевода триггера Треж из 01)* требуется в этом случае положительный перепад сигнала S0 (циклы выборки команды, записи в память или во ВнУ) при низком уровне сигнала LOCK =0. Следовательно, программное задание этого режима требует последовательности из двух команд: OUT Acc,0FAH и LOCK (команды, инициирующей сигнал блокировки LOCK на время выполнения следующей за ней команды) .

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

Взаимосвязь между сигналами на входах AEN1 и AEN2 схемы ГФ84 (рис.3), вырабатываемых конъюнкторами К1 и К2, системным сигналом AEN арбитра СШ (требование на обработку сигнала RDY СШ) и сигналом АсЕN (Access Enable - разрешение доступа) определяется следующими соотношениями:

1) AcEN=0, доступ к шинам закрыт AEN1= AEN2 =1;

2) AcEN=1, доступ разрешён:

а) к СШ ( AEN2 =0, если AEN арб. СШ=0);

б) к РШ ( AEN1=0, если AEN арб. СШ=1) .

1.2.2. Схема шинного интерфейса с системной и резидентной шинами (блоки БФСШ и БФРШ) В многопроцессорных системах, содержащих как системную, так и резидентную шины, возможно подключение к СШ различных процессоров, имеющих на ней разделяемые ресурсы. Для исключения конфликтных ситуаций при этом используется арбитр шины, осуществляющий синхронизацию доступа процессоров к системной шине. В зависимости от конфигурации многопроцессорной системы может быть реализовано четыре различных режима работы арбитра путём задания соответствующих сигналов на входах IOB и RESB. В модуле УМПК-86 используется такой режим работы центрального процессора (ЦП), при котором каждая из шин (СШ или РШ) может обеспечивать доступ ЦП к памяти или устройству ввода/вывода (УВВ) .

В силу этого, каждая из шин должна иметь свой контроллер шины КР1810ВГ88, формирующий полный состав командных и управляющих сигналов, что обеспечивается установкой сигналов IOB=0 для контроллеров обеих шин, а для арбитра установкой RESB= IOB=1 (рис.4). К особенностям построения интерфейса РШ в модуле УМПК-86 следует отнести режим работы адресных защёлок (три схемы КР580ИР83) с постоянно активными выходами, которые могут блокироваться лишь внешним сигналом AE (например, от контроллера ПДП). Это позволило подключить схему дешифратора адреса, который и определяет в начале каждого цикла шины принадлежность адреса обращения, то есть относится ли он к адресному пространству РШ или СШ. Если адрес находится в пространстве РШ, то формируется сигнал SYSB=0, запрещающий работу схемы интерфейса СШ и, наоборот, сигнал SYSB=1, если адрес принадлежит адресному пространству СШ. Сигнал SYSB=1, поступающий на вход арбитра SYSB/ RESB и вход CEN контроллера, деблокирует работу интерфейса СШ, формируя на выходе своего контроллера командные сигналы и сигналы управления (в соответствии с характером цикла, что задаётся состояниями S0, S1 и S2 ) .

Одновременно сигналом AEN =0 арбитр СШ формирует требование обработки сигнала готовности RDY к процессорному блоку. Однако, в рассматриваемом модуле центральное место в реализации циклов обмена ЦП с памятью и УВВ выполняет РШ, интерфейс с которой предоставляет дополнительную возможность ЦП по организации доступа к другим внешним УВВ, не входящим в состав модуля УМПК-86 .

Такой обмен может происходить либо по инициативе (запросу) внешних устройств (если модуль оснастить программируемым контроллером прерываний К1810ВН59А), либо по инициативе ЦП с устройствами, оснащёнными собственными дешифраторами адресов .

При подключении внешних устройств к РШ или к СШ должны выполняться следующие условия сопряжения: к линиям адреса, данных и командных сигналов необходимо подключать передатчики, имеющие третье состояние, к линиям BUSY, CBRQ, RDY, INIT (СШ) и линиям RDY, RAEN, RESB (РШ) - передатчики с открытым коллектором, а к остальным линиям - с ТТЛ-выходом .

–  –  –

Схема блоков ДША и памяти представлена на рис.5, а в табл.6 отражена организация блока ДША, формирующего адресные сигналы выборки устройств, входящих в состав модуля УМПК-86 (рис.1). Один из выходов ДША, имеющий обознаРис. 5. Схема блоков ДША, ОЗУ и ПЗУ

–  –  –

чение РШ, подтверждает выбор любого из перечисленных выше устройств модуля(см .

также табл.6). Таким образом, значение сигнала на этом выходе определяет принадлежность адреса к пространству резидентной ( РШ =0) или системной ( РШ =1) шин соответственно. Блок ДША включает ещё три важных вентиля, выполняющих следующие функции .

Вентиль &1 фиксирует цикл подтверждения прерывания (S0 S1S2 =0) и формирует внутренний сигнал RESB=0, который, поступая через схему ИЛИ на вход Т приёмопередатчиков РШ, разрешает приём вектора прерывания от внешнего контроллера прерываний с одновременным запрещением (через вентиль &2) работы СШ. Такая реализация исходит из концепции обработки прерываний только для устройств, подключённых к РШ. Вентиль &3 формирует сигнал готовности RDY1 (РШ) в следующих трёх случаях .

1. При выборке ДША любого из встроенных в модуль устройств .

2. При обмене с УВВ по сигналу INT, когда контроллером выдаётся сигнал INTA =0 (данная процедура сопровождается снятием сигнала SYSB с вентиля &2 внутренним сигналом RESB=0) .

3. При обмене с любым другим УВВ, подключённым к РШ и имеющим адрес, выходящий из адресного пространства шины, которое контролируется блоком ДША. В этом случае устройство, имеющее собственный ДША, должно в ответ на обращение процессора по его адресу ответить сигналом RESB=0 (в этом случае этот сигнал является внешним по отношению к модулю) с последующим (по готовности к обмену) формированием сигнала RDY, который и установит значение готовности РШ RDY1=1 .

Память модуля состоит из двух микросхем КР537РУ8А с организацией 2К8 бит и микросхемы ПЗУ К573РФ3 с организацией 4К16 бит. ОЗУ, предназначенное для работы в микропроцессорных системах с ЦП на ИС КР1810ВМ86, должно обеспечивать передачу как двухбайтовых слов, так и отдельных байтов. С этой целью ОЗУ модуля УМПК-86 выполнено в виде двух банков: младшего, подключённого к линиям D7D0 и содержащего байты с чётными адресами (A0=0, BHE =1), и старшего, содержащего байты с нечётными адресами (А0=1, BHE =0). При А0= BHE =0 пересылается слово по чётному адресу за один цикл шины. Выборка слова по нечётному адресу осуществляется за два цикла - младший байт по нечётному адресу, затем старший - по чётному .

В начале такта обращения по сигналу ALE и совпадению внутреннего кода микросхемы с принятым по линиям AD13AD15 происходит фиксация адреса А1А12 с линий AD1AD12, затем при MRDC =0 ( OE =0) схема приходит в режим вывода 16разрядных данных на шину AD0AD15 .

2. РЕЖИМЫ РАБОТЫ МОНИТОРА УМПК-86

Монитор располагается в ПЗУ c адресами FE000H0FEC4CH и использует область ОЗУ с адресами 00000Н00023Н и 00ЕА100FFE для таблицы векторов прерываний, временного хранения содержимого регистров пользователя, переменных и области стека. Точка входа в монитор - FE000H. Карта памяти ОЗУ с указанием назначения некоторых зон служебной области, используемой монитором, приведена на рис.6 .

–  –  –

2.1. ИНИЦИАЛИЗАЦИЯ МОДУЛЯ .

ПРОСМОТР И МОДИФИКАЦИЯ ПАМЯТИ И РЕГИСТРОВ

Начальная установка модуля осуществляется при включении питания или нажатием на клавишу RESET. При этом инициализируются интерфейсные БИС модуля, устанавливаются системные векторы прерываний, начальные значения регистров микропроцессора. Во время начальной установки на дисплей выводится сообщение 1 (табл.7) и выдаётся звуковой сигнал. Затем монитор переходит в состояние ввода директив, что индицируется сообщением 2. В состояние ввода директив монитор переводится из любого режима работы (кроме режима запуска программы) при нажатии клавиши STOP/DIR (directive - директива). В этом случае, выбрав соответствующую директиву на цифровой клавиатуре (правая часть клавиатуры из 16 клавиш), осуществляют ввод её параметров. Для организации диалога используются клавиши ENTER (ввод) и DEL (delete - удалять). При нажатии первой клавиши набранное предварительно число вводится с дополнительными нулями слева до требуемой разрядности и осуществляется переход к вводу следующего числового значения или выполнению директивы, если все параметры введены. Нажатием второй клавиши можно удалить последнюю введённую цифру .

Таблица 7

ADDR - ввод адреса для просмотра и модификации памяти. После ввода этой директивы сообщением 9 запрашивается выбор регистра сегмента пользователя, в котором предполагается исследовать содержимое памяти. Ввод необходимого регистра осуществляется с помощью клавиши CS, ES, DS или SS. При этом на дисплей выдаётся сообщение 10 и одновременно отображается содержимое выбранного регистра. Пользователь может ввести его нажатием клавиши ENTER или набрать новое значение .

Следующим параметром директивы ADDR является адрес ячейки памяти в выбранном сегменте (сообщение 11). После его ввода адрес ячейки изображается на экране слева, а справа - записанный по данному адресу байт данных. Затем можно просматривать память как в сторону увеличения адреса (клавиша ENTER(+1)), так и в сторону уменьшения (клавиша DEL(-1)). Для модификации содержимого ячейки памяти нужно перед нажатием клавиши ENTER набрать нужное число. Следует отметить, что данные могут вводиться не только байтом, но и словом. При этом младший байт слова заносится по адресу, представленному на дисплее, старший байт - по следующему адресу, что вызывает увеличение отображаемого на дисплее адреса на 2 .

REG - просмотр и модификация регистров микропроцессора. После ввода директивы пользователь получает доступ к служебной области ОЗУ, в которой хранятся образы регистров (рис.6) на момент останова программы, а после начальной установки их начальные значения. Вход в директиву подтверждается сообщением 12. После этого можно выбирать регистр нажатием соответствующей клавиши. Если необходимо просмотреть содержимое смежных регистров, то можно воспользоваться клавишами ENTER(+1) и DEL(-1). Модификация содержимого регистра производится также, как и модификация содержимого ячеек памяти .

2.2. РЕЖИМЫ ВЫПОЛНЕНИЯ ПРОГРАММ ПОЛЬЗОВАТЕЛЯ

RUN - запуск программы пользователя в реальном масштабе времени с адреса, представленного на дисплее (если монитор находится в режиме просмотра адреса) .

Процесс выполнения программы или его завершение сопровождается выводом на дисплей сообщения 13 (START-). Для выхода из этого режима служит клавиша STOP/DIR, нажатие которой инициирует вывод на дисплей содержимого программного счётчика команд IP и соответствующего ему содержимого ячейки памяти на момент останова .

При этом управление передаётся монитору с сохранением регистров программы в специальной области памяти. Повторное нажатие на клавишу STOP/DIR выводит на дисплей сообщение 3 .

STEP - покомандное выполнение программы пользователя под управлением монитора. На дисплее отображается адрес, записанный в программный счётчик IP на момент останова после выполнения очередной команды. Сохраняются регистры, допускается переход к режиму просмотра и модификации памяти .

CYCLE - выполнение программы пользователя по циклам обращения интерфейсного блока центрального процессора к шине. После входа в этот режим каждое нажатие на клавишу CYCLE вызывает исполнение очередного цикла доступа к шине и переход в состояние ожидания. При этом по светодиодам схемы индикации можно наблюдать тип цикла (сигналы S0, S1, S2 ), используемый сегментный регистр (S3, S4), адрес обращения и данные на шине. Более подробно реализация этого режима рассмотрена в п.1.2.1. Выход из режима осуществляется клавишей STOP/DIR .

Режим исполнения программы с прерыванием в контрольной точке по выполнению команды Int3 (код операции ССН). Данная однобайтовая команда помещается в «критических» местах программы с целью просмотра содержимого регистров или ячеек памяти и их модификации в случае необходимости. Для возврата в точку останова перед продолжением выполнения программы служит директива РС (выполнение указанных процедур возможно только по предварительному нажатию клавиши STOP/DIR) .

2.3. РЕЖИМЫ РАБОТЫ С БЛОКАМИ ПАМЯТИ (МАССИВАМИ)

В мониторе для этой цели имеются четыре директивы, числовыми параметрами которых в случае двухместных операций являются начальный адрес массива источника в сегменте DS (запрашивается сообщением 15), его длина (запрашивается сообщением 16), начальный адрес приёмника в сегменте ES (запрашивается сообщением 17). В одноместных операциях используется ES, а адрес начала массива запрашивается сообщением 11 .

<

2.3.1. Двухместные операции

BLK - MOV - пересылка массива источника в массив приёмника (аналог цепочечной команды REP MOVSB dst,srс). По окончанию операции выводится сообщение 2 .

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

–  –  –

BLK - CMP - сравнение содержимого массива источника с массивом приёмника (аналог цепочечной команды REPE CMPSB dst,src). По окончанию процедуры, если блоки совпадут, то на дисплей будет выведено сообщение 4, в противном случае - сообщение 5 .

–  –  –

BLK - FILL - заполнение блока константой (аналог цепочечной команды REP STOSB dst). После ввода начального адреса и длины блока сообщением 15 запрашивается байт, которым нужно заполнить массив. Процедура заканчивается выводом на дисплей сообщения 2 .

BLK - SCAN - поиск байта в блоке с длиной, не превышающей FFH (аналог цепочечной команды REPE SCANSB dst). Диалог аналогичен предыдущей директиве. Если байт найден в блоке, то выводится сообщение 8, где в правой части дисплея указан адрес найденного байта. В противном случае выводится сообщение 5 .

*

2.4. ОБМЕН ИНФОРМАЦИЕЙ С УСТРОЙСТВАМИ ВВОДА/ВЫВОДА ) IN - B - ввод байта. Позволяет читать содержимое регистра УВВ с заданным адресом. Адрес запрашивается сообщением 11. После ввода адреса осуществляется чтение (нажатие клавиши ENTER) и на дисплей выводится сообщение 15, причём в правой части дисплея отображается прочитанный байт. Нажатие клавиши ENTER повторяет чтение .

IN - W - ввод слова. Диалог аналогичен предыдущей директиве .

OUT - B - вывод байта. Позволяет записывать данные в регистр УВВ с указанным адресом. Адрес вводится также, как и в директивах ввода. После этого сообщением 15 запрашиваются данные, которые нужно записать в УВВ. Указанное сообщение с введёнными данными остаётся на дисплее после записи, что позволяет корректировать их и повторять запись, нажимая на клавишу ENTER .

OUT - W - вывод слова. Диалог аналогичен предыдущей директиве .

2.5. РЕЖИМ КАЛЬКУЛЯТОРА

–  –  –

Для вычисления значений цифровых параметров в шестнадцатеричной системе счисления при их вводе можно пользоваться калькулятором монитора. Для хранения чисел операндов используются четыре ячейки арифметического стека FILO (первый вошёл - последний вышел) и регистр Х, число из которого отображается на дисплее (четыре первых индикатора). Все операции выполняются с верхней ячейкой стека (первый операнд) и регистром Х (второй операнд), причём результат помещается в регистр Х, а содержимое стека поднимается на одну ячейку вверх, вытесняя первый операнд (под ячейкой стека понимается пара смежных ячеек памяти). Исходным состоянием режима калькуляции для монитора является либо режим просмотра и модификации * В данном методическом руководстве опущено описание директив, предназначенных для работы с магнитофоном: MT - SAVE и MT - LOAD. С ними можно познакомиться в [1] .

памяти, либо режим модификации и просмотра регистров центрального процессора, когда в левой части дисплея отображается адрес или выбранный регистр, а в правой их содержимое, представленное 16-разрядным словом с запятой (, ) в младшем разряде. Это и есть регистр Х, значение которого с помощью клавиши ENTER может быть присвоено регистру центрального процессора или паре ячеек ОЗУ, что сопровождается гашением запятой. Для лучшей ориентации при использовании калькулятора на рис.7 представлен образ регистров и стека калькулятора в памяти .

Рис. 7. Образ регистров (а) и стека калькулятора (б) в памяти .

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

Ввод в стек. Число из регистра Х заносится в верхнюю ячейку стека, содержимое стека сдвигается вниз, при этом нижнее число теряется .

Обмен () содержимым между верхней ячейкой стека и регистром Х .

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

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

Калькулятор монитора позволяет выполнить семь двухместных арифметических и логических операций. Арифметические операции представлены сложением, вычитанием, умножением () и делением (/), а логические - операциями AND, OR, XOR и SWAB (обмен байтов регистра Х) .

Из-за ограниченного размера клавиатуры некоторые операции совмещены с цифровыми клавишами. Нажатием одной клавиши выполняются лишь операции:, +,,, .

Вызов остальных осуществляется нажатием клавиши альтернативной операции ОР и клавиши требуемой операции (см. также на цветовое изображение символов операций) .

Повторное нажатие на клавишу ОР вызывает отмену её действия - СОР .

–  –  –

Принцип организации вычислений в калькуляторе базируется на форме представления исходного арифметического выражения на основе использования польской инверсной записи (postfix notation), в которой каждый оператор записывается вслед за относящимися к нему операндами. Например, выражение «а+вс» записывается как авс+ .

Использование польской инверсной записи позволяет исключить из выражений скобки, сохраняя при этом однозначный порядок вычислений. Важность данной записи определяется тем, что выражения в такой форме легко вычисляются с использованием стека, что и проиллюстрировано на рис.8. Следует отметить удобство использования калькулятора для определения знакового смещения disp в командах переходов. Например, требуется определить 16-битное смещение для реализации перехода от адреса 0320Н к адресу 0123Н. Значение disp определяется из соотношения disp = 0123H - 0320H = FE03H .

При этом в исходном состоянии число 0123Н заносится в верхнюю ячейку стека, а число -320Н - в регистр Х .

–  –  –

3. ПРЕДВАРИТЕЛЬНАЯ ПОДГОТОВКА К РАБОТЕ

3.1. Ознакомиться с общей архитектурой модуля УМПК-86, обратив особое внимание на реализацию режимов работы процессорного блока при выполнении команд программы, принцип построения интерфейса с системной и резидентной шинами, организацию ДША и блока памяти .

3.2. Повторить систему команд ЦП КР1810ВМ86 [2] .

3.3. Написать следующие варианты программ:

многократный вывод движущейся строки из 8 символов;

программная модель часов (до нескольких минут) с индикацией времени на дисплее. В качестве единицы времени «1с» принять условный временной интервал, простой в реализации. Для изображения времени на экране использовать 5 знакомест (минуты (2) — секунды (2)) .

4. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ. ОФОРМЛЕНИЕ ОТЧЁТА

4.1. Ознакомиться со структурой лабораторного стенда, изучить назначение и синтаксис директив резидентного монитора .

4.2. Ознакомиться с работой калькулятора .

4.3. Ввести и отладить подготовленную программу .

4.4. Выполнить начальную часть программы в циклическом режиме (810 циклов) .

Оформить результаты по форме табл.8 .

–  –  –

4.5. На основе данных табл.8 и текста программы составить временную диаграмму (циклограмму) параллельной работы шинного интерфейса (ШИ) и операционного устройства (ОУ) ЦП КР1810ВМ86, где для каждого цикла указать характер работы ШИ (выборка команды, запись/считывание данных в (из) память по заданию ОУ и так далее) и номер исполняемой ОУ в этом цикле команды. На рис.9 представлена примерная форма диаграммы .

–  –  –

1.Знакомство со схемотехническими особенностями сопряжения модулей через параллельные порты (К580ВВ55А) .

2.Разработка программных драйверов обмена информации (передачи и приёма) в режиме стробируемого однонаправленного обмена (режим 1) .

1. СХЕМА СОПРЯЖЕНИЯ МОДУЛЕЙ И ОРГАНИЗАЦИЯ ОБМЕНА

Схема сопряжения двух модулей УМПК-86 использует параллельный интерфейс К580ВВ55А и представлена на рис.10. Организация работы данной ИС и её программирование на различные режимы работ рассматривалась ранее при изучении базового курса по микропроцессорным системам (см. также [3] и[4]), поэтому в данной лабораторной работе внимание акцентируется лишь на особенностях её программного управления в процессе обмена информацией между модулями через схему сопряжения. В свою очередь, схема сопряжения обладает следующими качествами .

1. Инвариантностью управления при изменении направления передачи информации (порт А - вывод, порт В - ввод, порт С используется для управления обменом с применением квитирования) .

2. Схема сопряжения не отвечает, в полной мере, требованиям (протоколу) обмена информацией в режиме 1, так как формируемые портом С сигналы управления рассчитаны на взаимодействие с сигналами квитирования от внешних устройств, а не друг с другом. А именно, выходной сигнал IBFB (входной буфер полон) не отвечает требованиям, предъявляемым к сигналу ACK А (подтверждение приёма), как по своему значению, так и по времени формирования (инициируется раньше, чем это требуется) .

Поэтому в схеме сопряжения формирование квитирующего сигнала для входа ACK А возложено на один из свободных от управления выходов порта С (РС4), который как бы моделирует инверсную диаграмму сигнала IBFB с временным сдвигом .

Временная диаграмма работы устройства сопряжения модулей приведена на рис.11 .

Передача байта информации начинается командой его записи в выходной регистр порта А при наличии запроса прерывания INTRA. Здесь предполагается, что триггеры разрешения прерывания INTЕA порта А (управляется битом РС6) и INTEB порта В (управляется битом РС2) установлены в состояние «1». Сигнал записи информации в

–  –  –

УМПК-86-1 УМПК-86-2 Pис.10. Cхема сопряжения модулей УМПК-86 через параллельные порты с целью обмена информацией в режиме 1 (PА-вывод, PВ-ввод) порт А снимает запрос INTRA и своим фронтом устанавливает активный низкий уровень сигнала OBF A (выходной буфер полон). Этот сигнал используется в качестве стробирующего для входа STB B приёмника при передаче байта данных из порта А в порт В. Стробирование входа STB B приёмника устанавливает на выходе IBFB активный высокий уровень, в течение которого необходимо считать принятый байт информации из порта В в процессор приёмного модуля. Это достигается, как уже отмечалось выше, искусственным формированием сигнала подтверждения приёма байта приёмником для входа ACK A передатчика с помощью бита РС4.

При этом процессор приёмного модуля осуществляет последовательно во времени следующие операции:

OUT «0РС4», IN «Acпорт В», OUT «1 РС4» .

–  –  –

Шина данных Рис.11. Временная диаграмма работы устройсва сопряжения модулей по передаче байта данных из порта А модуля 1(TxD) в порт В модуля 2 (RxD) в режиме 1 .

Установка РС4=0 производится при условии IBFB=1, считывание же байта информации из порта В в процессор может производится безусловно, без предварительного опроса INTRB=1. Фронт сигнала считывания обуславливает сброс сигнала IBFB, а установка РС4=1 ( ACK A=1) завершает цикл передачи/приёма, восстанавливая запрос прерывания INTRA=1 .

2. ДРАЙВЕРЫ ОБМЕНА На рис.12 представлены граф-схемы подпрограмм, на основе которых могут быть составлены программы обмена информационным массивом между двумя модулями через рассмотренное устройство сопряжения. Подпрограмма инициализации INIT при этом является одинаковой как для передатчика, так и приёмника. Предварительно: перед входом в основной режим передачи/приёма массива, передатчик принимает, а приёмник выдаёт свой статус готовности. Передатчик находится в этом режиме до тех пор, пока не будет получен положительный статус (байт FFH). В качестве отрицательного статуса обычно принимается значение байта 00Н. С получением положительного статуса (рис.12,д) передатчик переходит к передаче массива (приёмник соответственно к приёму этого массива), размер которого согласован с приёмником. Начальные адреса массивов в памяти передатчика и приёмника выбираются произвольно .

3. ПРЕДВАРИТЕЛЬНАЯ ПОДГОТОВКА К РАБОТЕ И ЕЁ ВЫПОЛНЕНИЕ

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

4. ОТЧЁТ О РАБОТЕ Отчёт о работе должен включать листинг программы передачи (приёма) и схему сопряжения модулей .

–  –  –

ЛИТЕРАТУРА

1. Модуль УМПК-86/ВМ. Паспорт, 1990 .

2. Микропроцессорный комплект К1810: Структура, программирование, применение. Справочная книга под ред. Ю.М. Казаринова. - М.: Высш. шк., 1990 .

3. Учебные микропроцессорные контроллеры. Периферийные БИС. Сборник лабораторных работ по курсу «МПС». Издательство НГТУ (№ 1282), г. Новосибирск, 1995 .

4. Шелкунов Н.Н., Дианов А.П. Микропроцессорные средства и системы. - М.:

Радио и связь, 1989 .

ОГЛАВЛЕНИЕ

–  –  –

Лабораторная работа № 1. УСТРОЙСТВО И ПРИНЦИП РАБОТЫ МОДУЛЯ

УМПК-86, ИЗУЧЕНИЕ ФУНКЦИЙ МОНИТОРА И СИСТЕМЫ КОМАНД МП

КР1810ВМ86. РАЗРАБОТКА И ОТЛАДКА ПРОГРАММ

1. УСТРОЙСТВО И ПРИНЦИП РАБОТЫ МОДУЛЯ

1.1. СТРУКТУРА МОДУЛЯ

1.2. ФУНКЦИОНАЛЬНАЯ СХЕМА МОДУЛЯ

1.2.1. Процессорный блок

1.2.2. Схема шинногоинтерфейса с системной и резидентной шинами (блоки БФСШ и БФРШ)

1.2.3. Организация блока ДША и памяти

2. РЕЖИМЫ РАБОТЫ МОНИТОРА УМПК-86

2.1. ИНИЦИАЛИЗАЦИЯ МОДУЛЯ. ПРОСМОТР И МОДИФИКАЦИЯ

ПАМЯТИ И РЕГИСТРОВ

2.2. РЕЖИМЫ ВЫПОЛНЕНИЯ ПРОГРАММ ПОЛЬЗОВАТЕЛЯ

2.3. РЕЖИМЫ РАБОТЫ С БЛОКАМИ ПАМЯТИ

2.3.1. Двухместные операции

2.3.2. Одноместные операции (сегмент ES)

2.4. ОБМЕН ИНФОРМАЦИЕЙ С УСТРОЙСТВАМИ ВВОДА/ВЫВОДА............... 21

2.5. РЕЖИМ КАЛЬКУЛЯТОРА

2.5.1. Общее описание

2.5.2. Организация вычислений на калькуляторе

3. ПРЕДВАРИТЕЛЬНАЯ ПОДГОТОВКА К РАБОТЕ

4. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ. ОФОРМЛЕНИЕ ОТЧЁТА.............. 24 Лабораторная работа № 2. РАЗРАБОТКА ПРИКЛАДНОЙ ПРОГРАММЫ

ОБМЕНА ИНФОРМАЦИЕЙ МЕЖДУ ДВУМЯ МОДУЛЯМИ УМПК-86

ЧЕРЕЗ ПАРАЛЛЕЛЬНЫЙ ИНТЕРФЕЙС

1. СХЕМА СОПРЯЖЕНИЯ МОДУЛЕЙ И ОРГАНИЗАЦИЯ ОБМЕНА.......... 25

2. ДРАЙВЕРЫ ОБМЕНА

3. ПРЕДВАРИТЕЛЬНАЯ ПОДГОТОВКА К РАБОТЕ И ЕЁ ВЫПОЛНЕНИЕ 28

4. ОТЧЁТ О РАБОТЕ

Наименование сигналов (обозначений), используемых в схемах модуля УМПК (глоссарий)






Похожие работы:

«Чемпионат России по альпинизму, класс высотно-технический. 2018 год. ОТЧЕТ команды Свердловской области о прохождении по правой части северной стены, на вершину Парандас,4640м. ( Фанские горы.) 6А маршрут Архипова. 27-29.07.2018 года. Екатеринбург 2018 г. Общее фото северной стены в.Парандас. ПА...»

«ОТЗЫВ официального оппонента на диссертационную работу Рыжих Сергея Вячеславовича "Разработка метода и исследование алгоритмов работы протокола MSTP для защиты от перегрузок трафика в кольцевых сетях доступа Ethernet", представленную на соискание ученой степени кандидата технических наук по специальности 05.12.13 – "Сист...»

«8 ТЕХНИКО-ЭКОНМИЧЕСКОЕ ОБОСНОВАНИЕ ВНЕДРЕНИЯ В ЭКСПЛУАТАЦИЮ СИСТЕМЫ ОХРАННОЙ СИГНАЛИЗАЦИИ И ОХРАННОГО ТЕЛЕВИДЕНИЯ С ИНТЕГРАЦИЕЙ В СИСТЕМУ КОНТРОЛЯ И УПРАВЛЕНИЯ ДОСТУПОМ ПОМЕЩЕНИЙ ПРЕДПРИЯТИЯ "Хххххх"8.1 Характеристика системы охранной сигнализации и охранного телевид...»

«Электронные блоки для управления пропорциональной гидроаппаратурой Формат EUROCARD Напряжение питания ОАО "ГСКТБ ГА" (100x160мм) 12В, 24В Предназначены для управления пропорциональной гидроаппаратурой с одним или двумя пропорциональными электромагнитами, с обратной связью по различным видам регулируемого параметра (по положению регулиру...»

«Машины ~ Тест-драйв ~ Haval H9 ОСНОВНЫЕ ТЕХНИЧЕСКИЕ ХАРАКТЕРИCТИКИ HAVAL H9 Длина/ширина/высота 4856/1926/1900 мм У него есть всё Разгон до 100 км/ч 12,2 сек Максимальная В переводе с английского Ha...»

«ЗАО "СВЯЗЬ ИНЖИНИРИНГ М" Устройство мониторинга "УМ-40" Руководство по эксплуатации СВЮМ.468266.032 РЭ Россия, 127083, Москва, ул. 8 Марта, д.10, стр.3, тел./факс:665-79-78 www.allmonitoring.ru; info@ allmonitoring.ru СОДЕРЖАНИЕ Назначение 1. 3 Технические и метрологическ...»

«ПУБЛІЧНЕ АКЦІОНЕРНЕ ТОВАРИСТВО ПУБЛИЧНОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО НАУКОВО-ВИРОБНИЧЕ НАУЧНО-ПРОИЗВОДСТВЕННОЕ ПІДПРИЄМСТВО ТЕПЛОАВТОМАТ ПРЕДПРИЯТИЕ ТЕПЛОАВТОМАТ ПАТ НВП ТЕПЛОАВТОМАТ ПАО НПП ТЕПЛОАВТОМАТ Україна, 61001, м. Харків, вул. Кірова, 38 Украина, 61001, г. Харьков, ул. Кирова, 38 факс (057) 732-66-61 фа...»

«УТВЕРЖДАЮ СОДЕРЖАНИЕ 1 Сравнительный анализ НПК наукоградов Российской Федерации в целом. 2 Результаты анализа индивидуальных показателей НПК 2.1 Бийск 2.2 Дубна 2.3 Жуковский 2.4 Кольцово 2.5 Королев 2.6 Мичуринск 2.7 Обнинск 2.8 Протвино 2.9 Пущино 2.1...»







 
2019 www.librus.dobrota.biz - «Бесплатная электронная библиотека - собрание публикаций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.