- •Содержание
- •2.2 Обработка прерываний
- •1. Задание на проектирование
- •Общие сведения
- •Техническое задание на проектирование
- •Варианты заданий
- •Организация подсистемы прерываний
- •Выбор элементной базы
- •Формирование управляющего воздействия y2
- •Формирование управляющего воздействия y3
- •Светодиодная индикация
- •1.3.7 Реализуемый алгоритм
- •Требования к оформлению
- •2. Основные этапы разработки
- •2.1 Разработка микропроцессорного модуля
- •2.1.1 Описание элементной базы мпм
- •2.1.1.1 Микропроцессор i82386sx
- •2.1.1.2 Реализация системного контроллера
- •2.1.1.3 Шинные формирователи шин адреса и данных
- •2.1.1.4 Генератор тактовых импульсов и схема сброса
- •2.2 Реализация подсистемы прерываний
- •2.3 Разработка модуля ввода-вывода
- •2.3.1 Параллельно-программируемый адаптер кр580вв55
- •2.4 Разработка модуля таймера
- •2.6 Распределение адресного пространства ввода/вывода
- •2.7 Разработка по
- •Номер студента в групповом журнале _______________
2.4 Разработка модуля таймера
Типовой
функцией любой МПС является генерация
заданных временных интервалов, что
может быть обеспечено с помощью МП.
Однако обычно в МПС эти функции
перекладываются на специализированные
средства – программируемые интервальные
таймеры (ПИТ). В МПК К580 функции ПИТ
выполняет микросхема КР580ВИ53. В
разрабатываемой МПС ПИТ используется
при формировании управляющих воздействий
Y2
и Y3.
УГО ПИТ приведено на рисунке 17, в таблице
11 приведено назначение выводов
микросхемы.
|
|
|
Рисунок 17 – УГО программируемого интервального таймера КР580ВИ53 |
Таблица 11 – Назначение выводов КР580ВИ53
-
Обозначение вывода
Тип вывода
Назначение выводов
D7-D0
Вход/выход
Шина данных
C0, C1, C2
Вход
Синхронизация каналов 0, 1 и 2 соответственно
OUT0,OUT1,OUT2
Выход
Выходы сигналов каналов 0,1 и 2 соответственно
CE0, CE1, CE2
Вход
Разрешение каналов 0, 1 и 2 соответственно
A0, A1
Вход
Разряды адреса
CS
Вход
Выбор микросхемы
RD
Вход
Чтение
WR
Вход
Запись
GND
-
Общий
Ucc
-
Напряжение питания
В состав БИС КР580ВИ53 входят три независимых 16-разрядных счетчика, работающих на вычитание в двоичном или двоично-десятичном коде. На входы синхронизации каналов (C0, C1, C2) поступают импульсы c тактового генератора или подсчитываемые импульсы с внешних устройств. Прием этих импульсов разрешается сигналами стробирования СE0, СE1, СE2. При логическом “0” на этих входах состояние счетчиков не изменяется. При равенстве содержимого какого-либо счетчика нулю, активизируется один из сигналов OUT0, OUT1 или OUT2. Управление режимом работы каждого из счетчиков осуществляется занесением управляющего слова CW в регистр режима управляющего слова каждого канала таймера.
Формат управляющего слова приведен на рисунке 18.
|
|
|
Рисунок 18 - Формат управляющего слова ПИТ |
Структура и пример подключения ПИТ к ОШ МПС приведена на рисунке 19. Тактирование счетчиков ПИТ целесообразно осуществлять от имеющегося в МПМ генератора. Временные интервалы большой длительности формируются путем последовательного соединения двух счетчиков ПИТ.

