Содержание
1. Делитель частоты импульсов на 5 (на JK-триггерах)
2. Синхронный недвоичный счетчик (на JK-триггерах)
3. Сдвигающий регистр (на D-триггерах)
4. Скремблер. Дескремблер
5. Генератор псевдослучайной последовательности
Литература
1. Делитель частоты импульсов на 5 (на JK-триггерах)
Делитель импульсов должен функционировать так, чтобы на его выходе формировался положительный импульс после поступления на вход каждого пятого импульса. Длительность выходных импульсов должна равняться длительности входных.

Проектируемое устройство описывается графом рис.1,а и имеет пять состояний. Кодировка состояний делителя значениями внутренних переменных производится таким образом, чтобы все они различались между собой представлением хотя бы одной переменной. Так как делитель имеет 5 состояний, то для их кодировки требуется

внутренних переменных, т.е.

элементов памяти (триггеров). Варианты кодировки состояний могут быть различными. В данном случае с целью упрощения комбинационной схемы КС2 целесообразно закодировать одну из внутренних переменных (Q
2) так, чтобы она принимала единичные значения в течение одного такта после каждого пятого импульса на входе (рис.1,б).
Такой вариант кодировки состояний делителя приведен в таблице на рис.2, где даны значения внутренних переменных (

) для каждого из состояний, а также для последующего состояния (

), в которое переходит устройство после поступления входного импульса. Приведенная на рис.2 таблица состояний соответствует графу рис.1,б.

После кодировки закон функционирования каждого элемента памяти (триггера) становится заданным, поэтому дальнейшее структурное проектирование сводится к проектированию комбинационной схемы КС1 (рис.21). Проектирование КС1 можно выполнить с помощью словарного метода.

В соответствии с этим методом получаем для каждого состояния функции переходов

для каждого элемента памяти. В качестве элементов памяти выберем JK-триггеры (рис.22,д), так как его словарь переходов (рис.1) содержит неопределенные требования к значениям информационных сигналов J и K в половине позиций, что существенно снижает сложность КС1 при ее реализации.
Далее для полученных функций переходов с использованием словаря переходов JK-триггера получаем текущие значения логических функций управления информационными входами

и

, аргументами которых являются переменные

, задающие код текущего состояния делителя. Таким образом, КС1 должна реализовать систему логических функций

,

от переменных

. Минимизация этих функций с помощью карт Карно (в клетки карт для отсутствующих комбинаций переменных

поставлен знак факультативности – ) приводит к простым структурным формулам (рис.2), позволяющим реализовать КС1.

Функции

,

реализуются путем соединения входов триггеров с соответствующими выходами и источником единичного сигнала, а для реализации функции J
0 требуется дополнительный двухвходовый ЛЭ ИЛИ. Неиспользуемые (избыточные) входы J и K триггеров оставлены неподключенными, реальные ИС это допускают (неиспользуемый вход в таких ИС работает как вход с пассивным уровнем сигнала).
Полученная структурная схема делителя показана на рис.3,а. Анализ схемы дает временные диаграммы (рис.3,б), иллюстрирующие ее работу (на временных диаграммах

не показана задержка сигналов относительно входных импульсов

).
Для получения на выходе делителя импульсов с длительностью, равной длительности входных импульсов, служит комбинационная схема КС2, реализующая логическую функцию

(логическая схема И).
2. Синхронный недвоичный счетчик (на JK-триггерах)
Счетчиком называют цифровой автомат, который для каждого входного импульса формирует соответствующую ему кодовую комбинацию, фиксирующую поступление данного импульса. Число кодовых комбинаций, которое способен формировать счетчик, называют модулем счета М (коэффициентом счета). После поступления на счетчик М входных сигналов начинается новый цикл, повторяющий предыдущий.
Примером счетчика может быть последовательностное устройство рис.3,а, в котором для каждого из пяти импульсов на входе Iвх формируется трехразрядный код на выходах

. Работа счетчика описывается графом рис.1,б или таблицей состояний на рис.2. В трехразрядном счетчике рис.3,а с модулем счета М = 5 исключены 2
3 – М = 3 кодовые комбинации: 111, 110, 101, которые являются лишними.
Метод исключения лишних кодовых комбинаций из 2n возможных (n – число триггеров) позволяет рассмотренным выше способом синтезировать счетчик с произвольным модулем счета.
В схеме счетчика рис.3,а лишние состояния исключены в том смысле, что они не используются при нормальном функционировании счетчика. Но при сбоях или в начале работы (после подачи на схему напряжения питания) лишние состояния могут возникать. Рассмотрим поведение схемы рис.3,а, в которой возникло лишнее состояние.
Имея логические функции управления информационными входами JK-триггеров (рис.2), можно полностью предсказать поведение схемы во всех возможных состояниях. В состоянии 101 Q2 = 1, Q1 = 0, Q0 = 1. Находим по уравнениям на рис.2:

,

(триггер 2 из единичного состояния сбросится в нулевое);

,

= 0 (триггер 1 из нулевого состояния переключится в единичное);

= 1,

(триггер 0 проинвертирует свое единичное состояние – переключится в 0). Таким образом, из лишнего состояния 101 при поступлении входного импульса счетчик перейдет в рабочее состояние 010. Аналогичным способом можно получить результаты для состояний 110 и 111. В итоге получен граф состояний рис.4, который показывает рабочий цикл счетчика (рис.3,а) и его поведение при попадании в неиспользуемые (лишние) состояния.

Из графа видно, что рассматриваемый счетчик обладает свойством самозапуска (самовосстановления после сбоя) – независимо от исходного состояния он приходит в рабочий цикл после начала работы. Этим свойством обладают не все схемы. Если счетчик таким свойством не обладает, в него вводят специальные элементы или подсхемы для придания свойств самозапуска.
3. Сдвигающий регистр (на D-триггерах)
Сдвигающий регистр получим, если D-триггеры задержки с переключением по отрицательному фронту (1 – 0) включим последовательно и организуем общий тактовый вход (вход синхросигнала), рис.5.

Сигнал

, действующий на входе i-го триггера в текущем такте, появляется на его выходе по окончании текущего тактового импульса (по его отрицательному фронту) – в последующем такте, что определяется характеристическим уравнением D-триггера:

=

. Из этого следует, что в сдвигающем регистре информация из триггера

с каждым тактом передается в триггер

. На рис.5 показана схема 5-разрядного сдвигающего регистра с параллельным выходом

–

и входом

асинхронного сброса триггеров в нулевое состояние. Значение входного сигнала D
0 в дискретный момент времени t появляется на выходе

через пять тактов, т.е.

. Для последовательного ввода в n-разрядный регистр n-разрядного слова требуется n тактов. Такие сдвигающие регистры могут использоваться для преобразования последовательного кода в параллельный.