Главная > Схемотехника > Справочник по цифровой схемотехнике
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

10.3. УНИВЕРСАЛЬНЫЕ ИНТЕРФЕЙСНЫЕ БИС СЕРИИ КР580

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

Такие БИС могут быть программируемыми и применяться для двунаправленной передачи данных и сигналов управления. Функционально назначение интерфейсных БИС устанавливается либо подачей на них управляющих сигналов, приходящих или от ВУ, или со стороны МП, либо путем предварительной коммутации их управляющих входов.

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

Рис. 10.41.

При программно-управляемом используется два способа ВВ: изолированный и отображенный на память. При изолированном ВВ применяют двухбайтовые команды ввода IN и вывода OUT, в которых второй байт представляет собой адрес регистра ввода или вывода, общее число регистров ввода вывода в отдельности не превышает 256, а их адреса изолированы от адресного пространства ЗУ. При этом управляющие сигналы ЧТВУ и ЗПВУ, генерируемые в цикле команд IN и OUT схемой формирования управляющих сигналов, определяют момент и направление передачи данных. Ввод-вывод, отображенный на память, не требует специальных команд При этом регистры ввода и вывода считаются ячейками адресного пространства памяти, и все команды с обращением к памяти, содержащие адреса УВВ, превращаются в команды ВВ: команды загрузки осуществляют ввод, а команды запоминания — вывод. При реализации ВВ, отображенного на память, адресное пространство разделяется на две области: память ЗУ с адресами и ввод-вывод с адресами . При этом разделительным признаком служит старший разряд адреса , то адресуется память, если , то — УВВ .

Алгоритм программно-управляемого ВВ включает в себя выполнение следующих действий (рис. 10.42): 1) в ВУ передается приказ об инициировании действия ВВ (запуск ВУ); 2) МП считывает состояние ВУ; 3) проверяется готовность устройства к обмену данными;

4) если устройство не готово к обмену, то действия пп. 2, 3 циклически повторяются; 5) если устройство готово к обмену, то МП выполняет собственно ввод вывод (передача данных).

Рис. 10.42.

Рис. 10.43.

Рис. 10.44.

Чтобы сократить непроизводительные потери времени на ожидание готовности УВВ к обмену данными, вводят периодическую проверку готовности УВВ (рис. 10.43). Частоту опроса выбирают так, чтобы система обеспечивала работу УВВ с их номинальным быстродействием.

Для реализации ВВ в МПК имеются программируемые параллельный интерфейс (ППИ) и последовательный интерфейс связи (ППИС) , а для прямого доступа к памяти — контроллер ПДП КР580ВТ57 (рис. 10.44) [3; 37; 81].

Программируемый параллельный интерфейс предназначен для сопряжения УВВ с системной шиной МП системы на базе МП . Для сопряжения ВУ с шиной данных микропроцессора ППИ имеет три -разрядных канала-А, В и С. Управляются каналы по программе путем выдачи слова управления, которое содержит информацию о режиме работы (0 — основной ВВ каналов А, В и С; 1 — ВВ со стробированием каналов А и — двунаправленная шина со стробированием канала А) и об установке или о сбросе отдельных разрядов канала С.

Рис. 10.45.

Канал А состоит из входного и выходного -разрядных регистров формирователя и может работать в режимах «0», «1» и «2». В режиме «0» информация вводится непрерывно» т. е. входной регистр изменяет свое состояние в соответствии с изменением данных на входе. Выводится информация в режиме «0» и «1» также непрерывно, но до смены информации в зыходном регистре. Информация вводится в режимах «1» и «2» на входной регистр и выводится в режиме «2» непрерывно в течение действия внешнего сигнала управления ПРИЕМ, постук паюшим на входы регистра канала «0».

Канал В состоит из -разрядного регистра ввода-вывода, входных и выходных формирователей и может работать при вводе информации ШД) в режимах «0» и «1». В режиме «0» регистр канала изменяет свое состояние в соответствии с ее изменением на входе канала. В режиме «1» информация вводится так же, но только в течение действия внешнего сигнала управления ПРИЕМ, поступающим иа входы регистра С.

