Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Структура и режимы работы стенда ТУМ1 (тренажер универсальный микропроцессорный)



Исследования выполняются с помощью микропроцессорной системы (рис. 4.1), реализованной в виде стенда ТУМ1 (тренажер универсальный микро­процессорный),на базе БИС микропроцессорного комплекта серии К580.


В состав стенда входят:

– плата центрального процессора. На ней размещены собственно процессор (СБИС К580ВМ80А), тактовый генератор двухфазных последовательностей импульсов Ф1 и Ф2 КР580ГФ24, системный контроллер сигналов управления обменом информации в микропроцессорной системе КР580ВК38и шинные формирователи адреса и данных КР580ВА86;

– плата оперативного запоминающего устройства емкостью 1024 восьмиразрядных слова на БИС К565РУ2А;

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

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

Основными режимами работы стенда являются режим «выполнения команд программы» и режим «записи и модификации программы». В режиме «выполнения команд программы» реализуется работа микропроцессорной системы по программе, предварительно записанной в память, или задаваемой командами с клавиатуры. В режиме «записи и коррекции программы» осуществляется программирование системы для реализации конкретных пользовательских задач. В соответствии с одноименным режимом работы МП КР580ВМ80 этот режим назван режимом прямого доступа в память (ПДП).

Для управления работой стенда в различных режимах на его панели управления размещены клавишные переключатели и тумблеры, назначение которых следующее:

– ЗУ/КЛАВ — тумблер, определяющий источник данных и команд. В положении ЗУ осуществляется чтение (запись) команд и данных из памяти или в память, в положении КЛАВ — с клавиатуры.

– ЗПД — тумблер, с помощью которого обеспечивается формирование сигнала «Запрос прямого доступа к памяти». Реагируя на этот сигнал, МП переходит в режим ПДП. В этом режиме МП отключается от системных шин адреса и данных, и управление памятью передается клавишным регистрам адреса и данных. Установление режима ПДП контролируется по светодиодному индикатору ППД (подтверждения прямого доступа).

– Тумблер НЕПР/ШАГ обеспечивает работу МП в непрерывном или пошаговом режиме выполнения программы.

– КЦ/МЦ — тумблер, задающий работу МП в пошаговом режиме по командным или машинным циклам. При нажатии кнопки ПУСК реализуется выполнение одного командного или машинного цикла команды.

Кроме названных элементов на передней панели также размещены следующие клавишные переключатели с независимой фиксацией и кнопки.

– Клавиши ЗП1 и ЗП2 предназначены для имитации сигналов «Запрос прерывания» от двух различных внешних устройств.

– Клавиша ЗАП используется для формирования управляющего сигнала «Запись в ОЗУ» при работе микропроцессорной системы в режиме ПДП.

– Клавиша НУ обеспечивает начальную инициализацию МП, при выполнении которой осуществляется установка счетчика команд в нулевое состояние, сброс триггеров разрешения прерывания и подтверждения захвата. При нажатии клавиши НУ микропроцессор переходит к выполнению команды, записанной по нулевому адресу.

16-разрядный клавишный регистр адреса и 8-разрядный клавишный регистр данных в режиме ПДП позволяют устанавливать адрес, читать и записывать данные в адресуемую ячейку ОЗУ или считывать команды и данные с клавиатуры при установке переключателя ЗУ/КЛАВ в положение КЛАВ.

На панель индикации устройства вывода с помощью светодиодных индикаторов выводится следующая информация:

– состояние шин адреса и данных микропроцессорной системы, отображаемое с помощью индикаторов ШИНА АДРЕСА и ШИНА ДАННЫХ;

– содержимое байта состояния МП в текущем машинном цикле: ЧТП (чтение памяти), ЧТВВ (чтение содержимого устройств ввода), М1 (машинный цикл выборки команды), ЗПВВ (запись информации вустройство вывода), ПОСТ (подтверждение «останова»), СТЕК (обращение к стеку), ВМП (выдача данных из МП — сигнал, идентифицирующая МП как источник информации), ППР (подтверждение прерываний). Управляющие сигналы байта состояния совместно с выходными сигналами МП ПРИЕМ и ЗАПИСЬ с помощью внешнего системного контроллера, размещенного на плате ЦП преобразуются в набор сигналов ЧТЕНИЕ и ЗАПИСЬ отдельно для памяти и отдельно для устройств ввода/вывода.

Оставшиеся семь светодиодов содержат информацию о текущем цикле внешнего обмена в системе. Светодиоды ГОТ и ПР индицируют состояние входных сигналов «Готовность» и «Запрос прерывания» на одноименных входах МП. В процессе работы МП автоматически контролирует состояние этих входов и в зависимости от значения сигналов на них обеспечивает соответствующий режим работы МП. При наличии сигнала «Готовность» (горящем светодиоде ГОТ) обмен с внешним устройством разрешен, при отсутствии сигнала «Готовность» обмен приостановлен, и МП переходит в состояние «Ожидание», которое отображается включенным светодиодом ОЖ.

