Разработка аппаратно-программных модулей системной шины Isa
Содержание
Государственное образовательное учреждение высшего
профессионального образования
ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КАФЕДРА
АВТОМАТИКИ И ТЕЛЕМЕХАНИКИ
ЗАДАНИЕ НА КУРСОВОЙ ПРОЕКТ
по дисциплине «Архитектура ЭВМ»
ТЕМА:
Разработка аппаратно-программных
модулей системной шины
Isa
Студент группы (шифр)
- Исходные данные к проекту: Вариант № 15
●Выполнить тематический обзор по материалам научно-технической литературы.
●Спроектировать аппаратный модуль на базе СБИС для системной шины ISA.Программируемый генератор цифровых сигналов
●Разработать программные процедуры инициализации, управления и контроля аппаратным модулем.
- Пояснительная записка:
- Введение 2
- 1 Анализ темы курсовой работы 4
- 1.1 Анализ существующих устройств и особенностей их проектирования 4
- 1.2 Системная шина ISA 8
- 1.2.1 Характеристики системной шины 9
- 1.2.2 Особенности проектирования модулей системной шины 18
- 1.3 Этапы проектирования модуля 21
- 1.4 Выводы к главе 1 21
- 2 Разработка схемы модуля 21
- 2.1 Общие сведения 22
- 2.2 Разработка обобщённой схемы модуля 23
- 2.3 Выбор СБИС и описание её структуры 23
- 2.4 Выбор адресного пространства портов ввода/вывода 27
- 2.5 Разработка элементов интерфейсной части модуля 27
- 2.6 Выбор элементной базы и разработка принципиальной схемы 28
- 2.7 Выводы к главе 2 28
- 3 Разработка программных модулей 29
- 3.1 Разработка программного модуля инициализации 29
- 3.2 Выводы к главе 3 30
- Заключение 32
- Приложение А (справочное) Библиографический список 32
- Приложение Б (Обязательное) Список сокращений 34
- Приложение В (Обязательное) Листинг программного модуля инициализации 35
- График выполнения курсовой работы:
1 Теоретическая часть 25% к _______ 3 Программная часть 25% к _______
2 Расчетная часть 25% к _______ 4 Графическая часть 25% к _______
Руководитель
работы _____________/________________
(подпись) (Ф.И.О. преподавателя)
Задание принял
_____________/_______________
(подпись) (Ф.И.О. студента)
Введение
В
последнее время широкое
Цифровые сигналы обладают рядом преимуществ по сравнению с аналоговыми. В отличие от аналоговых, цифровые сигналы передаются не как волны, а в двоичном виде, или в виде битов. Наличие напряжения обозначается как единица, а отсутствие — как нуль. Такое свойство цифрового формата, в котором предусматриваются только два состояния — сигнал есть и сигнала нет, — позволяет получать и воспроизводить звуки в их первозданной чистоте. С цифровыми сигналами это может быть проделано с высокой степенью надежности. Гораздо труднее точно воспроизвести волну, способную принимать самые разные формы, в отличие от бита, который может иметь только два значения — включено и выключено.
Как
аналоговым, так и цифровым сигналам
присуща нестабильность при передаче.
Оба сигнала с увеличением
дальности распространения
Помимо чистоты передачи аудиосигналов, цифровые сигналы обеспечивают пересылку данных с меньшим числом ошибок. В аналоговых линиях, где происходит усиление и сигнала помехи, принимающие устройства могут интерпретировать этот сигнал как бит информации. Те, кто используют модемы для обмена данными, часто получают испорченную информацию. В цифровой связи сигнал помехи отбрасывается и поэтому искажения и ошибки при передаче данных наблюдаются реже.
Данный
курсовой проект посвящен разработке
одного из таких модулей –
Процесс
проектирования разбит на ряд этапов.
В главе 1 производится анализ темы
курсовой работы, рассматриваются существующие
аналоги проекируемого модуля и
особенности их проектирования, приводится
характеристика шины ISA. В главе 2 рассматриваются
особенности проектирования модуля, выбор
СБИС, адресного пространства, разрабатывается
принципиальная схема. В главе 3 описывается
разработка программного модуля инициализации
устройства.
1 Анализ темы курсовой работы
1.1 Анализ существующих устройств и особенностей их проектирования
Цифровой сигнал – это сигнал, который может принимать только одно из двух установленных состояний. В большинстве схем принято, что появление на выходе электрической цепи напряжения в пределах от 2,4В до 5В соответствует появлению единичного сигнала (высокий уровень цифрового сигнала), если же напряжения не превышает 0,5В, то сигнал принимают равным 0 (низкий уровень цифрового сигнала).
Необходимо
разработать программируемый
Максимальная частота выходного сигнала – 2МГц. Под программируемостью будем пониамать возможность задания параметров сигнала. Полностью задают форму прямоугольного импульса два параметра: частота и скважность. Графически вышеперечисленные величины представлены на рис. 1.1.
Рис. 1.1 – Цифровой сигнал, его характеристики
Такой генератор может применяться:
- В контрольно-измерительной системе на базе персонального компьютера.
- Для формирования тактовых сигналов.
- В составе промышленных установок, в которых требуется формирование различных сигналов.
- Для работы в составе автоматизированных комплексов поиска подслушивающих устройств (генраторы RS/N и RS/N232).
- Генератор RV131.03 предназначен для генерации временного интервала и импульсной серии с равной программируемой длительностью, а также для генерации логических сигналов, отмечающих начало и окончание установленной длительности временного интервала и для преобразования в цифровую форму исследуемых процессов.
- Генерация цифровых телевизионных испытательных сигналов Г-420, TG 2000, DTG-35, Г-230, Г6-35.
Генератор можно разрабатывать как модуль, имеющий в своём составе буферное ОЗУ, куда записываются коды выборок генерируемого сигнала, задающие, в частности, его частоту и скважность. Затем даётся старт генератора. Существуют также генераторы с двумя режимами запуска:
- режим разового запуска (остановка генерации после одного периода сигнала);
- режим автоматического запуска (непрерывная генерация до её программной остановки.
Рассмотрим, какие сигналы и данные должны поступать на вход системы. На вход поступают код частоты, код скважности, а также два управляющих бита: разрешение /запрет генерации и разовый/автоматический пуск. Модуль должен выдавать помимо самого цифрового сигнала также сигнал «генерация идёт», необходимый для контроля и индикации.
Для задания частоты используются два подхода:
1.
Адреса буферного ОЗУ
2.
Для перебора адресов
Рис. 1.2
- Перебор адресов ОЗУ с помощью накапливающего
сумматора
Существует немало принципиально других способов построения разнообразных генераторов импульсов. Рассмотрим построение таких устройств на базе элементарных логических элементов.
1) Генератор, представленный на рисунке 1.4 (используются элементы 2И-НЕ с открытым коллектором), вырабатывает импульсы в широком диапазоне частот - от единиц герц до нескольких килогерц. Зависимость частоты f (кГц) от емкости
конденсатора С1 (пФ) выражается приближенной формулой . Скважность импульсного напряжения практически равна 2. При снижении напряжения источника питания на 0,5 В частота генерируемых импульсов уменьшается на 20%.
Рис. 1.4 – Генератор импульсов на микросхеме К155ЛА8
2) Широкое
изменение частоты
Рис. 1.5 - Генератор импульсов с регулируемой длительностью
3) Длительность импульсов можно регулировать переменным резистором R2 (скважность изменяется от 1,5 до 3), а частоту - резистором R1 (см. рис. 1.6). Например, в генераторе с С1=0,1 мкф при исключении резистора R2 только резистором R1 частоту генерируемых импульсов можно изменять от 8 до 125 кГц. Для получения другого диапазона частот необходимо изменить емкость конденсатора С1.
Рис. 1.6 – Генератор импульсов с регулируемой длительностью
4) При реализации цифровых устройств различного назначения часто необходимо сформировать короткие импульсы по фронтам входного сигнала. В частности, такие импульсы используют для сброса счетчиков в качестве импульсов синхронизации при записи информации в регистры и т. д. При изменении напряжения Uвх от низкого уровня до высокого этот перепад без задержки поступает на вход 13 элемента DD1.4. В то же
время на входе 12 элемента DD1.4 напряжение высокого уровня сохраняется, в течение времени распространения сигнала через элементы DD1.1-DD1.3 (около 75 нc). В результате в течение этого времени на выходе устройства сохраняется напряжение низкого уровня. Затем на входе 12 устанавливается напряжение низкого уровня, а на выходе устройства - высокого. Таким образом, формируется короткий отрицательный импульс, фронт которого совпадает с фронтом входного напряжения. Чтобы такое устройство использовать для формирования отрицательного импульса по срезу входного сигнала, его надо дополнить еще одним инвертором. Схема и временные диаграммы работы такого устройства представлены на рис. 1.7.
Рис. 1.7 – Схема и временные диаграммы формирователя коротких отрицательных импульсов по положительному/отрицательному перепаду напряжения на его входе
На рисунке 1.8 изображены схема и временная диаграмма работы формирователя импульсов по фронту и срезу входного сигнала.
Рис. 1.8 Формирователь импульсов по фронту и срезу входного сигнала
5) Задача формирования цифрового сигнала заданной частоты и скважности может быть также решена с помощью одно вибраторов (рис. 1.9). В состав серии К155 входит также микросхема К155АГ3. Временные диаграммы её работы представлены на рис. 1.10. В одном корпусе в ней содержатся два одновибратора. Варианты поключения внешних времязадающих элементов и временная диаграмма работы одновибратора изображены на рисунках. Одновибратор также запускается либо отрицательным перепадом входного сигнала на входе А при высоком уровне на входах В и R, либо положительным перепадом напряжения на входе В при низком уровне на входе А и высоком уровне на входе R. Длительность импульса tи1 определяется постоянной времени времезадающей цепи, но может быть уменьшен за счет подачи на вход R напряжения низкого уровня при tи2<tи1.
Рис. 1.10 – Временная диаграмма работы схемы К155АГ3
6) Генераторы цифровых сигналов можно также построить, используя специализированную БИС. Однако, большинство задач такого рода можно решить на стандартных элементах, не используя микроконтроллер [6,8].
1.2 Системная шина ISA
1.2.1 Характеристики системной шины
Особенности системной шины ISA
ISA
(от англ. Industry Standard Architecture, ISA bus, произносится
как ай-сэй) — 8-ми или 16-ти
разрядная шина ввода/вывода IBM PC-совместимых
компьютеров. Служит для
С появлением материнских плат формата ATX шина ISA перестала широко использоваться в компьютерах, хотя встречаются ATX-платы с AGP 4x, 6 PCI и одним (или двумя) портами ISA. Но пока её ещё можно встретить в старых AT-компьютерах, а также в промышленных компьютерах.
ISA использовалась в первом компьютере IBM PC в 1981 году, а в 1984 году – в расширенном 16-разрядном варианте в компьютерах IBM PC/AT. В настоящее время шина ISA уступила своё место в персональных компьютерах шине PCI и её графическому расширению AGP. Более того, уже на смену AGP приходит достаточно перспективная шина PCI-Express. Однако в промышленных и встраиваемых высокопроизводительных компьютерах такая «древняя» шина ISA (наряду с EISA) является основной. Причины этому следующие:
- высокая надёжность, широкие возможности, совместимость; эта шина работает быстрее большинства подклбчаемых к ней периферийных устройств.
- наибольшее количество систем из-за невысокой цены;
- огромное разнообразие приложений;
- скорость передачи до 2 Мбит/c;
- хорошая помехоустойчивость;
- большое количество совместимого оборудования и программного обеспечения (благодаря ней компоненты различных фирм-изготовителей являются взаимозаменяемыми).
Существует два варианта шины ISA, различающиеся количеством разрядов данных: 8-разрядная версия (старая) и 16-разрядная (новая). Старая версия работала на тактовой частоте 4,77МГц в компьютерах классов PC и XT. Новая версия использовалась в компьютерах класса AT на тактовой частоте 6 и 8МГц. Позже было достигнуто соглашение о стандартной максимальной тактовой частоте 8,33МГц для обеих версий шин, что обеспечило их совместимость. В некоторых системах допускается использование шин при работе с большой частотой, но не все платы адаптеров выдерживают такую скорость. Для передачи данных по шине требуется от 2 до 8 тактов. Можно определить максимальную скорость передачи данных по шине ISA (она составляет 8Мбайт/с):
Полоса пропускания 8-разрядной шины в 2 раза меньше (4 Мбайт/с). Данные значения пропускной способности носят теоретический характер. На практике она оказывается примерно в 2 раза меньше, чем теоретическая, однако это не мешает шине ISA работать быстрее большинства подключаемых к ней периферийных устройств.
Отличительные черты шины ISA:
1. Характерное отличие ISA состоит в том, что тактовый сигнал не совпадает с тактовым сигналом процессора, поэтому и скорость обмена по ней непропорциональная тактовой частоте процессора.
2. Шина ISA относится к демультиплексированным (т.е. имеюшим раздельные шины адреса и данных) 16-разрядным системным магистралям среднего быстродействия. Обмен осуществляется 8- или 16-разрядными данными.
3. На магистрали организован раздельный доступ к памяти компьютера и к устройствам ввода/вывода (для этого имеются специальные сигналы).
4. Максимальный объём адресуемой памяти составляет 17 Мбайт (24 адресные линий).
5.
Максимальное адресное
6.
Магистраль подерживает
7. Допускается захват магистрали внешними устройствами.
8. Положительная логика на шинах адреса и данных, т.е. единице соответствует высокий уровень напряжения, а нулю – низкий. 4 напряженияя питания: +5В, -5В, +12В и -12В.
9.
Диапазон доступных адресов
Наиболее распространённое конструктивное исполнение магистрали – разъёмы (слоты), установленные на материнской плате компьютера, все одноимённые контакты которых соединены между собой, т.е. все разъёмы абсолютно равноправны. Особенностью конструктивного решения магистрали является то, что платы расширения (дочерние платы), подключаемые к её разъёмам, могут иметь самые различные размеры (длина платы ограничена снизу размером разъёма, а сверху – длиной корпуса компьютера).
8-разрядная шина ISA
Эта шина использовалась в первом IBM PC, в новых системах она практически не применяется. В разъём вставляется плата адаптера с 62 позолоченными печатными контактами. На разъём выделено 8 линий данных и 20 линий адреса, что позволяет адресовать до 1 Мб памяти. Плата адаптера для 8-разрядной шины ISA имеет следующие размеры: высота – 4,2″ (106,68 мм), длина – 13,13″ (333,3 мм), толщина – 0,5″ (12,7 мм). Назначение контактов и разъём 8-разрядной шины ISA приведены на рис. 1.11.
Рис. 1.11 - Назначение контактов и разъём 8-разрядной шины ISA
На контакт B8 должен подаваться сигнал выбора платы –CARD SLCTD. Дело в том, что в компьютерах класса XT и портативных компьютерах класса PC в 8 слот (ближайший к истоичнику питания) можно было вставлять далеко не все платы. Например, туда можно было вставить плату клавиатуры/таймера от модели 3270 PC. К данным платам для этого слота устанавливаются другие требования по синхронизации , обеспечиваемые специальным синхронизирущим сигналом.
16-разрядная шина ISA
Появилась в компьютерах PC/AT со сдвоенными разъёмами расширения. 8-разрядную плату можно вставлять в основную часть 16-разрядного разъёма. Появилось 2 особенности, благодаря которым вставить плату в разъём наоборот невозможно:
ключ – вырез в плате адаптера, который при её установке совпадает или не совпадает с выступом на разъёме.
разная длина двух частей разъёма шины.
Дополнительные контакты, появляющиеся в связи с увеличением разрядности шины, подведены к 36 контактам второй части разъёма. Один или два контакта в основной части имеют другое назначение.
В некоторых старых адаптерах часть нижней кромки, свободной от печатных контактов, выступает вниз и используется для установки элементов или разводки
проводников. После установки такого адаптера в разъём эта кромка практически касается поверхности системной платы. Если на этом участке системной платы находится продолжение разъёма шины, то вставить адаптер невозможно. Для таких плат имеется два разъёма без 16-разрядного расширения.
Обычная плата адаптера класса AT имеет следующие размеры: высота – 4,8″ (121,92 мм), длина – 13,13″ (333,3 мм), толщина – 0,5″ (12,7 мм). Назначение контактов и разъём 16-разрядной шины ISA приведены на рис. 1.12.
Рис. 1.12 - Выводы контактов 16-разрядной шины ISA
Состав и назначение линий шины ISA
Все линии шины ISA можно разбить на шесть групп:
- линии обмена данными;
- адресные линии;
- линии управления;
- линии прямого доступа к памяти;
- линии обслуживания прерываний;
- линии питания и вспомогательные линии.
Обозначение и назначение линий следующее.
1) AEN - Address Enable (Разрешение адреса) - используется в режиме ПДП для сообщения всем платам расширения, что производится цикл ПДП. Устанавливается и снимается параллельно с адресом.
2) BALE - Address Latch Enable Buffered (Строб буферизации адреса). Сигнал стробирования адресных разрядов. Установка высокого уровня говорит о начале цикла шины и начале выдачи на адресные линии действительного (но еще не установившегося) адреса. Падающий фронт сигнала указывает, что адрес установлен, и используется для запоминания (“защелкивания”) состояния линий SAOO...SA19 и LA17...LA23 в модулях памяти. Тип выходного каскада ТТЛ.
3) I/O CH RDY (I/O Channel Ready - готовность канала ввода вывода). Этот сигнал, обычно высокий, переводится в низкое состояние памятью или внешним устройством для продления цикла обращения. Любое медленное устройство, используя этот сигнал, должно держать его в низком состоянии до тех пор, пока оно не проведет операцию распознавания адреса и не выполнит команду чтения или записи. Цикл обмена в ответ на снятие сигнала продлевается на целое число тактов сигнала SYSCLK. Линия не должна находиться в низком уровне более чем 15 мкс и должна управляться устройством с открытым коллектором.
4) -DACК0...-DACK7. (DMA request ACKnowledge - Подтверждение запроса ПДП). Сигнал подтверждения предоставления прямого доступа. Сигнал генерируется контроллером прямого доступа к памяти. Тип выходного каскада ТТЛ.
5) DRQ0...DRQ7. (DMA ReQuest - Запрос ПДП). Сигналы запросов прямого доступа к памяти. Сигнал генерируется устройством ввода-вывода. Запрос воспринимается контроллером ПДП и при одиночных обменах сбрасывается с приходом соответствующего сигнала DACKi.
6) -I/O CH CK. (I/O Channel Check - Ошибка ввода-вывода). Сигнал вырабатывается любым исполнителем - устройством ввода-вывода или памятью для информирования задатчика об ошибке, например об ошибке по паритету в модуле памяти. Тип выходного каскада - открытый коллектор.