Я не могу обернуться вокруг того, как работает SR Latch. По-видимому, вы подключаете входную строку от R, а другую от S, и вы должны получить результаты в Q и Q ′.
Однако и R, и S требуют ввода от выхода другого, а выход другого требует ввода от выхода другого. Что первично - курица или яйцо?
Когда вы впервые подключаете эту схему, как она начинается?
digital-logic
flipflop
CodyBugstein
источник
источник
Ответы:
Проницательный вопрос. Фактически, если вы построите этот фиксатор в программе моделирования, он действительно покажет вам, что не может предсказать, в каком состоянии он запустится:
Но если вы установите один из входов на высокий уровень (это кнопки слева), сигнал будет проходить через (помните, 1 ИЛИ [что угодно] равно 1), и схема зафиксирует это состояние:
Это вентили NOR, поэтому инвертированный выход становится низким, когда любой из входов высокий. Я использовал программу Logisim. Это маленький, и я рекомендую его для начала. Компиляторы логики (FPGA и все остальное) любят жаловаться на неинициализированные состояния. Это был отличный первый пример.
Теперь я знаю, что в реальной жизни схема случайно зафиксируется в том или ином состоянии самостоятельно. Многие другие указали на это. Но иногда важно, чтобы он надежно начинался в том или ином состоянии, и это то, о чем все предупреждения.
источник
Триггер реализован как бистабильный мультивибратор; следовательно, Q и Q 'гарантированно обратны друг другу для всех входов, кроме S = 1, R = 1, что недопустимо. Таблица возбуждения для триггера SR помогает понять, что происходит, когда сигналы поступают на входы.
Выходы Q и Q 'быстро изменят состояния и остановятся в устойчивом состоянии после подачи сигналов на S и R.
Если мы рассмотрим простейшую реализацию SR-триггера (см. Http://en.wikipedia.org/wiki/File:Transistor_Bistable_interactive_animated_EN.svg ), мы обнаружим, что он состоит из двух биполярных транзисторов (BJT) и четырех резисторы (замените тумблеры SPST на землю переключателями SPDT, которые могут переключать линии настройки и сброса между потенциалом земли и V +). BJT сконфигурированы как обычные эмиттерные инверторы. Коллектор (выход) каждого транзистора подается обратно в базу (вход) противоположного транзистора. Вход S имеет проводное ИЛИ с выходом BJT, соединение коллектора которого служит выходом Q (соединение R1 / R3). Вход R соединен по проводам с выходом BJT, соединение коллектора которого служит выходом Q '(соединение R2 / R4).
При первом включении схемы ни один из транзисторов не смещается в прямом направлении в область насыщения в течение крошечной доли секунды, что означает, что оба Q и Q 'находятся на логическом уровне 1. Напряжение, имеющееся на каждом коллекторе, подается на базу противоположного транзистора, который заставляет его становиться прямым смещенным в область насыщения. Транзистор, который сначала смещается в прямом направлении, сначала начнет проводить ток, что, в свою очередь, вызовет падение напряжения на его резисторе коллектора, установив его выход на логический уровень 0. Это падение напряжения коллектора предотвратит противоположный транзистор от стать предвзятым; поэтому, устанавливая начальное состояние триггера. Это в основном состояние гонки оборудования, которое приводит к непредсказуемому исходу.
источник
Как вы сказали, это не определено. На практике существуют переходные процессы или причуды, которые должны привести фиксатор в определенное состояние, но нет гарантии, в каком состоянии он будет находиться. Это вызвано несоответствием в двух элементах, которые будут определять данное начальное состояние (в основном схема не не ведет себя как настоящая цифровая защелка SR, но представляет собой сложную аналоговую схему, как в реальной жизни). Начальный выходной будет более или менее случайным образом , либо
Q=1 and ~Q=0
илиQ=0 and ~Q=1
.За исключением явного упоминания в таблице данных, я бы не стал полагаться на то, что одно состояние выбирается из другого, так как фактическое начальное состояние может изменяться между различными частями в партии, размещением на доске, факторами окружающей среды (температура / влажность / и т. Д.) И старением. (отнюдь не полный список факторов).
Лучший способ определить состояние - после запуска подтвердить или установить или сбросить, чтобы перевести защелку SR в известное состояние.
Как примечание, в общем случае SR-защелки, утверждающие S и R одновременно, также приведут к неопределенному поведению, и вы полагаетесь на подобное вуду для установки выходов (реальная реализация может отключить оба выхода, случайным образом переключая два, включить оба выхода и т. д.). Как прокомментировал суперкат, если один вывод не установлен перед другим, защелка SR может войти в известное состояние, поскольку утверждается только один вывод. Другие типы защелок / триггеров могут определять другое поведение, например, триггеры JK определяют использование обоих выводов для переключения выходов (Q = ~ Qprev, ~ Q = Qprev).
источник
Имейте в виду, что ворота инвертируются. Это обеспечивает положительную обратную связь. Предполагая, что и S, и R равны нулю, а один выход равен единице, этот будет подан обратно в другой вентиль, чтобы заставить другой выход обнулиться. Таким образом, ворота находятся в одном из двух устойчивых состояний.
Как только вы установите один из S или R в один, это заставит соответствующий вентиль вывести ноль, что, в свою очередь, заставит другие вентили вывести ноль. Опять стабильно.
Например, начальное состояние: S = 0, R = 0, Q = 0, Q # = 1. Теперь вы устанавливаете S = 1. Это изменит выход нижнего затвора (Q #) на 0. Этот 0 подается в верхний вентиль, заставляя этот выход (Q) к 1. Этот 1 возвращается к нижним вентилям. Когда вы устанавливаете S обратно в 0, нижний вентиль все еще получает 1 от другого вентиля. Это сохранит вывод Q # на 0.
Если Q уже равен 1 и вы установили S на 1, оба входа в нижний вентиль равны 1, и поэтому никаких изменений нет.
источник
Я думаю, что важная часть, о которой вы спрашиваете, связана с тем фактом, что защелка включается в неизвестном состоянии, так как же нам когда-нибудь перевести ее в известное состояние? Вы должны помнить, что если любой из входов в вентиль NOR равен 1, то выход должен быть 0, независимо от состояния другого входа. Таким образом, применение входных комбинаций SET или RESET всегда переводит фиксатор в состояние установки или сброса, независимо от предыдущего состояния фиксатора.
источник