Разработка аппаратно-программных модулей системной шины ISA

  • Вид работы:
    Методичка
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    582,86 Кб
  • Опубликовано:
    2012-07-13
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка аппаратно-программных модулей системной шины ISA

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РФ

ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Факультет автоматики и вычислительной техники

Кафедра автоматики и телемеханики








Разработка аппаратно-программных модулей системной шины ISA

Методические указания по выполнению курсовой работы

Дисц. “ Организация ЭВМ и систем ”

Для специальности 071900 - Информационные системы (управление и телекоммуникация), 3 курс д/о








Киров 2000

УДК 681.326.34

С о с т а в и т е л ь  к.т.н., доцент Л.А. Шабалин

кафедра АТ

Р е ц е н з е н т   к.т.н., доцент А.В. Частиков

кафедра РЭС

Редактор А.Н. Корсаков

ЛР №

Подписано в печатьУсл.печ.л.1.9

Бумага типографскаяПечать матричная

Заказ №Тираж 20Бесплатно

Текст напечатан с оригинал-макета, представленного автором.

000, г.Киров, ул. Московская,36

Оформление обложки, изготовление - ПРИП

ã Вятский государственный технический университет, 2000

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

1 ПОСТАНОВКА ЗАДАЧИ


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

·   тематике научно-исследовательских работ, в которых он участвует;

·   теме, выбранной студентом самостоятельно.

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

Задание на курсовую работу состоит из трех частей.

1. Выполнить тематический обзор по материалам научно-технической литературы.

2. Спроектировать аппаратный модуль на базе СБИС для системной шины ISA.

3. Разработать программные процедуры инициализации, управления и контроля аппаратным модулем.

Варианты заданий приведены в таблице 1.1.

Требования к оформлению пояснительной записки курсовой работы:

·   Пояснительная записка курсовой работы должна быть оформлена в соответствии со стандартом ВятГТУ «ОБЩИЕ ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ ТЕКСТОВЫХ ДОКУМЕНТОВ» СТП ВятГТУ 101-2000.

·   Графическая часть курсовой работы (структурная, функциональная, принципиальная схемы и перечень элементов) должна быть выполнена с соблюдением всех стандартов ЕСКД (единая система конструкторской документации).

Студент, не выполнявший выше перечисленных требований, к защите курсовой работы не допускается.

Таблица 1 - Варианты заданий курсовой работы

Вариант

Устройство

Характеристики устройства

1

Адаптер интерфейса связи

2 порта ИРПР-М (LPT), обмен в режиме прерываний

2

Адаптер интерфейса связи

1 порт ИРПР-М (LPT), обмен в режиме ПДП

3

Адаптер интерфейса связи

2 порта RS-232C (COM), обмен в режиме прерываний

4

Адаптер интерфейса связи

1 порт RS-232C (COM), обмен в режиме ПДП

5

Адаптер интерфейса связи

1 порт RS-485, обмен в режиме прерываний

6

Адаптер интерфейса связи

1 порт КОП (канал общего пользования), обмен в режиме прерываний

7

Контроллер клавиатуры

32 кнопки, обмен в режиме прерываний

8

Контроллер индикации

16 семисегментных индикаторов

9

Плата дискретного ввода

22 изолированных входа, обмен в режиме прерываний

10

Плата дискретного вывода

16 изолированных выхода, обмен в режиме ПДП

Плата аналогового входа

1 вход от термодатчика, обмен в режиме прерываний

12

Плата аналогового входа

1 вход от термодатчика, обмен в режиме ПДП

13

Плата аналогового вывода

1 выход, ±5В, обмен в режиме прерываний

14

Плата аналогового вывода

1 выход, ±10В, обмен в режиме прерываний

15

Программируемый генератор цифровых сигналов

1 выход, максимальная выходная частота - 2 МГц

16

Программируемый счетчик дискретных импульсов

1 вход, максимальная входная частота - 2 МГц

17

Контроллер интерфейса связи

Внешнее устройство - НГМД

18

Модуль температурной защиты системного блока

Температурный диапазон - программный

