Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МПУЭВС. Лекции. Задания / pdf_ПрилПЦиПУ / Приложение Г_Справочный материал МП 1821ВМ85А

.pdf
Скачиваний:
66
Добавлен:
11.05.2015
Размер:
820.94 Кб
Скачать

31

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

После выполнения командных циклов RST0-RST7 или командных циклов со скрытым машинным циклом М1 для индивидуальных входов (см.

момент времени t4) МП переходит к выполнению первой команды очередной программы обработчика прерывания. Адрес этой команды (PCIL,

PCIH - младший и старший байты этого адреса соответственно) зависит от значения вектора V и вычисляется по формуле РС = 8 * V для запросов с входа INTR. Фиксированные адреса для запросов TRAP, RST7.5, RST6.5, RST5.5 занимают промежуточные положения:

-адрес TRAP располагается на четыре позиции выше адреса для RST4;

-адрес RST5.5 располагается на четыре позиции выше адреса RST5;

- адрес RST6.5 располагается на четыре позиции выше адреса

RST6;

- адрес RST7.5 располагается на четыре позиции выше адреса

RST7.

В режиме прямого доступа (захвата) МП отключается от внешних шин,

предоставляя задатчику возможность прямого (без участия МП) управления внешними ресурсами в доступных ему режимах. Физически отключение МП от магистрали происходит переводом его входов/выходов к магистральным

шинам в третье (высокоимпедансное) состояние, что гарантирует

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

переведя выходы формирователей на магистрали в третье состояние. Для достижения этой цели МП обменивается с задатчиком сигналами HOLD,

Рисунок Г.11 - Временные диаграммы циклов захвата

32

HLDA (см. спецификацию в таблице Г.1).

Процесс захвата магистрали активным задатчиком для прямого доступа к внешним ресурсам окружения МП иллюстрируется временными диаграммами, изображёнными на рисунке Г.11.

