0 S’3 1

Р3



УЭ 2 S5 УЗАП 1 УЭ 3 S4


0

Р5 S’4



S6 УЗАП 1 УЭ 3


КОНЕЦ S’0


Рисунок 5.

Состояния конечных автоматов Мили и Мура.


Таким образом, определим, что управляющее устройство необходимо синтезировать в виде конечного автомата Мили


Р1/—

P1/УН 1, УЗАП 1 Р2/УЭ 1 Р4/УН 2, УЗАП 1 Р3/УЭ 2

S0 S1 S2 S3 S4


Р4/— Р5/—


Р2/УН 2, УЗАП 1


Р3/УЭ 3


Р5/УЭ 3


Граф состояний автомата Мили.


S0

S1

S2

S3

S4

Q1

0

0

0

1

1

Q2

0

0

1

1

0

Q3

0

1

1

1

1

Таблица 1

Кодированная таблица состояний.


ВХОД

S0

S1

S2

S3

S4

P1

S1/УН 1,УЗАП1





НЕ Р1

S0/-





Р2

S3/ УН 2, УЗАП1




НЕ Р2

S2/УЭ 1




Р3


S0/УЭ 3


НЕ Р3


S4/УЭ 2


Р4

S3/УН 2, УЗАП 1



НЕ Р4

S1/-



P5





S0/УЭ 3

НЕ P5





S3/-

Таблица 2

Таблица переходов и выходов


ВХОД

0 0 0

0 0 1

0 1 1

1 1 1

1 0 1

P1

0 0 1/УН 1, УЗАП 1





НЕ Р1

0 0 0/-





Р2

1 1 1/ УН 2,

УЗАП 1




НЕ Р2

0 1 1/УЭ 1




Р3


0 0 0/УЭ 3


НЕ Р3


1 0 1/УЭ 2


Р4

1 1 1/УН 2,

УЗАП 1



НЕ Р4

0 0 1/-



P5





0 0 0/УЭ 3

НЕ P5





1 1 1/-

Таблица 3

Кодированная таблица переходов и выходов


Если в конечном автомате будет применяться D-триггер, то будут справедливы равенства:


Q1 (t+1) = НЕ Q1*НЕ Q2*Q3*P2 + НЕ Q1*Q2*Q3*P4 + Q1*Q2*Q3*НЕ P3+ Q1*НЕ Q2*Q3*НЕ P5 [20 входов]

Q2 (t+1) = НЕ Q1*НЕ Q2*Q3*P1 + НЕ Q1*Q2*Q3*НЕ P4 + Q1*НЕ Q2*Q3*НЕ P5 [15 входов]

Q3 (t+1) = НЕ Q1*НЕ Q2*НЕ Q3*P1 + НЕ Q1*НЕ Q2*Q3 + НЕ Q1*Q2*Q3 + Q1*Q2*Q3*НЕ P3 + Q1*НЕ Q2*Q3*НЕ P5 = =НЕ Q1*НЕ Q2*НЕ Q3*P1 + НЕ Q1*Q3 + Q1*Q2*Q3*НЕ P3 + Q1*НЕ Q2*Q3*НЕ P5 [18 входов]

Для реализации автомата на D-триггерах потребуется 43 входа. Если будет использоваться J-K триггер, то уравнения для него можно получить из уравнений для D-триггера:

Q (t+1)=J*Q+K*Q


Q(T+1)=J*HE Q + HE K*Q

J1=НЕ Q2*Q3*P2+Q2*Q3*P4=Q3*(НЕ Q2*P2+Q2*P4) [6 входов]


K1=(Q2*Q3*НЕ P3+НЕ Q2*Q3*НЕ P5)=(Q2*Q3*НЕ P3)*(НЕ Q2*Q3*НЕ P5)=(НЕ Q2+

НЕ Q3+P3)*(Q2+НЕ Q3+P5) [8 входов]


J2=(НЕ Q1*Q3+Q1*Q3*НЕ P5)=Q3*(НЕ Q1+Q1*НЕ P5) [6 входов]


