Реферат Разработка аппаратно-программных модулей системной шины Isa
Работа добавлена на сайт bukvasha.net: 2015-10-28Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
Содержание
Введение. 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
Государственное образовательное учреждение высшего
профессионального образования
ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КАФЕДРА АВТОМАТИКИ И ТЕЛЕМЕХАНИКИ
ЗАДАНИЕ НА КУРСОВОЙ ПРОЕКТ
по дисциплине «Архитектура ЭВМ»
ТЕМА: Разработка аппаратно-программных модулей системной шины Isa
Студент группы (шифр)
1
Исходные данные к проекту: Вариант № 15
●Выполнить тематический обзор по материалам научно-технической литературы.
●Спроектировать аппаратный модуль на базе СБИС для системной шины ISA.Программируемый генератор цифровых сигналов
●Разработать программные процедуры инициализации, управления и контроля аппаратным модулем.
2
Пояснительная записка:
3 Введение. 2
4 1 Анализ темы курсовой работы.. 4
5 1.1 Анализ существующих устройств и особенностей их проектирования. 4
6 1.2 Системная шина ISA.. 8
7 1.2.1 Характеристики системной шины.. 9
8 1.2.2 Особенности проектирования модулей системной шины.. 18
9 1.3 Этапы проектирования модуля. 21
10 1.4 Выводы к главе 1. 21
11 2 Разработка схемы модуля. 21
12 2.1 Общие сведения. 22
13 2.2 Разработка обобщённой схемы модуля. 23
14 2.3 Выбор СБИС и описание её структуры.. 23
15 2.4 Выбор адресного пространства портов ввода/вывода. 27
16 2.5 Разработка элементов интерфейсной части модуля. 27
17 2.6 Выбор элементной базы и разработка принципиальной схемы.. 28
18 2.7 Выводы к главе 2. 28
19 3 Разработка программных модулей. 29
20 3.1 Разработка программного модуля инициализации. 29
21 3.2 Выводы к главе 3. 30
22 Заключение. 32
23 Приложение А (справочное) Библиографический список. 32
24 Приложение Б (Обязательное) Список сокращений. 34
25 Приложение В (Обязательное) Листинг программного модуля инициализации. 35
26
График выполнения курсовой работы:
1 Теоретическая часть 25% к _______ 3 Программная часть 25% к _______
2 Расчетная часть 25% к _______ 4 Графическая часть 25% к _______
Руководитель работы _____________/_____________________/ 17.02.2010г.
(подпись) (Ф.И.О. преподавателя)
Задание принял _____________/_____________________/ 17.02.2010 г.
(подпись) (Ф.И.О. студента)
Введение
В последнее время широкое распространение получили дискретные системы управления и дискретные системы передачи информации. В основу работ таких систем положена дискретная (цифровая) обработка информации и дискретные (цифровые) сигналы, которые описываются последовательностями отсчетных значений в дискретном множестве точек.
Цифровые сигналы обладают рядом преимуществ по сравнению с аналоговыми. В отличие от аналоговых, цифровые сигналы передаются не как волны, а в двоичном виде, или в виде битов. Наличие напряжения обозначается как единица, а отсутствие — как нуль. Такое свойство цифрового формата, в котором предусматриваются только два состояния — сигнал есть и сигнала нет, — позволяет получать и воспроизводить звуки в их первозданной чистоте. С цифровыми сигналами это может быть проделано с высокой степенью надежности. Гораздо труднее точно воспроизвести волну, способную принимать самые разные формы, в отличие от бита, который может иметь только два значения — включено и выключено.
Как аналоговым, так и цифровым сигналам присуща нестабильность при передаче. Оба сигнала с увеличением дальности распространения ослабевают, затухают и подвергаются воздействию помех. Однако цифровые сигналы поддаются коррекции и восстановлению лучше, чем аналоговые. Когда цифровой сигнал, подвергающийся воздействию помехи, начинает затухать, предназначенное для его усиления устройство на линии связи, «зная», что каждый бит информации — это либо единица, либо нуль, без искажений восстанавливает сигнал. Помеха отбрасывается, а не регенерируется и усиливается, как в случае с аналоговым сигналом.
Помимо чистоты передачи аудиосигналов, цифровые сигналы обеспечивают пересылку данных с меньшим числом ошибок. В аналоговых линиях, где происходит усиление и сигнала помехи, принимающие устройства могут интерпретировать этот сигнал как бит информации. Те, кто используют модемы для обмена данными, часто получают испорченную информацию. В цифровой связи сигнал помехи отбрасывается и поэтому искажения и ошибки при передаче данных наблюдаются реже.
Данный курсовой проект посвящен разработке одного из таких модулей – программируемого генератора цифровых сигналов, то есть генератора прямоугольных импульсов. Требуемая максимальная выходная частота согласно заданию – 2МГц, количество выходов – 1.
Процесс проектирования разбит на ряд этапов. В главе 1 производится анализ темы курсовой работы, рассматриваются существующие аналоги проекируемого модуля и особенности их проектирования, приводится характеристика шины ISA. В главе 2 рассматриваются особенности проектирования модуля, выбор СБИС, адресного пространства, разрабатывается принципиальная схема. В главе 3 описывается разработка программного модуля инициализации устройства.
1 Анализ темы курсовой работы
1.1 Анализ существующих устройств и особенностей их проектирования
Цифровой сигнал – это сигнал, который может принимать только одно из двух установленных состояний. В большинстве схем принято, что появление на выходе электрической цепи напряжения в пределах от 2,4В до 5В соответствует появлению единичного сигнала (высокий уровень цифрового сигнала), если же напряжения не превышает 0,5В, то сигнал принимают равным 0 (низкий уровень цифрового сигнала).
Необходимо разработать программируемый генератор цифровых сигналов с 1 выходом, то есть фактически генератор прямоугольных импульсов.
Максимальная частота выходного сигнала – 2МГц. Под программируемостью будем пониамать возможность задания параметров сигнала. Полностью задают форму прямоугольного импульса два параметра: частота и скважность. Графически вышеперечисленные величины представлены на рис. 1.1.
Рис. 1.1 – Цифровой сигнал, его характеристики
Такой генератор может применяться:
- В контрольно-измерительной системе на базе персонального компьютера.
- Для формирования тактовых сигналов.
- В составе промышленных установок, в которых требуется формирование различных сигналов.
- Для работы в составе автоматизированных комплексов поиска подслушивающих устройств (генраторы RS/N и RS/N232).
- Генератор RV131.03 предназначен для генерации временного интервала и импульсной серии с равной программируемой длительностью, а также для генерации логических сигналов, отмечающих начало и окончание установленной длительности временного интервала и для преобразования в цифровую форму исследуемых процессов.
- Генерация цифровых телевизионных испытательных сигналов Г-420, TG 2000, DTG-35, Г-230, Г6-35.
Генератор можно разрабатывать как модуль, имеющий в своём составе буферное ОЗУ, куда записываются коды выборок генерируемого сигнала, задающие, в частности, его частоту и скважность. Затем даётся старт генератора. Существуют также генераторы с двумя режимами запуска:
1) режим разового запуска (остановка генерации после одного периода сигнала);
2) режим автоматического запуска (непрерывная генерация до её программной остановки.
Рассмотрим, какие сигналы и данные должны поступать на вход системы. На вход поступают код частоты, код скважности, а также два управляющих бита: разрешение /запрет генерации и разовый/автоматический пуск. Модуль должен выдавать помимо самого цифрового сигнала также сигнал «генерация идёт», необходимый для контроля и индикации.
Для задания частоты используются два подхода:
1. Адреса буферного ОЗУ перебираютя обычным двоичным счётчиком, а для изменения частоты выходного сигнала меняется частота, с которой эти адреса перебираются. В данном случае всегда опрашиваются все адреса ОЗУ, т.е. количество выборок на период выходного сигнала не изменяется при изменении частоты, а значит не изменяется и точность воспроизведения формы сигнала. Недостатки такого подхода в том, что схема хорошо работает в низких частотах выходного сигнала и то, что частота сигнала помехи, возникающей из-за квантования уровней выходного сигнала , прямо пропорциональна частоте выходного сигнала, фильтрация такой помехи сложна и требует специальных перестраиваемых фильтров.
2. Для перебора адресов буферного ОЗУ используется не счётчик, а накапливающий сумматор (рис. 1.2, рис. 1.3), состоящий из двоичного сумматора и регистра, охваченных обратной связью. При этом с каждым следующим импульсом тактового генератора к выходному коду регистра прибавляется входной управляющий код и полученная сумма снова записывается в регистр. В результате в каждом такте приращение адреса ОЗУ будет определяться входным управляющим кодом накапливающего сумматора, изменяя который мы можем именять скорость прохождения всех адресов ОЗУ, и следовательно, частоту сигнала. Недостаток такого подхода в том, что форма сигнала воспроизводится с разной точностью на разных частотах. Достоинство такого подхода в том, что частота сигнала помехи будет постоянна и отфильтровать такую помеху проще.
Рис. 1.2 - Перебор адресов ОЗУ с помощью накапливающего сумматора
Существует немало принципиально других способов построения разнообразных генераторов импульсов. Рассмотрим построение таких устройств на базе элементарных логических элементов.
1) Генератор, представленный на рисунке 1.4 (используются элементы 2И-НЕ с открытым коллектором), вырабатывает импульсы в широком диапазоне частот - от единиц герц до нескольких килогерц. Зависимость частоты f (кГц) от емкости
конденсатора С1 (пФ) выражается приближенной формулой . Скважность импульсного напряжения практически равна 2. При снижении напряжения источника питания на 0,5 В частота генерируемых импульсов уменьшается на 20%.
Рис. 1.4 – Генератор импульсов на микросхеме К155ЛА8
2) Широкое изменение частоты генерируемых импульсов (около 50 тысяч раз) обеспечивает нижеприведённое устройство (рис. 1.5). Минимальная частота импульсов здесь около 25 Гц. Длительность импульсов регулируют резистором R1. Частоту следования можно определить по формуле:
Рис. 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.9 – Варианты формирователя импульсов с помощью одновибраторов
Рис. 1.10 – Временная диаграмма работы схемы К155АГ3
6) Генераторы цифровых сигналов можно также построить, используя специализированную БИС. Однако, большинство задач такого рода можно решить на стандартных элементах, не используя микроконтроллер [6,8].
1.2 Системная шина ISA
1.2.1 Характеристики системной шины
Особенности системной шины
ISA
ISA (от англ. Industry Standard Architecture, ISA bus, произносится как ай-сэй) — 8-ми или 16-ти разрядная шина ввода/вывода IBM PC-совместимых компьютеров. Служит для подключения плат расширения стандарта ISA. Конструктивно выполняется в виде 62-х или 98-контактного разъёма на материнской плате.
С появлением материнских плат формата 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. Максимальное адресное пространство для устройств ввода/вывода – 64 Кбайта (16 адресных линий), хотя практически все выпускаемые платы расширения используют только 10 адресных линий (1 Кбайт).
6. Магистраль подерживает регенерацию динамической памяти, радиальные прерывания и прямой доступ к памяти.
7. Допускается захват магистрали внешними устройствами.
8. Положительная логика на шинах адреса и данных, т.е. единице соответствует высокий уровень напряжения, а нулю – низкий. 4 напряженияя питания: +5В, -5В, +12В и -12В.
9. Диапазон доступных адресов памяти ограничен областью UMA (Unified Memory Architecture - унифицированная архитектура памяти. Диапазон адресов ввода-вывода сверху ограничен количеством используемых для дешифрации бит адреса, нижняя граница ограничена областью адресов 0-FFh, зарезервированных под устройства систнемной платы. В PC была принята 10-битная адресация ввода-вывода, при которой линии адреса A[15:10] устройствами игнорировались. Таким образом, диапазон адресов устройств шины ISA ограничивается областью 100h-3FFh, то есть всего 758 адресов 8-битных регистров. На некоторые области этих адресов претендуют и системные устройства. Впоследствии стали применять и 12-битную адресацию (диапазон 100h-FFFh), но при ее использовании всегда необходимо учитывать возможность присутствия на шине и старых 10-битных адаптеров, которые “отзовутся” на адрес с подходящими ему битами A[9:0] во всей допустимой области четыре раза. В распоряжении абонентов шины ISA-8 может быть до 6 линий запросов прерываний IRQ (Interrupt Request), для ISA-16 их число достигает 11. Абоненты шины могут использовать до трех 8-битных каналов ПДП, а на 16-битной шине могут быть доступными еще три 16-битных канала.
Наиболее распространённое конструктивное исполнение магистрали – разъёмы (слоты), установленные на материнской плате компьютера, все одноимённые контакты которых соединены между собой, т.е. все разъёмы абсолютно равноправны. Особенностью конструктивного решения магистрали является то, что платы расширения (дочерние платы), подключаемые к её разъёмам, могут иметь самые различные размеры (длина платы ограничена снизу размером разъёма, а сверху – длиной корпуса компьютера).
8-разрядная шина
ISA
Эта шина использовалась в первом IBM PC, в новых системах она практически не применяется. В разъём вставляется плата адаптера с 62 позолоченными печатными контактами. На разъём выделено 8 линий данных и 20 линий адреса, что позволяет адресовать до 1 Мб памяти. Плата адаптера для 8-разрядной шины ISA имеет следующие размеры: высота – 4,2″ (
Рис. 1.11 - Назначение контактов и разъём 8-разрядной шины ISA
На контакт B8 должен подаваться сигнал выбора платы –CARD SLCTD. Дело в том, что в компьютерах класса XT и портативных компьютерах класса PC в 8 слот (ближайший к истоичнику питания) можно было вставлять далеко не все платы. Например, туда можно было вставить плату клавиатуры/таймера от модели 3270 PC. К данным платам для этого слота устанавливаются другие требования по синхронизации , обеспечиваемые специальным синхронизирущим сигналом.
16-разрядная шина
ISA
Появилась в компьютерах PC/AT со сдвоенными разъёмами расширения. 8-разрядную плату можно вставлять в основную часть 16-разрядного разъёма. Появилось 2 особенности, благодаря которым вставить плату в разъём наоборот невозможно:
ключ – вырез в плате адаптера, который при её установке совпадает или не совпадает с выступом на разъёме.
разная длина двух частей разъёма шины.
Дополнительные контакты, появляющиеся в связи с увеличением разрядности шины, подведены к 36 контактам второй части разъёма. Один или два контакта в основной части имеют другое назначение.
В некоторых старых адаптерах часть нижней кромки, свободной от печатных контактов, выступает вниз и используется для установки элементов или разводки
проводников. После установки такого адаптера в разъём эта кромка практически касается поверхности системной платы. Если на этом участке системной платы находится продолжение разъёма шины, то вставить адаптер невозможно. Для таких плат имеется два разъёма без 16-разрядного расширения.
Обычная плата адаптера класса AT имеет следующие размеры: высота – 4,8″ (
Рис. 1.12 - Выводы контактов 16-разрядной шины ISA
Состав и назначение линий шины
ISA
Все линии шины ISA можно разбить на шесть групп:
1. линии обмена данными;
2. адресные линии;
3. линии управления;
4. линии прямого доступа к памяти;
5. линии обслуживания прерываний;
6. линии питания и вспомогательные линии.
Обозначение и назначение линий следующее.
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 - Ошибка ввода-вывода). Сигнал вырабатывается любым исполнителем - устройством ввода-вывода или памятью для информирования задатчика об ошибке, например об ошибке по паритету в модуле памяти. Тип выходного каскада - открытый коллектор.
7) -I/O CS16. (I/O Cycle Select 16 - Выбор 16-битового цикла обмена для устройства ввода-вывода). Сигнал генерируется устройством ввода-вывода для сообщения задатчику о том, что оно может работать с 16 разрядными данными. Тип выходного каскада - открытый коллектор.
8) -IOR. (I/О Read - Чтение из устройства ввода-вывода). Стробирующий сигнал чтения данных из устройства ввода вывода. Тип выходного каскада - три состояния.
9) -IOW. (I/O Write - Запись в устройство ввода-вывода). Стробирующий сигнал, служащий для определения момента времени, когда можно начинать записывать данные, выставляемые задатчиком.
10) IRQ3...IRQ7, IRQ9...IRQ12, IRQ14, IRQ15. (Interrupt ReQuest - Запрос прерывания). Сигнал генерируется устройством запрашивающим шину для обмена. Запросы на прерывание поступают на вход контроллера прерываний, размещающегося на системной плате. Если соответствующий уровень не заблокирован, то нарастающий фронт IRQi вызывает прерывание работы процессора и переход на программу обслуживания соответствующего запроса. Высокий уровень IRQi должен поддерживаться до прихода в контроллер прерываний сигнала подтверждения прерывания от центрального процессора.
11) LA17..LA23. (Latchable Address - Адрес, требующий запоминания в исполнителе). Сигнал может генерироваться ЦП, контроллером ПДП, задатчиком на плате расширения. Сигналы используются для адресации быстродействующих модулей памяти на шине, обеспечивая расширение адресного пространства до 16 Мбайт. В отличие от сигналов SA0...SA19, установившиеся значения которых гарантируются в течении всего цикла шины, сигналы LA17...LA23 обеспечиваются задающим устройством только при высоком уровне сигнала BALE.
12) -MASTER. (Master - Задатчик). Сигнал формируется задатчиком на плате расширения. Низким уровнем сигнала одна из плат расширения сообщает, что управляет шиной - является задатчиком.
13) -MEM CS16. (MEMory 16-bit Chip Selekt - 16-разрядная память). Низким уровнем сигнала модуль памяти, к которому идет обращение, сообщает задатчику, о том, что может поддерживать в текущем цикле обмена16-разрядные передачи с одним состоянием ожидания.
14) -MEMR,SMEMR. (MEMory Read, System MEMory Ready - Чтение из памяти). Сигналы могут формироваться ЦП или задатчиком на плате расширения. Сигналы используются для запроса чтения данных из памяти. Обращение к адресу в зоне до 1 Мбайта идет при активных (низких) SMEMR и MEMR сигналах, выше 1 Мбайта - при неактивном (высоком) SMEMR и активном (низком) MEMR сигналах.
15) -MEMW, SMEMW. (MEMory Write, System MEMory Write - Запись в память). Сигнал формируется ЦП или задатчиком на плате расширения. Низкий уровень сигнала записи в память указывает на начало цикла записи. Обращение к адресу в зоне до 1 Мбайта идет при активных (низких)-SMEMW и -MEMW, выше 1 Мбайта - при неактивном (высоком) -SMEMW и активном (низком) -MEMW.
16) OSC. (OSCillator - Генератор тактовых импульсов). Сигнал формируется центральным процессорным устройством. Сигнал с частотой 14,31818 МГц и скважностью 50%. В общем случае не синхронизирован с тактовой частотой процессора.
17) -OWS. (0 Wait States - 0 тактов ожидания). Сигнал выставляется исполнителем для информирования задатчика о необходимости проведения цикла обмена без вставки такта ожидания, если длительность стандартного цикла велика для него. Вырабатывается после перехода сигнала BALE в низкий уровень. Должен быть синхронизирован с сигналом SYSCLK. Тип выходного каскада - открытый коллектор.
18) -REFRESH. (REFRESH - Регенерация). Сигнал формируется контроллером регенерации для информирования всех устройств, подключенных к магистрали, о выполнении регенерации динамического ОЗУ компьютера (каждые 15 мкс).
19) RESET. (Reset - Сброс). Сигнал сброса, высокий (активный) уровень которого переводит все устройства в исходное сосотояние. Сигнал формируется центральным процессором при включении или сбое питания, а также при нажатии на кнопку RESET.
20) SA0...SA19. (System Address - Системная шина адреса). Сигналы формируется ЦП, контроллером ПДП или модулем памяти. Служат для адресации устройств ввода-вывода и памяти. Их называют так же фиксируемыми адресными разрядами, поскольку они действительны в течении всего цикла обмена. Они используются для передачи 20 младших разрядов адресов памяти (всего адрес содержит 24 разряда).
21) -SBHE. (System Bus High Enable - Разрешение передачи по шине старшего байта). Сигнал определяет тип цикла передачи данных - 8 или 16 разрядный. Вырабатывается параллельно с сигналами SA0...SA19. Сигнал формируется ЦП или модулем памяти. Низкий уровень сигнала говорит о передаче старшего байта данных по линиям SD8...SD15. Вместе с сигналом SАО дает возможность определения типа цикла шины.
Таблица 1.1 – Определение типа цикла передачи данных по шине
SBHE | SAO | Тип цикла шины |
0 | 0 | 16 - разрядная передача |
0 | 1 | Передача старшего байта |
1 | 0 | Передача младшего байта |
1 | 1 | Не используется |
22) SD0...SD7. (System Data - Системная шина данных, младший байт). Сигнал формируется ЦП, модулем памяти, задатчиком на плате расширения, модулем устройства ввода-вывода. Линии передачи по шине младшего байта данных. 8-разрядные устройства должны использовать только эти линии для передачи данных. Если программное обеспечение поддерживает 16 или 32 разрядные передачи по 8-разрядной шине данных, то системная плата вырабатывает два или четыре последовательных цикла передачи по этим линиям.
23) SD8...SD15. System Data (Системная шина данных, старший байт). Сигнал формируется ЦП, модулем памяти, задатчиком на плате расширения, модулем устройства ввода-вывода. Старший байт системной шины данных используется для передачи данных 16-разрядными устройствами.
24) SYSCLK (System Clock, Bus Clock - шинный тактовый сигнал). Сигнал системного тактового генератора со скважностью 2 (меандр). В большинстве компьютеров сигнал не синхронизирован частотой ЦП, и его частота равна 8 Мгц. Тип выходного каскада - три состояния.
25) TC. (Terminal Count - Счет завершен). Сигнал формируется контроллером ПДП и используется при завершении блочных передач. Сигнал сообщает о выполнении последнего цикла при передаче массива данных по каналу ПДП.
Проанализировав вышеперечисленные сигналы, можно сделать вывод о том, какие операции обмена в системной шине ISA выполняются с устройствами
ввода-вывода. В режиме программного обмена и обмена с помощью прямого доступа к памяти на магистрали ISA выполняются четыре типа операций (циклов):
1 - операция записи в память;
2 - операция чтения из памяти;
3 - операция записи в устройство ввода вывода;
4 - операция чтения из устройства ввода вывода.
Электрические характеристики шины
ISA
Стандарт шины ISA определяет требования к входным и выходным токам приемников и источников сигнала каждой из плат расширения. Выходные каскады системных передатчиков сигналов УВВ должны выдавать ток низкого уровня не меньше 24 мА (это относится ко всем типам выходных каскадов), а ток высокого уровня—не меньше 3 мА (для выходов с тремя состояниями и ТТЛ).
Входные каскады системных приемников сигналов должны потреблять входной ток низкого уровня не больше 0,8 мА, а входной ток высокого уровня — не больше 0,04 мА.
Кроме этого необходимо учитывать, что максимальная длина печатного проводника от контакта магистрального разъема до вывода микросхемы не должна превышать
К некоторым линиям магистрали подключены нагрузочные резисторы, идущие на шину питания +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, 2]
Таблица 1.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 – сигнал является как входным, так и выходным для внешних плат;
ТРИ – выход микросхемы с тремя допустимыми состояниями на выходе;
ТТЛ – выход микросхемы транзисторно-транзисторной логики;
ОК – открытый коллекторный выход.
В таблице 1.2 приведены электрические характеристики источников сигналов шины ISA.
Таблица 1.2 - Электрические характеристики источников сигналов шины 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 миллиампера.[3]
1.2.2 Особенности проектирования модулей системной шины
При разработке модуля необходимо в первую очередь сформулировать требования, предъявляемые к нему, проанализировать функции, которые компьютер должен выполнять с помощью данного модуля.
При проектировании необходимо информационную, электрическую и конструктивную совместимость. Конструктивная совместимость сводится к точному соблюдению всех размеров платы, разъёмов и крепёжных элементов. Информационная совместимость предполагает точное выполнение протоколов обмена и правильное использование сигналов магистрали (основные сигналы шины ISA см. выше). Электрическая совместимость подразумевает согласование уровней входных, выходных и питающих напряжений и токов.
При проектировании узлов УВВ, входящих в интерфейсную часть УВВ, необходимо учитывать временные диаграммы системной шины ISA (рисунок 1.9). Наиболее важными при проектировании УВВ являются следующие временные интервалы:
· задержка между выставлением адреса и передним фронтом строба обмена (не менее 91 нс) — определяет время распознавания своего адреса проектируемым УВВ;
· длительность строба обмена (не менее 176 нс);
· задержка между передним фронтом сигнала -IOR и выставлением УС читаемых данных (не более 110 нс) — определяет требования к быстродействию буфера данных УВВ;
· задержка между задним фронтом сигнала -IOW и снятием записываемых данных (не менее 30 нс) — определяет требования к быстродействию принимающих данные узлов УВВ.
Обобщенная структурная схема интерфейсной части УВВ, включает в себя все следующие узлы (рисунок 1.13):
· входные буфера (не обязательны);
· двунаправленный буфер данных (в общем случае должен быть разделен на два для каждого байта);
· выходной буфер управляющих сигналов;
· селектор адреса (AS);
· формирователь внутренних стробов (STR);
· формирователь сигнала асинхронного обмена I/O CH RDY (DK).
|
Рис. 1.13 - Обобщенная структурная схема интерфейсной части УВВ |
Для электрического согласования применяется буферирование системных сигналов с целью обеспечения требуемых входных и выходных токов (уровни напряжения на ISA — ТТЛ). Для буферирования микросхемы магистральных приемников, передатчиков, приемопередатчиков, называемые также буферами или драйверами.
Приемники магистральных сигналов должны удовлетворять двум основным требованиям: малые входные токи и высокое быстродействие (они должны успевать отрабатывать в течение отведенных им временных интервалов циклов обмена). Требованиям, предъявляемым к приемникам, удовлетворяют следующие серии микросхем: КР1533 (SN74ALS), К555 (SN74LS) и КР1554 (74АС). Величины входных токов логического нуля для них составляют соответственно 0,2 мА, 0,4 мА и 0,2 мА, а величины временных задержек не превышают соответственно 15 нс, 20 нс и 10 нс. Требования, предъявляемые к передатчикам: большой выходной ток и высокое быстродействие. Часто они должны иметь также отключаемый выход (например, для шины данных), то есть иметь выход с открытым коллектором или с тремя состояниями. Это связано с необходимостью перехода УВВ в пассивное состояние в случае отсутствия обращения к нему.Требования к приемопередатчикам включают в себя требования к приемникам и передатчикам, то есть малый входной ток, большой выходной ток, высокое быстродействие и обязательное отключение выходов. Надо отметить, что в простейшем случае (когда разрядов немного) приемопередатчики могут быть построены на микросхемах приемников и передатчиков.
Требования, предъявляемые к селекторам адреса – высокое быстродействие (селектор адреса должен иметь задержку не более чем на интервал между выставлением адреса и началом сигнала строба обмена), возможность изменения селектируемых адресов (особенно важно для устройств ввода/вывода из-за малого количества свободных адресов) и малые аппаратурные затраты.
Необходимо учитывать, что основным типом обмена по ISA является синхронный обмен, т.е. обмен в темпе задатчика без учёта быстродействия исполнителя. Однако возможен асинхронный обмен, при котором «медленный» исполнитель приостанавливает работу задатчика на время выполнения им требуемой команды. В этом случае надо устанавливать сигнал I/O CH RDY, снятие которого (установка в состояние логического нуля) говорит о неготовности исполнителя к окончанию цикла обмена.
Большое число модулей содержит в своём составе буферные ОЗУ, используемые для промежуточного хранения данных при пересыле из компьютера во внешнее устройство или наоборот. Буферные ОЗУ применяются в двух случаях: 1) при медленных внешних устройствах:
а) если необхожимо поддерживать постоянный темп выдачи (приёма) данных;
б) при передачи больших объёмов данных, чтобы освободить процессор для других задач.
2) если внешние устройства быстрые и компьютер не может обеспечить требуемой скорость приёма/выдачи информации.
При параллельном доступе к буферному ОЗУ каждой ячейке ОЗУ соответствует свой адрес в адресном пространстве компьютера (т.н. разделяемая память). Любой задатчик процессор, контроллер ПДП и т.д.) может общаться с буферным ОЗУ как с системным, используя для этого все средства, все методы адресации, команды обработки строк. В адресном пространстве памяти ISA выделяется окно, в которое проецируются адреса буферного ОЗУ
При последовательном доступе все ячейки буферного ОЗУ проецируются в один адрес в адресном пространстве компьютера, т.е. процессор при обращении по одному и тому же адресу обращается в разное время с разными ячейками буферного ОЗУ.
Основу любого модуля составляет программируемая БИС. Однако существуют другие способы построения адаптеров интерфейсов связи, например, на базе программируемых логических схем (ПЛИС) или на простейших микросхемах. Однако наилучшим решением является использование специализированных, программируемых БИС, в которых размещены все функциональные узлы модуля.
1.3 Этапы проектирования модуля
Необходимо разработать программируемый генератор цифровых сигналов с 1 выходом, то есть генератор прямоугольных импульсов. Максимальная частота выходного сигнала – 2МГц. Программируемые параметры - частота и скважность. Таким образом, выходная информация будет представлять последовательности прямоугольных импульсов, характеризуемых различной частотой и скважностью. Обмен информацией ПЭВМ и внешним устройством должен быть управляемым программной частью разрабатываемого модуля.
Исходя из общих принципов разработки электронных схем и особенностей проектирования устройств ввода/вывода для шины ISA разделим поставленную задачу на несколько этапов:
- синтез обобщенной схемы аппаратного модуля;
- выбор специализированной БИС;
- синтез структурной схемы модуля;
- выбор адресного пространства портов ввода/вывода и номеров прерываний;
- синтез принципиальной схемы модуля;
- разработка программной части модуля инициализации внешнего устройства;
- разработка программной части модуля управления внешним устройством;
1.4 Выводы к главе 1
В данной главе, помимо системной шины ISA, были рассмотрены некоторые способы построения генераторов цифровых сигналов. Основные различия во всех вариантах, исключая аппаратные, это длительность и частота выходных сигналов. Исходя из поставленной задачи, максимальная выходная частота генератора должна быть 2МГц, но не один из рассмотренных вариантов не отвечает этому требованию. Кроме этого, в разрабатываемом модуле необходимо программное изменение параметров выходного сигнала. В приведенных схемах на характеристики сигнала можно повлиять путем изменения сопротивления или емкости, однако, програмную реализацию такого подхода очень сложно осуществить, да и кроме всего прочего в несколько раз возрастут затраты. Исходя из выше сказанного, рассмотренные варианты построения генераторов цифровых сигналов в данном проекте использовать нельзя. Выходом из данной ситуации будет применение в разрабатываемом модуле микроконтроллера, выбор которого будет произведен в следующей главе.
2 Разработка схемы модуля
2.1 Общие сведения
В компьютерах IBM PC предусмотрена возможность подключения дополнительных устройств непосредственно к системной шине. Для этого на основной плате компьютера установлены специальные розетки ("слоты"), в которые могут вставляться дополнительные платы, выполняющие функции, не предусмотренные исходной конфигурацией компьютера. В настоящее время выпускается большой ассортимент дополнительных плат, выполняющих самые разнообразные функции, в том числе и расширяющих возможности связи компьютера с внешними устройствами. При необходимости такие платы можно изготовить самостоятельно. Разработке одного типа таких плат посвящён данный курсовой проект.
Общая схема IBM-совместимой ЭВМ с точки зрения использования шины ISA (рис. 2.1) с подключённым к ней программируемым генератором цифровых сигналов:
Рис. 2.1 – Общая схема IBM-совместимой ЭВМ с точки зрения использования шины ISA
Обозначения:
ЦП – центральный процессор
КПДП – контроллер прямого доступа к памяти
КРП – контроллер регенерации памяти
КПР – контроллер прерываний
ПБ – перестановщик байт
ПГЦС – программируемый генератор цифровых сигналов
СП – системная память
УВВ – устройство ввода/вывода
Разработываемый модуль конструктивно подключается к шине ISA следующим образом (рис. 2.2):
Рис. 2.2 – Организация объединительной шины [1]
2.2 Разработка обобщённой схемы модуля
Модуль (рис. 2.3) содержит следующие составные части :
1) Интерфейсный блок для соединения с ЭВМ (c шиной ISA). Служит для связи модуля с шиной. Используется для передачи управляющих сигналов и данных между шиной и модулем. Состоит из селектора адреса и буфера данных между СБИС и шиной ISA.
2) ООД – оконечное оборудование данных. На него подаётся программируемый модулем цифровой сигнал.
3) СБИС.
Рис. 2.3 – Обобщённая схема модуля шины ISA
Обобщенная схема генератора цифровых сигналов (рис. 2.4) содержит следующие блоки:
- селектор адреса (СА)
- специализированная СБИС
- двунаправленный буфер данных (БД)
Рис. 2.4 – Обобщённая схема генератора цифровых сигналов
Селектор адреса анализирует сигнал -AEN (не ведется ли на шине в это время цикл прямого доступа к памяти) и адрес, выставленный на шине адреса (SA). Если обращение идет к проектируемой плате, то СА формирует строб, разрешающий работу СБИС и двунаправленного буфера между СБИС и шиной ISA. СБИС по сигналу чтения (-IOR) или записи (-IOW) считывает или передает данные на шину данных (SD). Последовательность данных поступает на оконечное оборудование данных (ООД) в виде цифрового сигнала. [1,3]
2.3 Выбор СБИС и описание её структуры
Проведя анализ справочной литературы по различным СБИС можно выделить микросхему КР580ВИ53. Эта микросхема представляет собой устройство, формирующее программно-управляемые временные задержки (таймер). Условное графическое обозначение (УГО) микросхемы приведено на рисунке 2.2, структурная схема показана на рисунке 2.3.
Рисунок 2.2 – УГО КР580ВИ53
Рисунок 2.3 – Структурная схема КР580ВИ53
Назначение выводов микросхемы приведено в таблице 2.1.
Таблица 2.1 – Назначение выводов микросхемы КР580ВИ53 | |||
Вывод | Обозначение | Тип вывода | Функциональное назначение выводов |
1-8 | D7-D0 | Входы/выходы | Канал данных |
9, 15, 18 | СLK0, СLK1, СLK2 | Входы | Синхронизация каналов 0-2 |
10, 13, 17 | OUT0, OUT1, OUT2 | Выходы | Сигналы каналов 0, 1, 2 соответственно |
11, 14, 16 | GATE1, GATE2, GATE3 | Входы | Входы управления счетчиков |
12 | GND | - | Общий |
19, 20 | А0, А1 | Входы | Сигнал выбора каналов 0, 1, 2 |
21 | | Вход | Выбор микросхемы |
22 | | Вход | Чтение |
23 | | Вход | Запись |
24 | Uсс | - | Напряжение питания 5 В±5% |
Микросхема КР580ВИ53 содержит три независимых идентичных канала: 0, 1, 2. Рассмотрим назначение основных узлов.
Схема выбора канала формирует сигналы управления каналами 0, 1, 2, внутренними и внешнимим передачами данных, приемом управляющих слов.
Буфер канала данных состоит из восьми двунаправленных формирователей, имеющих на выходе состояние «Выключено», и осуществляет сопряжение таймера с шиной данных МП. Через буфер канала осуществляется запись управляющего слова в регистры режима и параметров счета в счетчики каждого канала. Схемы каналов 0, 1, 2 идентичны и содержат регистры режима, схемы управления, схемы синхронизации и счетчики. Регистр режима предназначен только для записи информации. Он принимает и хранит кправляющее слово, код которого задает режим работы канала, определяет тип счета и последовательность загрузки данных в счетчик. Схема управления канала синхронизирует работу счетчика в соответствии с запрограммированным режимом и работу канала с работой МП.
Схема синхронизации канала формирует серию внутренних тактовых импульсов определенной длителшьности, которая зависит от внешней частоты синхронизации CLK и определяется внутренними времязадающими цепями схемы. Максимальная частота внешних сигналов синхронизации CLK не более 2.6 МГц.
Счетчик канала представляет собой 16-разрядный счетчик с предустановкой, работающий на вычитание в двоичном или двоично-десятичном коде. Максимальное число при счете равно 216 при работе в двоичном коде или 104 при работе в двоично-десятичном. Счетчики каналов независимы друг от друга и могут иметь различные режимы работы и типы счета. Запуск счета в каждом канале, его останов и продолжение осуществляется по соответствующему сигналу GATE «Разрешение канала»[2].
Описание режимов работы СБИС КР580ВИ53
Микросхема может функционировать в одном из шести основных режимов.
В режиме 0 (прерывания терминального счета) на выходе канала формируется напряжение высокого уровня после отсчета числа, загруженного в счетчик. Сигнал GATE обеспечтвает начало счета, его прерывание (при необходимости) и продолжение счета. Перезагрузка счетчика во время счета прерывает текущий счет и возобновляет его по новой программе.
В режиме 1 (работы ждущего мультивибратора) на выходе канала фомируется отрицательный импульс длительностью , (2.1)
где TCLK – период тактовых импульсов;
n – число, записанное в счетчик.
Запуск ждущего мультивибратора осуществляется положительным фронтом сигнала GATE. Каждый положительный фронт этого сигнала запускает текущий счет или перезапускает счетчик сначала. Перезагрузка счетчика во время счета не влияет на текущий счет.
В режиме 2 (генерации частоты) таймер выполняет функцию делителя входной частоты CLK на n. При этом длительность положительной части периода равна TCLK(n-1), а отрицательной TCLK. Перезагрузка во время счета не влияет на текущий счет.
Режим 3 (генерации меандра) аналогичен режиму 2, при этом длительность положительного и отрицательного полупериодов для четного числа n равна TCLKn/2. Для нечетного числа n длительность положительного полупериода равна TCLKn/2, а отрицательного TCLK(n-1)/2.
В режиме 4 (программного формирования одиночного строба) на выходе канала формируется импульс отрицательной полярности длительностью после отсчета числа, загруженного в счетчик. По сигналу GATE и после перезагрузки счетчика работа канала в режиме 4 аналогична режиму 0.
В режиме 5 (аппаратного формирования одиночного строба) на выходе канала формируется импульс отрицательной полярности длительностью после отсчета числа, загруженного в счетчик[2].
2.4 Выбор адресного пространства портов ввода/вывода
При выборе зоны адресов проектируемого модуля необходимо учитывать распределение стандартных адресов ввода/вывода и выбирать адреса из свободных зон. В таблице 2.5 приведена карта адресов УВВ архитектуры IBM PC.
Таблица 2.5 - Карта адресов УВВ архитектуры IBM PC | |
Зона адресов | Устройство ввода/вывода |
000- | Контроллер ПДП (DMA- master) |
020-021 | Контроллер прерываний (Мaster) |
022-023 | Регистры управления аппаратурой. Порты ввода/вывода |
040- | Регистры управления таймером |
060- | Контроллер интерфейса клавиатуры (8042) |
070- | Порты RTC и порты ввода/вывода CMOS |
080- | Регистры ПДП |
0A0-0BF | Контроллер прерываний (Slave) |
0C0-0DF | Контроллер ПДП (DMA – slave) |
0F0-0FF | Математический сопроцессор |
1F0-1FB | Контроллер жесткого диска |
278- | Параллельный порт #2 |
2B0-2DF | Контроллер графического адаптера |
2F8-2FF | Последовательный порт #2 |
360- | Сетевые порты |
378- | Параллельный порт #1 |
3B0-3BF | Адаптер параллельного порта и монохромного режима |
3C0-3CF | EGA-адаптер |
3D0-3FD | CGA-адаптер |
3F0-3F7 | Контроллер дисковода на гибких дисках |
3F8-3FF | Последовательный порт #1 |
Несмотря на потенциальную возможность адресации по 16 линиям адреса, чаще всего используются только 10 младших линий SAO...SA9, так как большинство разработанных ранее плат расширения используют только их, и, следовательно, за исключением особых случаев нет смысла обрабатывать старшие разряды SA10...SA15.
Младшие адресные разряды с шины (SA0 и SA1) необходимо соединить с адресными входами СБИС (A0 и A1). Исходя из спецификации СБИС и поставленной задачи, проектируемый модуль будет занимать в адресном пространстве три адреса. Выберем адрес
372h ( 001101110010b )-
373h (001101110011b )-
375h (001101110101b )-
Адреса 372h и 373h служат для загрузки счетчика канала 0 и счетчика канала 1 соответственно, а адрес 375h – для занесения управляющего слова в регистр режима.
2.5 Разработка элементов интерфейсной части модуля
Самое простое решение при построении селектора адреса — использование только микросхем логических элементов. Основным достоинством такого подхода является высокое быстродействие (задержка не превышает 30 нс). Однако есть и недостатки:
· Необходимость проектирования схемы заново для каждого нового адреса.
· Невозможность смены адреса.
· Сложность организации выбора нескольких адресов.
В задании на курсовой проект ничего не сказано по поводу выбора адресов ввода/вывода. Значит, реализуем самый простой в плане временных и материальных затрат вариант с фиксированными адресами, т.е. строим селектор адреса на логических элементах.
Функциональная схема селектора адреса представлена на рисунке 2.8.
Рис. 2.8 – Функциональная схема селектора адреса
В качестве буфера данных между СБИС и шиной данных используем микросхему К555АП6 (рис. 2.9, таблица 2.6).
Вход T | Вход -EZ | Операция |
0 | 0 | B>A |
1 | 0 | A>B |
0 | 1 | 3 сост. |
1 | 1 | 3 сост. |
|
Рис. 2.9 – УГО микросхемы К555АП6
2.6 Выбор элементной базы и разработка принципиальной схемы
Для построений принципиальной схемы необходимо выбрать элементную базу. Анализируя справочную литературу и учитывая требования, предъявляемы к приемникам и передатчикам, выберем следующие микросхемы:
инверторы – КР1533ЛН1,
элементы «И-НЕ» - КР1533ЛА2, КР1533ЛА3,
элементы «ИЛИ-НЕ» - КР1533ЛЕ1,
счетчик – КР555ИЕ10,
буфер между СБИС и шиной – К555АП5.
Для сопряжения сигналов -IOR, SA0 и SA1 с СБИС будут применяться элементы «И» - КР1533ЛИ1.
Сигнал с выхода OUT0 нулевого канала заведен на вход синхронизации канала 1 с целью изменения скважности и частоты выходного сигнала разрабатываемого модуля. Счетчик СТ2 аппаратно делит частоту сигнала CLK на 4, таким образом обеспечивается указанная в задании максимальная частота выходного сигнала (2 МГц). Программно изменяя коэффициент счета канала 0 (N1) мы добъемся изменения частоты выходного сигнала. Изменяя коэффициент счета канала 1 (N2), обеспечим программное изменение скважности выходного сигнала. Оба канала работают в режиме 2.
Разработанная принципиальная схема приведена в ТПЖА Э3.
2.7 Выводы к главе 2
В данной главе была разработана обобщенная схема модуля, выбрана специализированная СБИС, рассмотрены ее структура и режимы работы. Были выбраны адреса ввода платы. По результатам второй главы была спроектирована принципиальная схема устройства.
По принципиальной схеме может быть выпущена плата, которая вставляется в слот шины ISA компьютера и в режиме программно-управляемого обмена генерирует цифровые сигналы заданной частоты и скважности.
3 Разработка программных модулей
3.1 Разработка программного модуля инициализации
Алгоритм программирования модулей зависит от типа используемой программируемой СБИС и режима обмена между СБИС и процессором компьютера через системную шину ISA.
Инициализация аппаратных модулей проводится в несколько этапов. На первом этапе выполняется инициализация СБИС модуля. На последующих этапах производится инициализация системы прерываний или ПДП, в зависимости от используемых режимов обмена данными между модулем и процессором системы.
В данном случае ведётся программно-управляемый обмен, т.е. инициализировать нужно только СБИС. Ещё одной особенностью является то, что нет необходимости выполнять блокирования системы прерывания в виду того, что в модуле не ведётся режим обмена по прерываниям.
Процедура инициализации СБИС заключается в программировании режима работы необходимо загрузить из микропроцессора управляющее слово CW. При этом на адресных входах А0 и А1, а также , , должны быт выставлены соответствующие сигналы. Их комбинации продублированы в таблице 3.1.
Режим работы каналов СБИС КР580ВИ53 программируется с помощью простых операций ввода/вывода (таблица 3.1)
Таблица 3.1 – Операции ввода/вывода для СБИС КР580ВИ53 | |||||
Сигналы на входах | Направление и вид информации | ||||
| | А1 | А0 | | |
0 | 1 | 1 | 1 | 0 | Канал данных→СБИС (занесение управляющего слова в канал 0, 1 или 2) |
1 | 0 | 1 | 1 | 0 | Нет операций. Канал данных СБИС в высокоомном состоянии |
0 | 1 | 0 | 0 | 0 | Канал данных→СБИС (загрузка счетчика канала 0) |
0 | 1 | 0 | 1 | 0 | Канал данных→СБИС (загрузка счетчика канала 1) |
0 | 1 | 1 | 0 | 0 | Канал данных→СБИС (загрузка счетчика канала 2) |
1 | 0 | 0 | 0 | 0 | СБИС→канал данных (чтение показаний счетчика канала 0) |
1 | 0 | 0 | 1 | 0 | СБИС→канал данных (чтение показаний счетчика канала 1) |
1 | 0 | 1 | 0 | 0 | СБИС→канал данных (чтение показаний счетчика канала 2) |
1 | 1 | Х | Х | 0 | Нет операций. Канал данных СБИС в высокоомном состоянии |
Х | Х | Х | Х | 1 | Запрет. Канал данных СБИС в высокоомном состоянии |
Каждый из трех каналов СБИС программируется индивидуально путем записи в регистр режима управляющего слова, а в счетчик – запрограммированного числа байтов. Формат управляющего слова представлен в таблице 3.2.
Таблица 3.2 – Формат управляющего слова | |
Разряд слова состояния | Назначение |
D0 | Код: 0 – двоичный, 1 – десятичный |
D1, D2, D3 | Режим работы: 000 – режим 0; 001 – режим 1; Х10 – режим 2; Х11 – режим 3; 100 – режим 4; 101 – режим 5. |
D4, D5 | Чтение (загрузка): 00 – операция «защелкивание»; 01 – только младший байт; 10 – только старший байт; 11 – младший байт, затем старший. |
D6, D7 | Выбор регистра режима: 00 – канал 0, 01 – канал 1, 10 – канал 2, 11 – запрет. |
Для инициализации СБИС необходимо сначала записать управляющее слово для канала 0 и загрузить счетчик 0, затем записать управляющее слово для канала 1 и загрузить счетчик 1. Запись управляющего слова, в отличие от загрузки счетчиков, производится по одному адресу (375h).
Таким образом, нам необходимо записать по адресу 375h управляющее слово: 00110100b, затем по адресу 372h необходимо занести в счетчик канала 0 запрограммированное число N1 (коэффициент счета). После этого снова записываем управляющее слово (01110100b) и загружаем по адресу 373h в счетчик параметр N2. Элементы программы представлены в приложении А.
3.2 Выводы к главе 3
Управляющие функции, которые выполняет модуль управления, включены в программный модуль инициализации.
В этой главе было рассмотрено программирование выбранной БИС, и была разработана программная часть модуля. Реализован программно-управляемый обмен данными с разрабатываемым устройством. Пользователь вводит значения частоты и скважности цифрового сигнала, значения которых он хочет получить на выходе устройства. Программный модуль инициализирует СБИС устройства в соответствии с введёнными значениями и схема начинает генерацию цифрового сигнала.
Заключение
В результате выполнения курсового проекта был проведён обзор существующих аналогов проектируемого устройства, были получены навыки проектирования аппаратно-программных модулей системной шины ISA.
Так же разработан программируемый генератор цифровых сигналов со следующими характеристиками:
· 1 выход;
· максимальная частота выходного сигнала 2 МГц;
· возможность программного изменения частоты и скважности;
· адреса ввода: 372h, 373h, 375h.
Также были разработаны программные модули, обеспечивающие работу платы.
В основу проектирования была положена микросхема программируемого таймера К580ВИ53, работающая в режиме генерации частоты. Для обеспечения масимальной выходной частоты 2 МГц произведено деление тактовых импульсов сигнала SYSCLK шины ISA (8 МГц) на 4. В канал 0 и канал 1 программируемого таймера загружаются 2 числа. На частоту влияют оба загруженных числа (происходит деление частоты 2 МГц на определённый коэффициент). На скважность влияет число, записанное в счётчик канала 1. Т.о., загружая в счётчики определённые значения, мы имеем возможность программно изменять форму цифрового сигнала.
Приложение А
(справочное)
Библиографический список
1. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем: Учебник для вузов. – СПб.: Питер, 2004. – 686 с.: ил.
2. Шабалин Л.А. Разработка аппаратно программных модулей шины ISA: методические указания по выполнению курсовой работы. – ВятГУ.
3. Блохин С.М. Шина ISA персонального компьютера IBM PC/AT - М.: ПК "Сплайн", 1992.
4. Шило В.Л. Популярные цифровые микросхемы: Справочник. – М.: Радио и связь, 1987. – 352 с.: ил. – (Массовая радиобиблиотека. Вып. 1111).
5. Бычков Е.А. Архитектура и интерфейсы персональных компьютеров. – М.: Центр “СКС”, 1993.
6. Новиков Ю.В., Калашников О.А., Гуляев С.Э. Разработка устройств сопряжения для персонального компьютера типа IBM PC -М.: Эком., 1997.
7. Завадский В.А. Компьютерная электроника - К.: ВЕК, 1996.
8. Л.А. Мальцева, Э.М. Фромберг, В.С. Ямпольский Основы цифровой техники. – М.:Радио и связь, 1986г. 128с.
9. Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник. В 2 т. / В. –Б. Б. Абрайтис, Н. Н. Аверьянов, А. И. Белоус и др.; Под ред. В. А. Шахнова. - М.: Радио и связь,1988. - Т.1. - 386 с.: ил.
10. Мячев А.А., Иванов В.В. Интерфейсы вычислительных систем на базе мини- и микроЭВМ /Под ред. Б.Н. Наумова. - М.: Радио и связь, 1986.
Приложение Б
(Обязательное)
Список сокращений
ЦП – центральный процессор
КПДП – контроллер прямого доступа к памяти
КРП – контроллер регенерации памяти
КПР – контроллер прерываний
ПБ – перестановщик байт
ПГЦС – программируемый генератор цифровых сигналов
СП – системная память
УВВ – устройство ввода/вывода
СА – селектор адреса
ООД – оконечное оборудование данных
БД – буфер данных
СБИС – сверхбольшие интегральные схемы
ЭВМ – электронно-вычислительная машиина
ПЭВМ – персональная электронно-вычислительная машина
ПТ – программируемый таймер
МП – микропроцессор
ПЛИС – программируемая логическая интегральная схема
ПДП – прямой доступ к памяти
ОЗУ – оперативное запоминающее устройство
УГО – условно-графическое обозначение
БИС – большая интегральная схема
ТТЛ – транзисторно-транзисторная логика
Приложение В
(Обязательное)
Листинг программы
#include <stdio.h> //стандартная библиотека ввода/вывода
#include <conio.h> //там находится прототип функции outp()
#define CWT0 0x52 //CWT0 – 00110100b управляющее слово для канала 0
#define CWT1 0x116 //CWT1 – 01110100b управляющее слово для канала1
#define portc 0x375// адрес для занесение управляющего слова в регистр режима
//прототип функции инициализации
void InitPit (int N1, int N2);// частота, скважность
void main()
{int N1,N2;
…
//Ввод требуемых параметров (
N1,
N2)
…
//Инициализация счетчика:
InitPit(N1,N2);
}
void InitPit (int N1, int N2)
{unsigned char p1,p2,t1,t2;
p1=(N1<<8)>>8;
p2=N1>>8;
t1=(N2<<8)>>8;
t2=N2>>8;
disable();
outp(portc, CWT0); //Запись управляющего слова в регистр режима 0
outp(portc-3, p1); //Запись в счетчик 0 младшего байта
outp(portc-3, p2); //Запись в счетчик 0 старшего байта
outp(portc, CWT1); //Запись управляющего слова в регистр режима1
outp(portc-2, t1); //Запись в счетчик 1 младшего байта
outp(portc-2, t2); //Запись в счетчик 1 старшего байта
enable();
}