Рис.2. Управляющее устройство со схемной логикой.
На вход комбинационной схемы управления триггерами поступают комбинации входных сигналов Х1, Х2,…ХК, комбинации сигналов, отражающих состояние элементов памяти Q1, Q2,…Qm. С учетом этих множеств комбинационная схема формирует серии сигналов, управляющих состоянием триггеров. Кодовые комбинации состояния триггеров образуют внутренние состояния цифрового автомата, которые принято обозначать буквой а.
Комбинационная схема формирования выходных сигналов создает сигналы У1, У2,…УР. которые могут использоваться для управления некоторыми узлами, для активизации процессов в других схемах. Эти сигналы могут зависеть только от внутренних состояний: в этом случае устройство принято называть автоматом Мура. А если выходные сигналы зависят и от входных сигналов Х1, Х2,…ХК, то – автоматом Мили.
Таким образом, для задания цифрового автомата необходимы три множества:
- множество входных сигналов: Х1, Х2,…ХК;
- множество выходных сигналов: У1, У2,…УР;
- множество внутренних состояний: а1, а2,…аZ.
На указанных трех множествах задают две функции: функцию переходов и функцию выходов. Для автомата Мили эти функции имеют вид:
а ( t+1)= f(a (t), (x(t))
y(t)= φ(a(t), x(t));
где а ( t+1)– новое состояние цифрового автомата;
a(t) – предыдущее состояние автомата;
y(t) – выходные сигналы текущего времени;
x(t)- сигналы на входе в данный момент времени.
Для автомата Мура:
а ( t+1)= f(a (t), (x(t))
y(t)= φ(a(t));
Последовательность действий автомата по формированию выходных сигналов и сигналов управления триггерами с учетом выходных сигналов может быть задана с помощью алгоритма. Алгоритм фактически является формализованным представлением задачи по построению цифрового устройства, где определены группы выходных сигналов для инициализации устройств схемы (например, операционное устройство процесса в зависимости от поступления тех или иных входных сигналов - х). Задавать цифровой автомат удобно с помощью графа. Графом называется непустое конечное множество узлов (вершин) вместе с множеством дуг (ветвей), соединяющих пары различных узлов. Граф обычно представляется в наглядной форме, при этом вершины изображаются точками или кругами, которые помечаются с целью идентификации, а ветви изображаются линиями, соединяющими соответствующие узлы. Если каждой дуге также приписано направление, то такой граф называется ориентированным. Если направления не указаны, то граф называется неориентированным. Данные представления полезны ввиду их наглядности.
Вершины обычно соответствуют объектам некоторого вида (в цифровом автомате – внутренним состоянием), а дуги – физическим или логическим связям между ними.
Таким образом, графы можно использовать для математического моделирования самых разнообразных систем и структур: электрических схем, вычислительных сетей и т.д.
2.2 Практическая часть.
2.2.1 Определение состояний ЦА.
На заданной по варианту блок-схеме алгоритма проставим состояния цифрового автомата. Новым состоянием обозначается вход блока следующего за “процессом”. За исходное состояние возьмём а0.
Состояние цифрового автомата изменится после каждого блока «процесс», т. к. данный блок указывает на выходные сигналы, сформированные автоматом при заданном переходе. Состояния следует проставлять по возрастанию. На алгоритме каждое новое состояние автомата фиксируется крестиком на стрелке перехода к следующему блоку и проставлено буквенное обозначение с соответствующим индексом.
В результате получили 11 разных состояний переходов автомата. Далее этим состояниям присваивается двоичный код. Для того, чтобы было меньше разрядов, а следовательно и меньше триггеров воспользуемся двоичным кодом «8-4-2-1». Соответствие кодовых комбинаций внутренним состояниям приведено в таблице 2.
2.2.2. Расчет числа триггеров
Для расчета числа триггеров воспользуемся формулой:
N≥log2an
где an – количество состояний в алгоритме
N= log2an= log211 = 3,26 ≈ 4.
Для всех состояний автомата достаточно выбрать триггер как минимум с четырьмя выходами «Q». Каждый выход фиксируется в таблице, затем этому выходу присваивается «0» или «1» в зависимости от выбранного состояния автомата.
Таблица 1. Кодирование состояний цифрового автомата
Состояние | Выходтриггера | |||
ai | Q4 | Q3 | Q2 | Q1 |
a0 | 0 | 0 | 0 | 0 |
a1 | 0 | 0 | 0 | 1 |
a2 | 0 | 0 | 1 | 0 |
a3 | 0 | 0 | 1 | 1 |
a4 | 0 | 1 | 0 | 0 |
a5 | 0 | 1 | 0 | 1 |
a6 | 0 | 1 | 1 | 0 |
a7 | 0 | 1 | 1 | 1 |
a8 | 1 | 0 | 0 | 0 |
a9 | 1 | 0 | 0 | 1 |
a10 | 1 | 0 | 1 | 0 |
2.2.3 Структурная схема управляющего устройства
Структурная схема управляющего устройства приведена на рис. .
Входами комбинационного узла будут являться выходы триггеров (Q1; Q2; Q3; Q4), а также условные переходы (Х1; Х2; Х3; Х4; Х5).
Выходами будут являться сигналы (У1; У2; У3; У4; У5; У6) и сигналы управления триггерами (D1; D2; D3; D4). Также на триггеры подаются сигналы синхронизации (С) и сигналы установки нуля (R).
Рис.4. Структурная схема управляющего устройства.
2.2.4. Построение графа функционирования устройства.
Граф функционирования устройства строится на основе, данного в задании курсовой работы алгоритма работы, управляющего устройства. Для того чтобы начать составление нужно отметить на алгоритме все состояния устройства (а0 ... а10). Эти состояния и определят узлы графа. Кругами обозначаются состояния, а дугами переходы из одного состояния в другое. На дугах указываются условные переходы Xi, а также выходные сигналы Yi
Рис 5. Граф функционирования
2.2.5. Заполнение таблицы работы
Для заполнения таблицы работы нам понадобится таблица переходов D-триггера(табл.2).
Табл.2. Таблица переходов D-триггеров
Переход | D |
0 → 0 | 0 |
0 → 1 | 1 |
1 → 0 | 0 |
1→ 1 | 1 |
Табл.3 . Таблица работы
Состояние автомата | Условные переходы | Выходные сигналы | |||||||||
исходное | новое | ||||||||||
ai | Q4 | Q3 | Q2 | Q1 | ai | Q4 | Q3 | Q2 | Q1 | Xi | Ji; Ki; Yi |
a0 | 0 | 0 | 0 | 0 | a1 | 0 | 0 | 0 | 1 | ----- | D1; Y1, Y2 |
a1 | 0 | 0 | 0 | 1 | a2 | 0 | 0 | 1 | 0 | ----- | D2; Y2, Y3, Y4 |
a2 | 0 | 0 | 1 | 0 | a3 | 0 | 0 | 1 | 1 | ----- | D1,D2; Y1, Y3, Y4, Y6 |
a3 | 0 | 0 | 1 | 1 | a4 | 0 | 1 | 0 | 0 | X2 | D3; Y2 |
a3 | 0 | 0 | 1 | 1 | a5 | 0 | 1 | 0 | 1 | X2 | D1, D3; Y2, Y5, Y6 |
a4 | 0 | 1 | 0 | 0 | a6 | 0 | 1 | 1 | 0 | X3 | D2,D3; Y1, Y5, Y6 |
a4 | 0 | 1 | 0 | 0 | a7 | 0 | 1 | 1 | 1 | X3 | D1, D2,D3; Y2, Y3,Y4 |
a6 | 0 | 1 | 1 | 0 | a10 | 1 | 0 | 1 | 0 | X5 | D2, D4; Y5, Y6 |
a6 | 0 | 1 | 1 | 0 | a8 | 1 | 0 | 0 | 0 | X5 | D4; Y5 |
a7 | 0 | 1 | 1 | 1 | a0 | 0 | 0 | 0 | 0 | X4 | ---------- |
a7 | 0 | 1 | 1 | 1 | a8 | 1 | 0 | 0 | 0 | X4 | D4; Y5 |
a8 | 1 | 0 | 0 | 0 | a9 | 1 | 0 | 0 | 1 | X1 | D1,D4; Y2, Y6 |
a8 | 1 | 0 | 0 | 0 | a0 | 0 | 0 | 0 | 0 | X1 | Y2, Y4, Y5 |
a9 | 1 | 0 | 0 | 1 | a10 | 1 | 0 | 1 | 0 | ----- | D2, D4; Y5, Y6 |
a10 | 1 | 0 | 1 | 0 | a1 | 0 | 0 | 0 | 1 | ----- | D1; Y1, Y2, Y5 |
a5 | 0 | 1 | 0 | 1 | a7 | 0 | 1 | 1 | 1 | ----- | D1,D2,D3; Y2, Y3, Y4 |
Таблица заполняется по графу (рис.4). Строк в таблице будет столько, сколько дуг в графе. Пример заполнения: для примера возьмём девятую строку, состояние автомата «а6» (кодируемое как «0110») переходит в состояние «а8» (кодируемое как «1000»). Мы видим, что «Q2» и «Q3» были равны 1, а стали равны 0. Так как по варианту задан D-триггер, то по таблице переходов D -триггера видим, что нужно подать «0» на входы «D2» и «D3», на вход «D4» надо подать «1», для того чтобы «Q4» установился в «1», эти изменения вносим в графу «Сигналы управления триггерами; выходы КУ». Так же мы видим, что должны быть сформированы выходной сигнал У5, эти сигналы так же вносим в графу «Сигналы управления триггерами; выходы КУ». Этот переход условный, поэтому в столбце «Условие перехода» заносим условный переход «Х5». Аналогично заполняются остальные строки таблицы.