K2=(НЕ Q1*Q3*P4) = Q1+НЕ Q3+НЕ P4 [3 входа]


J3=НЕ Q1*НЕ Q2*P1 [3 входа]


K3=(НЕ Q1*НЕ Q2+НЕ Q1*Q2+Q1*Q2*НЕ P3+Q1*НЕ Q2*НЕ P5) = (НЕ Q1+Q1*(Q2+НЕ Q2*НЕ


P5)) =Q1*(НЕ Q1+(Q2+НЕ Q2*НЕ P5)) = Q1*НЕ Q2*(Q2+P5) = Q1*НЕ Q2*P5 [3 входа]


Для реализации автомата на J-K-триггерах потребуется 29 входов, поэтому автомат будет реализовываться на них. Управляющие сигналы на основе таблицы переходов и выходов будут формироваться следующим образом


УН 1=НЕ Q1*НЕ Q2*НЕ Q3*P1


УЭ 1=НЕ Q1*НЕ Q2*Q3*НЕ P2


УН 2=НЕ Q1*Q2*Q3*P4+НЕ Q1*НЕ Q2*Q3*P2


УЭ 2=Q1*Q2*Q3*НЕ P3


УЭ 3=Q1*НЕ Q2*Q3*P5+Q1*Q2*Q3*P3


УЗАП1=УН 1+УН 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 ИДТИ К М1

Таблица 4

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


Адрес


УН 1

УЭ 1

УН 2

УЭ 2

УЭ 3

УЗАП1

Не Р1

Р2

Р3

Не Р4

Не Р5

Адрес перехода


0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0
0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1
0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0
0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0
0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1
0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Таблица 5

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

Минимальная требуемая емкость ПЗУ - (или 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

Программа была составлена на языке BASIC и отлажена на IBM-совместимом компьютере.

Текст программы

REM Программа по курсовой работе (каф 403).

REM Список переменных:

REM SCHET% - счетчик циклов.

REM D% - входной код.

REM B%, C% - выходные коды.

CLS

REM Задается размерность входного кода.

DIM D%(32)

REM Установка списка данных в начальное положение.

RESTORE

REM Запись входного кода. Цикл.

FOR I%=1 TO 32

REM Чтение I-го элемента входного кода.

READ D%(I%)

NEXT I%

REM Поиск первой комбинации 010. Цикл.

FOR SCHET%=2 TO 31

REM Проверка совпадения.

IF D%(SCHET%-1)=0 AND D%(SCHET%)=1 AND D%(SCHET%+1)=0 THEN GOTO 1

REM Сдвиг "окна".

NEXT SCHET%

REM Запись и вывод результата.

1 B%=SCHET%: PRINT "Номер первой единицы, стоящей между нулями: ";B%

REM Поиск последней комбинации 010. Цикл.

FOR SCHET%=31 TO 2 STEP -1

REM Проверка совпадения и запись результата.

IF D%(SCHET%-1)=0 AND D%(SCHET%)=1 AND D

%(SCHET%+1)=0 THEN GOTO 2

NEXT SCHET%

REM Запись и вывод результата.

2 C%=SCHET%: PRINT "Номер последней единицы, стоящей между нулями: ";C%

REM Входной код.

DATA 0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,1


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


Номер первой единицы, стоящей между нулями: 7

Номер последней единицы, стоящей между нулями: 30

Использованная .литература

Аванесян Г.Р. Лёвшин В.П. «Интегральные микросхемы ТТЛ, ТТЛШ» М93;

Лебедев О.Н. «Применение микросхем памяти в электронных устройствах» М94;

Мельников Б.С. Щеглов А.В. «Методические указания к курсовой работе...» М91;

«Цифровые интегральные микросхемы» М94.

Для заметок

1 Необходимые микросхемы регистров и ПЗУ в серии 1533 отсутствуют.


Информация о работе «Микросхема ПЗУ в управляющем автомате с МПУ выбрана неверно»
Раздел: Радиоэлектроника
Количество знаков с пробелами: 18506
Количество таблиц: 11
Количество изображений: 0

0 комментариев


Наверх