Канал С состоит из двух -разрядных регистров, содержащих разряды 0—3 и 4—7. Канал может работать в режимах «0» и «1». В режиме «0» осуществляется ввод и вывод слов. В режиме канал С используется для приема и выдачи управляющих сигналов. Регистры канала С в совокупности используются как -разрядный регистр состояния.

Режим работы каждого канала определяется содержимым регистра управляющего слова (РУС), в который заносится код управляющего слова (рис. 10.45,а). Для установки/сброса отдельных разрядов регистра канала С используется управляющее слово с форматом, показанным на рис. 10.45,в.

При каждом изменении режима работы любого канала все входные и выходные регистры каналов сбрасываются в состояние . Режим работы можно устанавливать в любом месте выполнения Программы, что позволяет обслуживать различные ВУ в очередном порядке одним ППИ. Вид передачи информации (табл. 10.8) между МП и ППИ выбирается с помощью линий АО, А! шины адреса и сигналов управления: выбор микросхемы CS, чтение (ввод В У —у ШД) ЧТ, запись (вывод ВУ) ЗП. При подаче на вход R (СБРОС) напряжения логической «1» РУС устанавливается в состояние, при котором каналы А, В, С переходят в режим «0» для ввода информации, а шины каналов А, В, С переходят в высокоомное состояние. Режим «0» применяется при синхронном обмене или при программной организации асинхронного обмена. На рис. 10.46,а изображена схема сопряжения МП с ВУ через ППИ и временные диаграммы ввода (рис. 10.46,б) и вывода (рис. 10.46,в) информации.

Таблица 10.8

Для записи управляющего слова в РУС используется команда вывода OUT. При этом управляющее слово предварительно записывается в аккумулятор, а затем выводится в соответствующий интерфейс с указанным адресом (РУС ). Например, для записи УПС (режим «0», каналы А, В, С — на вывод) в интерфейс с адресом 01111111 требуется следующая последовательность команд: выборка РУС

Рис. 10.46.

После этого интерфейс готов к выводу информации. Например, команда вывода через канал А

Режим «1» обеспечивает стробируемый обмен информацией с ВУ. Данные передаются по каналам А и В, а линии канала G управляют передачей. Причем входные и выходные данные фиксируются в регистрах канала А и В. В режиме «1» для ввода используются управляющие сигналы (рис. 10,47,а): строб приема — входной сигнал, формируемый ВУ, по которому данные записываются в регистр канала А (В); подтвержденнэ приема — выходной сигнал ППИ, сообщающий ВУ о фиксации данных во входной регистр канала: запрос прерывания выходной сигнал ППИ, информирующий МП о завершении приема информации в канале. Состояние выходов фиксируется в регистрах канала С и может быть прочитано МП в слове состояния (СС) интерфейса (рис. ) Для чтения информации состояния используется обычная операция чтения канала С с последующим выделением управляющих: разрядов.

Для вывода информации в режиме «1» используются управляющие сигналы (рис. ): строб записи - выходной сигнал, указывающий ВУ о готовности к выводу;

Подтверждения записи — входной сигнал от ВУ, подтверждающий прием информации от ППИ; запрос прерывания — выходной сигнал ППИ, информирующий о завершении вывода информации.

В режиме «1» не используемые для передачи управляющих сигналов разряды (рис. ) (рис. ) можно запрограммировать на ввод или вывод .

Рис. 10.47.

После перевода ППИ в режим «1» на вывод данных сигнапы на выходах находятся в состоянии логического «0» и необходимо выполнить их начальную установку. Для этого на вход следует подать логический «0» (т. е. выполнить ложное подтверждение) или, используя режим установки, — сброса разрядов регистра С, установить в состояние логической «1». При этом на выходах установится состояние логической «1». После этих действий интерфейс готов к выводу данных в режиме «1»,

Режим «2» обеспечивает двунаправленную передачу информации по каналу А к ВУ и обратно. Процесс обмена сопровождают пять управляющих каналов, подаваемых по линиям -РС3. Оставшиеся линии можно использовать для управления каналом В в режиме «0» или «1» (рис. 10.48). В управляющем слове для режима «2» разряд определяет настройку на ввод или вывод интерфейсных линий .

