Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Выработка внутренних стробирующих сигналов
Следующая важная функция интерфейсной части УС — выработка внутренних стробирующих сигналов синхронно с магистральными командными сигналами (-IOR, -IOW, -MEMR, -MEMW) в случае обращения по адресам проектируемого УС. Условно узел, выполняющий эту функцию, может быть представлен в следующем виде (рис. 9.16). На его входы подаются сигналы ADRO... ADRN с выхода селектора адреса, SBHE (в случае необходимости разделения 8- и 16-разрядных циклов), а также буферированные магистральные стробы записи и чтения (R и W). Выходы — это сигналы STRO... STRn, соответствующие обращениям с записью или чтением по всем адресам или группам адресов УС. Рассмотрим несколько методов построения этого узла.
Самый простейший подход — использование логических элементов — удобен в случае малого числа внутренних стробов STR. На рис. 9.17 показана схема для двух адресов УС, доступных по чтению и записи. Достоинства такого подхода — малое число элементов и высокое быстродействие, а недостаток состоит в том, что каждый раз приходится разрабатывать свою схему для нового УС. В случае необходимости выработки большого числа внутренних стробирующих сигналов удобно использовать микросхемы дешифраторов. Пример такого решения представлен на рис. 9.18. Здесь два младших разряда адреса подаются не на селектор адреса, а непосредственно на дешифратор, верхняя половина которого управляется сигналом с селектора адреса и сигналом -IOR, а нижняя — сигналом с селектора адреса и -IOW. Таким образом, выходы STRO... STR3 соответствуют циклам чтения из четырех последовательных адресов, a STR4... STR7 — записи в эти адреса. Отметим, что не обязательно надо использовать все выходы дешифратора. Достоинства этого подхода — однотипность схемы рассматриваемого узла для всех УС и малые аппаратурные затраты при необходимости получения большого количества внутренних стробов обмена.
Рис. 9.17. Выработка внутренних стробов с помощью логических элементов
В некоторых случаях удобно не разделять интерфейсную часть УС на селектор адреса и формирователь внутренних стробов.
Пусть, например, УС должно работать только в циклах записи по его адресам (или только в циклах чтения). При этом оба рассмотренных узла могут быть выполнены на одной микросхеме ППЗУ (рис. 9.19). Здесь к моменту прихода магистрального строба обмена ППЗУ уже успеет сформировать выходные сигналы (закончится время выборки адреса). Поэтому внутренние стробы обмена будут задержаны относительно магистральных стробов только на время выбора ППЗУ. Такой недостаток всех микросхем ППЗУ, как неопределенность выходных сигналов в течение некоторого времени после любого изменения адреса, здесь не сказывается на работе схемы. Однако не следует надеяться, что схема будет работать также нормально при подаче одного или обоих магистральных стробов обмена (-IOR и -IOW) на адресные входы ППЗУ. Особо следует остановиться на организации 16-разрядного обмена и разделении пересылок старшего и младшего байтов. Здесь участвуют два сигнала магистрали, которые не используются при 8-битном обмене: -SBHE и -I/O CS 16 (или -MEM CS 16). При этом сигнал -SBHE должен обрабатываться УС только в случае необходимости как 16, так и 8-разрядного обмена (вспомним, что он определяет тип цикла обмена совместно с сигналом SAO в соответствии с таблицей 9.3). На рис. 9.20 в качестве примера приведена схема формирователя внутренних стробов для 16-разрядного УС, работающего только в цикле записи 16-разрядного слова, старшего байта или младшего байта.
Выходной строб формирователя STR0 соответствует записи старшего байта или слова, а выходной строб STRI — записи младшего байта или слова. Сигнал -I/O CS 16 вырабатывается при любом обращении к нашему УС, детектируемым селектором адреса. Отметим, что этот сигнал может формироваться и элементом с тремя состояниями, но в этом случае надо обеспечить активный нулевой уровень при селектировании адреса и высокоимпедансное состояние в противном случае (рис. 9.21). Это предотвратит конфликт на линии -I/O CS 16 сигналов от разных плат расширения.
Асинхронный обмен по ISA Основным типом обмена по ISA является синхронный обмен, то есть обмен в темпе задатчика без учета быстродействия исполнителя. Однако возможен и асинхронный обмен, при котором " медленный" исполнитель приостанавливает работу задатчика на время выполнения им требуемой команды. В этом случае надо использовать сигнал I/O СН RDY, снятие которого (установка в состояние логического нуля) говорит о неготовности исполнителя к окончанию цикла обмена. Как уже отмечалось, приостановка производится на целое число периодов SYSCLK и не может быть дольше системного времени ожидания 15, 6 мкс (для некоторых компьютеров — 2, 5 мкс). Рассмотрим некоторые аппаратурные решения для асинхронного обмена. Прежде всего, здесь можно выделить две ситуации: когда существует внутренний сигнал УС, говорящий об окончании выполнения функции записи или чтения, и когда такого сигнала нет. В качестве этого сигнала (обозначим его DK) может выступать, например, сигнал окончания преобразования (готовности данных) АЦП, входящего в состав УС. На рис. 9.22 приведена структура УС с сигналом DK. DK может быть потенциальным (то есть сниматься после окончания стробов обмена) или импульсным (то есть окончанию выполнения функции соответствует фронт сигнала DK). Временные диаграммы и схемы для этих двух случаев показаны на рис. 9.23 и 9.24 (для упрощения считаем, что строб обмена — единственный).
Если сигнал DK отсутствует в явном виде, но известно время выполнения функции или его верхний предел, то необходимо сформировать задержку в самой интерфейсной части. В схеме на рис. 9.25 слева эта задержка определяется временем выдержки одновибратора. Надо отметить, что при проектировании УС одним из показателей мастерства разработчика является количество использованных им одновибраторов или RC-цепочек (естественно, эти величины обратно пропорциональны друг другу). Это связано с тем, что любые аналоговые цепи подвержены действию помех и требуют настройки. Поэтому, если есть возможность, то надо формировать задержки, временные сдвиги, интервалы с помощью магистральных тактовых сигналов SYSCLK и OSC или внутренних тактов УС. На рис. 9.26 справа приведена схема с использованием линии задержки на сдвиговом регистре, задержка которой определяется номером замкнутого переключателя и задается с точностью до периода сигнала SYSCLK. Но, в принципе, в данном случае требования к точности времени задержки невысоки, и использование одновибратора и даже простой RC-цепочки вполне допустимо.
Асинхронный режим обмена по ISA можно реализовать и на более высоком уровне: путем опроса задатчиком флага готовности исполнителя и путем использования прерываний. Эти решения удобны в случае очень медленных УС, то есть тех, время реализации функции которыми превышает предельное системное время задержки (системный тайм-аут). Теперь попробуем изобразить обобщенную структурную схему интерфейсной части УС, включающей в себя все рассмотренные узлы (рис. 9.27). Здесь использованы входные буфера, двунаправленный буфер данных (в общем случае должен быть разделен на два для каждого байта), выходной буфер, селектор адреса, формирователь внутренних стробов и формирователь сигнала асинхронного обмена I/O СН RDY (DK).
Оценим предельные значения времен задержек всех узлов интерфейсной части. Здесь надо рассмотреть две ситуации. Если наше УС работает только в режиме записи в него информации, то желательно, чтобы задержка сигнала STR относительно сигнала -IOW и задержки сигналов данных были примерно одинаковыми. Ни в коем случае задержка сигнала STR не должна превышать задержку данных более чем на 30 нс, иначе УС примет неверные данные. Разность задержки буферирования и селектирования адреса и задержки буферирования сигнала -IOW не должна превышать 91 нс, иначе УС не будет реагировать на свой адрес. Если наше УС работает только в режиме чтения из него информации, то сумма задержки сигнала STR относительно сигнала -IOR и задержки буфера данных не должна превышать 110 нс, иначе процессор примет неправильные данные от УС. Требования к буферу адреса и селектору адреса такие же. Если же УС должно работать как в режиме чтения, так и в режиме записи, то оно должно удовлетворять всем перечисленным требованиям.
Популярное:
|
Последнее изменение этой страницы: 2016-03-22; Просмотров: 1515; Нарушение авторского права страницы