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

Тип работы:
Методичка
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

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

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

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

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

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

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

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

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

Киров 2000

УДК 681. 326. 34

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

кафедра АТ

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

кафедра РЭС

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

ЛР №

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Варианты заданий приведены в таблице 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 изолированных выхода, обмен в режиме ПДП

11

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

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.5 — Схема формирователя внутренних стробов для 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 можно реализовать и на более высоком уровне: путем опроса задатчиком флага готовности исполнителя и путем использования прерываний. Эти решения удобны в случае очень медленных УВВ, то есть тех, время исполнения функции которыми превышает предельное системное время задержки.

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

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

Формирование единой двунаправленной внутренней шины данных. Для данной реализации используются двунаправленные буфера, например, К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.

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

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

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

БД

буфер данных

БО

буфер вывода

БI

буфер ввода

СА

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

СБИС

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

СФЗП

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

РИС

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

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

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

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

БИС

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

82С11

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

8250, 16 450,16550, 16 550А

Канал общего пользования (КОП, 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

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

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

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

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

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

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

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

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

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

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

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

Определение места в таблице прерываний. В таблице прерываний определяется место используемого вектора. Место в таблице прерываний фиксировано и зависит от используемого вектора прерываний (номера запроса прерывания).

Заполнение таблицы прерываний. Старое значение таблицы прерываний запоминается в основной программе. Значение физического адреса (сегмент, смещение) подпрограммы заносится в таблицу прерываний по определенному месту. По окончанию работы основной программы требуется старое значение таблицы прерываний вернуть на свое место.

Программирование контроллера прерываний. В регистр маски контроллера прерываний занести двоичный код, который открывает вход «запрос прерывания» используемого запроса прерывания. Адрес регистра маски контроллера прерывания фиксирован и определен архитектурой компьютера.

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

В оперативной памяти динамически выделяется блок для буфера ПДП, размер блока определяется прикладной задачей. При выделении блока требуется следить за тем, чтобы весь буфер ПДП размещался в одной странице размером 64 кБайт. Это ограничение вызвано архитектурой IBM XT/AT. Определить начальный физический адрес буфера ПДП.

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

Задание режима работы канала ПДП. Формируется управляющее слово, в котором задаются номер канала, тип передачи (одиночная, пакетная), автоинициализация по окончанию передачи всего буфера ПДП и другие параметры. Формат управляющего слова определен спецификацией контроллера ПДП. Код управляющего слова записывается в регистр режима, адрес которого известен.

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

Листинги процедур инициализации системы ПДП приведены в приложении Б.

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

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

8. Содержание пояснительной записки

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

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

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

титульный лист;

задание на курсовую работу;

содержание;

текст пояснительной записки;

приложения.

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

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

системная шина модуль инициализация

СОДЕРЖАНИЕ

Введение

1 Анализ темы курсовой работы

1.1 Анализ существующих устройств и особенностей их проектирования

1.2 Системная шина ISA. Характеристики, особенности проектирования модулей системной шины

1.3 Анализ внешних сигналов и интерфейсов

1.4 Этапы проектирования модуля

1.5 Выводы к главе 1

2 Разработка схемы модуля

2.1 Разработка обобщенной схемы модуля

2.2 Выбор СБИС

2.3 Разработка структуры интерфейсной части модуля

2.4 Разработка структуры сопряжения с внешними сигналами

2.5 Разработка структурной схемы модуля

2.6 Выбор элементной базы

2.7 Выбор адресного пространства портов ввода-вывода, номеров прерываний и ПДП

2.8 Разработка схемы интерфейсной части модуля

2.9 Разработка схемы сопряжения с внешними сигналами

2. 10 Разработка принципиальной схемы

2. 11 Выводы к главе 2

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

3.1 Разработка алгоритмов инициализации, управления и контроля

3.2 Программный модуль инициализации

3.3 Программный модуль управления

3.4 Программный модуль контроля

3.5 Выводы к главе 3

Заключение

Библиографический список

Приложение А. Принципиальная схема устройства

Приложение Б. Перечень элементов

Приложение В. Листинги программных модулей

ЛИТЕРАТУРА для курсового проекта

Александров К.К., Кузьмина Е. Г. Электротехнические чертежи и схемы. — М.: Энергоатомиздат, 1990. — 288с.

Блохин С. М. Шина ISA персонального компьютера IBM PC/AT — М.: ПК «Сплайн», 1992.

Бычков Е. А. Архитектура и интерфейсы персональных компьютеров. — М.: Центр «СКС», 1993.

Воробьев Н.В., Вернер В. Д. Микропроцессоры. Элементная база и схемотехника средств сопряжения: Учеб. пособие для втузов /Под ред. Л. Н. Преснухина. — М.: Высшая школа, 1984.

Завадский В. А. Компьютерная электроника — К.: ВЕК, 1996.

Интерфейсы систем обработки данных: Справочник/А.А. Мячев, В. Н. Степанов, В. К. Щербо; Под ред. А. А. Мячева. — М.: Радио и связь, 1989.

Коффрон Дж. Технические средства микропроцессорных систем: Практический курс. — М.: Мир, 1983.

Микропроцессоры и микропроцессорные комплекты ИС. Под ред. Шахнова В. А., т.1. — М.: Радио и связь, 1988.

Мячев А.А., Иванов В. В. Интерфейсы вычислительных систем на базе мини- и микроЭВМ /Под ред. Б. Н. Наумова. — М.: Радио и связь, 1986.

Новиков Ю.В., Калашников О. А., Гуляев С. Э. Разработка устройств сопряжения для персонального компьютера типа IBM PC -М.: Эком., 1997.

Руководство по архитектуре IBM PC AT/ Ж. К. Голенкова, А. В. Заблоцкий, М. Л. Мархасин и др.; Под ред. М. Л. Мархасина. — Мн.: ООО «Консул», 1992. — 949с.

Сопряжение датчиков и устройств ввода данных с компьютерами IBM PC: Пер. С англ./ Под ред. У. Томпкинса, Дж. Уэбстера. — М.: Мир, 1992. — 592с.

Стандарт ВятГТУ «ОБЩИЕ ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ ТЕКСТОВЫХ ДОКУМЕНТОВ» СТП ВятГТУ 101−2000.

Усатенко С.Т., Каченюк Т. К., Терехова М. В. Выполнение электрических схем по ЕСКД: Справочник. — 2-е изд., перераб. и доп. — М.: Издательство стандартов, 1992.

Фролов А.В., Фролов Г. В. Аппаратное обеспечение IBM PC: В 2-х ч. — М.: «ДИАЛОГ-МИФИ», 1992.

Шабалин Л. А. Проектирование микропроцессорных устройств систем управления / Методичесие указания по выполнению курсового проекта. — Киров, ВятГТУ, 1999.

Шевкопляс Б. В. Микропроцессорные структуры. Инженерные решения. Второе издание: Справочник. — М.: Радио и связь, 1990.

Шевкопляс Б. В. Микропроцессорные структуры. Инженерные решения. Дополнение первое: Справочник. — М.: Радио и связь, 1993.

Приложение А. характеристики системной шины ISA

Таблица А.1 — Описание сигналов шин ISA

Обозначение

Назначение

Направление

Тип источника

SA< 19… 0>

Адресные сигналы

I

ТРИ

LA< 23… 17>

Адресные сигналы

I

ТРИ

-SBHE

Разрешение старшего байта по линиям SD< 15… 8>

I

ТРИ

BALE

Строб для записи адреса по линиям LA

I

ТТЛ

AEN

Разрешение адреса. Сообщает устройствам о выполнении на шине циклов ПДП

I

ТТЛ

SD< 15… 0>

Шина данных

I/O

ТРИ

-MEMR

(-SMEMR)

Чтение памяти (чтение памяти в пределах первого мегабайта адресного пространства)

I

ТРИ

-MEMW

(-SMEMW)

Запись в память (запись в память в пределах первого мегабайта адресного пространства)

I

ТРИ

-IOR

Чтение УВВ

I

ТРИ

-IOW

Запись в УВВ

I

ТРИ

-MEM CS16

Выбор цикла для памяти, указывает о том, что память 16-ти разрядная

О

ОК

-I/O CS16

Выбор цикла для УВВ, указывает о том, что УВВ 16-ти разрядное

О

ОК

-I/O CH RDY

Готовность канала ввода/вывода. Предназначен для удлинения циклов доступа

О

ОК

-0WS

0 тактов ожидания

О

ОК

-REFRESH

Регенерация памяти

I

ОК

-MASTER

Ведущий. Предназначен для захвата шины внешней платой

I/O

ОК

-I/O CH CK

Проверка канала ввода/вывода. Сообщение о фатальной ошибке

О

ОК

RESET DRV

Сброс устройств

I

ТТЛ

SYSCLK

Системная частота

I

ТРИ

OSC

Частота, равная 14. 3818 МГц

I

ТТЛ

IRQ< 15,14,12,11,10,9,7… 3>

Запрос на прерывание

О

ТТЛ

DRQ<7… 5,3… 0>

Запрос на ПДП

O

ТТЛ

-DASK<7… 5, 3… 0>

Подтверждение ПДП

I

ТТЛ

TC

Окончание счета ПДП

I

ТТЛ

Примечание.

В таблице используются следующие обозначения:

знак «-» (минус) перед обозначением сигнала означает, что активный уровень этого сигнала — логический ноль;

I — сигнал является входным для внешних плат;

О — сигнал является выходным для внешних плат;

I/O — сигнал является как входным, так и выходным для внешних плат;

ТРИ — выход микросхемы с тремя допустимыми состояниями на выходе;

ТТЛ — выход микросхемы транзисторно-транзисторной логики;

ОК — открытый коллекторный выход.

Таблица А.2 — Назначение выводов шины ISA

Номер вывода

Сторона А

Сторона B

Сторона C

Сторона D

1

-I/O CH CK

GND

-SBHE

-MEM CS16

2

SD7

RESET DRV

LA23

-I/O CS16

3

SD6

+5V

LA22

IRQ10

4

SD5

IRQ9

LA21

IRQ11

5

SD4

-5V

LA20

IRQ12

6

SD3

DRQ2

LA19

IRQ15

7

SD2

-12V

LA18

IRQ14

8

SD1

0WS

LA17

-DACK0

9

SD0

+12V

-MEMR

DRQ0

10

-I/O CH RDY

GND

-MEMW

-DACK5

11

AEN

-SMEMW

SD8

DRQ5

12

SA19

-SMEMR

SD9

-DACK6

13

SA18

-IOW

SD10

DRQ6

14

SA17

-IOR

SD11

-DACK7

15

SA16

-DACK3

SD12

DRQ7

16

SA15

DRQ3

SD13

+5V

17

SA14

-DACK1

SD14

-MASTER

18

SA13

DRQ1

SD15

GND

19

SA12

-REFRESH

20

SA11

CLK

21

SA10

IRQ7

22

SA9

IRQ6

23

SA8

IRQ5

24

SA7

IRQ4

25

SA6

IRQ3

26

SA5

-DACK2

27

SA4

TC

28

SA3

BALE

29

SA2

+5V

30

SA1

OSC

31

SA0

GND

Таблица А.3 — Электрические характеристики источников сигналов шины ISA

ТТЛ

ТРИ

ОК

передатчик

Приемник

передатчик

приемник

ТРИ

Передатчик

I1l

I1h

-

-

-0. 8

0. 04

-

-

-0. 8

0. 04

-0. 4

0. 04

-0. 4

0. 02

Iol

Ioh

24

-3

-

-3

24

-3

0. 4

-0. 04

0. 4

-0. 04

24

Примечания:

все токи в таблице указаны в миллиамперах. Знак «-» перед значением тока означает, что ток вытекает из внешней платы в слот шины;

линия с открытым коллекторным выходом может быть подключена к ТТЛ входу;

по линии с открытым коллекторным выходом ток Ioh (ток утечки) не должен превышать для каждого слота 0.4 миллиампера.

Таблица А.4 — Максимальные токи потребления внешней платой шины ISA

Напряжение

[8]

[8/16]

+5 B

3.0 A

4.5 A

+12 B

1.5 A

1.5 A

-5 B

1.5 A

1.5 A

-12 B

1.5 A

1.5 A

Примечания:

[8] - внешняя плата использует только 8-ми разрядный слот;

[8/16] - внешняя плата использует 16-ти разрядный слот;

таблица информирует о том, какие токи разрешается пропускать через разъем внешней платы.

Приложение б. Процедуры инициализации системы ПДП

/*

Программный модуль контроллера ПДП

*/

// Макрос для извлечения байтов из 20-разрядного адреса

#define LSB (x) (*((unsigned char *) & x))

#define MSB (x) (*(((unsigned char *) & x) + 1))

#define PG (x) (*(((unsigned char *) & x) + 2))

int page_tbl[] = // таблица адресов страничных регистров

{ 0×87, 0×83, 0×81, 0×82, // для каналов ПДП 0, 1, 2, 3

0x8f, 0x8b, 0×89, 0x8a }; // 4, 5, 6, 7

//**************************************************************

// Назначить указатель для буфера ПДП < buf_dma>

// с выравниванием границ и

// размещения буфера в зоне одной страницы

// возвращает: 0 — буфер ПДП организован в памяти

// 1 — мало памяти для буфера ПДП

// bufer — начало рабочего буфера ПДП

// block — начало блока памяти farmalloc

//**************************************************************

//#pragma argsused

int AllocDmaBuf (char far** bufer, char far** block, unsigned int size_dma)

ПоказатьСвернуть
Заполнить форму текущей работой