Значение сигнала на входе «Запрос прерывания» индицируется светодиодом ПР. Микропроцессор контролирует этот сигнал в конце каждого командного цикла. При наличии запроса прерывания происходит прерывание программы и переход на подпрограмму обслуживания устройства, пославшего запрос. Реагируя на сигнал запрос прерывания, МП вырабатывает строб разрешения прерывания (СРП), наличие которого индицирует одноименный светодиод.

Светодиоды ОЗП (запись в память) и ЧТ (чтение памяти) отображают направление передачи информации по ШД (в МП — ЧТ и из МП — ОЗП).

Светодиод ППД («Подтверждение Прямого Доступа») используется для индикации одноименного режима работы стенда. В режиме ПДП (индицируется горящим светодиодом ППД) пользователю разрешен доступ к ячейкам памяти для чтения и модификации хранимой информации. Для перехода в режим ПДП необходимо включить тумблер ЗПД, нажать кнопки НУ и ПУСК и проконтролировать состояние индикатора ППД. В этом режиме с помощью 16-разрядного клавишного регистра можно указать (набрать) адрес любой ячейки памяти, контролируя его по индикаторам ШИНА АДРЕСА. Содержимое адресуемой ячейки отображается на индикаторах ШИНА ДАННЫХ. Для записи или корректировки содержимого адресуемой ячейки памяти с помощью 8-разрядного клавишного регистра данных набирают код вводимой информации, после чего нажимают клавишу ЗАП. Записываемую информацию в адресуемую ячейку памяти контролируют по световым индикаторам ШИНА АДРЕСА и ШИНА ДАННЫХ.

Невключенный светодиод ППД указывает, что стенд находится в режиме выполнения команд программы. Чтобы перевести стенд в этот режим работы, необходимо выключить тумблер ЗПД и нажать кнопку НУ.

В положении ЗУ тумблера ЗУ/КЛАВ реализуется выполнение команд программы, предварительно записанных в память. Режим выполнения команд определяется положением переключателя НЕПР/ШАГ. В соответствии с положением этого переключателя программа выполняется либо автоматически либо в пошаговом режиме по нажатию кнопки ПУСК по командным или машинным циклам (зависит от положения тумблера КЦ/МЦ). При изучении особенностей функционирования МП и отладке программ следует выполнять команды программы в режиме машинных циклов.

Контроль выполнения отдельных команд в пошаговом режиме осуществляют в каждом машинном цикле командного цикла по световым индикаторам ШИНА АДРЕСА и ШИНА ДАННЫХ. Состояние сигналов управления в машинном цикле отображается индикаторами байта состояния. В частности, при считывании кода команды (цикл выборки команды М1) важно убедиться в наличии сигналов М1, ЧТ и ВМП (проверяется по одноименным индикаторам байта состояния). Готовность внешних устройств к обмену данными с МП контролируется с помощью индикатора ГОТ, отображающего состояние сигнала «Готовность» на одноименном входе МП.

Режим выполнения «клавиатурных» команд предназначен для реализации отдельных команд или последовательности команд, задаваемых с клавиатуры стенда. Для перехода в этот режим необходимо установить тумблер ЗУ/КЛАВ в положение КЛАВ, тумблер КЦ/МЦ — в положение МЦ, тумблер НЕПР/ШАГ — в положение ШАГ. Перед выполнением отдельных команд их коды должны набираться на клавишном регистре ДАННЫЕ. Непосредственное выполнение однобайтных команд осуществляется по машинным циклам при нажатии кнопки ПУСК. Многобайтные команды реализуются аналогично при последовательном наборе на клавишном регистре ДАННЫЕ отдельных байтов команды и нажатия кнопки ПУСК после каждого набора.

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

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

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

Адрес Код операции Мнемоника команды Комментарий

При таком представлении программы каждая строка отображает содержимое одной ячейки программной памяти.

Написание программы при ручном ассемблировании не требует выполнения жестких правил синтаксиса автоматических ассемблеров. Учебные программы, выполняемые на простейших МПС, обычно разрабатываются на ассемблере, и их кодирование осуществляется вручную.

Для вставки пропущенной команды или группы команд в исходный текст программы чаще всего используют прием, суть которого поясняет рис. 4.2.

Адрес Память     Адрес Память
           
      addr1 COP1
          B2
  COP1 JMP     COP2
  B2 B2     B2
  COP2 B3     JMP
  B2     B2
addr2 COP3       B3
           

Рис. 4.2. Вставка пропущенной команды в исходный текст программы

Нетрудно видеть, что при необходимости внесения изменений в текст программы вблизи точки вставки выбирается и удаляется группа команд, длина которых должна быть не меньше трех байт. На место удаляемых команд помещается команда JMP addr1, обеспечивающая переход в свободную область памяти. По адресу addr1 размещаются удаленные команды исходного текста, дополнительные (вставляемые) команды и команда JMP addr2, осуществляющая возврат в исходную программу.





Дата публикования: 2014-11-02; Прочитано: 985 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...