6.1 Теоретические сведения
Цифровым автоматом называется логическая схема, у которой выходные сигналы зависят не только от комбинации входных сигналов, но и от комбинации самих выходных сигналов, которая имела место перед изменением какого-либо входного сигнала. Чтобы такая зависимость возникла, в составе логической схемы необходима память. Сочетание комбинационной схемы с памятью и образует цифровой автомат. Цифровой автомат называют последовательной схемой (в отличии от комбинационной схемы, которая памяти не имеет).
Обобщенная структура цифрового автомата показана на рисунке 6.1.
Рисунок 6.1
КС – комбинационная схема, RG – регистр памяти, X – комбинация входных переменных, Y – комбинация выходных переменных, Z – комбинация на выходе регистра памяти (внутреннее состояние автомата),
F – код перехода (комбинация, задающая состояние регистра памяти).
Код перехода F является функцией входных переменных X и состояния Z регистра (автомат Мура) Для одного и того же автомата возможны оба способа реализации.
Синтез автомата включает в себя следующие этапы:
а) формирование списка входных функций;
б) определение необходимого числа состояний автомата;
в) построение графа переходов или таблицы состояний автомата;
г) разработка регистра состояний автомата;
д) разработка комбинационной схемы автомата.
Задача синтеза автомата при современной электронной базе возникает, когда нет готовой типовой интегральной схемы, подходящей для данного случая и когда алгоритм работы интегрируемого автомата не слишком сложен. Если алгоритм сложный, то устройство разбивают на несколько отдельных автоматов или на используют микроконтроллер. Автомат можно построить из отдельных типовых интегральных схем или на базе программируемой логической интегральной схемы (ПЛИС).
Порядок синтеза автомата лучше рассмотреть на конкретном примере.
Пусть требуется разработать схему управления поддержания уровня воды в баке в определенных пределах с возможностью включения и выключения насоса заполнения вручную в любой момент. Включение должно быть возможно только в случае, если уровень воды не превосходит верхний.
а) Формирование списка входных и выходных переменных.
Входные переменные:
П – включение насоса вручную (единичный уровень)
С– выключение насоса вручную (нулевой уровень)
В – сигнал датчика верхнего уровня (при контакте с водой единичный уровень)
Н– сигнал датчика нижнего уровня (при контакте с водой единичный уровень)
Сигналы П и С импульсные (от кнопок с самовозвратом), В и Н постоянные (пока имеется контакт с водой).
б) Определение необходимого числа состояний автомата.
Будет разрабатываться автомат Мура. В данном случае, исходя из задания, он должен иметь три состояния: начальное Z0, когда насос выключен и включить его можно только сигналом(пуск); Z1, когда насос выключен датчиком В верхнего уровня; Z2, когда насос включен любым способом.
в) Построение графа переходов.
Граф переходов нагляднее таблицы состояний и показан на рисунке 6.2 Направления переходов показаны стрелкой, а состояния обозначены в кружках.
Рисунок 6.2
Дуги обозначены сигналами, при которых выполняется переход. После включения питания автомат должен устанавливаться в состояние Z0 (как это обеспечить в данном примере не рассматривается). Из состояния Z0 его можно вывести только сигналом(пуск). Если вода в баке не достигает верхнего уровня, сигналом автомат переводится в состояние Z2 (насос включается сразу), если вода в баке достигает верхнего уровня, сигналом автомат переводится в состояние Z1( насос включается, когда вода в баке опустится до нижнего уровня или после повторного сигнала , когда вода в баке будет ниже верхнего уровня).
Из состояния Z1 автомат может перейти в состояние Z2 если появится сигнал (воды в баке меньше нижнего уровня) или сигнал (ручной пуск), а так же в состояние Z0, если появится сигнал (стоп). Из состояния Z2 автомат может перейти в состояние Z1, если появится сигнал В (достигнут верхний уровень) или в состояние Z0, если появится сигнал (стоп). Сигнал из любого состояния переводит автомат в состояние Z0.
Из приведенного описания графа следует, что в двух случаях при одновременной подаче сигналов возникает конфликт. Например, при одновременной подаче сигналов (включить насос) и (выключить насос). Что бы разрешить этот конфликт сигналу следует придать приоритет, т.е. включать насос сигналом , когда сигнал выключения отсутствует, т.е (с=1). Таким образом, вместо сигналов , , , надо использовать сигналы , , , , что и отражено на графе.
Табличное описание автомата представлено в таблице состояний – выходов 6.1.
Таблица 6.1
Сигнал | Состояния | ||
Z0 | Z1 | Z2 | |
Z2 | Z2 | Z2 | |
Z1 | Z1 | Z2 | |
Z0 | Z1 | Z1 | |
Z0 | Z2 | Z2 | |
Z0 | Z0 | Z0 | |
Выход | - | - | Y |
На пересечении столбца и строки приводится новое состояние автомата, в которое он перейдет из состояния, указанного в заглавии столбца, под воздействием сигнала данной строки.
Последняя строка определяет выходной сигнал и отражает тот факт, что он определяется состоянием Z2.
г) Разработка регистра состояния автомата.
Регистр может состоять как из асинхронных, так и синхронных динамических триггеров. Можно использовать готовый регистр в интегральном исполнении. В случае применения асинхронных триггеров отсутствует тактовый генератор, но необходимо принять меры против появления гонок.
Минимально необходимое число триггеров (разряда регистров) равно ближайшему большему целому двоичного логарифма от числа состояний автомата. Максимальное число триггеров (разрядов регистра) равно числу состояний автомата. Чем меньше триггеров, тем сложнее комбинаторная схема. Единых рекомендаций по выбору типа и числа триггеров нет. Выбор определяется опытом и склонностью разработчика к определённой элементной базе, а так же техническими требованиями.
Рассмотрим два варианта. Первый при минимальном числе триггеров и их типы – асинхронные RS. Второй при максимальном числе триггеров и регистре в интегральном исполнении на базе динамических D триггеров.
Первый вариант. Число триггеров N= log 2 3=1,59. Ближайшее большее целое 2. В целях уменьшения количества состояния регистра, связанные наибольшим числом дуг стараются по мере возможности кодировать соседними кодами (т.е. кодами, отличающимися одним разрядом). В нашем случае это состояния Z0 и Z2, Z1 и Z2.
Результаты кодирования состояний автомата представлены в таблице 6.2. Состояние Z3 = 10 не используется.
Таблица 6.2
Состояние автомата | Код | |
Q1 | Q0 | |
Z0 | 0 | 0 |
Z1 | 1 | 1 |
Z2 | 0 | 1 |
Но если автомат в результате помех оказался в этом состоянии, самостоятельно он из него не выйдет. Поэтому необходимо принять меры для выхода из этого состояния. Вариантов может быть несколько. Например, сигналом перейти в состояние Z2, если уровень воды не достиг верхнего уровня, или в состояние Z1, если бак заполнен до верхнего уровня. Этот вариант и отражен на графе рисунка 6.2
Второй вариант. Число триггеров n = 3. Каждое состояние автомата кодируется единицей на выходе какого-либо одного триггера. Результаты кодирования представлены в таблице 6.3
Таблица 6.3
Состояние автомата | Код | ||
Q1 | Q2 | Q3 | |
Z0 | 0 | 0 | 1 |
Z1 | 0 | 1 | 0 |
Z2 | 1 | 0 | 0 |
Под состоянием Z3 на графе рисунка 6.2 понимаются в этом случае все остальные возможные состояния автомата.
д) Разработка комбинационной схемы.
Все ранее определенные сигналы и состояния регистра помещаются в сводную таблицу, на основании которой и разрабатывается комбинационная схема. Рассмотрим синтез комбинационной схемы на базе ПЗУ в интегральном исполнении для регистра из D триггеров.
Для первого варианта все сигналы сведены в таблицу 6.4.
Таблица 6.4.
№
| Входы комбинационной схемы | Имя регистра | Имя след. состояния регистра | Выходы комбинационной схемы | ||||||||
Входные сигналы | Состояние регистра | Коды перехода в следующее состояние | ||||||||||
П | С | В | Н | Q1 | Q0 | S1 | R1 | S0 | R0 | |||
1 | 1 | 1 | 1 | x | 0 | 0 | Z0 | Z1 | 1 | 0 | 1 | 0 |
2 | 1 | 1 | 0 | x | 0 | 0 | Z0 | Z2 | 0 | 0 | 1 | 0 |
3 | x | 0 | x | x | 1 | 1 | Z1 | Z0 | 0 | 1 | 0 | 1 |
4 | 1 | 1 | 0 | x | 1 | 1 | Z1 | Z2 | 0 | 1 | 0 | 0 |
5 | x | 1 | x | 0 | 1 | 1 | Z1 | Z2 | 0 | 1 | 0 | 0 |
6 | x | 0 | x | x | 0 | 1 | Z2 | Z0 | 0 | 0 | 0 | 1 |
7 | x | 1 | 1 | x | 0 | 1 | Z2 | Z1 | 1 | 0 | 0 | 0 |
8 | 1 | 1 | 1 | x | 1 | 0 | Z3 | Z1 | 0 | 0 | 1 | 0 |
9 | 1 | 1 | 0 | x | 1 | 0 | Z3 | Z2 | 0 | 1 | 1 | 0 |
Входов у комбинационной схемы 6, поэтому полная таблица истинности должна содержать 64 строки. Что бы сделать таблицу более компактной, сигнал на входе, значение которого не влияет на состояние выходного сигнала, обозначен знаком x (т.е. учитывает сразу два значения 0 и 1). Исключены строки, содержащие комбинации сигналов, при которых регистр не изменяет своего состояния, так как при этом на входе RS триггеров нужно подавать 0. Т.к. запись функции предполагается в нормальной дизъюнктивной форме, то важны единичные значения функции.
Функций всего 5, входы RS триггеров и выход Y. Поскольку выходной сигнал определяется состоянием Z2 регистра, то его выражение очевидно, и он в таблице не представлен.
В строке таблицы 6.4 указано исходное состояние регистра; следующее состояние регистра; комбинация входных сигналов, которая переводит его в это следующее состояние и сигналы, которые должны подаваться на входы триггеров для перевода его в это состояние. В таблице учтено, что некоторые разряды регистра при переходе из одного состояния в другое не меняют своего значения и при этом на входы данного триггера можно подавать 0.
Из таблицы сразу можно записать выражения функций в НДФ.
Рисунок 6.3
Минимизацию функций можно провести любым известным способом. В данном случае после минимизации с помощью карт Карно получается:
Таблица 6.5
Номер строки | Входы комбинационной схемы | Имя состояния регистра | Имя следующего состояния регистра | Выходы комбинационной схемы | ||||||||
Входные сигналы | Состояние регистра | Коды перехода в следующее состояние | ||||||||||
П | С | В | Н | Q2 | Q1 | Q0 | D2 | D1 | D0 | |||
1 2 3 4 |
1 1 X 1 |
1 1 0 1 |
1 0 X 0 |
X X X X |
0 0 0 0 |
0 0 1 1 |
1 1 0 0 |
Z0 Z0 Z1 Z1 |
Z1 Z2 Z0 Z2 |
0 1 0 1 |
1 0 0 0 |
0 0 1 0 |
5 6 7 8 9 | X X X 0 1 | 1 0 1 X 0 | X X 1 X X | 0 X X X X | 0 1 1 0 0 | 1 0 0 0 0 | 0 0 0 1 1 | Z1 Z2 Z2 Z0 Z0 | Z2 Z0 Z1 Z0 Z0 | 1 0 0 0 0 | 0 0 1 0 0 | 0 1 0 1 1 |
10 11 12 13 | 0 X X X | 1 1 1 X | X 1 0 X | 1 X X X | 0 0 1 0 | 1 1 0 0 | 0 0 0 0 | Z1 Z1 Z2 Z3 | Z1 Z1 Z2 Z0 | 0 0 1 0 | 1 1 0 0 | 0 0 0 1 |
14 15 16 17
| X X X X | X X X X | X X 1 0 | X X X X
| X 0 0 0 | 1 0 1 1
| 1 1 0 0
| Z3 Z3 Z3 Z3
| Z0 Z0 Z1 Z2 | 0 0 0 1 | 0 0 1 0 | 1 1 0 0
|
Принимается, что RS триггеры будут построены на ЛЭ 2И-НЕ. Такие триггеры имеют инверсное управление. Преобразуя полученные после минимизации выражения к виду, обеспечивающему реализацию с меньшим числом корпусов.
Схемная реализация автомата показана на рисунке 6.3
Для второго варианта все сигналы связаны в таблицу 6.5. Входов у комбинационной схемы 7.
Таблица 6.5 составлена по тому же принципу, что и таблица 6.4, только в ней учтено, что для сохранения информации Д триггера в момент подачи синхронизирующего импульса на его вход Д нужно подавать информацию, которая в нём хранится и под состоянием Z3 понимаются все неиспользуемые состояния регистра, в которых он может случайно оказаться под действием помехи. Данная таблица одновременно является и таблицей прошивки ПЗУ. Входы комбинационной схемы – это адресные входы, ПЗУ, а выходы комбинационной схемы это выходы ПЗУ, т.е. по адресу, заданному входной комбинацией записан код перехода в следующее состояние.
Схема автомата показана на рисунке 6.4
Рисунок 6.4
С – сигнал от генератора тактовых импульсов, максимальная частота его определяется суммарным временем задержки в ПЗУ и регистре, минимальная частота определяется необходимым быстродействием автомата.
Похожие материалы
... состоянии am. Рассмотренные выше абстрактные автоматы можно разделить на: 1) полностью определенные и частичные; 2) детерминированные и вероятностные; 3) синхронные и асинхронные; Полностью определенным называется абстрактный цифровой автомат, у которого функция переходов и функция выходов определены для всех пар ( ai, zj). Частичным называется абстрактный автомат, у которого функция ...
... в народном хозяйстве. Специальная часть. 3. 1. Определение задачи. Из задания на курсовое проектирование определим суть задачи: для некоторого синхронного цифрового автомата необходимо спроектировать устройство управления на основе жёсткой логики, которое в соответствии с заданными кодами микрокоманд формирует на выходной десятиразрядной шине управляющую последовательность цифровых сигналов. 3. ...
... . Функционирование цифрового автомата проверить на примере массива данных состоящей из шести элементов. Элементы массива A=5, B=2, x=2. Функционирование цифрового автомата представлено в табл.4 R1 R R3 R4 Sm1 Sm2 Выполняемая операция 0011 y1:R1ßx 0011 y2:R2ßB 0101 ...
... развились и на практике чаще применяют именно импульсные последовательности. Генератор импульсов‑ автогенератор ,вырабатывающий импульсы прямоугольной формы. Генераторы обеспечивают работу цифрового устройства и характеризуются частотой сигнала, стабильностью частоты, скважностью, видом последовательности сигнала и другими параметрами. В соответствии с принятыми условиями необходимо ...
для проектирования цифрового автомата (ЦА) в соответствии с заданием на курсовое проектирование, которое приводится ниже. Построить структурную схему ЦА с указанием схемы запуска, цепей формирования тактовых сигналов (Ф), сигналов сброса (W), входных сигналов (X) и т.д. 2. Определить период функционирования ЦА в соответствии с заданием на курсовое проектирование. 3. Определить необходимое ...
0 комментариев