Московский
Государственный Открытый Университет
Курсовой проект
по
дисциплине «ЦУ и микропроцессоры»
Москва 2005 г.
Содержание
Задание
. Структурная схема
. Описание внешних сигналов
. Краткое описание микросхем
. Программа
Литература
Задание
Спроектировать микропроцессорное устройство содержащее МП, системный контроллер, адресные буферы, ОЗУ, ПЗУ, порт ввода/вывода, адресный дешифратор.
Организовать полную дешифрацию микросхем памяти и порта.
Описать все сигналы действующие в схеме: их назначение, направление распространения и результат действия.
Кратко описать назначение и структуру микросхем составляющих схему.
Привести программу преобразующую двоичный код в
код семисегментного индикатора.
1. Структурная схема
Адреса верхнее ОЗУ лежит в диапазоне:
Нижнее ОЗУ лежит в диапазоне :
ПЗУ - 4000…7FFF
Порт - AC00…AFFF
2. Описание внешних сигналов
Внешние сигналы генератора
X1 и X2 - к этим входам подключается кварц. RESIN (Сброс)- вход принимает сигнал «Сброс», поступающий с блока ручного или автоматического сброса.
RDYIN (Готовность) - вход связан с блоком формирования сигнала «Готовность», на который от готовых к обмену внешних устройств поступают аналогичные сигналы.
STSTB - с выхода снимается строб-импульс для системного контроллера, формируемый в результате конъюнкции сигналов SYNC и F1.
SYNC - на вход поступают сигналы синхронизации от микропроцессора.
RESET - с вывода снимаются импульсы привязанные к фронту импульсов F2 сигнал «Сброс».
F1, F2 (Тактовые импульсы) - выходные сигналы тактового генератора, которые, обеспечивают синхронизацию работы всей МП-системы.
READY - с вывода снимаются импульсы привязанные к фронту импульсов F2 сигнала «Готовность».
Внешние сигналы микропроцессора
READY (Готовность) - входной сигнал, выставляемый компонентом системы и означающий его готовность (ГОТ = 1) к обмену с микропроцессором. При ГОТ = 0 работа МП приостанавливается, и он переходит в режим ожидания. Это позволяет осуществлять ввод в МП достоверной информации, уже подготовленной одним из компонентов системы, и вывод информации из МП, когда компонент готов к ее приему. Использование сигнала ГОТ позволяет осуществлять обмен данными между МП и компонентами с малым быстродействием.
WAIT (Ожидание) - выходной сигнал, который выставляет МП при сигнале ГОТ=0, переходя в режим ожидания.
RESET (Сброс) - входной сигнал, сбрасывающий в нуль внутренние регистры, счетчики и триггеры МП, в частности, счетчик команд, из-за чего выполнение программы начинается с нулевой ячейки памяти.
INT (Запрос прерывания) - входной сигнал, выставляемый периферийным (внешним) устройством, требующим обслуживания, т. е. прерывания основной программы и перехода на подпрограмму обслуживания. Вместе с этим сигналом внешнее устройство выставляет на шину данных свой трехразрядный адрес, который «вклинивается» в разряды счетчика команд. Так образуется начальный адрес подпрограммы обслуживания данного прерывания.
INTE (Разрешение прерывания) - выходной сигнал, выводится МП для указания на то, что запрос на прерывание будет принят. Разрешение и запрет прерывания осуществляются специальными командами, которые воздействуют на внутренний триггер прерывания. Если прерывания разрешены, то в стек заносится содержимое программного счетчика и ряда внутренних регистров, а в программный счетчик помещается адрес первой команды подпрограммы. После ее выполнения из стека извлекается занесенная туда информация и МП возвращается к выполнению прерванной основной программы.
HLD (Запрос захвата шин) - входной сигнал, выставляется периферийным устройством (через специальный контроллер - управляющее по программе устройство), которое для быстрого обмена с памятью, минуя МП (прямой доступ к памяти - ПДП), запрашивает самостоятельное использование шин адреса и данных.
HLDA (Подтверждение захвата шин) - выходной сигнал, которым МП информирует о переводе буферных регистров адреса и данных в высокоимпедансное состояние, т. е. об отключении от системных шин. С этого момента управление передачей информации по этим шинам осуществляет контроллер ПДП, а МП приостанавливает выполнение программы и выдает в систему только синхроимпульсы, по которым происходит обмен данными. Выход из этого состояния осуществляется при снятии сигнала ЗЗх.
DBIN (Чтение) - выходной сигнал, информирующий о том, что МП находится в состоянии приема (чтения) информации из памяти или порта ввода.
WR (Запись) - выходной сигнал, информирующий о том, что МП находится в состоянии выдачи (записи) информации в память или в порт вывода.
SYNC (Синхронизация) - выходной сигнал, указывающий на начало цикла обращения МП к памяти или к порту ввода - вывода.
F1, F2 (Тактовые импульсы) - входные сигналы, поступающие от тактового генератора и обеспечивающие синхронизацию работы всей МП-системы.
D0...D7 (шина данных) - выходные или входные сигналы, которыми передается или принимается информация в память или порт вывода.
A0...A15 (шина адреса) - выходные сигналы, которыми МП выбирает память или порт вывода для работы с ними.
Внешние сигналы контроллера
WR (Запись) - входной сигнал информирующий о том, что МП находится в состоянии выдачи (записи) информации в память или в порт вывода.
DBIN (Чтение) - входной сигнал, информирующий о том, что МП находится в состоянии приема информации из памяти или порта вывода.
HLDA (подтверждение захвата шин) - входной сигнал, которым МП информирует о переводе буферных регистров адреса и данных в высокоимпедансное состояние, т. е. об отключении от системных шин.
BUSEN - вход разрешения работы шины управления.
STSTB - вывод соединяющийся с генератором тактовых импульсов для синхронизации с МП.
INTA - выходной сигнал информирующий о том, что МП разрешил прерывание.
MEMR(чтение памяти) - выходной сигнал информирующий о том, что МП производит чтение информации из памяти.
MEMW(запись памяти) - выходной сигнал информирующий о том, что МП производит запись информации в память.
I/OR(чтение ввода) - выходной сигнал информирующий о том, что МП производит чтение информации из порта ввода.
I/OR(запись
ввода) - выходной сигнал информирующий о том, что МП производит запись
информации в порт ввода.
3. Краткое описание микросхем
Логическое сложение (дизъюнкция) является
функцией (у) переменных (х1, х2,... ..., хn)
и фиксирует наступление сложного события (у=1), если наступило хотя бы одно
простое событие (x1
= 1 ИЛИ х2= 1 ... ИЛИ хn=1).
Отсюда следует еще одно название рассматриваемой операции - операция ИЛИ.
Элемент ИЛИ изображен на рисунке 2.
Рис. 2
Логическое отрицание (инверсия)
записывается в виде у=
и
называется также операцией НЕ (читается «у НЕ х»). Элемент НЕ изображен на
рисунке 3.
Рис. 3
Дешифратор. Каждому цифровому
коду на входах дешифратора соответствует логическая 1 (или логический 0) на
соответствующем выходе. Так, на одном выходе дешифратора появляется логическая
1, а на остальных - логические 0, когда на входах устанавливается, к примеру,
двоичный код десятичного числа четырех; логическая 1 на другом выходе и логические
0 на остальных появляются, когда на входах присутствует двоичный код
десятичного числа пяти и т. д. Таким образом, дешифратор расшифровывает
(дешифрирует), число, записанное в двоичном коде, представляя его логической 1
(логическим 0) на определенном выходе. Структура дешифратора показана на
рисунке 4а, условное изображение дешифратора на рисунке 4б.
Рис. 4
Рис. 5
Запоминающие устройства (ЗУ) предназначены для хранения информации, выраженной двоичными числами. Такая информация заносится (записывается) в ЗУ и в нужные моменты из него выбирается (считывается).
Запоминающее устройство - один из основных функциональных блоков электронных вычислительных машин; в нем хранятся числа, над которыми должны быть произведены определенные действия, и числа - коды команд, определяющие характер этих действий.
Запоминающее устройство состоит из запоминающего массива и электронного обрамления. Запоминающий массив (накопитель) содержит запоминающие элементы (ЗЭ), каждый из которых может принимать состояния лог. 1 и лог. О, т. е. хранить один бит информации. В запоминающем элементе хранится один разряд записанного двоичного слова; все n-разрядное слово заносится в запоминающие элементы, составляющие ячейку памяти.
ЗУ с одноразрядной организацией. В этом случае
ЗУ имеет матрицу, каждый запоминающий элемент которой выбирается дешифратором
строки и дешифратором столбца. Выбранным оказывается элемент, находящийся на
пересечении возбужденных линий, одна из которых принадлежит дешифратору строки,
а другая - дешифратору столбца. Структура этого ЗУ показана на рисунке 6а, его
условное изображение на рисунке 6б.
Рис. 6
Элементами ПЗУ в нашем случае являются диоды .
На рис. 7а, а изображено матричное ПЗУ, состоящее из диодной матрицы и
внутреннего дешифратора адреса. Горизонтальные линии матрицы - адресные;
вертикальные - разрядные, с них снимаются восьмиразрядные двоичные числа,
записанные в ПЗУ. Код адреса возбуждает одну из адресных линий матрицы. Диоды в
ней расположены так, чтобы обеспечить соединение адресуемой линии с теми
разрядными линиями, на которых нужно получить лог. 1. Условное изображение ПЗУ
представлено на рис. 7б.
Рис. 7
Программируемый параллельный интерфейс (ППИ). ППИ (иначе- программируемый параллельный периферийный адаптер - ППА) позволяет осуществлять обмен данными в параллельном формате между МП и практически любым внешним устройством.
Порты А и В - 8-разрядные
регистры всегда работают как порты (каналы) вводы-вывода. В них заносятся
данные ВУ для передачи в МП или наоборот. Порты С1 и С2 содержат 4-разрядные
регистры и тоже могут работать на ввод или вывод как один 8-разрядный порт, как
два независимых 4-разрядных порта, а также могут обеспечивать управляющими
сигналами обмен данными через порты А и В. Структура ППИ показана на рисунке
8б, условное изображение ППИ на рисунке 8а.
Рис. 8
Генератор тактовых импульсов. Основное
назначение генератора тактовых импульсов (ГТИ) - формирование двух
непересекающихся во времени серий положительных тактовых импульсов с
определенными параметрами, и временная привязка к ним сигналов, управляющих
работой микропроцессора. Условное изображение генератора тактовых импульсов
приведена на рис. 9.
Рис. 9
Системный контроллер. Системный контроллер (СК) формирует шину управления (ШУ) и буферирует (умощняет) шину данных .
В начале каждого машинного цикла соответствующее
его типу слово состояния (СС) МП по шине данных D1...DO
загружается в регистр СК и «защелкивается» в нем. Сочетания сигналов МП
«Чтение» (Чт) и «Запись» (Зп) с значением соответствующих бит этого слова,
реализуемые конъюнкторами, позволяют вместо общего сигнала «Чтение» иметь
сигналы «Чтение ЗУ» и «Чтение ВУ» и вместо сигнала «Запись» - сигналы «Запись
ЗУ» и «Запись ВУ». Условное изображение системного контроллера приведена на
рис. 10.
Рис. 10
Буфер. - умощняет первые или последние 8 бит
информации шины адреса. Условное изображение приведено на рис. 11.
Рис. 11
микропроцессор сигнал генератор котроллер
4. Программа
Для отображения в привычной десятичной системе счисления информация, выраженной в двоичном счислении, необходимо преобразование двоичного кода в код семисегментного индикатора (в «семисегментный код»). Так как информация должна отображаться десятичными разделами, то на первом этапе решения задачи двоичный код должен быть преобразован в двоично-десятичный, а на втором - двоично-десятичный код следует преобразовать в семисегментный. Опишем принципы, которые могут быть положены в основу составляемой программы.
Значение каждой тетрады двоично-десятичного кода не должно превышать 9. Поэтому следует организовать последовательно включенные счетчики, переполнение каждого из которых происходит с поступлением десятой единицы. Если их установить в режим сложения, а регистр с двоичным кодом - в режим вычитания, то при обнулении регистра его содержимое окажется представленным в счетчиках в двоично-десятичном коде.
Вторая половина задачи решается следующим
образом. В ячейки памяти, начиная с некоторого базового адреса, записываются
коды, соответствующие представлению десятичных цифр семисегментным индикаторам,
а из ячейки они заносятся в регистр кода сегмента для случая, когда сегмент
светится при подаче на него логического нуля, указанные коды приведены в
таблице 1. Чтобы на индикаторе было, к примеру, изображение 5, должны осветится
сегменты a,f,g,c,d.
Это обеспечивается кодом, записанным в строке N10=5.
Таблица 1
|
N10 |
B |
A |
F |
G |
E |
D |
C |
H |
|
0 1 2 3 4 5 6 7 8 9 |
0 0 0 0 0 1 1 0 0 0 |
0 1 0 0 1 0 0 1 0 0 |
0 1 1 1 0 0 0 1 0 0 |
1 1 0 0 0 0 0 1 0 1 |
0 1 0 1 1 1 0 1 0 0 |
0 1 0 0 1 0 0 1 0 0 |
0 0 1 0 0 0 0 0 0 0 |
1 1 1 1 1 1 1 1 1 1 |
Выводимая на индикацию тетрада складывается с базовым адресом таблицы кодов. Так формируется адрес ячейки, в которой записан семисегментный код, соответствующий значению данной тетрады.