close

Вход

Забыли?

вход по аккаунту

?

мойотчёт

код для вставкиСкачать
 Федеральное государственное бюджетное
образовательное учреждение
Ижевский государственный технический университет
им. М.Т. Калашникова
Кафедра "Вычислительная Техника"
Отчет по лабораторной работе № 1
по дисциплине "Интерфейсы периферийных устройств"
Выполнил: студент гр. 7-78-2
Морозов Н.О.
Проверил:
к.т.н
Казаков В.С.
Ижевск
2013
Оглавление
ISA шина3
Регенерация памяти8
Прерывания9
Задание10
Ход работы10
Заключение18
ISA Шина
ISA Bus (Industry Standard Architecture) - шина расширения, применявшаяся с первых моделей PC и ставшая промышленным стандартом. В компьютере XT использовалась шина с разрядностью данных 8 бит и адреса - 20 бит. В компьютерах AT ее расширили до 16 бит данных и 24 бит адреса. Конструктивно, как показано на рис. 1, шина выполнена в виде двух щелевых разъемов с шагом выводов 2,54 мм. В подмножестве ISA-8 используется только 62-контактный слот (ряды А, В), в ISА-16 применяется дополнительный 36-контактный слот (ряды С, D). Шина РС/104, разработанная для встраиваемых контроллеров на базе PC, отличается от обычной ISA только конструктивно.
Для шины ISA выпущено (и продолжает выпускаться) огромное количество разнообразных карт расширения.
Интерфейс ISA был основным на устаревших системах типа AT. На материнских платах современного форм-фактора ATX, выпускаемых с 1997 года, этот интерфейс, как правило, отсутствует.
В промышленности широкое распространение получила шина PC/104. Электрически она полностью совместима с шиной ISA, но отличается от неё конструкцией разъёмов.
Рисунок 1 - Слот ISA
Шина ISA обеспечивает возможность обращения к 8- или 16-битным регистрам устройств, отображенным на пространства ввода-вывода и памяти. Диапазон адресов памяти для устройств ограничен областью верхней памяти UM А (АОООО-FFFFFh).
Для шины ISA-16 настройками CMOS Setup может быть разрешено пространство между 15-м и 16-м мегабайтом памяти (при этом компьютер не сможет использовать более 15 Мбайт ОЗУ). Для шины ISA диапазон адресов ввода-вывода сверху ограничен количеством задействованных для дешифрации бит адреса, нижняя областью адресов О-FFh недоступна (зарезервирована под устройства системной платы). В PC была принята 10-битная адресация ввода-вывода, при которой линии адреса А[15:10] устройствами игнорировались. Таким образом, диапазон адресов устройств шины ISА ограничивается областью lOOh-3FFh. Родоначальником в семействе шин ISA была появившаяся в 1981 году 8-разрядная шина (8 bit ISA Bus), которую можно встретить в компьютерах ХТ-генерации. 8-разрядная шина имеет 62 линии, контакты которых можно найти на ее слотах. Они включают 8 линий данных, 20 линий адреса, 6 линий запроса прерываний. Шина функционирует на частоте 4,77 МГц. 8-разрядная шина ISA - самая медленная из всех системных шин (пропускная способность составляет всего 1.2 Мб в секунду), поэтому она уже давно устарела и поэтому сегодня нигде не используется, разве что некоторые карточки FM-тюнера могут 8-разрядный ISA-интерфейс, так как там шина используется только для управления, а не для передачи данных, и скорость ее работы является некритичной.
Шина ISA-8 может предоставить до 6 линий запросов прерываний, ISА-16 - 11.
Часть из них могут "отобрать" устройства системной платы или шина PCI. Шина ISA-8 позволяет использовать до трех 8-битных каналов DMA. На 16-битной шине доступны еще три 16-битных и один 8-битный канал. Все перечисленные ресурсы шины должны быть бесконфликтно распределены. Бесконфликтность подразумевает выполнение перечисленных ниже условий.
1. Каждое устройство-исполнитель должно управлять шиной данных только при чтении по его адресам или по используемому им каналу DMA. Области адресов, по которым выполняется чтение регистров различных устройств, не должны пересекаться. Поскольку при записи шиной данных управляет лишь текущий задатчик, возможность конфликтов, приводящих к искажениям данных, исключена. "Подсматривать" операции записи, адресованные не данному устройству, не возбраняется.
2. Назначенную линию IRQx или DRQx устройство должно держать на низком уровне в пассивном состоянии и переводить в высокий уровень для активации запроса. Неиспользуемыми линиями запросов устройство управлять не имеет права, они должны электрически отсоединяться или подключаться к буферу, находящемуся в третьем состоянии. Одной линией запроса может пользоваться только одно устройство. Такая нелепость (с точки зрения схемотехники ТТЛ) была допущена в первых PC и из требований совместимости тиражируется до сих пор.
Задача распределения ресурсов для старых адаптеров решалась с помощью джамперов, затем появились программно-конфигурируемые устройства, которые вытесняются автоматически конфигурируемыми платами PnP. Назначение контактов слотов шин ISA и EISA приведено в таблице 1 и 2. Таблица 1 - Основной разъем шин ISA-8, ISA-16 и EISA
Ряд В№Ряд АGND1IOCHK#Reset2SD7+5 В3SD6IRQ2/914SD5-5 В5SD4DRQ26SD3-12В7SD2OWS#28SD1+12ВgSDOGND10IOCHDRYSMEMW#иAENSMEMR#12SA19IOWR#13SA18IORD#14SA17DACK3#15SA16DRQ316SA15DACK1#17SA14DRQ118SA13REFRESH"19SA12BCLK20SA11IRO721SA10IRQ622SA9IRQ523SA8IRQ424SA7IRQ325SA6DACK2#26SA5TC27SA4BALE28SA3+5 В29SA2Osc30SA1GND31SAO
1В4: XT=IRQ2, AT=IRQ9.
2В8: XT-Card Selected.
Таблица 2 Дополнительный разъем шин ISA-16 и ISA
Ряд О№Ряд СMEMCS16#1SBHE#IOCS16#2LA23IRQ103LA22IRQ 114LA21IRQ125LA20IRQ 156LA19IRQ147LA18DACKO#8LA17DRQO9MEMR#DACK5#10MEMW#DRQ511SD8DACK6#12SD9DRQ613SD10DACK7#14SD11DRQ715SD12+5B16SD13MASTER*17SD14GND18SD15 Сигналы шины ISA естественны для периферийных микросхем фирмы Intel (в стиле семейства 8080). Набор сигналов ISA-8 предельно прост. Программное обращение к ячейкам памяти и пространства ввода-вывода обеспечивают следующие сигналы.
* SD[7:0] - шина данных. Иное название сигналов - Data или D.
* SA[19:0] (Addr[19:0], A[19:0]) - шина адреса.
* AEN - разрешение адресации портов (запрещает ложную дешифрацию адреса в цикле DMA).
* IOW# (IOWC#, IOWR#) - запись в порт.
* IOR# (IORC#, IORD#) - чтение порта.
* SMEMW* (SMEMWR#, SMWTC#) - запись в системную память (в диапазоне адресов 0-FFFFFh).
* SMEMR* (SMEMRD#, SMRDC#) - чтение системной памяти (в диапазоне адресов 0-FFFFFh).
Ниже перечислены сигналы, относящиеся к сигналам запросов прерывания и каналам прямого доступа к памяти.
* IRQ2/9, IRQ[3:7] - запросы прерываний. Положительный перепад сигнала
вызывает запрос аппаратного прерывания. Для идентификации источника
высокий уровень должен сохраняться до подтверждения прерывания процессором, что затрудняет разделение (совместное использование) прерываний. Линия IRQ2/9 в шинах XT вызывает аппаратное прерывание с номером 2, а в AT - с номером 9.
* DRQ[1:3] - запросы 8-битных каналов DMA (положительным перепадом).
* DACK[1:3]# - подтверждение запросов 8-битных каналов DMA.
* ТС - признак завершения счетчика циклов DMA.
Шина имеет и несколько служебных сигналов синхронизации, сброса и регенерации памяти, установленной на адаптерах.
* IOCHRDY (CHRDY, I/OCHRDY) - готовность устройства, низкий уровень удлиняет текущий цикл (не более 15 мкс).
* BALE (ALE) - разрешение защелки адреса. После его спада в каждом цикле процессора линии SA[0:19] гарантированно содержат действительный адрес.
* REFRESH* (REF#) - цикл регенерации памяти (в XT называется DACKO#).
Сигнал появляется каждые 15 мкс, при этом шина адреса указывает на очередную регенерируемую строку памяти.
* IOCHK# - контроль канала, низкий уровень вызывает NMI CPU (разрешение и индикация в системных портах 061h, 062h).
* RESET (RESDRV, RESETDRV) - сигнал аппаратного сброса (активный уровень -высокий).
* BCLK (CLK) - синхронизация шины с частотой около 8 МГц. ПУ могут не использовать этот сигнал, работая только по управляющим сигналам записи и чтения.
* OSC - несинхронизированная с шиной частота 14,431818 МГц (использовалась старыми дисплейными адаптерами).
Кроме логических сигналов шина имеет контакты для разводки питания +5, -5, +12 и-12 В.
Дополнительный разъем, расширяющий шину до 16-битной, содержит линии данных, адреса, запросов прерываний и каналов прямого доступа.
* SD[15:8] - шина данных.
* SBHE# - признак наличия данных на линиях SD[15:8].
* LA[23:17] - нефиксированные сигналы адреса, требующие защелкивания по спаду сигнала BALE. Такой способ подачи адреса позволяет сократить задержку. Кроме того, схемы дешифратора адреса памяти плат расширения начинают декодирование несколько раньше спада BALE.
* IRQ[10:12], IRQ[14:15] - дополнительные запросы прерываний.
* DRQ[5:7] - запросы 16-битных каналов DMA (положительным перепадом).
* DACK[5:7]# - подтверждение запросов 16-битных каналов DMA.
* DRQO и DACKO* - запрос и подтверждение 8-битного канала DMA, освободившегося от регенерации памяти.
Перечисленные ниже сигналы связаны с переключением разрядности данных.
* МEMCS16#(М16#)- адресуемое устройство поддерживает 16-битные обращения к памяти.
* IOCS16* (I/OCS16*, IO16#) - адресуемое устройство поддерживает 16-битные обращения к портам.
* К новым управляющим сигналам относятся следующие.
* MEMW# (MWTC#) - запись в память в любой области до 16 Мбайт.
* MEMR# (MRDC#) - чтение памяти в любой области до 16 Мбайт.
* OWS# (SRDY#, NOWS#, ENDXFR) - укорочение текущего цикла по инициативе адресованного устройства.
* MASTER* (MASTER 16#) - запрос от устройства, использующего 16-битный канал DMA на управление шиной. При получении подтверждения DACK [5:7] Bus-Master захватывает шину.
Регенерация памяти
Динамическая память, применяемая в компьютере в качестве системного ОЗУ, а также, возможно, находящаяся на картах расширения, требует регенерации - периодического обновления (refresh) всех строк матрицы. На системной плате всегда имеется контроллер регенерации памяти, в задачу которого входит регулярный перебор строк памяти с формированием специального цикла регенерации. Каждые 15 мкс контроллер регенерации формирует цикл регенерации (сигнал REFRESH*), диаграмма которого аналогична циклу DMA, но вместо чтения данных выполняется регенерация. В этом цикле считывания данных из микросхем памяти не производится, но стробы строк формируются. На шине ISA контроллер регенерации работает как нулевой канал DMA (в старых машинах он непосредственно и использовался). Каждые 15 мкс контроллер регенерации формирует сигнал REFRESH*, во время действия которого устанавливается AEN=H и BALE=H, формируется сигнал MEMR#, а на линиях SA[7:0] устанавливается адрес текущей регенерируемой строки. Диаграмма цикла регенерации аналогична циклу DMA, но сигнал REFRESH* указывает на то, что вместо чтения данных выполняется регенерация.
Если какое-либо устройство захватывает управление шиной более чем на 15 мкс, оно должно позаботиться о регенерации памяти. Для этого раз в 15 мкс оно должно вырабатывать сигнал REFRESH*, "отпуская" все адресные и управляющие сигналы. При этом контроллер шины, расположенный на системной плате и отвечающий за регенерацию памяти, сформирует очередной адрес на линиях SA[7:0] и сигнал MEMR*, а также установит AEN=0 и BALE=1 на все время цикла регенерации. Если устройство, надолго захватившее шину, сигнал регенерации не формирует, то запросы регенерации накапливаются в контроллере регенерации, и, как только управление будет возвращено, эти запросы будут немедленно удовлетворены. Однако число безнаказанно пропущенных запросов ограничено свойствами динамической памяти, и очередь запросов в контроллере регенерации может ограничиваться, например, четырьмя.
Прерывания
На шине ISA имеются линии запросов маскируемых и немаскируемых аппаратных прерываний. Линии запросов маскируемых прерываний IRQ2-IRQ7 поступают на входы первичного контроллера прерываний, IRQ9-IRQ15 - на входы вторичного. Контакт В4 (IRQ2/9) запрос IRQ2 вырабатывал только у машин РХ/ХТ. На всех современных машинах (класса AT) он является запросом IRQ9, хотя на многих адаптерах (всех 8-битных) он обозначается как IRQ2. Приоритеты у запросов убывают по порядку IRQ9...IRQ15 и далее IRQ3...IRQ7. Запросы от конкретных линий могут быть замаскированы записью в регистры контроллера, общий запрет/разрешение осуществляется манипулированием флагом разрешения прерываний (IF) процессора. Устройство может использовать одну или несколько линий запроса прерывания. На используемой линии запроса устройство в покое должно формировать низкий уровень сигнала, а при возникновении условия прерывания устанавливать на нем высокий уровень запроса. Неиспользуемые линии должны быть электрически отключены от шины или же их выходные формирователи должны переводиться в третье состояние. Переход из низкого в высокий уровень является сигналом для контроллера прерываний на формирование запроса прерывания к процессору. Устройство должно удерживать высокий уровень запроса до тех пор, пока к нему не обратится программа-обработчик прерывания, что будет означать не только обнаружение, но и правильную идентификацию источника запроса прерывания. Если запрос снят преждевременно, идентификация будет некорректной.
Способ подачи сигнала прерывания, принятый в ISA, - чувствительность к уровню, причем к высокому, - имеет меньшую помехозащищенность, чем срабатывание по отрицательному перепаду, и отрезает путь к нормальному разделению (совместному использованию) линий запросов.
Линия IOCHK# позволяет вызывать немаскируемое прерывание (NMI), на которое процессор реагирует вне зависимости от каких-либо флагов. Это прерывание принято использовать для сообщения о серьезных ошибках, требующих реакции системы, но не для регулярной работы. Вызов NMI от данной линии разрешается установкой бита 3 (EIC) системного порта 06lh, а признаком того, что прерывание NMI вызвано сигналом IOCHK#, является единичное значение бита 6 (IOCHK) того же порта.
Задание:
Составить схемы и временные диаграммы в соответствии с вариантом задания:
Баз.
адр.Смещ.
адресаВид
доступаТип циклаУсловие записи в 1 триггере IRQУсловие сбросаПримечаниеЧтЗпСтанд.Замедл.
(в тактах)Ускор.№ бит регистр маски№ бит регистр состояния
г№ бит регистр состояние
┐Запись в регистр МЧтение регистра состояния2F0
1F0
0F010+++Регистр данных11+++6+Регистр маски00+10Регистр адреса01+15Регистр состояния
Ход работы:
Реализуем интерфейсный контроллер периферийных устройств
Интерфейсный контроллер периферийных устройств
Разработаем функциональную схему устройства
Функциональная схема устройства
Функциональная схема устройства
Функциональная схема устройства
Функциональная схема устройства
Стандартный цикл
Замедленный цикл
Ускоренный цикл
Заключение:
Все временные диаграммы приведены для частоты SYCLK (8 МГц). Циклы начинаются с выставления задатчиком адреса на линиях SA0..SA9. В ответ на получение адреса исполнитель, распознавший свой адрес, должен сформировать сигнал. Далее следует команда чтения или записи. При цикле чтения задатчик выставляет сигнал -IOR, в ответ на который исполнитель должен выдать данные на шину данных. Эти данные должны быть сняты исполнителем после окончания сигнала -IOR. В цикле записи задатчик выставляет записываемые данные и сопровождает их стробом записи -IOW. Здесь надо отметить, что хотя в соответствии со стандартом установка записываемых данных предшествует выставлению -IOW, в некоторых компьютерах реализуется обратный порядок: сначала выставляется -IOW, а затем появляются данные. Поэтому при проектировании надо рассматривать как момент действительности данных только задний (положительный) фронт сигнала -IOW.
2
Документ
Категория
Рефераты
Просмотров
56
Размер файла
1 063 Кб
Теги
лабораторная работа, мойотчет, лаба, лабораторная
1/--страниц
Пожаловаться на содержимое документа