19

Препроцессор на базе PIC-контроллера

Обмен в режиме прерываний

20

Препроцессор на базе DSP

Обмен в режиме прерываний


2 СИСТЕМНАЯ ШИНА ISA


Шина ISA (Industrial Standart Architecture) является самой распространенной в промышленных компьютерах по следующим причинам:

·   наибольшее количество систем из-за невысокой цены;

·   огромное разнообразие приложений;

·   скорость передачи до 2 Мбит/c;

·   хорошая помехоустойчивость;

·   большое количество совместимого оборудования и программного обеспечения.

Описание сигналов шин, назначение выводов, типы источников и их электрические характеристики приведены в приложении А.

Временные диаграммы циклов обмена для устройств ввода/вывода (УВВ) приведены на рисунке 2.1 (все временные параметры приведены для частоты SYSCLK, равной 8 МГц). Циклы начинаются с выставления задатчиком (управляющим устройством шины) адреса на линиях SAO...SA15 и сигнала -SBHE. Отметим, что несмотря на потенциальную возможность адресации по 16 линиям адреса, чаще всего используются только 10 младших линий SAO...SA9, так как большинство разработанных ранее плат расширения используют только их, и, следовательно, за исключением особых случаев нет смысла обрабатывать старшие разряды SA10...SA15.

В ответ на получение адреса исполнитель (подчиненное устройство шины), распознавший свой адрес, должен сформировать сигнал -I/O CS16 в случае, если обмен должен быть 16-разрядным.

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

В случае, когда УВВ не успевает выполнить требуемую от него команду в темпе системной шины, оно может приостановить на целое число периодов сигнала SYSCLK завершение цикла чтения или записи с помощью снятия (перевода в низкий уровень) сигнала I/O CH RDY (так называемый удлиненный цикл). Это производится в ответ на получение сигнала -IOR или -IOW. Сигнал I/O CH RDY может удерживаться низким не более 15,6 мкс, в противном случае процессор переходит в режим обработки немаскируемого прерывания. Отметим, что некоторые изготовители персональных компьютеров указывают в сопроводительной документации другие допустимые величины этого временного интервала (например, 2,5 мкс), так что не следует ориентироваться на максимальную величину, указанную в стандарте, иначе нет гарантии работы УС во всех компьютерах.

Рисунок 2.1- Временные диаграммы циклов чтения и записи (Т - период сигнала SYSCLK; все временные интервалы в наносекундах)

Помимо циклов программного обмена на системной шине ISA могут выполняться также циклы прямого доступа к памяти (ПДП). Временная диаграмма для этого случая показана на рисунке 2.2. Так как системная шина ISA имеет раздельные стробы чтения и записи для УВВ и для памяти, пересылка данных в режиме ПДП производится за один машинный цикл. То есть если данные надо переслать из УВВ в память, то одновременно производится чтение данных из УВВ (по сигналу -IOR) и их запись в память (по сигналу -МEMW). Аналогично производится пересылка данных из памяти в УВВ (по сигналам -MEMR и -IOW).

Цикл ПДП начинается с запроса ПДП от исполнителя (УВВ), желающего произвести обмен, с помощью одного из сигналов DRQ. После освобождения системной шины текущим задатчиком (например, процессором) контроллер ПДП формирует соответствующий сигнал -DACK, говорящий о предоставлении ПДП запросившему его устройству. Затем контроллер ПДП вырабатывает адрес ячейки памяти, с которой будет производиться обмен в текущем цикле, и сигнал AEN, который говорит УВВ о том, что к нему идет обращение в режиме ПДП. После этого выставляется строб чтения ( -IOR или -MEMR), в ответ на который источник передаваемых данных выставляет свою информацию на шину данных, и строб записи (-MEMW или -IOW), по которому данные записываются в приемник данных. Здесь так же, как и в обычном цикле возможен асинхронный обмен (удлиненный цикл) с использованием сигнала I/O CH RDY.

Рисунок 2.2 - Временные диаграммы циклов ПДП (t - время предоставления ПДП, Т - период сигнала SYSCLK; все временные интервалы в наносекундах)

