Открыть сервис

Последовательные функциональные схемы

Последовательные функциональные схемы — это класс цифровых логических устройств, в которых выходные сигналы зависят не только от текущих значений входных сигналов, но и от предшествующего состояния устройства (истории входных воздействий). В отличие от комбинационных схем, где выход однозначно определяется комбинацией входов в данный момент времени, последовательные схемы обладают памятью. Основным элементом памяти в таких схемах является триггер — бистабильная ячейка, способная хранить один бит информации.

Принцип работы и отличия от комбинационных схем

Фундаментальное различие между комбинационными и последовательными схемами заключается в наличии обратной связи и элементов памяти. В комбинационной схеме сигнал распространяется от входов к выходам без запоминания промежуточных результатов. В последовательной схеме часть выходного сигнала или внутреннего состояния подаётся обратно на вход, что и позволяет учитывать предыдущие состояния.

Математически работу последовательной схемы можно описать двумя функциями:

  1. Функция переходов: определяет следующее состояние схемы (S(t+1)) на основе текущего состояния (S(t)) и текущих входов (X(t)).
  2. Функция выходов: определяет текущие выходы (Y(t)) на основе текущего состояния (S(t)) и, возможно, текущих входов (X(t)).

В зависимости от реализации функции выходов, последовательные схемы делятся на два основных типа:

  • Автоматы Мура: выход зависит только от текущего состояния схемы (Y(t) = f(S(t))).
  • Автоматы Мили: выход зависит как от текущего состояния, так и от текущих входов (Y(t) = f(S(t), X(t))).

Классификация по способу синхронизации

Последовательные схемы подразделяются на два больших класса в зависимости от того, как управляется изменение их состояния.

Асинхронные последовательные схемы

В асинхронных схемах изменение состояния происходит немедленно при изменении любого входного сигнала. Время переключения определяется только задержками распространения сигнала в логических элементах. Основным достоинством асинхронных схем является высокое быстродействие в идеальных условиях, так как нет необходимости ждать тактового импульса. Однако они чрезвычайно чувствительны к «гонкам» (состязаниям) сигналов — ситуациям, когда из-за разных задержек на разных путях распространения сигнала схема может перейти в непредсказуемое состояние. Проектирование надёжных асинхронных схем значительно сложнее, чем синхронных, и требует тщательного анализа временных диаграмм. На практике асинхронные схемы часто используются в простых устройствах (например, RS-триггеры) или в специализированных высокоскоростных интерфейсах.

Синхронные последовательные схемы

Синхронные схемы работают под управлением единого тактового сигнала (clock). Изменение состояния происходит только в определённые моменты времени — по фронту (переднему или заднему) или по уровню тактового импульса. Это позволяет избежать проблем с гонками сигналов, так как все изменения синхронизированы. Подавляющее большинство современных цифровых устройств — от микропроцессоров до микроконтроллеров и ПЛИС — строятся на основе синхронных последовательных схем. Основным недостатком является ограничение максимальной тактовой частоты, которая определяется самым длинным путём распространения сигнала между двумя триггерами.

Основные элементы памяти: триггеры

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

RS-триггер (Reset-Set)

Простейший тип триггера, имеющий два входа: S (Set — установка) и R (Reset — сброс). При подаче сигнала на вход S триггер устанавливается в единичное состояние (Q=1), при подаче на R — сбрасывается в нулевое (Q=0). Комбинация S=1 и R=1 является запрещённой, так как приводит к неопределённому состоянию. RS-триггер может быть реализован как на элементах И-НЕ, так и на ИЛИ-НЕ.

D-триггер (Data или Delay)

Наиболее распространённый тип триггера в синхронных схемах. Он имеет один информационный вход D и вход синхронизации C. D-триггер запоминает значение на входе D в момент прихода тактового импульса (по фронту) и хранит его до следующего импульса. Таким образом, он выполняет функцию задержки сигнала на один такт. D-триггеры используются для построения регистров, сдвиговых регистров и счётчиков.