Рисунок 19 - Структура и подключение ПИТ к ОШ МПС
Для считывания содержимого любого счетчика без нарушения операции счета микропроцессор заносит в БИС КР580ВИ53 управляющее слово с нулевыми разрядами D4, D5. Значение разрядов D0…D3 при этом несущественно. Содержимое заданного счетчика копируется в специальном буфере, откуда считывается обычным способом
Каждый из счетчиков может работать в одном из шести режимов:
-
режим 0: программируемый таймер;
-
режим 1: ждущий мультивибратор;
-
режим 2: генератор импульсный;
-
режим 3: генератор меандра;
-
режим 4: программная задержка строба;
-
режим 5: аппаратная задержка строба.
В проектируемой МПС один из каналов ПИТ используется в режиме 0 (для формирования управляющего воздействия Y3), а два оставшихся – в режиме 3 (для формирования управляющего воздействия Y2 и в качестве делителя на 1000).
2.4.1 Работа ПИТ в режиме 0 (программируемый таймер)
После записи управляющего слова CW выбранного канала на его выходе OUT устанавливается логический “0” (в остальных режимах логическая “1”). Загрузка счетчика не изменяет состояние выхода. Счет начинается только при подаче на вход CE соответствующего канала логической “1” (логический “0” на этом входе запрещает счет на произвольный промежуток времени). Число, загруженное в счетчик, декрементируется по спадающему фронту сигнала С соответствующего канала. По окончании отсчета заданного временного интервала на выходе OUT канала формируется логическая “1”. Отсчитанный временной интервал T равен:
T = NTc, где N – число записанное в счетчик;
Tc - период тактовой частоты, подаваемой на вход С данного канала.
Так как в разрабатываемой МПС длительность удержания сигнала Y3 в состоянии логического “0” равно вычисленному значению функции Y3 в мс (T = Y3 мс) то отсюда следует, что N = Y3, а Tc = 1 мс.
2.4.2 Работа ПИТ в режиме 3
Период T последовательности прямоугольных импульсов, генерируемых соответствующим каналом ПИТ в режиме 3 равен: T = NTc;
где N – число записанное в счетчик;
Tc - период тактовой частоты, подаваемой на вход С канала.
В разрабатываемой
МПС период последовательности
прямоугольных импульсов T
должен равняться значению функции Y2
в мкс, поэтому N
= Y2,
а Tc
= 1 мкс, при этом
=
=
1 МГц.
Для обеспечения
формирования тактовой частоты с
=
1 кГц, необходимой для выработки
управляющего воздействия Y3,
целесообразно использовать свободный
канал ПИТ. Если на его вход подавать
последовательность прямоугольных
импульсов с частотой
=
1 МГц (период Tc
= 1 мкс), то для формирования на его выходе
последовательности с периодом в 1 мс,
в регистр счетчика данного канала
необходимо записать число 1000 (1 мс = 1000
мкс). Программа установки 0-го канала
ПИТ в режим делителя на 1000 следующая
(Т0 и CWT-символические
имена соответственно канала 0 и регистра
режима управляющего слова ПИТ):
MVI A, 00111110B; установка канала Т0 ПИТ в режим 3
; с записью сначала младшего байта
; затем старшего
OUT C WT ; запись в регистр режима управляющего слова
; канала Т0
MVI A, 11101000B; запись младшего байта числа 1000
OUT T0 ;
MVI A, 00000011B; запись старшего байта числа 1000
OUT T0 ;
2.5 Разработка памяти МПС
2.5.1 Распределение адресного пространства памяти
В разрабатываемой МПС объем адресного пространства памяти (АПП) намного превышает объем физически устанавливаемой памяти. В связи с этим распределение АПП целесообразно производить, исходя из критерия минимума сложности дешифратора адреса ОЗУ и ПЗУ. При распределении АПП необходимо также учитывать, что после подачи питающих напряжений (+5, +12 и -5В) и окончания действия сигнала SR (RESET), выдаваемого микросхемой тактового генератора КР580ГФ24 на МП, последний переходит к считыванию первой команды программы из ячейки памяти (ЯП) с адресом 0000H. Так как исполняемая программа в реализуемой МПС должна быть размещена (“прошита”) в ИС ПЗУ, то под ПЗУ необходимо отвести область АПП, включающую в себя этот адрес.
В связи с этим
разделим полное АПП используемого
процессора, равное
=
65536, на две части с диапазоном изменения
адресов 0…32767 и 32768…65535. Первое из них
будем использовать для адресации модуля
ПЗУ, второе – модуля ОЗУ. Остальное
распределение АПП приведенное на
рисунке 20, на котором для определенности
объемы используемых микросхем ПЗУ и
ОЗУ равны соответственно 256 байт и
1Кбайт, а подсистема прерывания использует
команду RST3.