При проектировании УВВ помимо протоколов обмена по системной шине надо учитывать также электрические характеристики сигналов. Стандарт шины ISA определяет требования к входным и выходным токам приемников и источников сигнала каждой из плат расширения. Несоблюдение этих требований может нарушить функционирование всего компьютера и даже вывести его из строя.

Выходные каскады системных передатчиков сигналов УВВ должны выдавать ток низкого уровня не меньше 24 мА (это относится ко всем типам выходных каскадов), а ток высокого уровня-не меньше 3 мА (для выходов с тремя состояниями и ТТЛ).

Входные каскады системных приемников сигналов должны потреблять входной ток низкого уровня не больше 0,8 мА, а входной ток высокого уровня - не больше 0,04 мА.

Кроме этого необходимо учитывать, что максимальная длина печатного проводника от контакта магистрального разъема до вывода микросхемы не должна превышать 65 миллиметров, а максимальная емкость относительно земли по каждому контакту магистрального разъема не должна быть больше 20 пФ.

К некоторым линиям магистрали подключены нагрузочные резисторы, идущие на шину питания +5 В. К линиям -IOR, -IOW, -MEMR, -MEMW, -SMEMR, -SMEMW, -I/O CH СК подключены резисторы 4,7 кОм, к линиям -I/O CS 16, -MEM CS 16, -REFRESH, -MASTER, -OWS - 300 Ом, а к линии I/O CH RDY - 1 кОм. Кроме того к некоторым линиям магистрали подключены последовательные резисторы: к линиям -IOR, -IOW, -MEMR, -MEMW, -SMEMR, -SMEMW и OSC - резисторы номиналом 22 Ом, а к линии SYSCLK - 27 Ом.

3. Проектирование устройств ввода/вывода для системной шины ISA


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

·   задержка между выставлением адреса и передним фронтом строба обмена (не менее 91 нс) - определяет время распознавания своего адреса проектируемым УВВ;

·   длительность строба обмена (не менее 176 нс);

·   задержка между передним фронтом сигнала -IOR и выставлением УС читаемых данных (не более 110 нс) - определяет требования к быстродействию буфера данных УВВ;

·   задержка между задним фронтом сигнала -IOW и снятием записываемых данных (не менее 30 нс) - определяет требования к быстродействию принимающих данные узлов УВВ.

Обобщенная структурная схема интерфейсной части УВВ, включает в себя все следующие узлы (рисунок 3.1):

·   входные буфера (не обязательны);

·   двунаправленный буфер данных (в общем случае должен быть разделен на два для каждого байта);

·   выходной буфер управляющих сигналов;

·   селектор адреса (AS);

·   формирователь внутренних стробов (STR);

·   формирователь сигнала асинхронного обмена I/O CH RDY (DK).

Рисунок 3.1 - Обобщенная структурная схема интерфейсной части УВВ

Буферирование системных сигналов применяется для электрической развязки с цель обеспечение требуемых входных и выходных токов (уровни напряжения на ISA - ТТЛ). Для буферирования микросхемы магистральных приемников, передатчиков, приемопередатчиков, называемые также буферами или драйверами.

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

Требованиям, предъявляемым к приемникам, удовлетворяют следующие серии микросхем: КР1533 (SN74ALS), К555 (SN74LS) и КР1554 (74АС). Величины входных токов логического нуля для них составляют соответственно 0,2 мА, 0,4 мА и 0,2 мА, а величины временных задержек не превышают соответственно 15 нс, 20 нс и 10 нс. Требованиям, предъявляемым к приемникам, удовлетворяют также микросхемы электрически программируемых ППЗУ и ПЛМ серии КР556 (136, N82S, DM87S, НМ76). Это тоже немаловажно, так как их очень удобно использовать в схемах селекторов адреса УВВ. Отметим, что малые входные токи микросхем серий КР1533 и КР1554 позволяют подключать к линии магистрали даже два входа таких микросхем.

