Проектирование микропроцессорного устройства
Московский
Государственный Открытый Университет
Курсовой
проект
по
дисциплине «ЦУ и микропроцессоры»
Москва
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
|
Выводимая на индикацию тетрада складывается с
базовым адресом таблицы кодов. Так формируется адрес ячейки, в которой записан
семисегментный код, соответствующий значению данной тетрады.
Литература
1. Радиотехнические устройства и элементы
радиосистем: Учеб. Р15 пособие/В. А. Каплун, Ю. А. Браммер, С. П. Лохова, И, В.
Шостак.- М.: Высшая школа, 2002. - 294 с.: л.