Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсак.doc
Скачиваний:
12
Добавлен:
10.02.2016
Размер:
224.77 Кб
Скачать

2.2. Блок памяти

В качестве микросхемы для ОЗУ в курсовой работе используется микросхема статического ОЗУ AMC21С512. Она представляет собой маломощное запоминающее устройство емкостью 64Кх8, выполненное по CMOS технологии и полностью совместима с уровнями ТТЛ. Принципиальное обозначение показано на рис. 2.3. Она имеет вход выборки микросхемы СЕ и вход разрешения выдачи данных ОЕ. Также имеется вход запись/чтение R/W. Работу микросхемы поясняет таблица 2.1.

Рисунок 2.3 - Банк ОЗУ на микросхеме AMC21С512

Таблица 2.1- Таблица работы микросхемы ОЗУ AMC21С512

Режим

R/W

СЕ

ОE

Операция ввода/вывода

Не выбрана

X

1

X

Высокоимпедансное состояние

Запрет выхода

X

0

1

Высокоимпедансное состояние

Чтение

1

0

0

Считывание

Запись

0

0

X

Запись

X - любой сигнал (0 или 1)

В качестве микросхемы для ПЗУ в курсовой работе используется мик­росхема AMC27C512. Она представляет собой маломощное запоминающее устройство емкостью 64Кх8 и полностью совместима с уровнями ТТЛ. Условное графическое обозначение показано на рис. 2.4. Она имеет вход выборки микросхемы CS и один вход разрешения выдачи данных ОЕ. Работу микросхемы поясняет таблица 2.2.

Рисунок 2.4 - Блок ПЗУ AMC27C512

Таблица 2.2 - Таблица работы микросхемы ПЗУ AMC27C512

Режим

СЕ

ОЕ

D0-D7

Не выбрана

1

X

Высокоимпедансное состояние

Запрет выхода

0

1

Высокоимпедансное состояние

Чтение

0

0

Считывание

Поскольку шина данных микропроцессора 16-ти разрядная, то запись длинного слова производится за два цикла шины. Выбор нужного числа разрядов осуществляется соответствующей обработкой сигналов UDS# и LDS#. Управляющий сигнал R/W подаётся на блок ОЗУ, и определяет производится запись или чтение.

2.3. Блок параллельного интерфейса/таймера

Согласно исходным данным к разработанной микропроцессорной системе необходимо под­ключить периферийные устройства – последовательные порты ввода-вывода (DUART) и парал­лельные порты ввода-вывода (PI). Для этого используются имеющиеся в микропроцессорном ком­плекте микросхемы сдвоенного универсального асинхронного последовательного приёмопередат­чика МС68681 и параллельный интерфейс/таймер МС68230. Микросхема МС 68230 включает в себя:

  • 3 многофункциональных восьмиразрядных порта;

  • многофункциональный 24-разрядный таймер с возможностью использования пяти разрядного предделителя;

  • устройство управления режимами работы;

  • логику прямого доступа к памяти;

  • логику управления прерываниями.

Функциональное обозначение МС68230 представлено на рис. 2.5, назначение выводов в табл. 2.3.

Таблица 2.3 - Назначение выводов микросхемы МС 68230

Наименование вывода

Функциональное назначение вывода

Примечание

D7 - D0

Шина данных.

-

DTACK

Подтверждение передачи дан­ных.

-

R/W

Чтение/Запись.

-

CS

Выбор микросхемы.

-

RESET

Сброс.

-

RS5-RS1

Выбор внутреннего регистра, порта или команды

-

CLK

Тактовая частота микросхемы

-

H4-H1

Линии квитирования

Могут быть использованы как линии вво­да/вывода (H1 и Н3 - только ввод) или импульсные входы запросов на обслужи­вание внешних прерываний

PA7 – РА0

Порт А

-

РВ7 – РВ0

Порт В

-

РС7 – РС0

Порт С

Линии РС7 + РС2 имеют альтернативные функции.

Рисунок 2.5 - Функционально-принципиальная схема PI/T

Структура микросхемы PI/T типа МС68230 включает блоки, обеспечивающие связь с мик­ропроцессором и блоки, обслуживающие внешние устройства. Выводы РС7-2 порта С могут про­граммироваться для передачи сигналов таймера, прерывания, запроса прямого доступа.

Связь PI/T с микропроцессором MC68000 реализуется путём обмена данными по линиям D7-0 в цикле чтения или записи. При этом от микропроцессора поступает соответствующий сигнал R/W#, a PI/T выдаёт сигнал подтверждения готовности DTACK#. Данные считываются или запи­сываются в один из регистров таймера, порта А, В, С или блока управления обменом. Выбор регистра определяется адресным кодом, поступающим на входы RS5-1. Все регистры, кроме CNT, СРТ, имеют 8 разрядов, поэтому адресуются как байт. Регистры таймера CNT, СРТ, имеющие 24 разряда, адресуются как три отдельные 8-ми разрядные регистры. В адресном пространстве PI/T занимает 32 байтовых ячейки, из которых 23 ячейки заняты регистрами, остальные остаются неиспользуемыми. При обращении к PI/T на входы RS5-1 поступают соответствующие разряды формируе-­ мого микропроцессором адреса. На вход CLK поступают тактовые сигналы от генератора тактовых импульсов. На вход RESET# подаётся общий для всей системы сигнал сброса.

Программирование портов А, В, С и таймера на выполнение различных режимов обслужи­вания внешних устройств производится путём записи управляющих кодов в регистры управления соответствующих блоков PI/T.

Порты А и В обеспечивают параллельный обмен данными между микропроцессором и внешними устройствами.

Таймер реализован на базе 24-х разрядного вычитающего счётчика (CNT), начальное со­стояние которого устанавливается при инициализации, путём записи содержимого в регистр пред­варительной установки CPR. Запуск таймера происходит при записи в регистр управления TCR со­ответствующего управляющего кода, который определяет также режим его функционирования. При этом уменьшение содержимого CNT может производиться при поступлении тактовых им­пульсов CLK или внешних сигналов на вход TIN#. В режиме генерации (счёт импульсов CLK) таймер через интервалы времени, определяемые содержимым CPR, формирует сигналы на выходе TOUT#. В режиме счёта событий текущее содержимое CNT указывает число поступивших сигна­лов. Можно запрограммировать деление частоты считаемых импульсов на 32. При работе таймера на выходе TOUT# формируются прямоугольные импульсы, которые могут служить для управле­ния внешними устройствами (периодическое включение-выключение, синхронизация и т. п.). Сиг­нал TOUT# может подаваться также на вход приоритетного шифратора в качестве запроса преры­вания для микропроцессора. При этом сигнал подтверждения прерывания должен поступать на вход ТIАСК#. Для считывания вектора прерывания микропроцессор должен обратиться к регистру TIVR, в который значение этого вектора вводится в процессе инициализации таймера. Таким обра­зом, использование таймера позволяет запускать требуемую программу в заданные моменты.