Смекни!
smekni.com

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

Московский Авиационный институт (технический университет)

КАФЕДРА 403


Расчетно-пояснительная записка

к курсовой работе по дисциплине

Вычислительные системы и микропроцессорная техника

выполнил: студент гр. 04-417

Левин О.А.

проверил: Герасимов А.Л.

МОСКВА 1997

Содержание

Анализ задания - 2

Комбинационный вариант - 2

Алгоритм работы устройства - 4

Микропрограмма - 5

Управляющий автомат с жесткой логикой - 5

Управляющий автомат с МПУ - 8

Выбор элементной базы - 10

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

Задание

ВАРИАНТ №17

Задается входной код D{1:32}. Спроектировать вычислитель, который определяет номер разряда самой первой и самой последней единиц, стоящих между нулями. Предусмотреть реакцию проектируемого устройства в случае отсутствия таких сигналов.

Анализ и уточнение задания

Так как входной код - тридцатидвухразрядный, то для получения интересующей нас информации необходимо два выходных шестиразрядных кода. Реакцией устройства в случае отсутствия интересующих нас кодовых комбинаций будет значение первого и второго выходных кодов соответственно:

Очевидно, что в тридцатидвухразрядном коде единица, стоящая между двумя нулями ни при каких обстоятельствах не может находится ни в первом ни в тридцать втором разряде кода.

Тактовая синхронизация будет осуществляться внешним генератором тактовых импульсов с частотой 20 МГц

По окончании обработки входного кода должен вырабатываться специальный сигнал, позволяющий следующему устройству считать выходные данные с проектируемого устройства.

Обобщенная функциональная схема проектируемого устройства может быть представлена в следующем виде:

D{1:32} B{1:6}

F C{1:6}

СТРОБ

УСЧИТ

Рисунок 1

Обобщенная функциональная схема устройства

Комбинационный вариант устройства

Функциональная схема комбинационного устройства, осуществляющего параллельную обработку входного кода представлена на рисунке 2. Входной код D{1:32} разбивается на пересекающиеся элементы по три разряда: D’{1:3}, D’{2:4},...D’{30:32}. Крайние разряды D’ проходят через инверторы DD1, DD3, DD4, DD6, DD7, DD9,...DD88, DD90. Проинвертированные крайние разряды вместе с центральным разрядом элемента поступают на логическую схему И, на выходе которой в случае если D{i-1, i, i+1}=010 сформируется высокий логический уровень напряжения, приводящий в действие соответствующий элемент индикации на внешней панели устройства. При визуальном контроле внешней панели устройства по расположению работающих элементов индикации можно определить номер разряда первой и последней единиц, стоящих между нулями.

Для реализации данной схемы потребуется 20 микросхем 1533ЛН1 (6 логических элементов НЕ), 10 - КР1533 (3 элемента 3И), 4 - КР531ЛЕ7 (2 элемента 5 ИЛИ-НЕ), 1 - 1533ЛИ6 (2 элемента 4И), 1 - 1533ЛИ1 (4 элемента 2И).

Основным недостатком данной схемы является невозможность дальнейшей обработки выходной информации.

НАЧАЛО

НЕТ

СТРОБ

РЕГ В {1:32}=D{1:32}

РЕГ А{1:32}=РЕГ В{1:32}

СЧЕТ Ц1=2

ДА

РЕГ А{1}=0 & РЕГ А{2}=1 & РЕГ А{3}=0

НЕТ

РЕГ А{1:32}=РЕГ А{2:32}.0

СЧЕТ Ц1=СЧЕТ Ц1 +1

НЕТ

СЧЕТ Ц1=32

ДА

РЕГ А{1:32}=РЕГ В{1:32}

СЧЕТ Ц2=31

ДА

РЕГ А{32}=0 & РЕГ А{31}=1 & РЕГ А{30}=0

НЕТ

РЕГ А{1:32}=РЕГ А{1:31}.0

СЧЕТ Ц=СЧЕТ Ц -1

НЕТ

СЧЕТ Ц=1

B {1:6}=СЧЕТ Ц1; С {1:6}=СЧЕТ Ц2

КОНЕЦ

Рисунок 3

Блок-схема алгоритма работы устройства

Микропрограмма

Переменные:

Входные:

D{1:32} - входной код

строб

Выходные:

В {1:6}, С{1:6} - выходной код

Внутренние:

РЕГ А{1:32}, РЕГ В{1:32} - регистры

СЧЕТ Ц1{1:6}, СЧЕТ Ц2{1:6} - счетчики циклов

Признаки:

Р1 - строб=1

Р2 - РЕГ А{1}=0 & РЕГ A{2}= 1 & РЕГ А {3}=0

Р3 - РЕГ А{32}=0 & РЕГ A{31}= 1 & РЕГ А {30}=0

Р4 - СЧЕТ Ц1 {1:6} = 32

Р5 - СЧЕТ Ц2 {1:6} = 1

Программа

М1 ЕСЛИ НЕ Р1 ТО М1

(СТРОБ) РЕГ В{1:32}=D {1:32}

(УЗАП1) РЕГ А{1:32}=РЕГ В {1:32}

(УН1) СЧЕТ Ц1 {1:6} =2

М2 ЕСЛИ Р2 ТО М3

(УСДВ1) РЕГ А{1:32}=РЕГ А{2:32}.0 }

(УСЧ1) СЧЕТ Ц1 {1:6}=СЧЕТ Ц1 {1:6}+1 } УЭ1

ЕСЛИ НЕ Р4 ТО М2

М3 (УЗАП1) РЕГ А{1:32}=РЕГ В {1:32}

(УН2) СЧЕТ Ц2 {1:6} =31

М4 ЕСЛИ Р3 ТО М5

(УСДВ2) РЕГ А{1:32}=0.РЕГ А{1:31} }

(УСЧ2) СЧЕТ Ц2 {1:6}=СЧЕТ Ц2 {1:6}-1 } УЭ2

ЕСЛИ НЕ Р5 ТО М4

М5 (УСЧИТ1) В{1:6}=СЧЕТ Ц1 {1:6} }

(УСЧИТ2) С{1:6}=СЧЕТ Ц2 {1:6} } УЭ3

КОНЕЦ (ИДТИ К М1)

Как видно из текста микропрограммы, некоторые сигналы можно объединить и заменить эквивалентными сигналами. Функциональная схема операционной части устройства приведена на рисунке 4.

Управляющий автомат с жесткой логикой будет реализовываться в виде классического конечного автомата Мили или Мура. На основании блок-схемы алгоритма работы устройства определим количество состояний для каждого типа автомата. Обозначим состояния автомата Мура буквой S, а состояния автомата Мили - S’. Как видно из рисунка 5, у автомата Мура будет шесть состояний, в то время как у автомата Мили - лишь четыре.

НАЧАЛО S0

S’0

0 Р1

УН 1, УЗАП 1 S1

0 S’1 1

Р2

УЭ 1 S2 УЗАП 1, УН 2 S3

0

Р4 S’2

УЗАП 1 УН 2 S3

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