Материал: Моделирование цифровых устройств в системе МАТLAB + Simulink (90

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Источник: https://studfile.net/preview/16724885/