После перехода канала А в режим 2 на выходах СТЗА, ЗПРА устанавливаются логические . Для приведения сигнала в состояние логическая «1» после записи управляющего слова необходимо установить в состояние логическая «1» словом установки сброса разрядов канала С, а для установки в состояние логическая «1» сигнала ЗПРЛ следует установить также в состояние логическая «1».

Рис. 10.48.

Программируемый последовательный интерфейс связи (ППИС) (рис. ) представляет собой универсальный синхронно-асинхронный приемопередатчик и предназначен под воздействием команд ввода-вывода IN/OUT принимать информацию, представленную последовательным кодом, преобразовывать ее в параллельный код для ввода в МП, а также принимать байт данных из МП в параллельном коде с преобразованием его в последовательным код со служебными символами (стартовым, стоповым и контрольным битами) для их передачи по каналам связи с различной скоростью. ППИС может работать в пяти режимах: асинхронная передача, асинхронный прием, синхронная передача, синхронный прием с внутренней синхронизацией, синхронный прием с внешней синхронизацией. Обмен данными производится в асинхронном режиме со скоростью передачи до , в синхронном со скоростью . Длина передаваемых символов от 5 до 8 бит. При передаче в МП символов длиной менее 8 бит неиспользуемые биты заполняются нулями. Формат символа включает также служебные биты и необязательный бит контроля по четности (нечетности).

Основные сигналы (ЗП — запись, ЧТ — чтение, CS — микросхемы, — управляющий сигнал данные) управления работой ППИС, подаваемые от МП, определяют обрабатываемой информации и направление передачи (табл. 10.9). Режим работы ППИС задается программно путем загрузки в него управляющих слов из МП. Для управления ППИС используются два формата управляющих слов: управляющие слова режима (УСР) и управляющие слова команды (УСК).

Таблица 10.9

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

Рис. 10.49.

ППИС позволяет осуществлять как программно-управляемый обмен между МП и ВУ, так и обмен в режиме прерывания программами.

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

Рис. 10.50.

Режим приема или передачи данных программируется по. дачей УСР на ППИС при . Последовательность программирования следующая:

программирование режима

программирование работы

Структура программного блока, управляемого работой ППИС, имеет вид:

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

Рис. 10.51.

В результате этого получается небольшой дрейф частоты генераторов тактовых импульсов. В режиме асинхронной передачи (рис. 10.51,а) символ, последовательным кодом, выдвигается из буфера ППИС поразрядно по заднему фронту сигнала «Синхронизация передатчика» СПЯ с частотой 1/16 или 1/64 частоты синхронизации СПД. При отсутствии данных передатчик выдает в линию высокий уровень напряжения, при их поступлении — низкий уровень. Длительность одной посылки (бита информации) определяется сигналами СПД (для передатчика) и (для приемника). Получив низкий уровень напряжения, приемник воспринимает его как стартовый бит, а последующие восемь посылок (или десять, если используется контроль на четность или нечетность) — как биты информации. После передачи байта информации передатчик передает, а приемник принимает стоповый бит, представленный высоким уровнем напряжения. После приема слова данных (рис. ) в приемный буфер, сигнал «Готовность приемника» устанавливается в состояние логической «1», подтверждающей готовность слова данных для ввода в МП. Если МП не считает из буфера это слово до начала приема приемником следующего слова, автоматически устанавливается триггер ошибки по переполнению, а слово данных, находившееся в буфере, теряется. Сбрасывается триггер ошибок управляющим словом команды.

Программа обмена МП и ППИС во время передачи

Программа приема данных из ППИС при программном обмене

В синхронном режиме прием и передача данных возможны только на частоте, которая подается на входы приемника и СПД передатчика ППИС. При внутренней синхронизации ППИС выдает на линию передачи символы синхронизации до тех пор, пока не загрузится его выходной буфер. В это время выходной сигнал «Запрос приемника терминала» . После загрузки слова данных из МП в ППИС этот сигнал сбрасывается в состояние логического «0» и начинается выдача слова данных на линию.

Рис. 10.52.

