Простейшие электронные микросхемы и схемы последовательностной логики, которые можно построить на триггерах – это счетчики и регистры. В предыдущей лабораторной работе был подробно изучен универсальный триггер типа 74HC(HCT)74, который сочетает в себе функциональность D- и RS-триггера, или, как еще говорят, является D-триггером с асинхронными входами установки и сброса.
На этом триггере, в принципе, при помощи вспомогательных ЛЭ можно построить любое устройство последовательностной логики. Остановимся на схемах, которые не слишком сложны в сборке и анализе.
Самая простая схема на универсальных триггерах – это схема параллельного регистра. Параллельный регистр – устройство, способное хранить несколько бит данных, которые можно рассматривать и как комбинацию независимых битов, и как число. Если у N триггеров объединить тактовые входы, объединить входы D и выходы Q триггеров в шины, то по фронту тактового входа вся схема будет запоминать многоразрядную кодовую комбинацию или число. То, что занесено в память регистра, доступно на его выходе – шине такой же разрядности, как и D.
Рис. 1. Простейший параллельный регистр
Тактовая диаграмма такой схемы предельно проста: по каждому фронту сигнала C данные, присутствующие на входе D[N..0], записываются в регистр и поступают на выход Q[N..0], т.е. для любого такта справедливо выражение 𝑄[𝑁. .0]𝑛+1 = 𝐷[𝑁. .0]𝑛. Использованная форма записи имен шин, т.е. групп сигналов, имеющих общий смысл, вида имя_шины[старший_индекс..младший_индекс], является общепринятым во многих современных программных средах для разработки цифровых интегральных схем и конфигураций микросхем программируемой логики.
Данные (или число), хранимые параллельным регистром, показанным на Рис. 42, непосредственно после подачи питания на схему не определены, и являются случайным набором битов. В некоторых случаях это не является проблемой с точки зрения функционирования схемы,
использующей регистр, в других случаях это совершенно недопустимо. Для того чтобы задать, какое значение будет храниться в том или ином триггере схемы после подачи питания, используют D-триггеры с входами асинхронной установки 𝑆 и сброса 𝑅, например, такие, как
исследованные в предыдущей работе 74HC(HCT)74.
Эти входы подключаются к схеме начальной инициализации, или, как еще говорят, схеме начального сброса. Требования к схеме начального сброса предельно просты: после включения питания схема должна выдать на выход логический ноль в течение времени, достаточного для сброса всех подключенных триггеров. Обычно длительность импульса сброса измеряется временами в несколько мс, что с лихвой перекрывает потребности любой последовательностной логики.
Самая простая схема начального сброса состоит из одного резистора и одного конденсатора, см. Рис. 43, а.
а б в г Рис. 2. Варианты простых схем начального сброса:
RC-цепь с активным низким уровнем сигнала сброса (а),
RC-цепь с активным высоким сигналом сброса (б),
RC-цепь с активным низким уровнем сигнала сброса и диодом быстрого перезапуска (в), буферизованная RC-цепь с активным низким уровнем сигнала сброса и диодом быстрого перезапуска (г)
После подачи питания напряжение UП достаточно быстро достигает уровня, достаточного для функционирования микросхем. Если постоянная времени RC-цепи значительно превышает время, за которое UП достигает рабочих значений, то последним можно пренебречь. После подачи питания конденсатор не может зарядиться мгновенно, напряжение на его верхней обкладке нарастает по экспоненциальному закону. В течение некоторого интервала времени t напряжение конденсатора UС остается ниже порога переключения цифровых микросхем UПОР, и воспринимается ими как уровень лог. «0» (см. Рис. 44, а). Длительность интервала времени t является, таким образом, длительностью импульса сброса (или начальной инициализации) схемы, подключенной к RC-цепи.
Рис. 3. Временные диаграммы простейшей цепи начального сброса (а) и цепи сброса с диодом быстрого перезапуска (б)
Определить длительность импульса сброса проще всего, вспомнив выражение, описывающее изменение во времени напряжения на конденсаторе интегрирующей цепи, на которую подано напряжение величиной UП в момент времени t = 0:
𝑈 𝐶
(𝑡 ) = 𝑈 П
(1 − 𝑒−𝑡⁄), где = RC.
Подставив UC(t) = UПОР (где UПОР – пороговое напряжение ЛЭ), получим выражение для длительности импульса сброса:
(15) 𝑈 ПОР
= 𝑈 П
(1 − 𝑒−𝑡⁄), 𝑡 = − ∙ ln (1– 𝑈ПОР)
𝑈П
Приняв для ЛЭ серии 74HC 𝑈 ПОР
≈ 𝑈П, получим
2
(16) 𝑡 = − ∙ ln (0.5 ) ≈ 0.7 ∙ 𝑅𝐶 .
Обратите внимание, что для ЛЭ серии HCT безразмерный коэффициент в выражении (16) будет другим.
В случае, если инициализируемое устройство имеет асинхронные входы, используемые для начального сброса, с активными высокими уровнями, используется схема, показанная на Рис. 43, б. Ее принцип действия аналогичен описанному, однако, в течение времени t на выходе действует не уровень лог. «0», а лог. «1», а временная зависимость напряжения на выходе
описывается выражением 𝑈 𝐶
(𝑡 ) = 𝑈 П
В случае, когда напряжение питания отключается на небольшое время, меньшее, чем , конденсатор в цепи сброса не успевает разрядиться через резистор, и повторная подача питания не приводит к выработке нового импульса сброса. Вместе с тем, даже кратковременное отключение питания может повредить данные, хранимые в триггерах и регистрах, и схема может повести себя непредсказуемо. Чтобы избежать этого эффекта, в схему сброса вводят небольшое усовершенствование – диод, включенный параллельно резистору (см. Рис. 43, в). Благодаря этому диоду, при отключении питания разрядка конденсатора до уровня не более 0.7 В происходит мгновенно, и даже кратковременное отключение питания приводит к корректному перезапуску схемы с правильной начальной инициализацией (см. Рис. 44, б). Если схема построена на логических микросхемах, имеющих встроенные защитные диоды (подробно вопрос защитных диодов на входах ЛЭ рассмотрен в главе 2), то, фактически, дополнительный диод уже присутствует в каждой микросхеме, и устанавливать его отдельно нет необходимости.
Чаще всего сигнал сброса поступает сразу на несколько триггеров или микросхем последовательностной логики, и RC-цепь оказывается полезно буферизовать, например, при помощи ЛЭ, как показано на Рис. 43, г. В схеме, где присутствуют микросхемы, имеющие разные уровни входов сброса/асинхронной записи, достаточно иметь всего одну схему генерирования импульса начального сброса. Получить сигнал RESET с разными активными уровнями проще всего при помощи элемента НЕ.
На практике вместо RC-цепей также часто используются специальные микросхемы- генераторы сигнала сброса, еще называемые супервизорами питания, такие, как DS1233. Фактически они представляют собой компараторы со встроенными точными источниками опорного напряжения, управляющие одновибраторами, чаще всего имеющими выход с открытым коллектором. Как только напряжение питания опускается ниже установленного уровня, выход такой микросхемы переходит в лог. «0». После того, как напряжение питания оказывается выше порога срабатывания, цепь сброса удерживается в состоянии лог. «0» еще некоторое время, являющееся паспортной характеристикой супервизора питания.
Следующая простейшая схема последовательностной логики, которая легко строится на триггерах – асинхронный двоичный суммирующий счетчик.
Вообще, счетчики – устройства, подсчитывающие количество импульсов, поступивших на их тактовый вход. Простейший счетчик – двоичный, ведет подсчет в двоичном коде. Разрядностью счетчика называется количество битов, составляющих подсчитанное число. Естественным образом это количество битов равняется числу триггеров, присутствующих в
схеме счетчика. Суммирующий счетчик ведет счет на увеличение. В то же время существуют вычитающие счетчики, которые ведут обратный отсчет – на уменьшение.
Как было показано в предыдущей лабораторной работе, имея D-триггер с прямым и инверсным выходами, легко построить пересчетный Т-триггер, замкнув его выход 𝑄 со входом
D. Один Т триггер, по сути, является одноразрядным счетчиком. Имея один разряд, он считает
до одного, включая ноль. Тактовая диаграмма Т-триггера хорошо известна: меняя состояние на противоположное по каждому фронта входного сигнала, подключенного ко входу C, он, фактически, делит входную частоту на два (см. Рис. 45, сигналы С и Q0).
С
t
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
Q0
Достарыңызбен бөлісу: |