Требования, предъявляемые к передатчикам: большой выходной ток и высокое быстродействие. Часто они должны иметь также отключаемый выход (например, для шины данных), то есть иметь выход с открытым коллектором или с тремя состояниями. Это связано с необходимостью перехода УВВ в пассивное состояние в случае отсутствия обращения к нему. Выбор микросхем передатчиков гораздо больше, такие микросхемы есть практически в каждой серии (К155, К555, КР1533, К559 и т.д.).

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

·   высокое быстродействие (селектор адреса должен иметь задержку не более чем интервал между выставлением адреса и началом сигнала строба обмена);

·   возможность изменения селектируемых адресов (особенно важно для устройств ввода/вывода из-за малого количества свободных адресов);

·   малые аппаратурные затраты.

Рисунок 3.2 - Схема построения селектора адреса, реагирующая на единственный адрес 3CFh

Самое простое решение при построении селектора адреса - использование только микросхем логических элементов. Например, на рисунке 3.2 показана схема, реагирующая на единственный адрес 3CFh. Основным достоинством такого подхода является высокое быстродействие (задержка не превышает 30 нс). При использовании микросхем с малыми входными токами можно обойтись без буферов. Но есть и недостатки:

·   необходимость проектирования схемы заново для каждого нового адреса;

·   невозможность смены адреса;

·   сложность организации выбора нескольких адресов.

Если надо иметь возможность изменять выбираемый адрес, то можно предусмотреть использование отключаемых инверторов для всех линий адреса. Тогда, подключая или отключая нужные инверторы с помощью перемычек или переключателей, получаем возможность перестраивать в некоторых пределах селектор адреса. Другой путь - применение элементов "Исключающее ИЛИ", работающих как управляемые инверторы. На рисунке 3.3 показан тот же, что и на рисунке 3.2 селектор адреса, но выбирающий в зависимости от кода на шине AS, задаваемого перемычками, адреса 3CF, 2CF, 1CF, OCF и т.д. (всего 8 возможных адресов).

Рисунок 3.3 - Схема построения селектора адреса, реагирующая на адрес, задаваемый перемычками

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

Следующий метод реализации селектора адреса - использование микросхем компараторов кодов, на одну входную шину которых подается адрес из системной шины, а на другую входную шину - код AS, соответствующий селектируемому адресу. Очевидно, что каскадируя эти микросхемы, можно построить селектор адреса исключительно на них, но это приведет к неоправданным аппаратурным затратам. Гораздо эффективнее применять компараторы кодов для изменения селектируемых адресов.

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

Таблица 3.1 - Карта адресов УВВ архитектуры IBM PC

Зона адресов

Устройство ввода/вывода

000-01F

Контроллер ПДП (DMA- master)

020-021

Контроллер прерываний (Мaster)

022-023

Регистры управления аппаратурой. Порты ввода/вывода

040-05F

Регистры управления таймером

060-06F

Контроллер интерфейса клавиатуры (8042)

070-07F

Порты RTC и порты ввода/вывода CMOS

080-09F

Регистры ПДП

0A0-0BF

Контроллер прерываний (Slave)

0C0-0DF

Контроллер ПДП (DMA - slave)

0F0-0FF

Математический сопроцессор

1F0-1FB

Контроллер жесткого диска

278-27F

Параллельный порт #2

2B0-2DF

Контроллер графического адаптера

2F8-2FF

Последовательный порт #2

360-36F

Сетевые порты

378-37F

Параллельный порт #1

3B0-3BF

Адаптер параллельного порта и монохромного режима

3C0-3CF

EGA-адаптер

3D0-3FD

CGA-адаптер

3F0-3F7

Контроллер дисковода на гибких дисках

3F8-3FF

Последовательный порт #1


При выборе зоны адресов проектируемого модуля необходимо учитывать распределение адресов ввода/вывода стандартных и используемых УВВ микропроцессорной системы и выбирать адреса из свободных зон. В таблице 3.1 приведена карта адресов УВВ архитектуры IBM PC.

Следующая важная функция интерфейсной части УВВ - выработка внутренних стробирующих сигналов синхронно с управляющими сигналами (-IOR, -IOW, -MEMR, -MEMW) в случае обращения по адресам УВВ.

