Выдать Опрос
IRQ Ок!
нет Ok! = "1"
Опрос
STRW7
нет
Опрос Читать
IOR D0…D7
Определить
да № регистра
Читать
SA0…SA2Выдать
да № регистра
="111"нет
Преобразов. Читать
2®поз. INTВыдать Выдать
STRR0…6 D0…D7вкл? STRR0…6
нет
Конец Рис. 1.5 – Схема алгоритма работы CPU2
Для сравнения этих двух структурных схем приведена таблица 1.2, в которой указаны параметры устройства, реализованного различными вариантами:
- на жесткой логике (см. бакалаврскую работу);
- на одном кристалле;
- на двух кристаллах.
Таблица 1.2
Вариант реализации | Кол - вокорпусов | Скорость выдачи данных | Потребляемая мощность, Вт | Стоимость деталей, грн. |
Жесткая логика | 27 | »50нс | 2,52 | 13,30 |
Один кристалл | 24 | >200нс | 2,33 | 23,8 |
Два кристалла | 21 | >200нс | 2,25 | 36,5 |
1.6 Обоснование выбора структурной схемы
Для реализации устройства выберем структурную схему на одном кристалле, так как отсутствует взаимосвязь ОМК, что упрощает написание программы; скорость выдачи данных, как у первого варианта, так и у второго >200нс; стоимость деталей меньше.
1.7 Обоснование выбора типа ОМК
Для реализации данного устройства больше всего подходит микроконтроллер типа PIC16C64, так как имеет не высокую стоимость и большое число портов ввода/вывода (33). На этом микроконтроллере и будет разрабатываться устройство.
2.1 Структурная схема.
После обоснования выбора структурной схемы устройства останавливаемся на схеме с одним кристаллом. Структурная схема приведена на рисунке 2.1.
Рис. 2.1 – Выбранная структурная схема устройства
2.1.1 Назначение отдельных функциональных блоков.
2.1.1.1 Селектор адреса
Основной интерфейсной функцией, выполняемой УС, работающем в режиме программного обмена, является селектирование или дешефрирование адреса. Эту функцию выполняет узел, называемый селектором адреса, который должен выработать сигналы, соответствующие выставлению на шине адреса магистрали кода адреса, принадлежащего данному УС или одного из зоны адресов данного УС.
Самое простое решение при построении селектора адреса использование только микросхем логических элементов. Основным достоинством такого подхода является высокое быстродействие (задержка не превышает 30нс). При использовании микросхем с малыми входными токами можно обойтись без буферов.
Но есть и недостаток этой схемы: необходимость проектирования схемы заново для каждого нового адреса, сложность организации выбора нескольких адресов.
Если необходимо иметь возможность изменять выбираемый адрес, то можно предусмотреть использование отключаемых инверторов для всех линий адреса. Тогда, подключая или отключая нужные инверторы с помощью перемычек или переключателей, получаем возможность перестраивать селектор адреса в некоторых пределах.
Рис. 2.2 – Селектор адреса с изменяемым адресом |
Другой путь – применение элементов "Исключающее ИЛИ", работающих как управляемые инверторы. На рисунке 2.2 показан селектор адреса, выбирающий в зависимости от кода на шине AS, задаваемого перемычками, адреса 3CFh, 2CFh, 1CFh и так далее (всего 8 различных адресов).
2.1.1.2. Буфер данных
Для буферирования наиболее часто используются микросхемы магистральных приемников, передатчиков и приемопередатчиков, называемые буферами.
Электрическая развязка подразумевает обеспечение нужных входных и выходных токов (уровни на ISA - ТТЛ).
Передатчики должны обеспечивать большой выходной ток и высокое быстродействие. Часто они должны иметь также отключаемый выход (для шины данных), то есть иметь выход с открытым коллектором или с тремя состояниями на выходе. Это связано с необходимостью перехода устройства в пассивное состояние в случае отсутствия обращения к нему.
Передатчики часто выполняют функцию мультиплексирования данных, которые должны поступать на шину данных ISA от различных источников.
2.1.1.3 Блок CPU.
Блок содержит однокристальный микроконтроллер, который выполняет функции выработки внутренних управляющих стробов. Применен ОМК типа PIC16C64.
3 РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ УСТРОЙСТВА
3.1 Блок регистров
Выходные сигналы формируются регистрами с тремя состояниями выхода КР1533ИР37, каждый из которых может находиться в активном или пассивном состоянии в зависимости от значения соответствующего бита в управляющем слове (блок CPU).
Управляющие сигналы операционной части используются для записи выходных данных (-STRW0...STRW6).
Схема блока регистров и блока буферов приведена на рисунке 3.1.
3.2 Блок приема данных (от ВУ)
Для чтения состояний внешних линий используются однонаправленные буфера КР1533АП5, выходы которых объединяются для мультиплексирования читаемых данных.
Управляющие сигналы операционной части используются для чтения входных данных (-STRR0...-STRR6).
Схема блока приема данных изображена на рисунке 3.2
Рис. 3.1 – Схема блока регистров
3.3 Блок прерываний
Блок обработки прерываний состоит из регистра прерываний - КР1533ИР37, буферного элемента - КР1533АП5, элемента 7ИЛИ-НЕ собранного на КР1533ЛЕ4 и КР1533ЛН1.
С каждого внешнего устройства сигнал INT поступает на вход регистра, синхронизирующий вход которого подключен к сигналу SYSCLK системной шины, что обеспечивает помехозащищенность, то есть регистрация прерываний происходит по положительному фронту сигнала SYSCLK, так как нарастание уровня происходит довольно быстро, то вероятность ложного срабатывания мала.