Выдачу очередного слова данных можно запретить подачей логической «1» на вход «Готовность приемника терминала» передатчика Для задания работы приемника в режиме внутренней синхронизации вывод «Вид сиихронизацин» (ВС) приемника программируется управляющей командой на работу в качестве выхода. Затем управляющим словом команды приемник переводится в режим поиска символов синхронизации. Обнаружив символ синхронизации, последующую информацию приемник начинает воспринимать как последовательность слов, формат которых определен. При синхронизации (во время поступления последнего бита символа синхронизации) устанавливается сигнал , который автоматически сбрасывается по команде считывания слова-состояния (рис. 10.52,а). В режиме внешней синхронизации вывод ВС в ППИС приемника программируется на работу в качестве входа, а в ППИС передатчика — в качестве выхода.

Вход ВС приемника и выход ВС передатчика соединяются. При ьтом прием слов данных приемником синхронизируется по фронту сигнала ВС от передатчика (рис. ).

Подключение микросхемы к магистрали МП системы показано на рис. 10.53 Выход передатчика , вход приемника , выводы сигналов «Запрос передатчика (приемника) терминалов» , «Готовность передатчика (приемника) терминалов» подключаются к схеме сопряжения по уровню преобразующей ТТЛ-уровни входных и выходных сигналов в уровни, необходимые для работы с ВУ (дисплеем, накопителем на магнитной ленте и т. д.).

Рис. 10.53.

Программируемый контроллер ПДП (КПДП) представляет собой четырехканальный программируемый контроллер для организации непосредственной связи между ВУ и ЗУ в микропроцессорных системах. Основная функция контроллера — формирование адресов памяти и управляющих сигналов ЧТ/ЗП памяти или ВУ. Контроллер принимает запрос ПДП (ЗПДП), Обрабатывает его, формирует сигнал захвата шин МП, в результате чего отключается системная шина от МП и формируется последовательность адресов памяти и управляющих сигналов чтения записи. По исчерпании требуемого числа данных обмена контроллер выдает управляющий сигнал ВУ об окончании обмена. Каждый канал содержит -разрядный регистр адреса, позволяющий адресовать память объемом 64 Кбайт, и -разрядный регистр числа циклов обмена для пересылки массивов данных объемом 16 Кбайт. Направления обмена данными (табл. 10.10), а также режим работы устройства задаются с помощью программы.

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

Таблица 10.10

Он принимает запросы ПДП, обрабатывает их и выполняет операции ПДП.

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

— младшие разряды двунаправленной ША, которые используются при записи в контроллер набора управляющие слов, а также для чтения содержимого регистров и как входы — для выбора регистра, с которым будет происходить обмен информацией. При работе в цикле ПДП используются Для вывода младших четырех разрядов кода адреса. — однонаправленные линии связи UIA с тремя состояниями, по которым выводятся соответственно разряды кода адреса.

Рис. 10.54.

ЗП ВВ (запись ввод-вывод) — двунаправленный управляющий вход-выход используется как вход для подачи сигнала на запись во внутренние регистры контроллера, при работе в цикле ПДП — как выход для сигнала, разрешающего запись данных памяти во ВУ.

ЧТ ВВ (чтение ввод-вывод) — двунаправленный управляющий вход-выход используется как вход для получения сигнала ЧТ ВВ от ШУ микроЭВМ используется при чтении содержимого внутренних регистров контроллера, а при работе в цикле ПДП — как выход для сигнала, разрешающего считывание данных из ВУ в ЗУ Таким образом, выводы ЧТ ВВ и ЗП ВВ контроллера подключаются к ЗУ и определяют для них направление и интервалы времени, отведенные для записи и считывания данных. Сигналы, определяющие эти же интервалы для памяти, формируются на выходах ЧТ ЗУ и ЗП ЗУ, используемых для чтения из ЗУ и записи данных в ЗУ.

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

РАД (разрешение адреса) — выход, используемый для отключения всех магистралей микроЭВМ от МП, а также для записи старших восьми разрядов кода адреса в буферный регистр адреса и отключения схем выборки ВУ. При работе в режиме ПЦП выборка ВУ для обмена данными осуществляется с помощью выходных сигналов .