Рисунок 20 - Распределение АПП МПС
В соответствии с рисунком 20, диапазон адресов АПП с 0…256, используется для адресации имеющихся в МПС ячеек ПЗУ. В виду того, что диапазон адресов с 0 по 63 используется подсистемой прерывания для размещения подпрограмм обработки прерываний RST0…RST7 (или для указания на место их размещения в другой области ПЗУ), использование соответствующих ячеек ПЗУ для размещения в них основной программы нецелесообразно. Первую (исполняемую) команду основной программы целесообразно разместить по адресу 64 (40H), при этом в ячейке с адресом 0 необходимо разместить команду JMP 40H ( или JMP START).
Диапазон адресов 32768…33791 используется для адресов ячеек ОЗУ емкостью 1 Кб. Верхняя часть ОЗУ отведена под стек. Основная же часть АПП (адреса с номерами 256…32767 и 33792…65535) в приведенном примере МПС не используются.
Для приведенного примера распределения АПП, реализация дешифратора адреса ОЗУ и ПЗУ имеет простейший вид, приведенный на рисунке 21.

Рисунок 21 - Реализация ДША ОЗУ и ПЗУ
На рисунке 21 сигналы CSROM и CSRAM обозначают, соответственно, сигналы выбора модулей ПЗУ и ОЗУ.
2.5.2 Разработка модулей ПЗУ и ОЗУ
Разработка памяти МПС должна начинаться с определения емкости, требуемой для размещения программ (ПЗУ) и данных (ОЗУ). Разрядность памяти должна соответствовать разрядности МП и равняться одному байту. Техническим заданием на курсовой проект задаются конкретные типы ИС ОЗУ и ПЗУ. Если для реализации необходимого объема памяти оказывается недостаточно одной ИС ЗУ то используются несколько микросхем. Необходимое число K микросхем, требуемое для построения модулей ОЗУ и ПЗУ, определяется в соответствии с формулой:

где: N - требуемая разрядность модуля памяти;
-
требуемая емкость модуля памяти;
n - разрядность используемой микросхемы памяти;
-
емкость используемой микросхемы памяти.
Пример организации модуля ПЗУ объемом 8 кбайт из 4-х микросхем ПЗУ объёмом 2к x 8бит приведен на рисунке 22.

Рисунок 22 - Пример организации модуля ПЗУ объемом 8 Кбайт из 4-х микросхем 2К x 8бит
Сигнал CSROM- выбор кристалла микросхемы ПЗУ, формируется ДША ОЗУ и ПЗУ. Для считывания информации с каждой из микросхем ПЗУ используется сигнал MEMR, вырабатываемый микросхемой СК. Младшие разряды адреса А0…А10 подаются параллельно на адресные входы всех микросхем ПЗУ. Два старших разряда адреса А11 и А12 используются для выработки сигналов CSROM0… CSROM3. Активизация этих сигналов возможна только при переходе в состояние лог. 0 сигнала CSROM.
Пример организации модуля оперативной памяти объемом 4 Кбайт из 4-х микросхем 1К x 8бит приведен на рисунке 23.

Рисунок 23 - Пример организации модуля ОЗУ 4 Кбайт из 4-х микросхем 1К x 8бит
Организация модуля ОЗУ имеет много общего с организацией модуля ПЗУ. Главным отличием является необходимость формирователя сигнала чтения/ записи R/W микросхем ОЗУ. Главной функцией формирователя является перекодировка сигналов чтения (MEMR) и записи (MEMW) памяти, выдаваемых микросхемой СК по отдельным линиям, в один общий сигнал чтения/ записи R/W (1/0), используемый для управления микросхемами ОЗУ.

