Смекни!
smekni.com

Микросхема ПЗУ в управляющем автомате с МПУ выбрана неверно (стр. 2 из 3)

Кодовые выражения микропрограммы.

Минимальная требуемая емкость ПЗУ -

(или 2К*4 Бит)

Естественная адресация

МЕТКА УПР. СИГНАЛ ПЕРЕХОД
1 М1 ЕСЛИ НЕ Р1 ТО М1
2 УН 1, УЗАП1
3 М2 ЕСЛИ Р2 ТО М3
4 УЭ 1
5 ЕСЛИ НЕ Р4 ТО М2
6 М3 УН 2, УЗАП1
7 М4 ЕСЛИ Р3 ТО М5
8 УЭ 2
9 ЕСЛИ НЕ Р5 ТО М4
10 М5 УЭ 3
11 ИДТИ К М1

Таблица 6

Каноническая форма микропрограммы.

Адрес П УН 1 УЭ 1 УН 2 УЭ 2 УЭ 3 УЗАП 1
П НЕ P1 P2 P3 НЕ P4 НЕ P5 Адрес перехода
0 0 0 0 1 1 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 1
0 0 1 0 1 0 1 0 0 0 0 1 0 1
0 0 1 1 0 0 1 0 0 0 0
0 1 0 0 1 0 0 0 1 0 0 0 1 0
0 1 0 1 0 0 0 1 0 0 1
0 1 1 0 1 0 0 1 0 0 1 0 0 1
0 1 1 1 0 0 0 0 1 0 0
1 0 0 0 1 0 0 0 0 1 0 1 1 0
1 0 0 1 0 0 0 0 0 1 0 -
1 0 1 0 1 0 0 0 0 0 0 0 0 0

Таблица 7

Кодовые выражения микропрограммы

Необходимый объем ПЗУ может быть уменьшен путем шифрации маски признаков.

П УН 1 УЭ 1 УН 2 УЭ 2 УЭ 3 УЗАП 1
Адрес П Маска признаков Адрес перехода
0 0 0 0 1 0 0 1 0 0 0 0
0 0 0 1 0 1 0 0 0 0 1
0 0 1 0 1 0 1 0 0 0 0 1
0 0 1 1 0 0 1 0 0 0 0
0 1 0 0 1 0 1 1 1 0 0 0
0 1 0 1 0 0 0 1 0 0 1
0 1 1 0 1 1 0 0 0 0 1 0
0 1 1 1 0 0 0 0 1 0 0
1 0 0 0 1 1 0 1 0 1 0 1
1 0 0 1 0 0 0 0 0 1 0 -
1 0 1 0 1 1 1 0 0 0 0 0

Таблица 8

Минимизированные кодовые выражения микропрограммы

Минимальная требуемая емкость ПЗУ -

(или 256*4 Бит), что меньше, чем требуется для принудительной адресации, поэтому будем применять естественную адресацию. Функциональная схема управляющего автомата с микропрограммным управлением показана на рисунке 7.

Устройство будем реализовывать на интегральных микросхемах серий 1533, так как микросхемы этой серий обладают наиболее оптимальными параметрами среди современных микросхем.1

Время задержки, нс Потребляемая мощность, мВт
531 3,2 20
533 10 2
1531 3 4
1533 4 2

Таблица 9

Основные электрические параметры микросхем серии 1533

Выходное напряжение низкого уровня - не более 0,5 В

Выходное напряжение высокого уровня - не менее 2 В

Выходной ток - не менее -30 мА и не более -112 мА

Входной ток - не более 0,1 мА

Входной ток высокого уровня - не более 20 мкА

Входной ток низкого уровня - не более 0,2 мкА

Работа переключения - 4 пДж

Коэффициент разветвления по выходу - 40

Предельно допустимые режимы эксплуатации

Напряжение питания - не менее 4,7 В и не более 5,5 В

Входное напряжение высокого уровня - не менее 2 В и не более 5,5 В

Входное напряжение низкого уровня - не менее 0 В и не более 0,8 В

Основными элементами устройства являются счетчики и регистры. Счетчик будет реализован на двух микросхемах 1533ИЕ7 - четырехразрядном синхронном реверсивном счетчике. Он имеет три основных режима: параллельная асинхронная загрузка кода по входам Di при поступлении отрицательного ипульса на вход С, режим суммирования и режим вычитания. В двух последних режимах счетные импульсы подают на различные входы: суммирования и вычитания.

Входной код будет записываться в восемь четырехразрядных универсальных регистра сдвига на микросхемах КР531ИР11. Регистр функционирует в одном из четырех режимов, которые задаются двухразрядным кодом на входе S. Параллельный ввод информации со входа D происходит синхронно, по положительному фронту тактового импульса.