СТАД (строб, адреса) — выход, на котором формируется сигнал, записывающий старшие восемь разрядов кода адреса в буферном регистре.

(выбор устройства) — вход выбора данной схемы. Логический 0 на входе ВУ должен формироваться дешифратором адреса по сигналам с разрядов микроЭВМ. Вход автоматически отключается при работе в цикле ПДП.

СБРОС (R) — вход начальной установки схемы. Подача логической «1» обнуляет содержимое всех программно-доступных регистров схемы, что, в свою очередь, отключает все каналы .

— вход сигнала . ЗЗХ (запрос захвата) ?— сигнал этого выхода схемы подается на вход ЗЗХ МП.

ПЗХ (подтверждение захвата) — вход, на который подается выходной сигнал ПЗХ от МП, подтверждающий, что все магистрали переведены в состояние высокого сопротивления

Разряд АЗ управляет выборкой каналов и регистра установки режима при записи или регистра слова состояния при чтении (АЗ ). При регистров каналов выбирает регистр канала: при выбирается регистр адреса ПДП, при — регистр конца счета. Разряды определяют номер канала (00 — канал 0, 01 — канал 1; 10 — канал 2; 11 — канал 3). При выборке регистров установки режима и слова состояния

С точки зрения программирования КПДП представляет собой массив из восьми двухбайтных специализированных регистров и двух регистров однобайтных (рис. 10.55).

Все регистры КПДП программно доступны, но в регистр режима (РР) можно только записать, а из регистра состояния (PC) — только считать байт данных. Канальные регистры адреса (РА), в которые заносятся начальные адреса ЗУ для передаваемых массивов данных, и регистры числа циклов обмена (РЧЦ), в которые записываются числа, определяющие длину передаваемых массивов, могут работать в режимах записи и считывания. Два старших разряда регистра числа циклов определяют тип операции обмена (00 — считывание содержимого регистров канала РА и РЧЦ; 01 — запись в ЗУ; 10 — чтение из ЗУ).

Инициализация КПДП осуществляется загрузкой управляющих слов (рис. 10.54) и исходных данных в адресуемые регистры РР, РА, РЧЦ по командам OUT или командам MOV (если адресация к ВУ ведется ячейками ЗУ). При этом линии ША после дешифрирования формируют сигнал CS (выборка) контроллера, а линии адресуют один из внутренних регистров КПДП. Каждый из -раз-рядных регистров канала обменивается парой команд OUT на этапе загрузки и нарой команд IN при считывании. При этом первой команде соответствует младший байт, а второй — старший байт слова. Перед началом программирования КПДП регистр режима устанавливается в нулевое состояние по сигналу СБРОС (R), запрещая тем самым работу всех каналов КПДП. Потом загружаются регистры РА, РЧЦ всех каналов и управляющего слова режима (УСР) в регистр режима.

Рис. 10.55.

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

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

ЦП МП системы может прочитать состояние контроллера в виде содержимого регистров каналов (РА и РЧЦ) или слово-состояния. Считывание слова-состояния (рис. определить, в каком из каналов КПДП достигнут конец счета ) и выполняется ли дополнительный цикл для перегрузки канала 3 в режиме автозагрузки . Разряды регистра состояния устанавливаются в в момент появления на выходе контроллера сигнала (КС) «Конца счета» для данного канала и остаются в таком состоянии, пока не будет прочитано состояние КПДП. Сигнал СБРОС (R) также обнуляет разряды . Разряд устанавливается в состояние логической «1» в режиме автозагрузки, т. е. когда АЗГР регистра режима). Пока , инициализация КПДП на передачу новых блоков данных запрещена. Состояние не изменяется после чтения состояния контроллера. Установка в состояние логического осуществляется либо сигналом СБРОС (R), либо загрузкой нового УСР, в котором разряд .

На период инициализации и считывания КПДП прерывания запрещены командой .

