1. На D-триггерах разработать структурную схему асинхронного счетчика с параметрами, заданными в табл. 12 – 14 согласно номера варианта N. Направление счета – прямое для четных N и обратное для нечетных N.
Таблица 12. Параметры триггеров счетчика
N
Активный
сигнал
Вход
D
N
Активный
сигнал
Вход
D
C
R
C
R
1,2,17,18
инверсный
3,4,19,21
прямой
9,10,25,26
11,12,27,28
5,6,21,22
7,8,23,24
13,14,29
15,16,30
Таблица 13. Модуль счета Кс
N
Кс
N
Кс
N
Кс
1,3,5,7,9
11,13,15,17,19
21,23,25,27,29
2,4,6,8,10
12,14,16,18,20
22,24,26,28,30
Таблица 14. Начальное состояние Qн
N
Qн
N
Qн
N
Qн
N
Qн
N
Qн
1,2
7,8
13,14
19,20
25,26
3,4
9,10
15,16
21,22
27,28
5,6
11,12
17,18
23,24
29,30
Триггер D Flip-Flop Simulink имеет один вход принудительной установки, причем в нулевое состояние. Это обстоятельство порождает две особенности в построении счетчиков:
- при необходимости принудительной установки i-го триггера в состояние 1 в качестве соответствующего выхода счетчика следует использовать инверсный выход триггера;
- в асинхронном счетчике, отвечающем требованиям задания, соединять этот i-й триггер с последующим необходимо по схеме, соответствующей противоположному относительно заданному направлению счета.
Например, в суммирующем счетчике с Кс = 6 и Qн = 2 выходом среднего разряда счетчика будет инверсный выход соответствующего триггера при следующих межтриггерных связях: Q0 ® C1 и Q1 ® C2 или в обозначениях Simulink !Q0 ® CLK1 и Q1 ® CLK2.
Другая особенность – MATLAB «отказывается» моделировать счетчики с произвольным модулем счета, поскольку длительность сигнала на выходе СУНС значительно меньше длинны такта. Выходом из этой ситуации является просто наблюдение сигнала на выходе СУНС без соединения его с входами R(!CLR) триггеров.
Так, модель счетчика примера, учитывающая все отмеченные особенности, приведена на рис. 15.
Q0
!Q1
Q2
OR
Такты
На рис. 16 приведены временные диаграммы работы счетчика, полученные в результате моделирования. Видно, что активный сигнал на выходе СУНС (логический элемент OR модели) образуется сразу по окончании рабочего цикла счетчика (Qк = 2+6-1 = 7 или 111 в двоичной системе счисления). Следовательно, реализация счетчика удовлетворяет всем требованиям.
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 after-final data value by (по окончании данных формировать на выходе значение) соответствующего окна диалога выбрать Holding final value (по последнему значению).
8. Запустить модель и сравнить диаграммы окна Scope с диаграммами п.6 данной работы.