2.2.1 Получение последовательности выходных импульсов
Для того чтобы реализовать управляющие импульсы, воспользуемся подходом построения счетчика с произвольным порядком счета.
Необходимость в таких устройствах возникает при проектировании автоматов для выдачи отдельных сигналов включения и выключения устройств в определенной последовательности.
Рассмотрим построение такого счётчика на JK-триггерах. Получим последовательность выходных состояний счётчика. Для этого определим величину одного кванта времени D как наибольший общий делитель (НОД) из длительностей импульсов и интервалов между ними для всех выходов (рис.20-21).
Результатом является квант времени D, равный 0.35mc.
Выходная последовательность будет иметь вид РА0, РА1, РА2, РА3.
Необходимо доопределить 4-разрядные коды (РА0, РА1, РА2, РА3) до n-разрядных таким образом, чтобы среди них не было одинаковых.
n по формуле:
,
где – знак округления до ближайшего справа целого числа.
m – количество выходов;
к – максимальное число одинаковых кодов.
В нашем случае, m=4, k=15, n=8.
Чтобы исключить одновременного изменения состояния двух разрядов, будем доопределять последовательность кодами Грея. Код Грея относится к таким, в которых при переходе от любой кодовой комбинации к следующей изменяется только один разряд. В схемотехнике счетчиков это свойство устраняет одновременное переключение многих разрядов, характерное для двоичных счетчиков при некоторых переходах. Одновременное переключение многих элементов создает такие токовые импульсы в цепях питания схем, которые могут вызывать сбои в работе схемы.
В результате получим последовательность, представленную в Приложении 1.
Последовательность имеет 68 устойчивых неповторяющихся состояний. Для построения такого счётчика необходимо 8 триггеров. Выберем JK – триггеры.
2.2.2 JK – триггер
Триггеры – элементарные автоматы, содержащие собственно элемент памяти (фиксатор) и схему управления. Фиксатор строится на двух инверторах, связанных друг с другом «накрест», так что выход одного соединен с входом другого. Такое соединение дает цепь с двумя устойчивыми состояниями (рис. 22). Действительно, если на выходе инвертора 1 имеется логический нуль, то он обеспечивает на выходе инвертора 2 логическую единицу, благодаря которой сам и существует. То же согласование сигналов имеет место и для второго состояния, когда инвертор 1 находится в единице, а инвертор 2 – в нуле. Любое из двух состояний может существовать неограниченно долго.
Рис. 22. Ячейка с двумя устойчивыми состояниями.
Рис. 23. Схемы фиксаторов с входами управления на элементах ИЛИ-НЕ и И-НЕ
Переходное состояние, в котором инверторы активны, неустойчиво. Это можно показать, имея в виду, что напряжения в любой цепи не являются идеально постоянными, а всегда имеют место флуктуации. Флуктуации обязательно приведут фиксатор в одно из двух стабильных состояний, т. к. из-за наличия в схеме петли положительной обратной связи любое изменение режима вызывает продолжение в том же направлении, пока фиксатор не перейдет в устойчивое состояние, когда петля обратной связи как бы разрывается вследствие потери инверторами усилительных свойств (переход в режимы отсечки и насыщения, свойственные устойчивым состояниям).
Чтобы управлять фиксатором, нужно иметь в логических элементах дополнительные входы, превращающие инверторы в элементы И-НЕ либо ИЛИ-НЕ. На входы управления поступают внешние установочные сигналы.
Установочные сигналы показаны на рис. 23 штриховыми линиями. Буквой R латинского алфавита (от Reset) обозначен сигнал установки триггера в нуль (сигнал сброса), а буквой S (от Set) – сигнал установки в состояние логической единицы (сигнал установки). Состояние триггера считывается по значению прямого выхода, обозначаемого как . Чаще всего триггер имеет и второй выход с инверсным сигналом . Для фиксатора на элементах ИЛИ-НЕ установочным сигналом является единичный, поскольку только он приводит логический элемент в нулевое состояние независимо от сигналов на других входах элемента. Для фиксатора на элементах И-НЕ установочным сигналом является нулевой, как обладающий тем же свойством однозначно задавать состояние элемента независимо от состояний других входов.
Таблицу истинности триггера JK можно записать в полном (табл. 6) или сокращенном виде (табл. 7). Через обозначено новое состояние триггера (после переключения).
Таблица 6
Режим |
||||
0 |
0 |
0 |
0 |
Хранение |
0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
0 |
Установка 0 |
0 |
1 |
1 |
0 |
|
1 |
0 |
0 |
1 |
Установка 1 |
1 |
0 |
1 |
1 |
|
1 |
1 |
0 |
1 |
Переключение |
1 |
1 |
1 |
0 |
Таблица 7
0 |
0 |
Q |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
Карта Карно для JK-триггера показана на рис. 24. Из неё можно получить характеристическое уравнение триггера .
Рис. 24. Карта Карно для JK-триггера
По характеристическому уравнению можно построить схему триггера в любом логическом базисе (рис. 25).
Рис. 25. Схема JK-триггера в базисе И, ИЛИ, НЕ
Диаграмма состояний (рис. 26) отражает наличие у триггера двух устойчивых состояний и условия перехода из одного состояния в другое. Словарь триггера (табл. 8) даёт ту же информацию в аналитической форме и является инструментом проектирования схем, содержащих триггеры.
Рис. 26. Диаграммы состояний (графы переходов) для JK-триггера
Таблица 8
Переход |
J |
K |
0→0 |
0 |
|
0→1 |
1 |
|
1→0 |
1 |
|
1→1 |
0 |
Важным способом описания функционирования триггеров (как и других автоматов) являются временные диаграммы, отражающие не только логическое функционирование схемы, но и её поведение во времени. Это поведение другими способами описания работы триггеров не отображается, и поэтому в ряде случаев временные диаграммы незаменимы. Временные диаграммы соответствуют той картине, которую можно наблюдать на экране осциллографа или логического анализатора (рис. 27).
Рис. 27. Временные диаграммы работы асинхронного JK-триггера
На практике временные диаграммы чаще всего изображаются схематично, без осей координат (с целью упрощения графических изображений).
Приведённое выше описание относится к асинхронному JK-триггеру, изменение состояний которого происходит под действием входных сигналов J и K.
На практике чаще всего используются синхронные триггеры, отличающиеся наличием дополнительного, так называемого синхронизирующего входа С (от англ. слова clock – тактировать).
Восприятие входных сигналов J и K у синхронного триггера происходит только при наличии активного уровня сигнала на входе С.
Работу такого триггера можно проиллюстрировать временной диаграммой (рис. 28).
Рис. 28. Временные диаграммы работы синхронного JK-триггера
2.2.3 Получение управляющих сигналов
Переходы кодируются в соответствии с таблицей переходов для JK – триггера (Таблица 3). Полученные функции возбуждения для каждого триггера представлены в Приложении 2.
2.2.4 Построение схем функций возбуждения
Осуществим минимизацию каждого из входных сигналов триггеров. При этом «» можно доопределять «0» или «1» исходя из целесообразности минимизации. На основе полученных минимизированных функций, построим схемы функции возбуждения для каждого входа.
Рис.29. Схема реализации функции возбуждения для J – входа 1 триггера
Рис.30. Схема реализации функции возбуждения для K – входа 1 триггера
Рис.31. Схема реализации функции возбуждения для J – входа 2 триггера
Рис.32. Схема реализации функции возбуждения для K – входа 2 триггера
Рис.33. Схема реализации функции возбуждения для J – входа 3 триггера
Рис.34. Схема реализации функции возбуждения для K – входа 3 триггера
Рис.35. Схема реализации функции возбуждения для J – входа 4 триггера
Рис.36. Схема реализации функции возбуждения для K – входа 4 триггера
Рис.37. Схема реализации функции возбуждения для J – входа 5 триггера