На рис. 10.56,а изображена схема подключения контроллера ПДП к магистрали МП системы. В виду того, что старшие восемь разрядов адреса записаны в буферном регистре, контроллер подключается к магистрали совместно с буферным регистром (БР) типа . Временные диаграммы, поясняющие процесс записи старших восьми разрядов адреса в БР, показаны на рис. , работу схемы в цикле передачи данных по каналу ПДП — на рис. 10.56, в и при различных направлениях обмена данными по каналу ПДП — на рис. 10.56,г.

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

Обслуживание запросов прерывания от одного ВУ не вызывает затруднений, так как начальный адрес подпрограммы обслуживания прерывания можно зафиксировать аппаратно.

Ситуация несколько усложняется, когда на вход ЗАПРОС ПРЕРЫВАНИЯ микропроцессора подаются сигналы прерываний от нескольких ВУ.

Рис. 10.56

Поэтому приходится присваивать ВУ приоритеты, и при одновременном возникновении ЗПР от ВУ первым обслуживается ВУ с иаивысшим приоритетом. Приоритеты ВУ устанавливав ются по максимально допустимому времени ожидания или обслуживания: чем меньше время ожидания, тем выше приоритет. При организации в МП системе одноуровневых прерываний начатое обслуживание любого ВУ не может прерваться запросами на обслуживание от других ВУ независимо от приоритета. При организации многоуровневых прерываний запрос от ВУ с большим приоритетом может прервать подпрограмму обслуживания ВУ с меньшим приоритетом.

Рис. 10.57.

Рис. 10.58.

При одноуровневом прерывании (рис. 10.57) с несколькими ВУ сигналы ЗПР от всех ВУ объединяются по схеме ИЛИ и подаются на вход ЗПР (INT) микропроцессора. При появлении сигнала ЗПР на соответствующем входе МП выполняет следующие операции (рис. 10.58): 1) команду RST7 с передачей управления ячейке, например, с адресом 56; 2) запрещает восприятие последующих сигналов ЗПР на входе МП с помощью команды DI (запрет прерывания); 3) загружает содержимое РОН и А в стек; 4) опрашивает программно в установленной последовательности ВУ и определяет адрес источника прерывания; 5) обработку прерывания (ввод-вывод данных); 6) восстанавливает содержимое РОН и А; 7) снимает запрет на дальнейший прием сигнала ЗПР с помощью команды EI (разрешение прерывания)) 8) возвращается к выполнению прерванной программы.

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

Рис. 10.59.

Рис. 10.60.

При многоуровневом прерывании ВУ присваиваются определенные приоритеты, причем основной программе присваивается низший приоритет. При возникновении ЗПР от ВУ, приоритет которого выше приоритета текущей подпрограммы обработки прерывания, МП реагирует на прерывание, а запросы от ВУ, приоритет которых ниже, — игнорируются. В системе команд МП имеется восемь команд (см. табл. 10 6), которые присваиваются ВУ. Для дифференцирования ЗПР используется восьмивходовая комбинационная схема (рис. 10.59) шифратора приоритетов (ШП), на выходах , АО которого формируется трехбитовый код вектора ААА (табл. 10.11), соответствующий запросу от ВУ с наивысшим приоритетом (чем больше код вектора ААА, тем выше приоритет). В процессе инициализации каждой программы в регистр порога загружается программа по команде OUT трехбитовый код приоритета текущей программы. Входной код ШП с помощью компаратора сравнивается со значением порога В. На выходе компаратора формируется сигнал, когда приоритет ВУ, запросившего обслуживания, выше порога. Выход ЗПР шифратора приоритетов и выход компаратора объединяются по схеме И и генерируют сигнал ЗПР для .

После того как МП воспринял запрос ВУ и выполнил команду RST, он переходит к следующей операции: 1) загрузка в стек РОН, которые используются при обработке запроса ВУ; 2) загрузка в стек значения текущего порога;

Таблица 10.11

3) загрузка в регистр порога значения, соответствующего приоритету ВУ, и сброс его сигнала прерывания; 4) разрешение прерываний командой EI; 5) обмен данными с ВУ; 6) запрещение прерываний командой DI; 7) восстановление значения порога прерываний программы; 8) восстановление состояния МП; 9) разрешение прерываний командой EI; 10) возврат к прерванной программе командой .

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

Программируемый контроллер приоритетного прерывания (ПКПП) (рис. 10.60) обеспечивает обслуживание ВУ по запросу прерывания программы МП с учетом уровня приоритета. Он управляет запросами прерывания по восьми уровням и содержит внутренние схемы, позволяющие наращивать уровни (до 64). Его программирование осуществляется с помощью системного программного обеспечения и аналогично программированию ВУ ввода-вывода [64; 81].

Таблица 10.12

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

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

Сигналы управления ЗП, ЧТ, АО и CS определяют вид обрабатываемой информации и направление передачи между ЦП и ПКПП (табл. 10.12).

Программируется ПКПП управляющими словами инициализации (УСИ) и управляющими словами операций (УСО).

Рис. 10.61.

Вводятся УСИ и УСО с помощью команды OUT. УСИ подаются перед началом работы ПКПП, а УСО служат для оперативного изменения режима обслуживания прерываний и могут подаваться в любое время в процессе работы контроллера.

Управляющие слова УСИ1, (рис. 10.61,а, б) задают начальные адреса подпрограмм обслуживания в УСИ1 и в УСИ2), определяют наличие в системе одного или нескольких ПКПП , и интервал 4 (или 8) байтов подпрограмм обслуживания в УСИ1). Общий объем памяти для подпрограмм обслуживания может составлять 32 или 64 байта.

Рис. 10.62

Процедура инициализации (рис. 10.62) заключается в последовательном вводе в ПКПП УСИ1 (АО , УСИ2 . Перед проведением инициализации прием прерываний МП должен быть запрещен с помощью команды DI. После загрузки УСИ1 в контроллере выполняются следующие операции: сброс регистра запросов прерывания (РЗП), входы запросов прерывании блокируются от поступления сигналов запросов сброс в нуль регистра маски прерывания (РМП), триггера маскирования (ТМ) и триггера чтения (ТЧ); входу присваивается низший приоритет 7.

В случае использования в МП системе нескольких ПКПП один из них выступает в качестве ведущего (ВДМ , а остальные — в качестве ведомых (ВДМ Все ПКПП инициируются отдельно, вначале для каждого из загружаются УСИ1, УСИ2, а затем вводится УСИЗ (рис. 10.61,в, г), которое определяет соподчиненность ПКПП. В ведущий ПКПП вводится УСИЗа, при этом во всех трех разрядах регистра подчинения, которые соответствуют запросам от ведомых ПКПП, устанавливается «1». В ведомых ПКПП вводится УСИЗб, при разрядах 2, 1, 0 регистра подчинения записывается код, который идентифицирует ее номер. В процессе работы в ведомом ПКПП этот номер сравнивается с кодом на входах шины каскадного соединения , поступающим от ведущего , и если они окажутся равными, то ПКПП выдает второй и третий байты команды CALL ADR — адрес подпрограммы обслуживания прерывания.

Управление режимами работы ПКПП, изменение приоритетов, управление маскированием прерываний осуществляются управляющими словами операции (рис. 10.63).

Управляющее слово операции (рис 10.63,а) используется для маскирования отдельных запросов прерывания во время исполнения программы. Для маскирования соответствующего входа запроса прерываний в соответствующем разряде указывается «1». При этом сигналы фиксируются, но не обслуживаются до тех пор, пока программа не снимет маску.

Рис. 10.63.

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

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

Таблица 10.13

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

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

Обладает иаивысшим приоритетом по сравнению с приоритетом в текущий момент времени программы.

Использование режима прерываний по результату опроса целесообразно, когда для ВУ имеется общая подпрограмма обслуживания. Другим важным применением режима опроса является его использование в системе, содержащей более 64 ВУ.

Рис. 10.64.

Последовательность работы ПКПП после записи УПС следующая: 1) по входам ПКПП принимает сигналы от ВУ, запрашивающих обслуживание; 2) ПКПП анализирует приоритеты поступивших запросов и посылает сигнал ЗПР на ЦП ЦП цодтверждает получение запроса прерывания выдачей сигнала ППР (КР580ВК28);

4) после получения сигнала ППР ПКПП выдает на шину данных код команды с CALL (11001101); 5) под воздействием кода операции CALL ЦП должен сгенерировать еще два сигнала ППР ПКПП выдает на ШД два байта адреса подпрограммы обслуживания прерывания (вначале младшие разряды, а затем старшие) и хранит обрабатываемого запроса до тех пор, пока не завершится выполнение подпрограммы обслуживания прерывания.

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

Рис. 10.65.

Программируемый интегральный таймер (ПИТ) (рис. 10.65,а) представляет собой трехканальный таймер-счетчик, вырабатывающий временные интервалы (ВИ). Длительность ВИ можно задавать программно в двоичной или двоичнодесятичной системе счисления. Счетчики ПИТ работают в диапазоне частот от 0 до 2 МГц [64; 81].

Каждый канал программно можно построить на один из шести режимов работы: режим 0 — программируемая задержка, режим 1 — ждущий мультивибратор, режим 2 — делитель частоты, режим 3 — генератор меандра, режим 4 — строб с программным запуском, режим 5 — строб с аппаратным запуском.

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

Таблица 10.14

Кроме того, загрузка счетчиков обязательно должна следовать сразу же после записи режима. Последовательность программирования отдельного канала следующая: режима счетчика, младший байт загрузки счетчика; старший байт загрузки счетчика.

Пример программирования счетчика 0, адресуемого разрядом , в режиме 0 в двоичном коде

Следует отметить, поскольку счетчики каналов работают на вычитание, то при загрузке всех разрядов нулями счетчик дает максимальное число при счете в двоичном коде или в двоично-десятичном коде. При этом конечным числом, на которое реагирует схема управления канала, является число «0», начальным — число, загруженное в счетчик.

Анализ работы ПИТ в различных режимах необходимо проводить с учетом взаимодействия сигнала разрешения (табл. 10.15), который формируется на периферии МП системы. Временные диаграммы работы ПИТ во всех режимах показаны рис. 10.66.

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

В режиме 1 длительность выходного импульса , где период счетных импульсов (СИ); n — число, загруженное в счетчик. Если во время работы в счетчик загружается новая величина , то это не повлияет на длительность текущей выдержки одновибратора до следующего запуска.

Таблица 10.15

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

В режиме 2 счетчик делит входную частоту СИ , где — число, загруженное в счетчик Сигнал имеет длительность . Длительность выходного сигнала равно периоду СИ. Перезагрузка счетчика не влияет на длительность текущего периода, но изменяет длительность следующего периода.

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

В режиме 4 на выходе канала формируется строб логического «0» с длительностью, равной периоду СИ, и программно-управляемой задержкой, длительность которой определяется числом периодов СИ, отсчитываемых от момента появления разрешающего сигнала .

Работа режима 5 аналогична работе режима 4 с той разницей, что счетчик канала после загрузки начинает счет только по нарастанию разрешающего сигнала.

Кроме того, если во время счета на входе разрешения появится передний фронт сигнала, то счет начинается сначала.

Рис 10.66

Режим чтения. Содержимое любого счетчика может быть считано под воздействием программы. Это полезно в тех случаях, когда на основе считанного значения принимается решение о дальнейшем ходе вычислительного процесса. Считывать текущее значение счетчика ПИТ в МП можно двумя способами: операцией чтения или чтения «на лету». В первом способе используется команда ввода 1N. Однако при этом на время выполнения операции считывания необходимо приостановить работу счетчика сигналом Р = 0.

Кроме того, операцию чтения содержимого счетчика выбранного канала необходимо выполнить до конца, т. е. если запрограммировано чтение двух байтов, то нельзя читать только один байт. Второй способ считывания содержимого счетчика без прерывания счета (чтение «на лету») требует предварительной загрузки в регистр режима УПС с кодом . Однако особенностью этого способа чтения является невозможность предварительной записи УПС отдельно по каналам: УПС выдается ЦП перед чтением.

Например, последовательность чтения содержимого счетчика 1, адресуемого разрядом , имеет вид

На рис 10.67 изображена схема сопряжения ПИТ с магистралью МП системы.

<< Предыдущий параграф Следующий параграф >>
Оглавление