123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- <html>
- <head>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <title>D/T/J-K/S-R триггеры</title>
- </head>
- <body bgcolor="FFFFFF">
- <h1><img align="center" src="../../../../en/icons/dFlipFlop.gif" width="32" height="32">
- <img align="center" src="../../../../en/icons/tFlipFlop.gif" width="32" height="32">
- <img align="center" src="../../../../en/icons/jkFlipFlop.gif" width="32" height="32">
- <img align="center" src="../../../../en/icons/srFlipFlop.gif" width="32" height="32">
- <em>D/T/J-K/S-R триггеры</em></h1>
- <p><table>
- <tr><td><strong>Библиотека:</strong></td>
- <td><a href="index.html">Память</a></td></tr>
- <tr><td><strong>Введён в:</strong></td>
- <td>2.0 Beta 1</td></tr>
- <tr><td valign="top"><strong>Внешний вид:</strong></td>
- <td valign="top"><img src="../../../../en/img-libs/flipflops.png" width="225" height="43"></td></tr>
- </table></p>
- <h2>Поведение</h2>
- <p>Каждый триггер хранит один бит данных, который выдаётся на выход <var>Q</var> на восточном крае. В нормальном состоянии значением можно управлять через входы на западном крае. В частности, значение меняется, когда значение на <strong>тактовом</strong> входе, отмеченном треугольником на каждом триггере, меняется с 0 на 1 (или наоборот, если так настроено); в момент этого перехода значение меняется в соответствии с таблицей ниже.</p>
- <center><table>
- <tr><th>D триггер</th>
- <th>T триггер</th>
- <th>J-K триггер</th>
- <th>S-R триггер</th></tr>
- <tr><td align="center" valign="top">
- <table>
- <tr><th><var>D</var></th><th><var>Q</var></th></tr>
- <tr><td align="center">0</td><td align="center">0</td></tr>
- <tr><td align="center">1</td><td align="center">1</td></tr>
- </table>
- </td><td align="center" valign="top">
- <table>
- <tr><th><var>T</var></th><th><var>Q</var></th></tr>
- <tr><td align="center">0</td><td align="center"><var>Q</var></td></tr>
- <tr><td align="center">1</td><td align="center"><var>Q</var>'</td></tr>
- </table>
- </td><td align="center" valign="top">
- <table>
- <tr><th><var>J</var></th><th><var>K</var></th><th><var>Q</var></th></tr>
- <tr><td align="center">0</td><td align="center">0</td>
- <td align="center"><var>Q</var></td></tr>
- <tr><td align="center">0</td><td align="center">1</td>
- <td align="center">0</td></tr>
- <tr><td align="center">1</td><td align="center">0</td>
- <td align="center">1</td></tr>
- <tr><td align="center">1</td><td align="center">1</td>
- <td align="center"><var>Q</var>'</td></tr>
- </table>
- </td><td align="center" valign="top">
- <table>
- <tr><th><var>S</var></th><th><var>R</var></th><th><var>Q</var></th></tr>
- <tr><td align="center">0</td><td align="center">0</td>
- <td align="center"><var>Q</var></td></tr>
- <tr><td align="center">0</td><td align="center">1</td>
- <td align="center">0</td></tr>
- <tr><td align="center">1</td><td align="center">0</td>
- <td align="center">1</td></tr>
- <tr><td align="center">1</td><td align="center">1</td>
- <td align="center"><em>??</em></td></tr>
- </table>
- </td></tr></table></center>
- <p>Другой способ описания поведения различных триггеров - обычный текст.</p>
- <ul>
- <li><p><strong>D триггер:</strong> когда тактовый вход срабатывает, значение, хранящееся в триггере, мгновенно становится значением входа <var>D</var> (<em>Данные</em>).</p></li>
- <li><p><strong>T триггер:</strong> когда тактовый вход срабатывает, значение, хранящееся в триггере, меняется или остаётся прежним в зависимости от того, какое значение на входе <var>T</var> (<em>Переключение</em>): 1 или 0.</p></li>
- <li><p><strong>J-K триггер:</strong> когда тактовый вход срабатывает, значение, хранящееся в триггере, меняется, если на входах <var>J</var> и <var>K</var> единица; остаётся прежним, если на них 0; если значения на них различны, то значение становится единицей, если на входе <var>J</var> (<em>Прыжок</em>) - 1; или нулём, если на входе <var>K</var> (<em>Забой</em>) - 1.</p></li>
- <li><p><strong>S-R триггер:</strong> когда тактовый вход срабатывает, значение, хранящееся в триггере, остаётся неизменным, если на входах <var>R</var> и <var>S</var> - 0; становится 0, если на входе <var>R</var> (<em>Сброс</em>) - 1, и становится 1, если на входе <var>S</var> (<em>Установка</em>) - 1. Поведение не определено, если на обоих входах 1. (В Logisim значение триггера остается неизменным.)</p></li>
- </ul>
- <p>По умолчанию тактовый вход срабатывает при переднем фронте - то есть когда значение на тактовом входе меняется с 0 на 1. Впрочем, атрибут Срабатывание позволяет сменить это на задний фронт (когда значение на тактовом входе меняется с 1 на 0), на Высокий уровень (срабатывать непрерывно на протяжении времени, когда на тактовом входе 1), или на Низкий уровень (срабатывать непрерывно на протяжении времени 0). Варианты "... уровень" недоступны для T и J-K триггеров, так как триггер ведет себя непредсказуемо, если заставить его переключаться непрерывно на протяжении отрезка времени.</p>
- <h2>Контакты</h2>
- <dl>
- <dt>Западный край, отмечен треугольником (вход, разрядность равна 1)</dt>
- <dd>Тактовый вход: в момент, когда значение на этом входе меняется с 0 на 1 (передний фронт), значение триггера будет обновлено в соответствии с другими входами на западном крае. Пока значение на этом входе остаётся 0 или 1, другие входы на западном крае не имеют эффекта.</dd>
- <dt>Западный край, другой отмеченный контакт(ы) (вход(ы), разрядность равна 1)</dt>
- <dd>Эти входы управляют тем, как значение триггера меняется в момент срабатывания тактового входа. Их точное поведение зависит от триггера; приведенная выше таблица описывает его.</dd>
- <dt>Восточный край, отмечен <var>Q</var>, северный контакт (выход, разрядность равна 1)</dt>
- <dd>Выдаёт значение, хранящееся в данный момент в триггере.</dd>
- <dt>Восточный край, южный контакт (выход, разрядность равна 1)</dt>
- <dd>Выдаёт дополнение для значения, хранящегося в данный момент в триггере.</dd>
- <dt>Южный край, восточный контакт (вход, разрядность равна 1)</dt>
- <dd>Асинхронный сброс: если на этом входе 0 или неопределённое значение, то он не имеет эффекта. Пока на нём 1, значение триггера фиксировано на 0. Это происходит асинхронно - то есть вне зависимости от текущего значения на тактовом входе. Пока на нём 1, другие входы не имеют эффекта.</dd>
- <dt>Южный край, центральный контакт (вход, разрядность равна 1)</dt>
- <dd>Включение: когда на этом входе 0, срабатывания тактового входа игнорируются. Текущий бит по-прежнему поступает на выход. Срабатывания тактового входа включаются, когда значение этого входа 1 или не определено.</dd>
- <dt>Южный край, западный контакт (вход, разрядность равна 1)</dt>
- <dd>Асинхронная установка: если на этом входе 0 или неопределённое значение, то он не имеет эффекта. Пока на нём 1, значение триггера фиксировано на 1. Это происходит асинхронно - то есть вне зависимости от текущего значения на тактовом входе. Пока на этом входе 1, другие входы не имеют эффекта, за исключением входа Асинхронный сброс - он имеет приоритет.</dd>
- </dl>
- <h2>Атрибуты</h2>
- <dl>
- <dt>Срабатывание</dt>
- <dd>Определяет, как обрабатывается тактовый вход. Значение <q>Передний фронт</q> означает, что триггер должен обновляться в момент, когда значение на тактовом входе меняется с 0 на 1. Значение <q>Задний фронт</q> означает, что он должен обновляться, когда значение на тактовом входе меняется с 1 на 0. Значение <q>Высокий уровень</q> означает, что триггер должен обновляться непрерывно, пока на тактовом входе 1. И значение <q>Низкий уровень</q> означает, что он должен обновляться непрерывно, пока на тактовом входе 0. Обратите внимание, что два последних варианта недоступны для T и J-K триггеров.</dd>
- <dt>Метка</dt>
- <dd>Текст внутри метки, привязанной к триггеру.</dd>
- <dt>Шрифт метки</dt>
- <dd>Шрифт, которым отрисовывается метка.</dd>
- </dl>
- <h2>Поведение Инструмента Нажатие</h2>
- <p>Щелчок на триггере с помощью Инструмента Нажатие переключают бит, хранящийся в триггере, если входы Асинхронный сброс/установка не фиксируют значение в данный момент.</p>
- <h2>Поведение Инструмента Текст</h2>
- <p>Позволяет редактировать привязанную к компоненту метку.</p>
- <p><a href="../index.html">Назад к <em>Справке по библиотеке</em></a></p>
- </body>
- </html>
|