Изменения

Перейти к: навигация, поиск

Триггеры

733 байта добавлено, 19:15, 4 сентября 2022
м
rollbackEdits.php mass rollback
[[Файл:NoInputs.jpg|200px|thumb|right|Простейший триггер на двух инверторах.]]'''Триггеры''' (англ. <i>flip-flop</i>) {{---}} класс электронных устройств, имеющих свойство долго находиться в одном из двух устойчивых состояний и чередовать их под воздействием внешних сигналов. Основной особенностью триггеров является способность запоминать двоичную информацию. Триггер имеет два состояния и, приняв одно за <tex>0</tex>, а другое за <tex>1</tex>, появляется возможность хранить один разряд двоичного числа. Таким образом, используя несколько триггеров, возможно хранить многоразрядные числа, а, значит, и любую двоичную информацию, ограниченную лишь количеством триггеров. 
== Типы триггеров ==
[[Файл:NoInputs.jpg|200px|thumb|right|Простейший триггер на двух инверторах.]]
[[Файл:Rs.jpg|200px|thumb|right|RS-триггер, построенный на основе ИЛИ-НЕ элементов.]]
=== RS-триггер ===
[[Файл:Rs.jpg|250px|thumb|right|RS-триггер, построенный на основе ИЛИ-НЕ элементов.]]Самым простым триггером, который можно построить, является триггер на двух инверторах. Он не имеет входов, поэтому изменить его состояние невозможно. Выход <tex>Q</tex> будет всегда иметь состояние, заданное при создании, а <tex>\overline{Q}</tex> будет всегда иметь обратное <tex>Q</tex> значение. Однако, недостаток такого триггера очевиден {{--- }} его состояние нельзя менять.
 Если добавить к такому триггеру входы, то получится простейший триггер, состояние которого менять можно {{---}} <tex>\mathrm{RS}</tex>-триггер. Он имеет два входа: <tex>R</tex> (''reset'') и <tex>S</tex> (''set''), и два выхода: <tex>Q</tex> и <tex>\overline{Q}</tex>(инвертированный <tex>Q</tex>). Рассмотрим принцип работы <tex>\mathrm{RS}</tex>-триггера. Изначально на выходе <tex>Q=0</tex> и <tex>\overline{Q}=1</tex>. При подаче <tex>1</tex> на <tex>R</tex>, <tex>0</tex> на <tex>S</tex> выходное значение триггера становится нулем (происходит сброс значения), при подаче <tex>0</tex> на <tex>R</tex>, <tex>1</tex> на <tex>S</tex> выходное значение триггера становится единицей (происходит установка нового значения). При подаче двух нулей триггер свое состояние не меняет, выходное значение при подаче двух единиц не определено. Для вычисления следующего значения необходимо знать предыдущее значение, поэтому обычно за начальное состояние берется <tex>Q=0</tex>, <tex>\overline{Q}=1</tex>. Предположим, что первые биты, которые мы даем на вход, являются нулями. Тогда, так как <tex>Q=0</tex>, можно вычислить <tex>\overline{Q}</tex>, используя <tex>S</tex>, а затем, посчитать <tex>Q</tex> через <tex>R</tex> и убедиться в том, что <tex>Q=0</tex>. Это показывает, что значения <tex>Q</tex> и <tex>\overline{Q}</tex> согласованы. Аналогично можно показать, что выходы согласованы и при <tex>Q=1</tex>, <tex>\overline{Q}=0</tex>.
{| class="wikitable" align="center" style="color: black; background-color:white;" cellpadding="10"
<tex>\mathrm{JK}</tex>-триггер является универсальным триггером, на его основе можно построить множество других триггеров, например <tex>\mathrm{RS}</tex>-триггер.
[[Файл:Rs_through_jk.jpg|150px|thumb|left|RS-триггер через JK-триггер]]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
[[Файл:T.jpg|200px|thumb|right|T-триггер]]
 
 
 
 
=== T-триггер ===
<tex>\mathrm{T}</tex>(''toggle'')-триггер является триггером, изменяющим свое выходное значение на противоположное на каждом такте, когда на входы <tex>T</tex> и <tex>C</tex> поданы единицы. На основе нескольких <tex>\mathrm{T}</tex>-триггеров можно построить счетчик. <tex>\mathrm{T}</tex>-триггер тоже строится на основе <tex>\mathrm{JK}</tex>-триггера.
[[Файл:Counter.jpg|400px|thumb|right|Счетчик, построенный на T-триггерах]]
{| class="wikitable" align="center" style="color: black; background-color:white;" cellpadding="10"
!<tex>C</tex>
|}
{| cellpadding="3" style="margin-left: auto; margin-right: auto;"
| [[Файл:Rs_through_jk.jpg|197px|thumb|right|RS-триггер через JK-триггер]]
| [[Файл:T.jpg|243px|thumb|right|T-триггер]]
| [[Файл:Counter.jpg|400px|thumb|right|Счетчик, построенный на T-триггерах]]
|}
C помощью <tex>\mathrm{T}</tex>-триггера можно построить счетчик. На вход <tex>T</tex> подается тождественная логическая единица, а на вход <tex>C</tex> подаются инвертированные импульсы синхронизации. Однако, если на первый <tex>\mathrm{T}</tex>-триггер подаются инвертированные исходные импульсы синхронизации, то на остальные триггеры инвертированные импульсы синхронизации передаются с частотой в два раза меньше. Это связано с тем, что <tex>\mathrm{T}</tex>-триггер в данной реализации меняет свое состояние по спаду импульса синхронизации. Таким образом получается, что на выходы <tex>A</tex>, <tex>B</tex>, <tex>C</tex> подаются соответствующие биты количества поданных на первый триггер импульсов. <tex>A</tex> является младшим битом трехбитного числа, <tex>C</tex> {{- --}} старшим.
=== D-триггер ===
[[Файл:D.jpg|200px|thumb|right|D-триггер]]
== Источники информации ==
* ''Э. Таненбаум.'' Архитектура компьютера, 5-ое издание{{---}} 185 c.
* [[wikipedia:Flip-flop_(electronics)|Wikipedia {{---}} Flip-flop]]
1632
правки

Навигация