Проектирование микропроцессорной системы. 2
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
МТУСИ
Кафедра
информационных технологий и систем
студент
Хатамов Т.Ф.
курс 5 специальность 230101
вариант 06, ЗВМ 07506
Руководитель
ст.пр. Алешинцев А.В.
КУРСОВОЙ
ПРОЕКТ
По
дисциплине Микропроцессорные системы
Москва
2012
Содержание
Архитектура
МПС……………………………………………………….……………
Блок
центрального процессора………………………………………..………
Блок
дешифрации адресов………………………………………….…..………
Блок
памяти…………………………………………………………..
Блок
внешнего интерфейса……………………………………………...
Элементная
база……………………………………………………………………
Управляющая
программа ПМС…………………………………...…
Литература……………………………………………………
Задание
Разработать микропроцессорную систему на базе следующих комплектующих:
1.ЦП 8086
2.ОЗУ 537РУ18, объем 64Kb, начальный адрес 10000h
3.ПЗУ 573РФ6, объем 64Kb
4.Начальный адрес ввода вывода 0С0h
5.БИС i8253, КР580ВД79
1.Архитектура МПС
Разрабатываемая в курсовом проекте учебная МПС на базе процессора i8086 имеет архитектуру с локальной и системной шинами. Блок центрального процессора и системная шина, к которой подключены остальные блоки МПС, связаны между собой системным интерфейсом. Тип центрального процессора определяет разрядность шины адреса и шины данных, т.е. число адресных сигналов и сигналов данных системной шины, объем адресного пространства для адресации памяти и портов ввода-вывода, разрядность памяти и портов ввода вывода по данным, принцип построения системного интерфейса и набор управляющих сигналов системной шины.
Общая схема МПС
2. Блок центрального процессора
2.1.1.
Параметры базового
микропроцессора
семейства Intel 8086.
Структурная схема микропроцессора Intel 8086 приведена на рис. 2. Назначение выводов МП приведено на рис. 3.
Рис. 2. Структурная схема микропроцессора I8086
Рис.3 . Назначение внешних выводов микропроцессора
2.1.2. Функционирование микропроцессора I8086.
Временные диаграммы, поясняющие функционирование МП приведены на рис. 4.
Каждый МЦ состоит из четырех ТИ. В режиме аппаратного ожидания между тактами Т3, Т4 выполняются такты ожидания TW, число которых определяется длительностью внешнего сигнала на входе READY.
В такт Т1 на выходы BHE/ST7 А19-А16, А15-А0 выдаётся адрес ЗУ или ВУ и сигнал разделения ЗУ/ВУ на выход М/Iо. Адрес сопровождается стробом на выход ALE(STB).
В такте Т2 на линии BHE/ST7, А19-А19/ST6-ST3 выдаётся состояние МП, а шина данных переходит при чтении в состояние высокого входного сопротивления, а при записи выдаёт данные.
В такте Т3 данные принимаются по сигналу чтения на выходе RD или выдаются на запись, сопровождаемые сигналом WR.
В такте Т4 обмен заканчивается.
В режим ожидания (такты TW) МП переходит если RDY=0 (оно должно появиться до начала Т3). Состояние выводов шин в этом случае сохраняется.
В режиме программного ожидания МП входит по команде WAIT при значении TEST=1, выполняя при этом холостые такты. Выходит из этого состояния при появлении на входе TEST=0. Он может быть не менее 5 ТИ.
Рис. 4. Временные диаграммы основных сигналов микропроцессора КМ1
2.1.3. Минимальный и максимальный режимы работы.
В минимальном режиме МП сам вырабатывает все сигналы управления микропроцессорной системой. Максимальный режим рассчитан на более сложные системы. В этом случае МП вырабатывает сигналы для управления специальным контроллером, который в свою очередь вырабатывает сигналы для управления системой. Выбор режима осуществляется подачей соответствующих сигналов на входы MN/MX.
2.1.4. Программная модель микропроцессора I8086.
Любой процессор для работы в реальном режиме имеет четырнадцать 16-разрядных регистров (табл. 2). Они делятся на две группы и два отдельных регистра: группа регистров общего назначения (РОН) – 8 регистров, группа сегментных регистров – 4 регистра, регистр флагов и регистр указателя инструкций. Название группы "регистры общего назначения" не должно вводить в заблуждение – регистры в ней не равноправны, каждый регистр имеет свое специфическое назначение и может использоваться в посторонних целях только тогда, когда он свободен от выполнения своих "прямых обязанностей". Иногда группу регистров общего назначения подразделяют на регистры данных (АХ, BX, СХ, DX) и регистры указателей (SI, DI, BP, SР). Иногда регистры ВХ, SI, DI и BP называют регистрами-модификаторами.
ТАБЛИЦА 2
Программная модель МП Intel 8086 (КМ1810ВМ86)
| Имя | English | Основное назначение | Прим. |
РЕГИСТРЫ ОБЩЕГО НАЗНАЧЕНИЯ | |||
| AX | Accumulator | Основной сумматор | AH, AL |
| BX | Base | Адресация по базе | BH, BL |
| CX | Counter | Счётчик циклов | CH, CL |
| DX | Data | Для «длинных» данных | DH, DL |
| SI | Source Index | Индексирование источника | |
| DI | Destination Index | Индексирование приёмника | |
| BP | Base Pointer | База стека | |
| SP | Stack Pointer | Вершина стека | |
СЕГМЕНТНЫЕ РЕГИСТРЫ | |||
| CS | Code Segment | Сегмент команд, не может быть изменён напрямую | |
| SS | Stack Segment | Сегмент стека | |
| DS | Data Segment | Сегмент данных | |
| ES | Extension Segment | Дополнительный сегмент | |
РЕГИСТР ФЛАГОВ | |||
| FLAGS | Flags | Информация о текущем состоянии процессора | |
РЕГИСТР УКАЗАТЕЛЯ КОМАНД | |||
| IP | Instruction Pointer | Смещение команды, программно недоступен | |
К первым четырем регистрам общего назначения можно обращаться как целиком (например, АХ), так и к их старшим (АН) или младшим (AL) байтам. Регистр SP используется исключительно для указания на вершину стека. Значения регистров CS и IP не могут быть изменены непосредственно в программе (они изменяются либо автоматически, либо косвенно за счет команд переходов). Имя регистра IP вообще не является зарезервированным и не может встречаться в программе (в смысле имени регистра).
Кроме того, РОНы в ряде команд используются для выполнения определённых функций (табл. 3). Такая специализация РОН усложняет программирование, зато позволяет кодировать команды с применением меньшего числа разрядов, чем это было бы необходимо при адресации действительно регистров общего назначения.
ТАБЛИЦА 3
Функции регистров общего назначения микропроцессора К1810
| Регистр | Назначение | Выполняемая функция |
| AX | Аккумулятор | Ввод-вывод, умножение и деление слов |
| AL | Аккумулятор (младший байт) | Умножение, деление
и ввод-вывод байтов;
Преобразование; десятичная арифметика |
| AH | Аккумулятор (старший байт) | Умножение и деление байтов |
| BX | Базовый регистр | Базовый регистр; преобразование адресов |
| CX | Счётчик | Обработка строк; подсчёт циклов |
| CL | Счётчик (младший байт) | Динамические и циклические сдвиги |
| DX | Регистр данных | Умножение и деление слов; косвенный ввод-вывод |
| SP | Указатель стека | Операции с использованием стека |
| BP | Указатель базы | Базовый регистр |
| SI | Указатель источника | Указатель исходной строки; индексный регистр |
| DI | Указатель приёмника | Указатель строки результата; индексный регистр |
Биты регистра флагов перечислены в следующей таблице:
ТАБЛИЦА 4
| Бит | Имя | Название | Тип | Назначение |
| 0 | CF | Carry Flag | сост. | Перенос или заём |
| 2 | PF | Parity Flag | сост. | Чётность |
| 4 | AF | Auxiliary Flag | сост. | Перенос или заём BDS |
| 6 | ZF | Zero Flag | сост. | Ноль результата |
| 7 | SF | Sign Flag | сост. | Знак результата |
| 8 | TF | Trace Flag | упр. | Трассировка |
| 9 | IF | Interrupt Flag | упр. | Разрешение прерываний |
| 10 | DF | Direction Flag | упр. | Напр. обработки цепочек |
| 11 | OF | Overflow Flag | сост. | Переполнение |
КР580ГФ24
X1 Ф1
X2 OSC Ф2
Ф
RDYIN
READY
SYNC RESET
RESIN PCLK
STSTB
Работа микропроцессора синхронизируется двумя неперекрывающимися последовательностями сигналов Ф1 и Ф2. Эти сигналы формирует тактовый генератор КР580ГФ24. К выводам микросхемы X1 и X2 подключается кварцевый резонатор с частотой, в 9 раз более высокой, чем частота следования тактовых импульсов Ф1 и Ф2. Сформированные генератором гармонические колебания поступают на вывод PCLK для контроля работы генератора и синхронизируют работу тактовых импульсов. На выводы Ф1 и Ф2 выдаются требуемые для работы микропроцессора высоковольтные последовательности тактовых импульсов. На специальный вывод подаётся последовательность тактовых импульсов Ф2 с уровнями, характерными для микросхем ТТЛ. С помощью сигнала SYNK на вывод STSTB передаются импульсы Ф1, соответствующие началу каждого второго периода циклов работы микропроцессора. Кроме того, предусмотрены вход и выход сигнала сброса, вход и выход сигнала готовности.
Условное графическое изображение БИС КР580ГФ24 приведено на рисунке.
Назначение выводов БИС КР580ГФ24
| Сигнал | Назначение |
| X1, X2 | Подключается кварцевый резонатор. |
| Ф1, Ф2 | Сформированные последовательности импульсов. |
| RDYIN | Входной сигнал “Готовность” |
| SYNC | Входной сигнал “Строб управляющего слова” |
| RESIN | Входной сигнал “Сброс” |
| Ф | Последовательность импульсов Ф2 с ТТЛ-уровнями. |
| READY | Выходной сигнал “Готовность” |
| RESET | Выходной сигнал “Сброс” |
| PCLK | Сформированные
генератором гармонические |
| STSTB | Выходной сигнал “Строб записи слова состояния в регистр состояния”. |
Контроллер системной шины 8288 предназначен для работы в составе микропроцессорной системы . В зависимости от состояния МП контроллер управляет обменом данными между локальной шиной (ЛШ) и системной шиной (СШ) при наличии доступа к управлению шинами МП, а также между локальной шиной и шиной ввода-вывода или резидентной шиной.
К1810ВГ88.
Входы S0-S2 – предназначены для подключения к центральному микропроцессору.
|
Функционирование микросхемы
осуществляется на основании следующего
кода:
CLK –подключение системного генератора
AEN – строб управления выдачи командных сигналов контроллера
(используется в случаях обращения к резидентной
шине в/в.)
СEN – сигнал управления при каскадировании
ВГ88
IOB - признак обращения
к системной шине («0» -системная шина,
«1» - резидентная шина)
MRDC – системный сигнал чтения из памяти
MWTC – системный сигнал записи в память
AMWC – опережающий строб при обращении
к памяти
IORC – системный сигнал ввода
IOWC – системный сигнал вывода
AIOWC – опережающий строб
INTA – системный сигнал подтверждения прерывания
DEN - строб сопровождения данных для фиксации
в регистры-защелки
ALE – строб сопровождения адреса в регистр-защелку
OT/R – сигнал определяющий направление
передачи информации («0» -запись в память;
1»- считывание)
STB – сигнал стробирования адреса
PDEN – используется при каскадировании
контроллеров системной шины в микропроцессорные
вычислительные системы.
Функциональная
схема включения.
Данная функциональная
схема используется при работе микропроцессора
в максимальном режиме при организациях
многопроцессорных систем.
3. Блок дешифрации адресов
Блок дешифрации адресов проектируемой МПС состоит из трёх частей: схемы формирования сигналов CS (выбор кристалла) для микросхем ОЗУ блока памяти, схемы формирования сигналов CS для микросхем ПЗУ блока памяти и схемы формирования сигналов CS для программируемых периферийных БИС блока внешнего интерфейса.
На основе исходных данных число БИС ОЗУ в блоке памяти, Nram=64Kb/8=8 т.е. общий объём ОЗУ делим на объём одной микросхемы. Аналогично число БИС ПЗУ в блоке памяти Nrom=64Kb/8=8.
Для определения начального адреса ПЗУ необходимо из всего объёма адресного пространства процессора в 1 Mb (10000016) вычесть заданный объём ПЗУ (число ячеек), т.е. 64Kb (64 * = 1000016). Получаем: 10000016 – 1000016 = F000016. Таким образом ПЗУ всегда находится в самом конце первого мегабайта адресного пространства, т. к. после включения питания ЦП выбирает для исполнения первую команду по адресу FFFF016.
Для определения конечного адреса ОЗУ необходимо к заданному начальному адресу прибавить число ячеек ОЗУ и вычесть единицу. Получаем:
1000016 + 1000016 - 1= 1FFFF16.
Определим номера разрядов шины адреса для формирования общего сигнала выборки ОЗУ (SELECTRAM). Это те из 20 разрядов адреса, двоичные значения которых остаются постоянными для всех адресов из диапазона ОЗУ:
1000016 … 1FFFF16 = 000100000000000000002 … 000111111111111111112.
Разряды, сохраняющие постоянное значение, подчёркнуты. Они соответствуют сигналам системной шины адреса A19, A18, A17, A16
Таким образом, сигналы A19, A18, A17, A16 подаются на блок дешифрации адресов и формируют общий сигнал выборки ОЗУ
SELECTRAM = A19 & A18 & A17 & ⌐A16 (MRDC v MWTC)
В формировании сигнала SELECTRAM участвуют также сигналы MRDC, MWTC системной шины управления, т. к. ОЗУ в блоке памяти должно быть выбрано (активно) только во время циклов чтения или записи в память. Во время циклов ввода-вывода ОЗУ не выбрано (пассивно; хранит раннее записанную информацию).
С помощью сигнала SELECTRAM и нескольких старших разрядов из числа оставшихся
A15 … A0 необходимо сформировать сигналы CSx для выборки отдельных БИС ОЗУ. Число дополнительных разрядов ША для дешифрации n=log2 Nram-1=2
Таким образом для формирования отдельных сигналов CS1 CS2 CS3 CS4
используем разряды A15 , A14 системной шины адреса. Остальные 14 младших разрядов системной шины адреса на блок дешифрации адресов не подаются, а подключаются непосредственно к адресным входам микросхемы ОЗУ в блоке памяти.
Перебирая все возможные комбинации для сигналов A15 , A14 запишем логические выражения для отдельных сигналов CS выборки микросхемы ОЗУ
CS1 = SELECTRAM & ⌐A15 & ⌐A14
CS2 = SELECTRAM & ⌐A15 & A14
CS3 = SELECTRAM & A15 & ⌐A14
CS4= SELECTRAM & A15 & A14
Определим номера разрядов шины адреса для формирования общего сигнала выборки ПЗУ (SELECTRОM). Это те из 20 разрядов адреса, двоичные значения которых остаются постоянными для всех адресов из диапазона ПЗУ:
FFFF016 … F000016 = 111111111111111100002 … 111100000000000000002.
Разряды, сохраняющие постоянное значение, подчёркнуты. Они соответствуют сигналам системной шины адреса A19, A18, A17, A16.
Таким образом, сигналы A19, A18, A17, A16 подаются на блок дешифрации адресов и формируют общий сигнал выборки ПЗУ
SELECTRОM= A19 & A18 & A17 & A16 & MRDC
Здесь используется только управляющий сигнал чтения из памяти, т. к. в процессе функционирования МПС из ПЗУ только считываются коды машинных команд управляющей программы. При этом для формирования отдельных сигналов выборки микросхем ПЗУ используются разряды A15 и A14 системной шины адреса. Остальные 14 младших разрядов (A13 … A0) на блок дешифрации адресов не подаются, а подключаются непосредственно к адресным входам микросхем ПЗУ в блоке памяти.
= SELECTRОM & ⌐A15 & ⌐A14
= SELECTRОM & ⌐A15 & A14
= SELECTRОM & A15 & ⌐A14
= SELECTRОM & A15 & A14
Рис. 4 Схема дешифрации адреса ОЗУ и ПЗУ
Порты ввода – вывода адресуются 16 – ю младшими разрядами системной шины адреса. В проектируемой МПС достаточно использовать лишь 8 младших разрядов (А7…А0). При этом от одного до 4 – х (в зависимости от типа программируемой БИС) младших разрядов подключаются непосредственно к адресным входам периферийных БИС в блоке внешнего интерфейса. Таким образом в блок дешифрации адресов будем использовать только 4 разрядов ША (А7…А4).
Отсюда следует, что начальный адрес ввода – вывода для второй периферийной БИС на 16 больше заданного начального адреса ввода – вывода для первой БИС. То есть в данном случае:
Addr.2 = Addr.1 + 1016 = 0C016 + 1016 = 0D016
Представим начальные адреса в виде двоичных комбинаций адресных сигналов. Начальный адрес первой периферийной БИС 0С016 = 11000000. Начальный адрес второй периферийной БИС 0D0 = 11010000. Получаем логические выражения для сигналов выборки обеих периферийных БИС:
= A7 & A6 & ⌐A5 & ⌐A4
= A7 & A6 & ⌐A5 & A4
В формировании сигналов выборки участвуют также сигналы IORC, IOWC системной шины управления, т. к. каждая периферийная БИС в блоке внешнего интерфейса должна быть выбрана (для обмена данными между ЦП и её внутренними регистрами) только во время циклов ввода – вывода. Во время циклов памяти программируемые периферийные БИС отключены от системной шины данных, т. е. соответствующие их выходы находятся в третьем состоянии (Z – состоянии).
На рис. 5 показана схема формирования сигналов CS выборки периферийных БИС блока внешнего интерфейса.
Рис. 5 Схема дешифрация адреса периферийных БИС
4. Блок памяти
Блок памяти реализуется следующим образом. Все БИС ОЗУ и ПЗУ, разбиваются попарно. По одному зи входов CS у микросхем в паре объединяются и на них подается соответствующий сигнал CSx из блока дешифрации адресов. Микросхемы в паре активизируются одновременно, только если в цикле чтения и записи, начиная с четного адреса, происходит передача слова, то есть если в цикле используются все 16 линий данных системной шины. В других случаях выбирается только одна микросхема из пары.