Самый простейший подход - использование логических элементов - удобен в случае малого числа внутренних стробов STR.

В случае необходимости выработки большого числа внутренних стробирующих сигналов более эффективно использовать микросхемы дешифраторов. Пример такого решения представлен на рисунке 3.4. Здесь два младших разряда адреса подаются не на селектор адреса, а непосредственно на дешифратор, верхняя половина которого управляется сигналом с селектора адреса и сигналом -IOR, а нижняя - сигналом с селектора адреса и -IOW. Таким образом, выходы STRO... STR3 соответствуют циклам чтения из четырех последовательных адресов, a STR4... STR7 - записи в эти адреса. Отметим, что не обязательно использовать все выходы дешифратора. Достоинства этого подхода - однотипность схемы рассматриваемого узла для всех УВВ и малые аппаратурные затраты при необходимости получения большого количества внутренних стробов обмена.

Рисунок 3.4 - Схема формирования внутренних стробирующих сигналов

В некоторых случаях удобно не разделять интерфейсную часть УВВ на селектор адреса и формирователь внутренних стробов.

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

Особо следует остановиться на организации 16-разрядного обмена и разделении пересылок старшего и младшего байтов. В данном случае участвуют два сигнала системной шины, которые не используются при 8-битном обмене: -SBHE и -I/O CS 16 (или -MEM CS 16). При этом сигнал -SBHE должен обрабатываться УВВ только в случае необходимости как 16, так и 8-разрядного обмена (данный сигнал совместно с сигналом SAO определяет тип цикла обмена). На рис 3.5 в качестве примера приведена схема формирователя внутренних стробов для 16-разрядного УВВ, работающего только в цикле записи 16-разрядного слова, старшего байта или младшего байта. Выходной строб формирователя STRO соответствует записи старшего байта или слова, а выходной строб STR1 - записи младшего байта или слова. Сигнал -I/O CS 16 вырабатывается при любом обращении к УВВ, детектируемым селектором адреса. Отметим, что этот сигнал может формироваться и элементом с тремя состояниями, но в этом случае надо обеспечить активный нулевой уровень при селектировании адреса и высокоимпедансное состояние в противном случае (рисунок 3.6). Это предотвратит конфликт на линии -I/O CS 16 сигналов от разных плат расширения.


 

Рисунок 3.6 - Схема формирования сигнала -I/O CS 16

Основным типом обмена по шине ISA является синхронный обмен, то есть обмен в темпе задатчика без учета быстродействия исполнителя. Однако возможен и асинхронный обмен, при котором "медленный" исполнитель приостанавливает работу задатчика на время выполнения им требуемой команды. В этом случае надо использовать сигнал I/O CH RDY, снятие которого (установка в состояние логического нуля) говорит о неготовности исполнителя к окончанию цикла обмена. Приостановка производится на целое число периодов SYSCLK и не может быть дольше системного времени ожидания 15,6 мкс (для некоторых компьютеров - 2,5 мкс).

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

Рисунок 3.7 - Схема формирования сигнала I/O CH RDY при потенциальном сигнале DK

Если сигнал DK отсутствует в явном виде, но известно время выполнения функции или его верхний предел, то необходимо сформировать задержку в самой интерфейсной части. В схеме на рисунке 3.8 слева эта задержка определяется временем выдержки одновибратора. Надо отметить, что при проектировании УВВ одним из показателей мастерства разработчика является количество использованных им одновибраторов или RC-цепочек (естественно, эти величины обратно пропорциональны друг другу). Это связано с тем, что любые аналоговые цепи подвержены действию помех и требуют настройки. Поэтому, если есть возможность, то надо формировать задержки, временные сдвиги, интервалы с помощью системных тактовых сигналов SYSCLK и OSC или внутренних тактов УВВ. На рисунке 3.8 справа приведена схема с использованием линии задержки на сдвиговом регистре, задержка которой определяется номером замкнутого переключателя и задается с точностью до периода сигнала SYSCLK. Но, в принципе, в данном случае требования к точности времени задержки невысоки, и использование одновибратора и даже простой RC-цепочки вполне допустимо.