Захват магистральных шин задатчиком начинается с активизации сигнала HOLD (см. момент времени t0 до окончания такта Т2). Этот вход МП проверяет в начале такта Т3 (метка t1 на диаграмме). Если в момент проверки на входе HOLD присутствует сигнал высокого уровня, то МП к середине такта Т3 переключит выходы магистральных шин в третье состояние и оповестит задатчик высоким уровнем сигнала HLDA (метка t2

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

(метки времени t3, t4, t6 на диаграмме). Контролируя в моменты времени t3, t4 на входе HOLD сигналы высокого уровня, МП продолжает воспроизводить такты захвата. Обнаруживая на входе HOLD сигнал низкого уровня, как на отметке времени t6 диаграмм, МП оповещает задатчик о своём возврате к управлению окружением на отметке времени t7 низким уровнем сигнала

HLDA. Завершив текущий такт захвата, МП возвращается к управлению окружением с такта Т1 следующего машинного цикла.

Процесс синхронизации по отработке команды HLT («Останов»)

состоит из двух машинных циклов. В машинном цикле М1 МП выполняет приём КОП, а с начала цикла М2 переводит выводы подключения магист-

ральных шин в третье состояние. Состояния УУ МП в цикле М2 кодируются состояниями сигналов IOM, S0, S1 в соответствии с таблицами Г.2, Г3.

Выход из состояния «Останов» выполняется сбросом и перезапуском МП посредством установки на входе RESET# активного сигнала на время не

33

менее трёх тактов частоты CLK. В состоянии «Останов» УУ МП выполняет внутренний контроль состояния входов запросов прерывания, что позволяет прервать состояние «Останов» после цикла М2, если они до получения команды HLT были разрешены или не требовали разрешения, как запросы со входа TRAP. После обслуживания прерывания по возврату УУ МП переходит к выборке команды, следующей за командой HLT в программе. Процесс функционирования МП в состоянии «Останов» отображён на графе состояний.

Сигнал сброса, как отмечено, должен иметь длительность не менее тактов частоты CLK. Особой чертой реакции МП на сброс является установка содержимого указателя команд PC (PC:=0000h) и установка запрета маскируемых прерываний к моменту снятия сигнала «Сброс». Во время действия активного состояния сигнала на входе RESET# выводы МП к магистральным шинам переключаются в третье состояние и в этом смысле подобна реакции МП на запрос прямого доступа к внешним ресурсам.

Г.6 Граф состояний процесса управления МП

Графические формы представления состояний процесса управления позволяют компактно и наглядно отобразить процесс функционирования МП его взаимодействие с окружением. На рисунке Г.12 представлен процесс функционирования УУ МП в форме графа состояний.

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

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

В построении графа приняты следующие обозначения:

ТR - состояние сброса/пуска;

TW – такты ожидания в работе МП с медленными объектами окружения;

HALT – « Останов» МП по команде HLT;

34

TH – такты состояния «Останов»;

THL - такты прямого доступа к внешним ресурсам МП (захват шин);

Рисунок Г.12 - Граф состояний процесса функционирования МП Посл. МЦ – последний машинный цикл команды;

ППр – Подтверждение прерывания.

В рисунке Г.12 обозначены такие скрытые ресурсы УУ, как фиксаторы

(триггеры) разрешения прерывания tIF, триггер останова (tHALT), триггер захвата (tHOLD), триггер прерываний tINTR.

Как видно по рисунку Г.12, высший приоритет для исполнения имеет сигнал с входа RESET#, так как при его активизации (независимо от текущего состояния МП) следует переход в состояние Тres. Следующими за ним приоритетами в порядке понижения характеризуются сигналы с входов

35

READY (проверяется в состоянии Т2 каждого машинного цикла), HOLD (проверяется в состояниях Т3 и Т5 (если T5 имеется в машинном цикле конкретной команды)) машинных циклов. Последними в очереди контроля со стороны УУ МП находятся сигналы с входов аппаратных прерываний. Для прерываний также установлена очерёдность обслуживания. На рисунке Г.12

эта специфика не отражена, но состояние каждого активного маскируемого запроса фиксируется в отдельном триггере и может быть принято по команде RIM (см. приложение Д) в операционное устройство МП для анализа.

В состоянии «Сброс» (Тres) выполняется инициализация МП (сброс указателя команд и запрет прерываний с входов RST7.5, RST6.5, RST5.5,

INTR) и по установлению на входе RESET# сигнала высокого уровня переход в состояние Т1. Состоянию T1 в типовых машинных циклах (см. диаграммы п. Г.5) соответствуют вывод адреса ячейки памяти или порта ввода/вывода с инициализацией сигнала ALE и т.п. Не типичные последствия УУ МП предусмотрены к следующему машинному циклу, если в предшествующем машинном цикле принята команда HLT. Следующим в этом случае является машинный цикл «Останов» (HALT) с конечным состоянием ТHLT. В этом состоянии МП переводит свои магистральные выходы в третье состояние

(как в циклах захвата). Это состояние может продолжаться до активизации сигналов RESET#, HOLD или ППр (Подтверждение прерывания). Событие ППр определяется следующей формулой:

ППр = TRAP \/ (IF /\ ((Mask7.5# /\ RST7.5)\/ (Mask6.5# /\ RST6.5) \/

\/ (Mask5.5# /\ RST5.5)\/ INTR)).

Если во время Тres состояния активизируется сигнал RESET#, то следует переход в состояние Тres. Если активизируется сигнал HOLD, то триггер захвата устанавливается (tHOLD:= 1) и следует переход в состояние захвата THALT (на рисунке обозначено Тзх). В отличие от состояния

36

«Останов», устанавливается активное состояние сигнала HLDA (HLDA:=1, а

не нуль, как в состоянии «Останов»).

После выхода из состояния захвата триггер захвата обнуляется и производится проверка состояния, из которого был переход в состояние захвата (tHALT = 0?). Если в состояние захвата МП перешел из состояния останова, то переход будет в состояние останова. В противном случае переход последует в состояние Т1.

Если в состоянии «Останов» поступит хотя бы один запрос на прерывание, то последует сброс триггера останова tHALT, установится триггер соответствующего прерывания (для маскируемых запросов tINTR и

сброс триггера разрешения прерываний IF, если он был установлен) и

последует переход в цикл прерываний. Из состояния «Останов» без сброса триггера разрешения прерываний IF можно выйти только с помощью сигнала сброса RESET# или незамаскированного запроса на прерывание TRAP.

В состояние «Останов» МП вводится командой HLT МП. Эта команда устанавливает триггер останова tHALT, состояние которого проверяется в каждом такте Т1. Если на момент проверки этот триггер окажется установленным, то последует переход в состояние «Останов».

Г.7 Микропроцессорное устройство

В состав микропроцессорного устройства (МПУ) на основе МП К1821ВМ85А следует включить:

-микропроцессор;

-внешние элементы генератора тактовых сигналов и схемы пуска/сброса;

-разделитель шин адреса и данных;

-формирователь набора внешних управляющих сигналов поддержки обмена с памятью, портами, прерывающими устройствами;

-формирователи системной шины МПУ.

37

Наряду с перечисленными объектами, при построении МК и МПС

а

б

а – схема подключения; б - временные

 

диаграммы

 

Рисунок Г.13 - Цепь начального пуска/сброса МП

удобно иметь в составе МПУ средства оперативной установки и подключения памяти (с программным тестом контроля памяти, портов,

входов запросов), портов и их селекторов, средств имитации сброса, запросов прерывания, прямого доступа, дискретного ввода и отображения состояний.

С этими дополнительными сервисными техническими ресурсами МПУ может составить основу отладочного модуля.

Схема подключения цепей, обеспечивающих установку МП в исходное состояние, и внешних элементов генератора тактовых сигналов приведена на рисунке Г.13. Для установки МП в исходное состояние на входе RESET#

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

Элементами схемы начального сброса и перезапуска МП (см. рисунок Г.13 а) являются: резистор R1, конденсатор C2, диод VD1, переключатель SA.

Конденсатор C1 и кварцевый резонатор BQ обеспечивают работу встроенного синхрогенератора. Частота fbq, на которой работает генератор, не должна превышать 6 МГц. Сигнал частоты fbq/2 под обозначением CLK

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

38

В момент включения напряжения питания Uп на конденсаторе С2

цепи сброса и на входе RESET# напряжение близко к нулю. По мере заряда конденсатора С2 это напряжение возрастает (см. рисунок Г.13 б). Пока уровень напряжения на входе RESET# ниже порогового напряжения Uпор,

МП находится в состоянии «Сброс». Это состояние сохраняется до момента времени t0. Выбором значений ёмкости конденсатора С2 и сопротивления резистора R1 обеспечивается установка требуемой длительности (не менее трех тактов частоты CLK) состояния сброса, достаточной для надежной установки МП в исходное состояние.

Высокий уровень выходного сигнала МП, обозначенного RSTО,

устанавливается, когда сигнал RESET# имеет низкий уровень. По срезу первого такта CLK, после достижения напряжением Ureset# порогового уровня (момент времени t1), сигнал RSTО сбрасывается. К началу считывания первой команды программы сигнал RSTО имеет не активное состояние. Этим сигналом можно инициировать установку элементов МПС в исходное состояние. В течение всего периода активного состояния сигнала

RST0 все магистральные выходы МП находятся в третьем состоянии.

Для построения трехшинной магистрали МПУ с МП К1821ВМ85А

необходимо разделение совмещённой шины AD0-AD7 на две (шину данных

D0-D7 и шину младшей половины адреса A0-A7) формирование расширенного набора управляющих сигналов в соответствии требуемыми внешними машинными циклами. Младшая половина шины адреса, вместе со старшей половиной A8-A15, выдаваемой МП на выделенных выводах корпуса, образуют полную 16-ти битную шину адреса ША после разделителя. Роль разделителя совмещённой шины AD0-AD7 отведена регистру-защелке RGD (Divider Register), включённому между МП и объектами внешнего окружения в соответствии с рисунком 3.17 а. В регистр

RGD по срезу сигнала ALE выполняется запись младшего байта адреса,

который на шине AD0-AD7 МП появляется в первом такте каждого машинного цикла.

39

Рисунок Г.14Формирование магистралей МПУ МП К1821ВМ85А

Шина младшего байта адреса A_L (связана с выходом DO регистра

RGD) и шина старшего байта адреса A_H (связана с выходом старшего байта адреса МП) совместно образуют полную 16-ти битную шину адреса ША.

Входы/выходы AD0-AD7 весь машинный цикл, кроме первого такта, в

котором МП выводит на них младший байт адреса, выполняют функции обслуживания восьмибитовой ШД.

Входные сигналы (RESET#, TRAP, RST7.5, RST6.5, RST5.5, INTR, HOLD) и выходные сигналы (RST0, RD#, WR#, HLDA, ALE, INTA#) МП,

приведенные в таблице Г.1 и на рисунках Г.1, Г.2, составляют основу ШУ.

Спецификой МП КР580ВМ80А К1821ВМ85А является наложение совпадающих адресов ячеек памяти и портов. Для разделения полей адресов при обращений памяти и портам, идентификации машинных циклов М1 (Выборка), идентификации состояния «Останов» в связи с приёмом команды

HLT, идентификации состояния отработки машинных циклов прерывания,

может быть необходимым формирование расширенной ШУ с дополнительными сигналами управления.

Для этих целей, как уже отмечалось, в МП К1821ВМ85А предусмотрен вывод с начала первого такта на весь машинный цикл осведомительных

40

потенциальных сигналов IO/M#, S0, S1. Состояниями этих сигналов, в

соответствии с таблицей Г.2, кодируются модификации машинных циклов.

Декодируя внешним дешифратором состояния этих сигналов в сочетаниях с несовместными во времени состояниями управляющих сигналов RD#, WR#

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

MEMW# (Memory write), MEMR# (Memory read), IOW# (in-out write), IOR# (inout read). Управляющий сигнал INTA# для сопровождения перехода к прерываниям по входу множественных запросов INTR, согласно таблице Г.2,

принимает активное состояние при не активных состояниях сигналов RD#,

WR#. Поэтому на фоне программного режима и режима ПД его активное является достаточным для применения без дополнительных условий. При необходимости идентификации состояния обращения МП за словом КОП необходим селектор состояния, представляемого условием

M1 = IO/M# & S0 & S1 &RD#,

а для идентификации состояния цикла команды HLT достаточной является селекция совпадения не активных состояний осведомительных сигналов S0, S1. На рисунке Г.14 б приведено решение по формированию управляющих сигналов управления памятью (MEMW#, MEMR#) и портами (IOW#, IOR#) с

учётом возможного отключения сформированных сигналов при реализации режима ПД. Выход селектора DC, показанного на рисунке, и управляется по входу OE (Output enable) может выключаться в третье состояние.

Дешифрируются два управляющих сигналов (RD#, WR#) и один

осведомительный сигнал (IO/M#). Номера четырёх из восьми выходов

дешифратора соответствуют схеме подключения и представлению

состояний сигналов в прямом коде (высокий уровень – лог. 1, низкий уровень

– лог. 0). Показанный на рисунке Г.14 б состав выходных управляющих сигналов образует функциональную ШУ МПУ, допускающую его работу с активными задатчиками в режиме ПД. Пока сигнал HLDA = 0 (нет запроса от альтернативного задатчика магистрали) магистралью владеет МПУ. В

противном случае (когда есть запрос от альтернативного задатчика