JK-триггер

Универсальный тип триггера, лишённый недостатков RS-триггера. Он имеет входы J и K. При J=1, K=0 — устанавливается в 1; при J=0, K=1 — сбрасывается в 0; при J=0, K=0 — хранит состояние; при J=1, K=1 — инвертирует своё состояние (переключается). JK-триггеры широко применяются в счётчиках благодаря режиму T-триггера (счётного триггера).

T-триггер (Toggle)

Счётный триггер, который меняет своё состояние на противоположное при каждом тактовом импульсе. Он может быть получен из JK-триггера путём объединения входов J и K (J=K=1). T-триггеры используются в делителях частоты и двоичных счётчиках.

Примеры последовательных схем

На основе триггеров и комбинационной логики строятся более сложные функциональные узлы.

Регистры

Регистр — это набор триггеров (обычно D-триггеров), объединённых общим тактовым сигналом. Он предназначен для хранения многоразрядного двоичного числа (слова). Разрядность регистра равна количеству триггеров. Регистры бывают параллельными (запись всех битов одновременно) и последовательными (сдвиговые регистры, где данные вводятся и выводятся по одному биту за такт).

Счётчики

Счётчик — это последовательное устройство, которое подсчитывает количество импульсов, поступивших на его вход, и выдает результат в виде двоичного кода. Счётчики делятся на:

  • Суммирующие: увеличивают своё значение на 1 с каждым импульсом.
  • Вычитающие: уменьшают значение на 1.
  • Реверсивные: могут работать в обоих режимах.

Счётчики могут быть двоичными (счёт по модулю 2^n) и с произвольным модулем счёта (например, десятичные счётчики, счётчики по модулю 60 для часов).

Конечные автоматы

Конечный автомат — это математическая модель последовательной схемы, описывающая её поведение. Он состоит из конечного числа состояний, входных и выходных сигналов, а также правил перехода между состояниями. На практике конечные автоматы реализуются в виде схемы, содержащей регистр состояний (набор триггеров) и комбинационную логику, формирующую сигналы переходов и выходов. Конечные автоматы используются для управления сложными последовательностями операций, например, в процессорах (блок управления), контроллерах и протоколах передачи данных.

Применение

Последовательные функциональные схемы являются основой практически всей современной цифровой электроники. Они применяются:

  • В процессорах и микроконтроллерах: для хранения данных (регистры, кэш-память), управления выполнением команд (конечные автоматы), подсчёта тактов (счётчики).
  • В устройствах памяти: статическая оперативная память (SRAM) строится на основе триггеров.
  • В системах связи: для синхронизации, буферизации и обработки последовательных потоков данных (сдвиговые регистры).
  • В измерительной технике: для построения таймеров, частотомеров и генераторов сигналов.
  • В промышленной автоматике: для реализации программируемых логических контроллеров (ПЛК), где последовательные схемы реализуются программно.

Проблемы проектирования

Проектирование синхронных последовательных схем сопряжено с рядом проблем, которые необходимо решать для обеспечения надёжной работы:

  • Метастабильность: при нарушении требований к времени установки и удержания (setup/hold time) триггер может войти в неопределённое состояние, которое может сохраняться неопределённо долго.
  • Тактовый джиттер и перекос (clock skew): разница во времени прихода тактового сигнала на разные триггеры может привести к неправильной работе.
  • Гонки сигналов: хотя синхронные схемы менее подвержены гонкам, чем асинхронные, они могут возникать при неправильном проектировании комбинационной логики между триггерами.

Источники

  1. Угрюмов Е. П. Цифровая схемотехника. — БХВ-Петербург, 2004.
  2. Хоровиц П., Хилл У. Искусство схемотехники. — Мир, 2003.
  3. Таненбаум Э., Остин Т. Архитектура компьютера. — Питер, 2013.
  4. Harris D., Harris S. Digital Design and Computer Architecture. — Morgan Kaufmann, 2012.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →