5.2. Линии управления
Рассмотрим вкратце функции наиболее важных внешних линий управления, которые имеются в большинстве микропроцессоров.
Считывание/запись. На линии считывания/записи R/W¯ действует сигнал низкого уровня, когда микропроцессор выполняет операцию записи, и сигнал высокого уровня в операции считывания. В некоторых микропроцессорах, например в Z80, имеются отдельные линии считывания READ и записи WRITE.
Запрос прерывания. На входной линии запроса прерывания
или
внешнее устройство формирует сигнал низкого уровня, обращая «внимание» микропроцессора на этот сигнал. Если флажок прерывания сброшен (логический 0), запрос воспринимается и микропроцессор прерывает обычную обработку и переходит к выполнению нужной процедуры прерывания.
Немаскируемое прерывание. Реакция на обычный запрос прерывания (
или
) определяется флажком прерывания, поэтому прерывание может быть замаскировано. В программу вводятся команды, которые устанавливают и сбрасывают флажок прерывания и, следовательно, разрешают или запрещают прерывания. Такой способ позволяет гибко реагировать на прерывания — мы сами определяем, воспринимаются они или игнорируются. Однако в некоторых ситуациях требуется, чтобы прерывание обслуживалось независимо от текущих действий микропроцессора. Для этой цели предусмотрена отдельная линия немаскируемого прерывания
. Когда на ней появляется сигнал низкого уровня, выполнение программы прерывается независимо от состояния флажка прерывания, т. е. независимо от того, разрешены прерывания или запрещены.
Сброс. Сигнал низкого уровня на входной линии сброса
применяется для инициализации системы, т. е. приведения ее в известное состояние, до обычного выполнения программы. При активном сигнале сброса программный счетчик PC переводится в определенное состояние (например, в него загружается нуль или конкретный адресный вектор) и прерывания запрещаются.
Выполняются и другие внутренние операции, зависящие от типа микропроцессора.
Синхронизация. Для упорядочивания передач данных внутри микропроцессора необходимо синхронизировать их специальными сигналами. Они формируются либо внешним генератором (рис. 5.2), либо аналогичным внутренним генератором. Для поддержания точности и стабильности сигналов синхронизации обычно применяется кварцевый осциллятор; диапазон частоты синхронизации составляет от 1 до 8 МГц.
Рис. 5.2. Типичная схема синхронизации.
Такт синхронизации (Т-состояние) является в микропроцессоре основным временным интервалом. Машинный цикл (М-цикл) — это минимальная неделимая единица действий микропроцессора. Обычно он состоит из 3–5 тактов синхронизации. Командный цикл, включающий в себя выборку, дешифрование и выполнение команды, обычно требует от 1 до 5 машинных циклов.
Оценим реальные временные интервалы, о которых идет речь. Предположим, что микропроцессор Z80 работает с частотой синхронизации 4 МГц. Тогда такт синхронизации (Т-состояние) соответствует 250 нс. Продолжительность машинного цикла (М-цикла) составляет от 0,75 до 1,25 мкс, а командного цикла (в зависимости от команды) — от 1,25 до 6,25 мкс. Другими словами, микропроцессор может выполнить от 160000 до 800 000 команд в секунду!
5.3. Микропроцессорные системы
Даже самый совершенный микропроцессор практически бесполезен без «поддержки» других устройств, которые подразделяются на три группы.
Запоминающее устройство с произвольной выборкой. Выше мы говорили о том, что всем микропроцессорам требуется доступ к памяти со считыванием и записью, и хотя однокристальные микропроцессоры обладают такой небольшой внутренней памятью, обычно для организации памяти требуются соответствующие микросхемы (подробнее см. в гл.6).
Постоянное запоминающее устройство. Микропроцессорам необходима некоторая фиксированная память для управляющих программ и, возможно, операционных систем и интерпретаторов языков программирования высокого уровня. Такая память обеспечивается микросхемами постоянных запоминающих устройств (см. гл. 6).
Микросхемы для ввода-вывода. Чтобы выполнить любую полезную функцию, микропроцессор должен как-то взаимодействовать с внешним миром. Такие связи реализуются с помощью БИС, конфигурация которых определяется программно и которые называются программируемыми.
Микросхемы для ввода-вывода подразделяются на параллельные (одновременно передается байт) и последовательные (по единственной линии передается один бит за другим).
На рис. 5.3 показана базовая конфигурация микропроцессорной системы, содержащая центральный микропроцессор (ЦП), постоянное запоминающее устройство (ПЗУ), запоминающее устройство с произвольной выборкой (ЗУПВ) и микросхемы для ввода-вывода.
Рис. 5.3. Основные компоненты микропроцессорной системы.
Отметим наличие в системе трех шин; компоненты объединяются шинами адреса, данных и управления, поэтому одним из требований к вспомогательным микросхемам оказывается наличие у них тристабильных выходов. С их помощью обеспечивается отключение микросхемы от шины, когда последняя не требуется.
Вспомогательные микросхемы, например ПЗУ или ЗУПВ, почти всегда выбираются или разрешаются низким уровнем сигнала разрешения кристалла EN или выбора (выборки) кристалла CS.
Обычно эти сигналы формируют дешифраторы адреса, на входы которых подаются сигналы с шины адреса. Дешифратор адреса как бы разделяет имеющуюся память на блоки, каждый из которых соответствует конкретной вспомогательной микросхеме. Следовательно, когда микропроцессор считывает или записывает информацию, например в ЗУПВ, дешифратор адреса обеспечивает выбор только ЗУПВ, а внутренние буферы микросхем ПЗУ и ввода-вывода удерживают их выходы в высокоимпедансном состоянии.
Распределение пространства памяти в микропроцессорной системе удобно показывать с помощью так называемой карты памяти. 8-битный микропроцессор с 16-линиями адреса может адресовать любую из 65536 (216) ячеек памяти, поэтому диапазон адресов памяти составляет от 0 до 65535 (максимальный адрес). На рис. 5.4 показана типичная карта памяти с адресами.
Рис. 5.4. Типичная карта памяти системы управления с 8-битным микропроцессором.
5.4. Поиск неисправностей в микропроцессорах
Поиск неисправностей в микропроцессорных системах, особенно для новичков, может оказаться сложной задачей. Однако расстраиваться не нужно, потому что большинство неисправностей довольно просты и их можно обнаружить несложным прибором. До начала работы следует по возможности получить принципиальную схему и документацию по эксплуатации системы; в ней приводятся наиболее часто встречающиеся неисправности.
Отправной точкой при работе со схемной платой служит идентификация основных элементов, включая микропроцессор и вспомогательные микросхемы. Микросхемы полупроводниковой памяти обычно размещаются компактно, и их легко найти (подробнее см. в гл. 6), а микросхемы для ввода-вывода располагаются вблизи соответствующих разъемов. Генератор синхронизации легко найти по кварцу, а дешифраторы адреса выполняются на TTЛ-схемах либо на заказных логических матрицах (программируемые логические матрицы ПЛМ или нескоммутироваиные логические матрицы НЛМ).