Рисунок 3.8 - Схемы формирования сигнала I/O CH RDY при отсутствии сигнала DK

И в завершение рассматриваемой темы отметим, что асинхронный режим обмена по ISA можно реализовать и на более высоком уровне: путем опроса задатчиком флага готовности исполнителя и путем использования прерываний. Эти решения удобны в случае очень медленных УВВ, то есть тех, время исполнения функции которыми превышает предельное системное время задержки.

Организация внутренней шины данных возможна двумя способами:

1. Формирование входной и выходной внутренних шин. Для данной реализации требуются соответствующие магистральные мультиплексоры.

2. Формирование единой двунаправленной внутренней шины данных. Для данной реализации используются двунаправленные буфера, например, К555АП6.

Необходимо отметить, если разрабатываемое устройство содержит только порты ввода или только порты вывода, то внутренняя шина данных всегда однонаправленная. Поэтому для буферирования сигналов шины используются однонаправленные буферные элементы, например, К555АП5.

На рисунке 3.9 приведены схемы реализации 8-ми и 16-ти разрядных внутренних шин.

Рисунок 3.9 - Схемы реализации 8-ми и 16-ти разрядных внутренних шин

4. Особенности использования прерываний


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

Все прерывания системной шины ISA - радиальные, то есть для перевода процессора в режим обработки прерывания достаточно послать запрос, в качестве которого выступает положительный фронт сигнала на одной из линий IRQ. Однако из этого совсем не следует, что на эту линию можно подать сколь угодно короткий импульс положительной полярности, так как никакой гарантии, что этот импульс дойдет до контроллера прерываний, будет им обработан и вызовет нужную реакцию, при этом не существует.

Самым оптимальным решением является перевод сигнала IRQ в логическую единицу при возникновении необходимости обмена (то есть аппаратно), а сброс в исходное состояние логического нуля - по команде процессора, которую он исполняет в ходе программы обработки прерывания (то есть программно). При этом будет полная уверенность, что запрос действительно принят и обработан.

Рисунок 4.1 - Схема формирования запроса прерывания

Пусть, например, УВВ принимает данные от внешнего устройства и после их приема необходимо сформировать прерывание, обработка которого сводится только к чтению данных из УВВ. Схема для данного случая показана на рисунке 4.1. Здесь READY - сигнал поступления данных и готовности к выдаче их процессору. По этому сигналу триггер устанавливается в единицу, и его выход используется как сигнал запроса прерывания. Номер используемой линии IRQ выбирается одним из четырех переключателей (такой выбор в том или ином виде необходим, так как свободных линий IRQ в стандартной конфигурации не так уж много). В исходное состояние триггер сбрасывается стробом чтения данных, вырабатываемым при выполнении программы обработки прерывания. Инверсный выход триггера используется как флаг готовности, который программно опрашивается процессором с помощью сигнала -STR2.

Иногда имеет смысл предусмотреть в схеме УВВ возможность запрещения прерывания от него, хотя это можно сделать и путем маскирования данного прерывания в контроллере прерываний (программным путем).

В заключение отметим, что тип выходного каскада линии IRQ - это обычный ТТЛ, поэтому необходимо тщательно контролировать, чтобы на каждую из линий IRQ поступал сигнал только от одной платы расширения, иначе может выйти из строя выходной каскад одной из конфликтующих плат.

При выборе номера прерывания IRQ проектируемого модуля необходимо учитывать задействованные номера прерываний IRQ микропроцессорной системы. В таблице 4.1. приведена карта прерываний архитектуры IBM PC.

Таблица 4.1 - Карта прерываний архитектуры IBM PC

Номер IRQ

Устройство ввода/вывода

0

Прерывание системного таймера из канала таймера 0

1

Переполнение буфера вывода клавиатуры

2

Каскад для IRQ8-15

3

Последовательный порт #2

4

Последовательный порт #1

5

Параллельный порт #2

