Разработка микропроцессорной системы
ИНСТИТУТ СВЯЗИ
Факультет электроники, телекоммуникаций и компьютерных систем
Александр Малинин
Разработка микропроцессорной системы на базе микропроцессора Intel 8086.
Дисциплина: Микропроцессоры
Вид работы: Курсовая работа
Оценка: _____________
Преподаватель: Децл ________________
подпись
Дата: 31.12.2000
Рига 2000
Содержание:
- Цель курсовой работы ……………………………………………………………. 3
- Разработка структурной схемы микропроцессорной системы ……………… 4
- Разработка функциональной схемы микропроцессорного модуля …………. 7
- Разработка функциональной схемы модуля памяти …………………………. 9
- Разработка функциональной схемы модуля ввода/вывода ………………….. 12
- Список использованной литературы ……………………………………………. 15
1. Цель курсовой работы.
Данная курсовая работа посвящена разработке микропроцессорной системы на базе микропроцессора Intel 8086. Выполнение курсовой работы делится на четыре этапа:
1. разработка структурной схемы микропроцессрной системы;
2. разработка функциональной схемы микропроцессорного модуля;
3. разработка функциональной схемы модуля памяти;
4. разработка функциональной схемы модуля ввода/вывода.
Данные, необходимые для выполнения работы берутся в соответствии с вариантом назначенным преподавателем. Ниже приведены условия для данного варианта:
Вариант № ………………………………………………………… 50
Конфигурация МПС ……………………………………………… min
Емкость ОЗУ (Кбит) ……………………………………………… 256
Емкость ПЗУ (Кбит) ……………………………………………… 64
Организация микросхем ОЗУ …………………………………… 32Kx4
Организация микросхем ПЗУ …………………………………… 8Kx1
Способ обращения к портам ввода/вывода …………………….. СК
Способ организации ввода/вывода ……………………………… РПР
Порт ввода:
Тип ……………………………………………………………… пар.
Адрес …………………………………………………………… 02h
Порт вывода:
Тип ……………………………………………………………… посл.
Адрес …………………………………………………………… 52h
Пояснение:
min – минимальная конфигурация системы;
max – максимальная конфигурация системы;
СК – обращение к портам ввода/вывода с помощью специальных команд;
РПР - ввод/вывод информации в режиме прерывания;
пар. – параллельный порт;
посл. – последовательный порт.
2. Разработка структурной схемы микропроцессорной системы.
В данной работе разрабатывается микропроцессорная система с минимальной конфигурацией, что предполагает использование управляющих сигналов, формируемых непосредственно на выводах микропроцессора Intel 8086. Структурная схема системы представлена на рисунке 1.
Микропроцессорная система состоит из десяти основных узлов:
• Тактовый генератор G;
• Микропроцессор CPU;
• Буферный регистр RG;
• Шинный формирователь;
• Контроллер прерываний IC;
• Модуль памяти;
• Модуль ввода/вывода;
• Шина адреса ША;
• Шина данных ШД;
• Шина управления ШУ.
Тактовый генератор служит для генерации тактирующего сигнала обеспечивающего синхронизацию работы микропроцессора и микропроцессорной системы в целом. Так же формирует сигнала “ready” служащий для индикации момента когда установились частота генерируемого сигнала, и сигнала “reset” служащего для сброса микропроцессора и других элементов системы.
Микропроцессор обеспечивает выполнение программы хранящейся модуле памяти, формирует адреса и сигналы управления для обращения к определенным ячейкам памяти модуля памяти, и отдельным элементам системы, таким как порты ввода/вывода, контроллер прерываний. Ниже поясняется назначение этих сигналов:
A/D (15-0) – адрес ячейки памяти, порта ввода/вывода, или контроллера
прерываний;
STB – выход строба адреса. Служит сигналом разрешения передачи адреса для буферного регистра.
OP/IP – сигнал для шинного формирователя, служащий для указания направления передачи данных (в CPU/ от CPU).
DE – сигнал активизации шины данных. Низкий уровень подключает микропроцессор к шине данных, высокий уровень переводит выходы шинного формирователя в высокоимпедансное состояние.
INTA – выход сигнала подтверждения прерывания. Низкий уровень стробирует ввод в микропроцессор информации из источника, вызвавшего прерывание.
M/IO – сигнал служащий для различения обращения к модулю памяти или модулю ввода/вывода.
R – сигнал стробирующий чтение данных из модуля памяти или модуля ввода/вывода.
W – сигнал стробирующий запись данных в модуль памяти или модуль ввода/вывода.
INT – сигнал запроса прерывания. Передается от контроллера прерываний в микропроцессор при необходимости прервать выполнение текущей задачи, и перейти к обработке прерывания.
Буферный регистр служит для удержания адреса на шине адреса (буферизация), в течении некоторого времени определяемого сигналом STB.
Так же служит для усиления сигналов A/D (15-0).
Шинный формирователь служит для коммутации микропроцессора с шиной данных, выбора направления передачи данных, усиления сигнала выдаваемого микропроцессором на шину.
Контроллер прерываний обеспечивает согласование сигналов запроса прерывания, поступающих от модуля ввода/вывода с процессором.
Модуль памяти обеспечивает запись, чтение, хранение данных. Хранит программу необходимую для работы процессора.
Модуль ввода/вывода обеспечивает обмен данными между микропроцессорной системой и подключаемыми к ней внешними устройствами.
Шина адреса шестнадцати разрядная шина, служащая для передачи адреса ячейки памяти при обращении к модулю памяти, адреса порта при обращении к портам ввода/вывода, или адреса контроллера прерываний при обмене данными между контроллером прерываний и процессором.
Шина данных восьми разрядная шина, необходимая для обмена данными между процессором и контроллером прерываний, процессором и модулем памяти, процессором и модулем ввода/вывода.
Шина управления служит для передачи управляющих сигналов таких как чтение данных, запись данных, выбор порт/память при адресации, и др., от процессора к другим модулям системы, а так же для передачи сигналов запроса прерывания от модуля ввода/вывода к процессору.
Рис. 1. Структура МПС минимальной конфигурации
на базе микропроцессора Intel 8086.
3. Разработка функциональной схемы микропроцессорного модуля.
Микропроцессорный модуль является по сути основным узлом микропроцессорной системы. В его состав входит сам микропроцессор, тактовый генератор, буферные регистры, шинный формирователь, дешифратор адреса контроллера прерываний и контроллер прерываний.
Функциональная схема микропроцессорного модуля представлена на рисунке 2.
Рис. 2. Функциональная схема микропроцессорного модуля.
Генератор тактовых импульсов выполнен на микросхеме 8284. Генератор имеет в своем составе кварцевый резонатор для обеспечения повышенной стабильности частоты генерируемого сигнала, кнопку сброса обеспечивающую выдачу генератором на вход процессора сигнала reset,
RC цепь исключающую эффект “дребезга” контактов при нажатии кнопки сброса. Генератор имеет пять входов и три выхода. Ко входам X1 и X2 подключается кварцевый резонатор, вход F/C служит для выбора внутреннего или внешнего задающего генератора, при подаче на него логического “0” генерация тактовых импульсов производится внутренним генератором, при подаче “1” – внешним задающим генератором, вход CSN позволяет обеспечить синхронизацию тактовых сигналов путем сброса делителей частоты при работе от внешнего задающего генератора. Входы F/C и CSN в данной схеме заземлены. Ко входу RES подключается кнопка сброса. На выходе CLK подключенному ко входу CLK процессора, формируется тактовый сигнал генерируемый генератором. Выход RES служит для выдачи сигнала сброса, и подключен ко входу CLR процессора. Выход RDY генератора подключен ко входу RDY процессора, и выдает сигнал готовности генератора.
В качестве центрального процессора используется микросхема микропроцессора I8086. Эта микросхема имеет шестнадцать тристабильных входов/выходов AD0-AD15, обеспечивающих выдачу адреса на шину адреса, и выдачу (прием) данных на (с) шину данных. Эти выходы подключены к двум микросхемам 8282 и к одной микросхеме 8286 таким образом, что младшие восемь разрядов подключены к одной микросхеме 8282 и одной 8286, старшие к оставшейся микросхеме 8282. Сигнал STB формируемый микропроцессором является стробирующим сигналом для буферных регистров RG. Выход OP/IP формирует сигнал направления передачи данных для шинного формирователя выполненного на микросхеме 8286. Сигнал DE определяет тип информации передаваемой в текущий момент на шину AD0-AD15 (адрес/данные), и является сигналом выбора микросхемы для шинного формирователя. Сигнал M/IO служит для указания типа устройства (память или устройства В/В) при адресации. Сигналы R и W являются стробирующими сигналами чтения и записи соответственно. На вход INT поступают сигналы запроса прерывания от контроллера прерываний, с выхода INTA обратно в контроллер прерываний поступают сигналы подтверждения прерывания. Вход процессора MN/MX служит для выбора типа конфигурации системы (максимальная/минимальная). Для выбора минимальной конфигурации к этому входу подведена логическая “1”.
Буферные регистры выполнены на восьми разрядных микросхемах 8282. Входы данных этих микросхем подключены к выходам AD0-AD15 микропроцессора, выходы подключены к шине адреса. На вход стробирования STB поступает сигнал сторбирования адреса STB с процессора, ко входу выбора микросхемы OE подведен логический “0”.
Шинный формирователь выполнен на восьми разрядной микросхеме 8286. Входы данных этой микросхемы подключены к входам/выходам AD0-AD7 микропроцессора, выходы подключены к шине данных. На вход направления передачи данных поступает сигнал OP/IP с процессора, ко входу выбора микросхемы CS подведен сигнал DE формируемый процессором.
На микросхеме DD6 выполнен дешифратор адреса для контроллера прерываний (8259). Ко входу дешифратора подключены все разряды шины адреса и сигнал M/IO. На выходе дешифратора формируется логический “0” если все разряды шины адреса находятся в состоянии логического “0” и сигнал M/IO сигнализирует о выборе устройства ввода/вывода. Выход дешифратора подключен ко входу CS (выбор микросхемы) контроллера прерываний.
Контроллер прерываний выполнен на микросхеме 8259. Микросхема подключается к шине данных через входы/выходы D0-D7. Вход A0, подключенный к младшему разряду шины адреса используется для выбора регистров контроллера при обмене данными между контроллером и процессором. Выход INT подключенный к одноименному входу процессора используется для формирования запроса прерывания контроллером, в свою очередь вход контроллера INTA обеспечивает получение подтверждения прерывания. Сигналы R и W являются стробирующими сигналами чтения и записи информации соответственно. Вход SP подтянутый к логической “1”, служит для выбора роли микросхемы (ведущий “1”, ведомый “0”) если используется несколько микросхем одновременно. На входы IR0, IR1 поступают запросы прерывания от модуля ввода/вывода.
4. Разработка функциональной схемы модуля памяти.
Модуль памяти включает в себя оперативное запоминающее устройство выполненное на двух микросхемах (DD4, DD5) с организацией 32Кx4, постоянное запоминающее устройство в виде восьми микросхем (DD6÷DD13) с организацией 8Кx1 и дешифратор старших разрядов адреса выполненный на микросхемах DD1÷DD3, обеспечивающий обращение к ОЗУ в диапазоне адресов 0000h÷7FFFh, и к ПЗУ в диапазоне адресов E000h÷FFFFh. Эти адреса были вычислены из расчета:
Для ОЗУ: Начальный адрес + объем памяти (байт) – 1
Для ПЗУ: Конечный адрес – объем памяти (байт) + 1
Для данного варианта начальный адрес ОЗУ равен 0000h, объем памяти 256 Кбит = 32 Кбайт, следовательно:
0000h + 8000h (32 Кбайт) – 1 = 7FFFh
Конечный адрес ПЗУ равен FFFFh, объем ПЗУ 64 Кбит = 8 Кбайт, следовательно:
FFFFh – 2000h (8 Кбайт) + 1 = E000h
Ниже, на рисунке 3 представлена функциональная схема модуля ввода/вывода и таблица распределения адресного пространства.
Рис. 3. Функциональная схема модуля ввода/вывода,
таблица распределения адресного пространства.
На микросхемах DD1, DD3 выполнена комбинационная логическая схема, выходной сигнал которой является входным сигналом CS (выбор микросхемы) для микросхем памяти ОЗУ DD4, DD5. Ниже представлена таблица истинности для этой КЛС:
№ |
А15 |
M/IO |
R |
W |
Q |
1 |
x |
0 |
x |
x |
1 |
2 |
1 |
x |
x |
x |
1 |
3 |
x |
x |
1 |
1 |
1 |
4 |
0 |
1 |
0 |
1 |
0 |
5 |
0 |
1 |
1 |
0 |
0 |
Учитывая что сигналом выбора микросхем для DD4, DD5 является логический "0", из таблицы видно что память ОЗУ будет выбрана только тогда, когда:
· старший разряд адреса (А15) равен "0", что обеспечивает доступ к адресам в диапазоне 0000h¸7FFFh;
· сигнал M/IO равен "1" (выбор модуля памяти);
· один из сигналов R или W равен "0" (строб чтения или записи).
Комбинационная логическая схема выполненная на микросхеме DD2, выходной сигнал которой является входным сигналом CS (выбор микросхемы) для микросхем памяти ПЗУ DD6¸DD13, обеспечивает доступ к этим микросхемам только в момент чтения информации из ПЗУ. Ниже представлена таблица истинности для этой КЛС:
№ |
А13 |
А14 |
А15 |
M/IO |
R |
Q |
1 |
x |
x |
x |
x |
1 |
1 |
2 |
x |
x |
x |
0 |
x |
1 |
3 |
0 |
x |
x |
x |
x |
1 |
4 |
x |
0 |
x |
x |
x |
1 |
5 |
x |
x |
0 |
x |
x |
1 |
6 |
1 |
1 |
1 |
1 |
0 |
0 |
Учитывая что сигналом выбора микросхем для DD6¸DD13 является логический "0", из таблицы видно что память ПЗУ будет выбрана только тогда, когда:
· старшие разряды адреса А13, А14, А15 равны "1", что обеспечивает доступ к адресам в диапазоне E000h¸FFFFh;
· сигнал M/IO равен "1" (выбор модуля памяти);
· сигнал R равен "0" (чтение памяти).
Адресные входы микросхем памяти ОЗУ DD4 и DD5, подключены к младшим 14-ти разрядам шины адреса, что позволяет адресовать 16384 ячеек памяти. Выходы данных этих микросхем подключены к шине данных таким образом что выходы микросхемы DD4 подключены к младшим четырем разрядам шины данных, а выходы микросхемы DD5 к старшим четырем. В итоге, поскольку к шине адреса эти микросхемы подключены одинаково, мы имеем адресацию к восьмиразрядным ячейкам памяти.
Адресные входы микросхем памяти ПЗУ DD6¸DD13, подключены к младшим 12-ти разрядам шины адреса, что позволяет адресовать 4096 ячеек памяти. Выходы данных этих микросхем подключены к шине данных таким образом что каждая микросхема подключена к одному из разрядов шины данных. В итоге, поскольку мы имеем восемь микросхем ПЗУ, и к шине адреса эти микросхемы подключены одинаково, мы имеем адресацию к восьмиразрядным ячейкам памяти.
5. Разработка функциональной схемы модуля ввода/вывода.
Модуль ввода/вывода содержит в себе два порта – параллельный порт ввода, выполненный на микросхеме 8255, и последовательный порт вывода, выполненный на микросхеме 8251. Так же в состав модуля ввода/вывода входят комбинационные логические схемы выполняющие роль дешифраторов адреса портов, и логическая схема, фиксирующая изменение состояния информационных входов порта ввода, для формирования сигнала запроса прерывания. Функциональная схема модуля ввода/вывода представлена на рисунке 4.
Входы/выходы данных микросхемы 8255 соединены с шиной данных, адресные входы А0 и А1 соединены с соответствующими разрядами адресной шины, причем вход А1 соединен с линией первого разряда шины адреса через инвертор. С шины управления на входы WR и RD микросхемы поступают сигналы чтения и записи данных, на вход CS (выбор микросхемы) поступает сигнал от дешифратора адреса выполненного на микросхемах DD2, DD3. На микросхемах DD7÷DD15, выполнена схема обеспечивающая формирования сигнала запроса прерывания IRQ0, при любом изменении информации на входах PA0÷PA7 микросхемы 8255.
Входы/выходы данных микросхемы 8251 соединены с шиной данных, вход C/D (команды/данные) соединен с младшим разрядом адресной шины, с шины управления на входы WR и RD микросхемы поступают сигналы чтения и записи данных, на вход CS (выбор микросхемы) поступает сигнал от дешифратора адреса выполненного на микросхеме DD4. На вход CLK (синхронизация) и RST (сброс) поступают соответствующие сигналы (формируемые тактовым генератором) с шины управления. Сигнал с выхода TxE сигнализирующий о том что порт передал данные на периферийное устройство и готов принять очередной байт от процессора для передачи, поступает на шину управления как сигнал запроса прерывания IRQ1.
Рис. 4. Функциональная схема
модуля ввода/вывода.
Дешифратор адреса порта ввода в виде КЛС выполненной на микросхемах DD2 и DD3, обеспечивает формирование логического “0”, являющегося сигналом выбора микросхемы порта ввода (DD5). Ниже приведена таблица истинности для данной КЛС:
№ |
А1 |
А2 |
А3÷А15 |
M/IO |
Q |
1 |
x |
x |
x |
1 |
1 |
2 |
x |
x |
1 |
x |
1 |
3 |
0 |
0 |
x |
x |
1 |
4 |
1 |
1 |
x |
x |
1 |
5 |
0 |
1 |
0 |
0 |
0 |
6 |
1 |
0 |
0 |
0 |
0 |
Таким образом, выбор микросхемы DD5 обеспечивается выполнением следующих условий:
· сигнал M/IO равен “0” (выбор устройства ввода/вывода);
· все разряды шины адреса начиная с А3 и по А15 равны “0”;
· значения разрядов А1 и А2 не равны между собой.
Из этого следует, что обращение к микросхеме порта ввода возможно в диапазоне адресов 02h÷05h, что соответствует условию задания. Необходимость выделения пору ввода не одного, а четырех адресов, обусловлена тем что микросхема 8255 имеет в своем составе три порта ввода/вывода, адресация к которым производится посредством адресных входов А0, А1 микросхемы, еще один адрес отводится под регистр управляющего слова микросхемы. Таким образом комбинационная логическая схема выполненная на микросхемах DD1, DD2, DD3, обеспечивает как бы “смещение” адреса 00h, являющегося базовым адресом микросхемы 8255, на адрес 02h являющийся базовым адресом порта ввода системы. Таблица преобразования адресов, комбинационной логической схемой выполненной на микросхемах DD1, DD2, DD3, представлена ниже:
Адрес на шине адреса |
Адрес на микросхеме DD5 |
||||
№ |
А2 |
А1 |
А0 |
А1 |
А0 |
1 |
0 |
1 |
0 |
0 |
0 |
2 |
0 |
1 |
1 |
0 |
1 |
3 |
1 |
0 |
0 |
1 |
0 |
4 |
1 |
0 |
1 |
1 |
1 |
Дешифратор адреса, выполненный на микросхеме DD4, обеспечивает доступ к порту вывода в диапазоне адресов 052h÷053h. Ниже представлена таблица истинности для данного дешифратора:
№ |
А1 |
А2 |
А3 |
А4 |
А5 |
А6 |
А7÷А15 |
M/IO |
Q |
1 |
0 |
x |
x |
x |
x |
x |
x |
x |
1 |
2 |
x |
1 |
x |
x |
x |
x |
x |
x |
1 |
3 |
x |
x |
1 |
x |
x |
x |
x |
x |
1 |
4 |
x |
x |
x |
0 |
x |
x |
x |
x |
1 |
5 |
x |
x |
x |
x |
1 |
x |
x |
x |
1 |
6 |
x |
x |
x |
x |
x |
0 |
x |
x |
1 |
7 |
x |
x |
x |
x |
x |
x |
1 |
x |
1 |
8 |
x |
x |
x |
x |
x |
x |
x |
1 |
1 |
9 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
Как видно из таблицы, для обеспечения состояния логического “0” на выходе дешифратора (выбор микросхемы DD6), необходимо выполнение следующих условий:
· на шине адреса (А0÷А15) должен присутствовать адрес 052h или 053h;
· сигнал M/IO должен быть равен “0” (выбор устройства ввода/вывода).
В свою очередь различие между адресацией по адресу 052h или по адресу 053h отражаются на младшем разряде шины адреса (А0) подключенному ко входу C/D (команды/данные).
6. Список использованной литературы.
· «Микропроцессоры и микропроцессорные системы.»
· «Полупроводниковая схемотехника.» У. Титце, К. Шенк.
http://www.dmitriks.narod.ru/books/books.php#TITSH
· http://www.elcom.pub.ro/discipline/amp2/82c51a.pdf
· http://www.deetc.isel.ipl.pt/microprocessadores/recursos/x86/Manuais/Perifericos/82C84.PDF