R S1 S0 C DR DL D0 D1 D2 D3 Q0 Q1 Q2 Q3
Уст. L L X X X X X X X X X L L L L
Пок-ой H X X L X X X X X X QA0 QB0 QC0 QD0
Зап-ись H H H X X a b c d a b c d
Сдв. H L H L L X X X X L QAn QBn QCn
впр-аво H L H H H X X X X H QAn QBn QCn
Сдв. H H L X X X X X X QB QC QD L
вле-во H H L X X X X X X QB QC QD H
Пок-ой H L L X X X X X X X QA0 QB0 QC0 QD0

Таблица 10

Таблица истинности регистра КР531ИР11

Характеристики ППЗУ КР556РТ4

Емкость - 256х4 Бит

Время задержки - 70 нс

Потребляемая мощность - 690 мВт

Тип выхода - ТТЛ-ОК

Исходное состояние - 0

Составление программы

Программа на ассемблере

НАЧАЛО

СЧЕТЧИК=02Н

АККУМУЛЯТОР=

=1-ый справа байт кода

Маскирование последних

3 бит АККУМУЛЯТОРА

АККУМУЛЯТОР= 010В

НЕТ

Сдвиг кода на разряд вправо

СЧЕТЧИК=СЧЕТЧИК+1

СЧЕТЧИК=32

Запись значения счетчика в память

СЧЕТЧИК=02Н

АККУМУЛЯТОР=

=1-ый слева байт кода

Маскирование первых

3 бит АККУМУЛЯТОРА

ДА

АККУМУЛЯТОР= 01000000В

2 3

1

1 2 3

Сдвиг кода на разряд влево

СЧЕТЧИК=СЧЕТЧИК-1

НЕТ

СЧЕТЧИК=1

Запись значения счетчика в память

КОНЕЦ

Для нормального функционирования программы необходимо предварительно занести входной код, предварительно поделенный на байты в следующие ячейки памяти: 0800Н - 0803Н (в 0800Н - крайний левый байт кода и т.д.) и 0804Н - 0807Н (в 0804Н - крайний левый байт кода и т.д.)

Адрес Код Метка Команда Комментарий
0809 16 MVI D,O2H Счетчик = 2
080A 02
080B 3A M1 LDA 0803H Загрузка первого справа байта кода в аккумулятор
080C 03
080D 08
080F E6 ANI 07H Маскирование 3 последних бит аккумулятора
0810 07
0811 FE CPI 02H Сравнение аккумулятора с 010В
0812 02
0813 CA JZ M2
0814 37
0815 08
0816 A7 ANA A Обнуление флага переноса
0817 3A LDA 0800H
0818 00
0819 08
081A 1F RAR
081B 32 STA 0800H
081C 00
081D 08
081E 3A LDA 0801H
0820 01
0821 08
0822 1F RAR
0823 32 STA 0801H
0824 01
0825 08
0826 3A LDA 0802H
0827 02
0829 08 Последовательный сдвиг
082A 1F RAR байтов кода вправо
082B 32 STA 0802H
082C 02
082D 08
082E 3A LDA 0803H
082F 03
0830 08
0831 1F RAR
0832 32 STA 0803H
0833 03
0834 08
0835 14 INR D Прибавление к счетчику единицы
0836 7A MOV A, D
0837 FE CPI 20H Сравнение значения счетчика с 32D
0838 20
083A 7A M2 MOV A, D
083B 32 STA 0808H Запись первого результата в память
083C 08
083D 08
083E 16 MVI D,1FH Счетчик = 31
083F 1F
0840 3A M3 LDA 0803H Загрузка первого слева байта кода в аккумулятор
0841 03
0842 08
0843 E6 ANI E0H Маскирование 3 первых разрядов кода
0844 E0
0845 FE CPI 40H Сравнение аккумулятора с 0100 0000В
0846 40
0847 CA JZ M4
0848 6B
0849 08
084A A7 ANA A Обнуление флага переноса
084B 3A LDA 0804H
084C 04
084D 08
084E 1F RAL
084F 32 STA 0804H
0850 04
0851 08
0852 3A LDA 0805H
0853 05
0854 08
0855 17 RAL
0856 32 STA 0805H
0857 05
0858 08
0859 3A LDA 0806H
085A 02
085B 08 Последовательный сдвиг
085C 17 RAL байтов кода влево
085D 32 STA 0806H
085E 06
085F 08
0860 3A LDA 0807H
0861 07
0862 08
0863 17 RAL
0864 32 STA 0807H
0865 07
0866 08
0867 15 DCR D Вычитание из счетчика единицы
0868 7A MOV A, D
0869 FE CPI 02H Сравнение значения счетчика с 1D
086A 02
086B 7A M4 MOV A, D
086C 32 STA 0809H Запись второго результата в память
086D 08
086E 09
086F 76 HLT Останов программы

Программа на языке BASIC