14 |
5 |
2 |
7 |
1 |
0 |
1 |
6 |
5 |
15 |
6 |
7 |
1 |
5 |
7 |
4 |
0 |
2 |
16 |
7 |
3 |
6 |
1 |
6 |
3 |
1 |
7 |
17 |
0 |
1 |
6 |
5 |
1 |
4 |
5 |
2 |
18 |
1 |
4 |
3 |
6 |
2 |
3 |
6 |
1 |
19 |
2 |
7 |
0 |
3 |
3 |
1 |
7 |
4 |
20 |
3 |
6 |
1 |
0 |
4 |
7 |
0 |
3 |
21 |
4 |
3 |
7 |
1 |
5 |
6 |
3 |
0 |
22 |
5 |
0 |
2 |
4 |
6 |
2 |
1 |
5 |
23 |
6 |
2 |
5 |
7 |
7 |
0 |
4 |
6 |
24 |
7 |
5 |
4 |
2 |
0 |
5 |
2 |
7 |
25 |
0 |
5 |
2 |
7 |
1 |
6 |
3 |
4 |
26 |
2 |
5 |
6 |
7 |
2 |
5 |
0 |
7 |
27 |
3 |
0 |
6 |
1 |
3 |
4 |
5 |
6 |
28 |
4 |
2 |
1 |
5 |
4 |
5 |
2 |
7 |
29 |
5 |
3 |
2 |
0 |
5 |
6 |
7 |
1 |
30 |
6 |
4 |
3 |
1 |
6 |
4 |
3 |
5 |
|
|
|
Y1 |
|
|
|
Y0 |
t1 Q1 |
t2 |
Y2 |
|
t0 |
|
|
|
||
Q0 |
|
|
|
Q2 |
|
|
t4 |
Y3 |
t3 |
||
|
|
|
|||
|
|
|
|
|
|
|
|
|
Q3 |
|
|
Рис. 14. Граф переключений ПЦУ
2. На основе только анализа автоматной таблицы записать минимальные функции переходов и выходов. При этом в качестве запоминающих элементов ПЦУ использовать D-триггеры с динамическим управлением.
Для примера рассмотрим задачу синтеза ПЦУ, граф переключений которого имеет следующие параметры:
Состояния ПЦУ |
Состояния вы- |
||||||
|
хода |
|
|||||
|
|
|
|
|
|
||
Q0 |
Q1 |
Q2 |
Q3 |
Y0 |
Y1 |
Y2 |
Y3 |
1 |
2 |
3 |
0 |
0 |
1 |
2 |
3 |
Соответствующий граф переключений имеет вид:
|
|
|
1 |
|
|
|
0 |
t1 |
2 |
t2 |
2 |
t0 |
|
|
|
||
1 |
|
|
|
3 |
|
|
t4 |
|
t3 |
||
|
|
3 |
|
||
|
|
|
|
|
|
|
|
|
0 |
|
|
Как видно, максимальным является третье состояние ПЦУ. Следовательно,
26
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
количество запоминающих элементов (триггеров) Nт =
Log2(3)
= 2.
В качестве модели ПЦУ примем автомат Мура, запоминающими элементами которого, согласно заданию, являются D-триггеры с динамическим управлением. Тогда автоматная таблица, соответствующая графу переключений, будет иметь вид:
|
Состояние |
Сигналы |
Состояние |
|||
№ |
триггеров |
управления |
выхода |
|||
состояния |
q1 |
q0 |
a1 = |
a0 = |
у1 |
у0 |
|
|
|
D1 |
D0 |
|
|
1 |
0 |
1 |
1 |
0 |
0 |
0 |
2 |
1 |
0 |
1 |
1 |
0 |
1 |
3 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
На основании этой таблицы можно сразу записать системы минимальных функций переходов и выходов:
D0 |
q0 , |
, |
y0 |
q0 |
D0 , |
|
|
D1 |
q0 q1 |
|
|
|
|||
y q ~ q D . |
|||||||
|
|
|
1 |
0 |
1 |
1 |
|
3.С помощью любого из методов минимизации убедиться в достоверности полученных ФАЛ.
4.Разработать структурную схему устройства.
5. В системе MATLAB создать соответствующую модель устройства и сохранить ее под именем pcu.mdl.
Так, модель ПЦУ рассмотренного примера приведена на рисунке:
6. Запустить модель и сравнить диаграммы на экране «осциллографа» с данными таблицы выходов.
Процесс настройки параметров моделирования приведен в пункте 6 работы 2, а также в предыдущей работе.
Может случиться, что таблица выходов совпадает с «осциллограммами» лишь через некоторое количество тактов. Это вполне соответствует реальной ситуации, поскольку в момент запуска устройство устанавливается в произвольное состояние, что обусловливает переходный процесс.
27
6. ТИПОВЫЕ ПЦУ
Применяются для подсчета количества тактовых импульсов, уменьшения частоты их следования в заданное число раз, хранения и/или преобразования двоичных наборов путем поразрядной инверсии либо сдвига.
Подготовка к работе
По указанной выше литературе изучить:
типы базовых триггеров асинхронных и синхронных счетчиков, буферных регистров и регистров сдвига;
способы реализации базовых триггеров счетчиков на D- и JK-триггерах; принципы построения асинхронных и синхронных счетчиков; принципы и особенности реализации счетчиков с произвольным модулем
счета и начальным состоянием;
принципы построения регистров.
Задания и методические указания к их выполнению
1. На D-триггерах разработать структурную схему асинхронного счетчика с параметрами, заданными в табл. 12 – 14 согласно номера варианта N. Направление счета – прямое для четных N и обратное для нечетных N.
Таблица 12. Параметры триггеров счетчика
|
Активный |
Вход |
|
Активный |
||||||||||||
N |
сигнал |
D |
N |
|
|
сигнал |
||||||||||
|
C |
R |
|
C |
R |
|||||||||||
|
|
|
||||||||||||||
1,2,17,18 |
|
|
|
|
|
|
0 |
- |
3,4,19,21 |
|
|
|
|
|
|
0 |
9,10,25,26 |
|
|
|
|
|
|
1 |
инверс ный |
11,12,27,28 |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
5,6,21,22 |
|
|
|
|
|
|
0 |
|
7,8,23,24 |
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13,14,29 |
|
|
|
|
|
|
1 |
|
15,16,30 |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вход
D
прямой
Таблица 13. Модуль счета Кс
N |
Кс |
N |
Кс |
N |
Кс |
1,3,5,7,9 13 11,13,15,17,19 9 21,23,25,27,29 11
2,4,6,8,10 10 12,14,16,18,20 7 22,24,26,28,30 12
Таблица 14. Начальное состояние Qн
N |
Q |
N |
Q |
N |
Q |
N |
Q |
N |
Q |
|
|
|
|
|
|
||||||
|
н |
|
н |
|
н |
|
н |
|
н |
|
1,2 |
1 |
7,8 |
4 |
13, |
7 |
19, |
1 |
25, |
1 |
|
14 |
20 |
0 |
26 |
3 |
||||||
|
|
|
|
|
||||||
3,4 |
2 |
9,1 |
5 |
15, |
8 |
21, |
1 |
27, |
1 |
|
0 |
16 |
22 |
1 |
28 |
4 |
|||||
|
|
|
|
|||||||
5,6 |
3 |
11, |
6 |
17, |
9 |
23, |
1 |
29, |
0 |
|
12 |
18 |
24 |
2 |
30 |
||||||
|
|
|
|
|
Триггер D Flip-Flop Simulink имеет один вход принудительной установки,
28
причем в нулевое состояние. Это обстоятельство порождает две особенности в построении счетчиков:
при необходимости принудительной установки i-го триггера в состояние 1 в качестве соответствующего выхода счетчика следует использовать инверсный выход триггера;
в асинхронном счетчике, отвечающем требованиям задания, соединять этот i-й триггер с последующим необходимо по схеме, соответствующей противоположному относительно заданному направлению счета.
Например, в суммирующем счетчике с Кс = 6 и Qн = 2 выходом среднего разряда счетчика будет инверсный выход соответствующего триггера при следующих межтриггерных связях: Q0 C1 и Q1 C2 или в обозначениях Simulink !Q0 CLK1 и Q1 CLK2.
Другая особенность – MATLAB «отказывается» моделировать счетчики с произвольным модулем счета, поскольку длительность сигнала на выходе СУНС значительно меньше длинны такта. Выходом из этой ситуации является просто наблюдение сигнала на выходе СУНС без соединения его с входами R(!CLR) триггеров.
Так, модель счетчика примера, учитывающая все отмеченные особенности, приведена на рис. 15.
На рис. 16 приведены временные диаграммы работы счетчика, полученные в результате моделирования. Видно, что активный сигнал на выходе СУНС (логический элемент OR модели) образуется сразу по окончании рабочего цикла счетчика (Qк = 2+6-1 = 7 или 111 в двоичной системе счисления). Следовательно, реализация счетчика удовлетворяет всем требованиям.
Q0
!Q1
Q2
OR
Такты
29
Рис. 15. Модель суммирующего счетчика с Кс = 6 и Qн = 2
Рис. 16. Результаты моделирования счетчика примера
2. Построить временные диаграммы работы счетчика.
3. В системе MATLAB создать модель разработанного счетчика и сохранить ее под именем ac<№ вар.>.mdl.
4.Запустить модель на исполнение и сравнить диаграммы окна Scope с диаграммами п.2 данной работы.
5.Разработать структурную схему 5-разрядного последовательнопараллельного регистра сдвига влево для четных N и вправо для нечетных N на базовых триггерах. При этом для нечетных пар вариантов (1 и 2, 5 и 6, . . .) информационный вход триггеров – прямой, а для четных пар (3 и 4, 7 и 8, ...) – инверсный.
6.Построить временные диаграммы по вводу в регистр N-го (для вариантов с 1 по 14) и (N+1)-го (для вариантов с 15 по 29) двоичного набора.
7.В системе MATLAB создать модель разработанного регистра и сохранить ее под именем rs<№ вар.>.mdl.
Для чтения вводимого двоичного набора используется блок From workspace (см. стр. 13), причем с информационным входом регистра он должен соединяться через блок Logical Operator (см. стр. 14). Это промежуточное звено необходимо для согласования блоков From workspace и D Flip-Flop по типу данных.
При настройке параметров блока From workspace в списке Form output afterfinal data value by (по окончании данных формировать на выходе значение) со-
30