Проектирование соединения УСО с МП в случае нескольких ведущих устройств
Рассмотрим систему, представленную следующей схемой (рис. 1):
Рис. 1.
Здесь представлены два микропроцессора, которые могут через магистраль обращаться к общими ЗУ и УВВ. Очевидно, для ЗУ и УВВ, представленных на рисунке, существует два ведущих устройства — микропроцессор 1 и микропроцессор 2. Естественно, микропроцессоры используют общие ресурсы не одновременно, а по очереди, поэтому в конкретном цикле обмена ведущим устройством является один из них. В общем случае количество микропроцессоров может быть больше двух.
Такая схема может применяться в разных случаях, например, если нужно осуществить обмен данными между двумя микропроцессорами через общее ЗУ, или иметь доступ из нескольких МПС к одному УВВ, через которое подключен какой-либо датчик.
На рис. 1 представляет упрощенное представление системы с несколькими микропроцессорами. В реальности, системы будет выглядеть следующим образом (рис. 2):
Рис. 2.
У каждого микропроцессора имеются свои персональные ЗУ и УВВ, находящиеся целиком и полностью в его распоряжении. Вместе с микропроцессором они образуют микропроцессорную систему. В то же время, каждый микропроцессор имеет доступ к общим ресурсам — ЗУ и УВВ.
Магистрали (шины), соединяющие все эти устройства, имеют свою классификацию (рис. 3):
Рис. 3.
Магистраль, выходящая из микропроцессора называется локальной шиной микропроцессора. Она является мультиплексированной (в большинстве случаев). Магистраль, соединяющая микропроцессор с УВВ и ЗУ, находящимися в его персональном распоряжении, называется резидентной шиной. Магистраль, соединяющая микропроцессор с общими ЗУ и УВВ носит название системной шины. Резидентная и системная шины не мультиплексированы.
Очевидно, для подключения УСО к микропроцессору в данном случае мы должны использовать специальную схему — схему шинного интерфейса (СШИ). Она должна располагаться в месте соединения всех трех шин (см. рис. 3). СШИ должна решать следующие задачи:
1. Демультиплексирование локальной ШАД;
2. Хранение адреса в течение всего цикла обмена;
3. Подключение микропроцессора (локальной шины) к системной или резидентной шине, в зависимости от того, по какой шине будет происходить обмен.
Отдельно должен решаться вопрос о порядке подключении к системной шине (СШ). Очевидно, что к общим ресурсам (ЗУ, УВВ) в некий момент времени может иметь доступ только один микропроцессор. Следовательно, должна существовать возможность проверки занятости СШ. Также необходимо предусмотреть механизм для разрешения конфликтных ситуаций, например, когда два или более микропроцессора одновременно попытаются получить доступ к общим ресурсам. Все эти вопросы будут рассмотрены нами позже, пока же сосредоточимся на создании СШИ, решающей сформулированные выше три задачи.
Очевидно, что СШИ должно быть две — одна будет обеспечивать подключение к СШ, другая — к РШ. Естественно, в каждом цикле обмена работать будет либо одна, либо другая СШИ (рис. 4):
Рис. 4.
Рассмотрим более детально саму схему шинного интерфейса (рис. 5):
Рис. 5.
Если посмотреть на сформулированные ранее три задачи, которые должна решать СШИ, мы можем увидеть, что две первые из них совпадают с задачами, которые решала рассмотренная в предыдущем разделе схема демультиплексирования. Следовательно, она может быть положена в основу СШИ.
Остается третья задача: обеспечение подключения/отключения от локальной шины (в соответствии с сигналом, передаваемым по специальной линии "Разрешение подключения к шине"). На выходе СШИ мы имеем три шины: адреса, данных и управления. Задача отключения шины данных фактически уже решена в схеме демультиплексирования: при неактивном сигнале DEN шина данных отключена от локальной шины. Отключение шины адреса также может быть выполнено в рамках известной нам схемы демультиплексирования путем подачи сигнала "Разрешение подключения к шине" на вход OE буферного регистра.
Для отключения шины управления используется специальное устройство, называемое контроллером шины (рис. 6).
Контроллер шины
Контроллер шины предназначен для решения задач управления шинным интерфейсом.
Рис. 6.
Контроллер шины (КШ) состоит из следующих блоков:
· Дешифратор состояний. На вход дешифратора состояний с микропроцессора приходит информация о состоянии микропроцессора в виде двоичного кода, передаваемого по специальным линиям. Обрабатывая эту информацию, дешифратор определяет, будет ли микропроцессор выполнять цикл обмена, если да — будет ли это обмен с ЗУ или УВВ, обмен по чтению или записи.
· Устройство управления — правляет работой КШ. На него подаются тактовые импульсы (по входу CLK) — для синхронизации с микропроцессором. Вход AEN— вход разрешения подключения к шине.
· Генератор командных сигналов — формирует сигналы шины управления в соответствии с информацией о типе цикла обмена при условии, что подключение к шине разрешено сигналом AEN.
· Генератор управляющих сигналов — формирует сигналы управления схемой демультиплексирования (буферным регистром и шинным формирователем) при условии, что подключение к шине разрешено сигналом AEN.
Контроллер шины позволяет выполнять подключение/отключение шины управления в зависимости от сигнала разрешения AEN. А вся схема шинного интерфейса будет выглядеть следующим образом (рис. 7):
Рис. 7.
Здесь мы видим уже знакомую нам схему демультиплексирования, которая в данном случае управляется контроллером шины. Он же решает задачу "подключения/отключения" шины управления. Схема шинного интерфейса "открывается", то есть подключает микропроцессор к соответствующей шине, с помощью сигнала "Разрешение подключения к шине". Этот сигнал подается на контроллер шины, заставляя его "подключить" микропроцессор к шине управления и сформировать сигналы, управляющие буферным регистром и шинным формирователем. Этот же сигнал подается на буферный регистр для "отключения" его отшины данных в случае, когда схема шинного интерфейса находится в "закрытом" состоянии.
Как же формируется сигнал "Разрешение подключения к шине"? Если посмотреть на рис. 4 мы увидим, что у нас имеется две СШИ — одна для подключения к системной шине, другая для подключения к резидентной шине. Обе схемы имеют вход "Разрешение подключения к шине". Следовательно, должно быть некое устройство, которое в каждом цикле обмена определяло бы, будет ли вестись обмен по системной или резидентной шине. Определить это можно на основании адреса ведомого устройства. Поэтому для решения рассматриваемой задачи используется дешифратор адреса (рис. 8):
Рис. 8.
На вход дешифратора адреса подается адрес устройства, с которым будет происходить обмен. Не углубляясь в нюансы технической реализации дешифратора адреса, мы можем представить его в виде некоей таблицы из двух столбцов. В первом — все значения адресов, с которыми возможен обмен, во втором — для каждого адреса признак: к системной или резидентной шине он относится. Получив значение адреса и определив его принадлежность, дешифратор активизирует одну из линии "Разрешение подключения к шине" (на схеме обозначена AEN), "отпирая" таким образом одну из СШИ.
Обратите внимание, что между дешифратором и СШИ системной шины на пути сигнала AEN находится некое устройство, задачей которого является определение возможности подключения к системной шине (она может быть занята другой МПС). Об этом устройстве мы поговорим немного позже.
Дата добавления: 2019-02-08; просмотров: 563;