Автор работы: Пользователь скрыл имя, 15 Января 2015 в 09:08, доклад
Объекты управления (ОУ) бытовой техники по своему назначению делятся на два класса. К первому классу относятся хорошо известные объекты, предназначенные для использования в домашних условиях: телевизоры, видеомагнитофоны и другие устройства бытовой радиоэлектронной аппаратуры (БРЭА), а также холодильники, стиральные машины, кухонные комбайны и др. Ко второму классу относятся объекты, предназначенные для оказания услуг населению в производственных условиях:промышленные стиральные машины, машины химической чистки одежды, станочное оборудование предприятий по ремонту и изготовлению мебели по заказам населения.
Рис. 5 - Структура таймера ОМК48
Начальное состояние счетчика программными средствами (командой MOV А,Т) можно изменять в диапазоне чисел 00h+FFh, что позволяет реализовать временные задержки в диапазоне 80 мкс-20 мс. Запуск счетчика в режим таймера осуществляется командой STRT Т , а его останов — командой STOP CNT.
Командой STRT CNT счетчик переводится в режим счета событий и используется для подсчета количества импульсов, поступающих на вход счетчика через внешний вывод Т1. Переброс счетчика производится по заднему фронту каждого приходящего импульса. Длительность поступающих импульсов на входе Т1 должна быть не менее 0,5 мкс, а минимально возможное время между двумя импульсами - не менее 7,5 мкс.
Организация ввода-вывода
Связь ОМК 48 с внешними устройствами осуществляется через выводы ТО, Т1, ЗПР и три 8-разрядные порты: Р1, Р2 и BUS.
Вывод ТО может использоваться для вывода тактирующей последовательности импульсов (сигнала синхронизации С1 на рис 2, б) командой ENTO CLK или для ввода тестирующего сигнала от ВУ. В этом случае состояние вывода ТО анализируется командами JTO, JNTO для организации условных переводов.
Вывод Т1, как указывались ранее, используется для подачи внешних импульсных сигналов на вход счетчика событий для измерения временных интервалов между двумя событиями или для подсчета количества событий, а также для аппаратной реализации временных задержек более 80 мкс с использованием внешнего генератора соответствующей частоты.
Вывод ЗРП используется для ввода сигнала запроса прерывания от ВУ с внешним приоритетом. Более подробно организация прерываний рассмотрена ниже в разделе "Режим работы ОМК".
Восьмиразрядные порты ввода-вывода составляют 24 линии связи ОМК с ВУ. По входу все сигналы совместимы с ТТЛ-логикой, по выходу каждая линия может быть нагружена одной ТТЛ-нагрузкой.
Порты Р1, Р2 являются 8-разрядными квазидвунаправленными портами с одинаковой структурой цепей ввода-вывода, которая позволяет использовать каждый вывод порта в качестве входа, выхода или того и другого.
Вывод информации в порты Р1 или Р2 осуществляется командой OUTL. При этом выводимые данные фиксируются на выходах портов до появления новых данных (подобно параллельному адаптеру К580ВВ55).
При вводе данные не фиксируются, следовательно, необходимо обеспечить их сохранность на выводах портов Р1 и Р2 до окончания операции их чтения. Кроме того, для того чтобы настроить нужную линию порта на ввод информации, необходимо обеспечить в ней состояние высокого уровня лог. "1". С точки зрения программиста, операция ввода данных через порты Р1 и Р2 сочетается с операцией лог. "И" между вводимыми данными и последними выведенными. Это эффективное средство, отсутствующее в МП КР580, позволяет разработчику МК использовать отдельные выводы портов с различной целью. Кроме того, в системе команд ОМК предусмотрены команды лог. "И" и лог "ИЛИ" с вводимыми через порты данными. В качестве маски используется непосредственный операнд команды.
Отличие портов Р1 и Р2 заключается в том, что порт Р2 может служить для увеличения количества портов ввода-вывода системы. В системе команд ОМК предусмотрены специальные команды типа MOV D, позволяющие организовать обмен между аккумулятором и четырьмя 4-разрядными портами ввода-вывода, управляемыми через разряды Р2.0-Р2.3, и сигналом СТБ ВВ ОМК в качестве стробирующего сигнала (рис. 6).
Третий порт BUS является 8-разрядным двунаправленным буфером с тремя состояниями. Он используется для однонаправленной передачи по вводу или выводу информации, а также для двунаправленной передачи ввода-вывода 8-разрядных данных. Передаваемые через порт данные стробируются сигналом ЗП при выводе и сигналом ЧТ при вводе. Но при выводе, как и в портах Р1 и Р2, данные фиксируются в выходном буфере до записи новых данных, а при вводе они не фиксируются. Вводимые данные должны фиксироваться на входе порта, пока не будут считаны. Для ввода данных используется команда INS A, BUS, а для вывода — OUTL BUS. В отсутствие передач выводы порта BUS находятся в высокоимпедансном состоянии.
Рис. 6 - Схема подключения 4-рахрядных портов
Двунаправленные передачи данных через порт BUS осуществляются командой MOV X (пересылка содержимого аккумулятора во внешнюю память). При выводе данных генерируется стробирующий сигнал ЗП, а при вводе — сигнал ЧТ. Пересылка данных через порт осуществляется по заднему фронту стробирующих сигналов.
Передаваемые через порт BUS данные можно маскировать по "И", "ИЛИ" командами ANL BUS, ORL BUS, что позволяет выделять и обрабатывать определенные биты данных.
Двунаправленный канал передачи данных порта BUS позволяет использовать в составе системы рассмотренные ранее интерфейсные БИС МПК К580, что дает возможность увеличить число каналов ввода-вывода и аппаратным способом расширить возможности ОМК. На рис.7 показан пример расширения количества портов ввода-вывода за счет использования БИС параллельного адаптера КР580ВВ55. Передача данных в порты PA, P2 и PC адаптера осуществляется через двунаправленный канал порта BUS, а адресная информация, необходимая для выбора нужного порта, передается через разряды порта Р2, где она фиксируется до момента выбора другого порта адаптера.
Рис. 7 - Схема расширения портов ОМК48
Аналогично без дополнительных затрат можно подключить к ОМК БИС КР580ВВ51 для организации обмена данными в последовательном коде. Ниже будет рассмотрен пример использования БИС КР580ВВ79 для подключения к ОМК клавиатуры и цифрового дисплея.
В ОМК 48, кроме основного режима работы с внутренней памятью, реализованы дополнительные режимы начальной установки прерывания, пошаговый режим, работа с внешней памятью и режим программирования внутреннего ПЗУ.
Режим работы с внутренней памятью реализуется при низком уровне сигнала РВД. Переход в режим работы с внутренней памятью осуществляется автоматически после выполнения режима начальной установки ОМК и продолжается до остановки системы сбросом или выключением питания.
Режим начальной установки, как и в МП К580, используется для передачи управления, содержащейся в ячейке с адресом 000h. Два вида работы ОМК - обслуживаемый и необслуживаемый - определяют два способа реализации режима начальной установки: формирование сигнала низкого уровня СБР кнопкой сброса в обслуживаемых системах или формирование сигнала СБР при включения питания в необслуживаемых ОМК. Включение емкости 1 мкФ между выводом СБР и корпусом ОМК. обеспечивает при включении питания импульс сброса (50 мс) остаточной длительности для гарантированного сброса ОМК. Если импульс сброса формируется во время работы ОМК, то его длительность должна быть не менее 12,5 мкс. Схема начальной установки изображена ниже
Рис. 1 - Схема начальной установки
Импульс на входе СБР обеспечивает следующие операции:
Таким образом, после выполнения режима начальной установки ОМК настроен для работы с банком МВО ПЗУ и банком RBO РОН, а порты Р1 и Р2 установлены в режиме ввода данных.
Режим прерываний
В ОМК 48 реализованы два вида аппаратных прерываний: прерывания по адресу ВУ сигналом ЗПР и прерывания по переполнению счетчика таймера. Состояние входного сигнала ЗПР анализируется схемой прерывания каждого машинного цикла во время действия сигнала САВП, но передача управления ячейкой ПЗУ с адресом 003, где записан вектор внешнего прерывания, происходит только после завершения всего машинного цикла команды. В ячейке с адресом 003 обычно записывается команда безусловного перехода к первой команде подпрограммы обслуживания прерывания. При переводе к выполнению программы обслуживания прерывания содержимое счетчика команд и флаги ССП запомнятся в стеке. К концу выполнения подпрограммы прерывания внешний сигнал ЗПР должен снять до выполнения команды возврата RETR.
Аналогичная процедура происходит в случае переполнения счетчика таймера. Прерывания в этом случае могут быть внутренними по флагу TF таймера или внешними по входному сигналу Т1.
В обоих случаях прерывания будут восприняты, если ранее прерывание было разрешено командой ENT CNT1. Если прерывания разрешены, то происходит передача управления к ячейке 007, где записывается вектор прерывания по таймеру.
В ОМК используются двухуровневые прерывания с приоритетом. В случае одновременного прихода запроса внешних прерываний и запроса прерываний по таймеру сначала обслуживаются внешние прерывания, а запрос на прерывание от таймера будет обрабатываться после выполнения подпрограммы обслуживания внешних прерываний по вводу ЗПР.
Переход к подпрограмме обслуживания прерываний сопровождается сбросом в "0" старшего разряда А11 счетчика команд, что приводит к автоматическому переключению на блок МВО памяти программ. Это обстоятельство вынуждает размещать подпрограммы обслуживания прерываний в блоке МВО.
Пошаговый режим выполнения программы необходим для отладки и контроля правильности выполнения программы. Обычно он используется при работе с внешней памятью. Для управления пошаговым режимом ОМК используется вывод ШАГ, а для управления внешней схемой пошагового режима — выходной сигнал ОМК САВП. Схема пошагового режима изображена на рис. 2.
В ответ на сигнал ШАГ=0 ОМК делает останов после окончания цикла текущей команды и выдает подтверждающий сигнал САВП=1.
При этом на шине порта BUS находится восемь младших разрядов, а на выводах Р2.0 - Р2.3 порта Р2 — четыре старших разряда адреса очередной команды.
Рис. 2 - Схема пошагового режима
Выход из состояния останова возможен сигналом ШАГ=1, в ответ на который ОМК выдает сигнал САВП=0. Формирование сигнала ШАГ на входе ОМК осуществляется внешней схемой (рис. 2), построенной на основе D-триггера, который запускается кнопкой "ШАГ" по входу синхронизации С. Управляющий сигнал ШАГ на входе ОМК принимает значение лог. "1" только после появления сигнала САВП=1. Кнопка "Прогон" используется для непрерывного выполнения программы
Режим работы с внешней памятью
Как указывалось ранее, в расширенных системах возможно подключение внешних ПЗУ и ОЗУ. Обращение к внешней памяти возможно при высоком уровне сигнала на выводе РВД ОМК. Объем внешней постоянной памяти в этом случае может составлять 4 Кб. Возможно подключение внешней памяти объемом 2 Кб в сочетании с 2 Кб встроенной постоянной памяти. При низком уровне сигнала РВД внешняя память может использоваться при отладке прикладных программ, контроле работы ОМК, а также при недостаточности объема резидентной памяти.
При использовании в качестве внешней памяти микросхем с объемом более 256 байт, для адресаций на которые достаточно 8-разрядной шины адреса, необходимы аппаратные средства для формирования ША соответствующей разрядности. Для этой цели удобен двунаправленный порт BUS, который может использоваться для выдачи восьми младших разрядов (А0-А7) шины адреса и в качества шины данных для передачи восьмиразрядных данных. Старшие разряды шины адреса могут выдаваться через другой порт ОМК (например, порт Р2). Фиксация младших разрядов (А0-А7) шины адресов может выполняться во внешнем регистре, как это сделано в возможной схеме расширения памяти на рис. 3, а.
Десятиразрядная шина адреса, необходимая для адресации к 1 Кб ячеек микросхем внешнего ПЗУ, формируется из восьми младших разрядов (А0-А7) счетчика команд, выдаваемых через порт BUS, и двух старших разрядов (А8, А9), выдаваемых через разряды Р2.2 и Р2.3 порта Р2. Запись младших разрядов во внешний регистр (рис.3, б) осуществляется по заднему фронту сигнала САВП. Разрешение чтения внешнего ПЗУ обеспечивается соответствующим сигналом с выхода дешифратора, вход которого включает разряды А10, А11 счетчика команд, а разрешение его работы стробируется сигналом РВП. Таким образом, формирование шины адреса системы заканчивается задним фронтом сигнала САВП, а чтение данных разрешается низким уровнем сигнала РВП. По окончании сигнала РВП порт BUS переводится в режим ввода, и команды из внешнего ПЗУ передаются в ОМК.
Рис. 3 - Схема расширения внешнего ПЗУ (а) и временная диаграмма чтения команды (б)
При использовании внешнего ОЗУ объемом до 256 байт достаточно иметь 8-разрядную шину адреса, поэтому двунаправленный порт BUS может быть использован как для передачи адресов, так и для передачи данных. Для записи восьми разрядов счетчика команд во внешнем регистре также используется сигнал САВП, а для управления записью/чтением данных нужно использовать сигналы ЧТ и ЗП. Обмен данными между ОМК и внешним ОЗУ можно производить с помощью команд с косвенной адресацией MOV A,@R и MOV @R, A.
Режим программирования внутреннего ПЗУ
Загрузка прикладных программ во внутренние ПЗУ ОМК осуществляется в режиме программирования, для выполнения которого используется специальный программатор, управляющий последовательностью сигналов по многим выводам ОМК 48. Перед программированием РПЗУ ОМК должна быть очищена от предыдущих записей с помощью ультрафиолетовых лучей через крышку с кварцевым окошком на корпусе ОМК. Длина волны ультрафиолетовых лучей должна составлять около 2537 нм. Интегральная доза (интенсивность лучей) должна быть не менее 15 Вт-с/см2.
Информация о работе Структура микропроцессорных систем управления