6

Дисковод на гибких дисках (микросхема SMC)

7

Параллельный порт #1

8

Таймер RTC

9

Свободный

10

Свободный

11

Свободный

12

Мышь PS/2

13

Математический сопроцессор

14

Встроенный канал жесткого диска (IDE 1)

15

Встроенный канал жесткого диска (IDE 2)


5. Применение прямого доступа


Прямой доступ осуществляется по системной шине ISA, и, следовательно, его скорость ограничена, в первую очередь, принятым для ISA протоколом обмена.

В отличие от прерываний, где требуется только один сигнал - IRQ, в диалоге режима ПДП "запрос прямого доступа - предоставление прямого доступа" участвуют два сигнала: DRQ и DACK. Кроме того, в обмене участвует сигнал AEN. Временная диаграмма циклов обмена в режиме ПДП приведена на рисунке 2.2. Пример схемы запроса прямого доступа показан на рисунке 5.1.

Сигнал READY - это готовность УВВ к обмену данными в режиме прямого доступа. Он перебрасывает триггер, выход которого - сигнал DRQ. В исходное состояние триггер сбрасывается сигналом DACK. Если прямой доступ предоставлен УВВ, то сигнал AEN должен интерпретироваться как наш адрес, поэтому его необходимо объединить с сигналом с выхода селектора адреса (считаем, что возможен также режим программно-управляемого обмена с УВВ). Точно так же, как в случае прерываний, требуется следить, чтобы на каждую линию DRQ поступал только один сигнал, а также, чтобы совпадали номера используемых УВВ сигналов DRQ и DACK.

Рисунок 5.1 - Схема формирования запроса ПДП

Таблица 5.1 - Карта каналов ПДП архитектуры IBM PC

Номер канала

Устройство ввода/вывода

0

1

Встроенный в плату ECP (обязателен)

2

Дисковод гибких дисков (микросхема SMC)

3

Встроенный в плату ECP (по умолчанию)

4

Каскад для контроллера ПДП 1 (DMA 1- master)

5

Свободный

6

Свободный

7

Свободный


При выборе канала ПДП проектируемого модуля необходимо учитывать задействованные каналы ПДП микропроцессорной системы. В таблице 5.1. приведена карта прерываний архитектуры IBM PC.

 

. Принципы построения модулей системной шины ISA


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

Основу любого адаптера интерфейса связи составляет программируемая БИС. Обобщенная структурная схема адаптера интерфейса связи приведена на рисунке 6.1. В зависимости от интерфейса связи, используемой БИС, способа программного доступа к ней, сопряжения с линией связи и схемы формирования сигнала запроса прерывания представленная структурная схема детализируется и принимает окончательный вид.




БД

буфер данных


БО

буфер вывода


БI

буфер ввода


СА

селектор адреса


СБИС

специализированная БИС


СФЗП

схема формирования запроса прерывания


РИС

разъем интерфейса связи

Рисунок 6.1 - Обобщенная схема адаптера интерфейса связи

Таблица 6.1 - Программируемые БИС интерфейсов связи

Интерфейс связи

БИС

Параллельный порт (ИРПР-М)

82С11

Последовательный порт (RS-232C)

8250, 16450,16550, 16550А

Канал общего пользования (КОП, IEEE-488)

8091A, К580ВК91А


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

Интерфейсная часть адаптера (буфер данных, селектор адреса) проектируется по правилам изложенных в п. 2, 3 и с учетом интерфейсной части используемой БИС.

Буфера ввода и буфера вывода зависят от электрических характеристик интерфейса связи и выходных/входных каскадов используемой БИС. В качестве буферов ввода/вывода для интерфейсов ИРПР-М, в случае не достаточной нагрузочной способности выходных/входных каскадов БИС 82С11, используют D-регистры типа К555ИР23 и однонаправленные буфера типа К555АП3, К555АП5. Для подавления выбросов при переключении сигналов шины данных используют параллельное (сигнал, земля) включение емкостей номиналом 2200 пФ. В качестве буферных элементов КОП используют специализированные БИС К580ВА93 со стандартной схемой подключения к БИС К580ВК91А. Буферные схемы интерфейса RS-232C проектируются на базе схем К170АП2 (МС1488), К170УП2 (МС1489)с амплитудой сигналов RS-232C ±12В. Схема входного и выходного буфера для интерфейса RS-232C приведена на рисунке 6.2.

Схема формирования запроса прерывания зависит от типа интерфейса и используемой БИС и проектируется с учетом требований изложенных в п.4. Условием формирования запроса прерывания для интерфейса ИРПР-М является установление сигнала подтверждения (-ACKNLG) при разрешенном бите прерывания порта управления. Аналогичные условия формируются и для других интерфейсов. Как правило, схема формирования запроса прерывания проектируется на базе простейших логических схем. Кроме того, некоторые БИС содержат внутренние схемы формирования запроса прерывания. В этом случае, требуется проверить нагрузочную способность выхода INT и, при необходимости, усилить сигнал с помощью простейшего буфера.

Рисунок 6.2 - Схема входного и выходного буфера для интерфейса RS-232C

 

. Особенности программирования модулей


Алгоритм программирования модулей зависит от типа используемой программируемой СБИС и режима обмена между СБИС и процессором компьютера через системную шину ISA.

Инициализация аппаратных модулей проводится в несколько этапов. На первом этапе выполняется инициализация СБИС модуля. На последующих этапах производится инициализация системы прерываний или ПДП, в зависимости от используемых режимов обмена данными между модулем и процессором системы.

В общем виде инициализация СБИС и модуля в целом заключается в выполнении следующей последовательности действий:

1. Формирование сброса СБИС. Сброс СБИС в исходное состояние производится двумя способами: аппаратным или программным. Для использования аппаратного способа требуется на принципиальной схеме соединить сигнал «сброс» (RESET DRV) системной шины с входом «сброс» СБИС (SR или RESET). Необходимо помнить, что аппаратный сброс на системной шине формируется только при включении питания и в процессе работы сигнал «сброс» находится в пассивном состоянии. Тем не менее, если СБИС имеет вход «сброс», то соединение его с линией «сброс» системной шины обязательно. Программный способ более универсален и позволяет инициализировать СБИС в процессе работы модуля. Для формирования программного сброса требуется в СБИС по адресу регистра режима или сброса подать соответствующий двоичный код. Значение кода сброса определено спецификацией СБИС. Значение адреса регистра режима или сброса определяется разработчиком модуля, то есть в процессе программирования значение адреса фиксировано.

2. Блокирование системы прерываний. Блокирование прерываний необходимо для модулей, которые работают в режиме прерываний. Прерывания должны быть запрещены на все время инициализации СБИС и модуля в целом. Блокирование прерываний производится одним из двух способов. Первый способ заключается в подаче команды «запретить прерывания». В результате выполнения этой команды вход процессора «прерывание» будет аппаратно закрыт. Второй способ заключается в программной подаче соответствующей маски (двоичного кода = 00 или FFh) по адресу регистра маски запросов прерываний контроллера прерываний. В результате выполнения входы «запрос прерывания» контроллера прерываний будут аппаратно закрыты. На практике в основном используют первый способ, так как он более простой. Необходимо добавить, что блокирование системы прерываний рекомендуется проводить при инициализации всех модулей, независимо от режима обмена.

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

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

5. Разблокирование системы прерываний. Разблокирование системы прерываний производится в зависимости от использованного способа блокирования системы прерываний (п.2). Первый способ заключается в подаче команды «разрешить прерывания». В результате выполнения этой команды вход процессора «прерывание» будет аппаратно открыт. Второй способ заключается в программной подаче соответствующей маски (двоичного кода) по адресу регистра маски запросов прерываний контроллера прерываний. В результате выполнения соответствующие входы «запрос прерывания» контроллера прерываний будут аппаратно открыты.

В общем виде инициализация системы прерываний заключается в выполнении следующей последовательности действий:

Похожие работы на - Разработка аппаратно-программных модулей системной шины ISA

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!