книги из ГПНТБ / Потемкин, И. С. Построение функциональных узлов на потенциальных системах элементов учебное пособие
.pdfЕсть еще один вариант построения счетчика на синхрон ных двухтактных /'-триггерах. Счетчик выполняется с непо средственными связями, т. е. инверсный выход первой сту пени Г-триггера непосредственно подается на Т-вход следую щего триггера, а прямой выход той же первой ступени Т- триггера подается на следующий Г-триггер на вход обоих вентилей второй ступени вместо синхросигнала и управляет переписью информации в этом триггере из первой ступени во вторую. Таким способом каждый каскад соединяется со следующим, и каждый триггер синхронизируется предыду щим. Только первый триггер синхронизирован сериями С\ и Сг. Любопытно, что счетчик может надежно работать лишь на триггерах, построенных на элементах И—ИЛИ—НЕ.
При построении его на элементах И—НЕ перекрытие прямо го и инверсного выходов первой ступени (одновременное
появление на них «единиц») приведет к тому, что у следую щего триггера одновременно будут открыты вентили и пер вой и второй ступени, а это может привести к гонкам и не правильному срабатыванию второго триггера. Эта опасность
будет подстерегать разработчика в каждом каскаде. Жела тельно, чтобы читатель сам убедился в этом, построив вре менную диаграмму работы хотя бы двухкаскадного счетчика.
Счетчики с последовательным распространением перено са — самые экономичные по затратам оборудования, но и са мые медленные. Оборудование одного разряда колеблется в пределах Q—20-=-30 в зависимости от типа Г-триггеров и способа их связи. Временные параметры одинаковы для всех рассмотренных вариантов этого типа счетчиков и составляют:
Tv=2xn\ 7', = 2т(л— 1) +4т.
5-2. Ускорение распространения переноса
Для уменьшения 7', и Тр необходимо ускорить процесс распространения переноса. Наиболее эффективным средст вом является использование принципа «одновременного пе реноса». Трехразрядный счетчик с одновременным перено сом показан на рис. 46. В нем использован асинхронный
триггер, но этот тип счетчиков можно строить на /’-триггерах любого типа. Для более четкого выявления самой сути спо соба на рисунке показаны лишь связи между триггерами.
79
Связи внутри самого триггера забывчивый читатель может вспомнить, посмотрев ,на рис. 24. Принцип одновремен ного переноса заключается в следующем. Входной сигнал счетчика (сигнал +1) заводится на элементы 1 и 2 всех триггеров. Кроме того, на элементы 1 и 2 каждого триггера (т. е. иа их /- и К-входы) заводятся единичные выходы всех
S г, И г, В Г,
Рис. 46. Трехразрядная группа счетчика с одновременным перено сом внутри группы
младших триггеров. Тогда при поступлении сигнала +1 пе реключатся те триггеры, у которых элементы 1 и 2 (J- и К- входы) не заперты ни одним «нулем», т. е. те триггеры, пе ред которыми все младшие триггеры находятся в состоя нии 1. Существенно, что на элементы 1 и 2 можно заводить не любые выходы триггеров младших разрядов, а только те, которые в течение действия входного сигнала помьят прош лое состояние этого триггера, т. е. выход элемента 4 в дан ном случае, или единичный выход второй коммутирующей ступени при использовании синхронного Г-триггера. Если для этих целей использовать элемент 5, который переключается иг» пгпелнему фронту входного сигнала, то за время дейст вия одного входного сигнала счетчик успеет перебрать несьплько своих состояний. Если это не очевидно, постройте временную диаграмму двух-трех каскадного счетчика типа, изображенного на рис. 46, но сигнал на последующие каска ды заведите не с 4, а с 5 элемента.
80
Элементы 4 выбраны потому, что они переключаются после окончания входного сигнала и подготавливают тригге ры старших разрядов (закрывают их //(-входы или снимают с них запрет). При очередном входном сигнале, поскольку он подан сразу па все триггеры, те триггеры, у которых отсутст вуют запрещающие сигналы на //(-входах, начинают пере ключаться одновременно, и через 4т все переходные процес сы в счетчике закапчиваются.
Количество дополнительного оборудования, по сравнению со счетчиками с последовательным переносом, как видно из рис. 46, зависит от разрядности счетчика. При изменении п от 4 до 8 количество дополнительного оборудования возрас тает от Q4—20 до Qs= 70, что составляет, соответственно 25% и 43% по отношению к оборудованию самих триггеров.
Время регистрации счетчика всегда равно 4т. Это соответст венно в 1,5 (для' п—4) и 4,5 (для п= 8) раза меньше, чем время регистрации счетчика с последовательным переносом. Счетчик с одновременным переносом хорошо вписывается в короткую тактовую сетку синхросигналов и широко приме няется на практике.
Чем больше разрядов имеет счетчик, тем больше входов должны иметь элементы 1 и 2 триггеров старшего разряда и тем больше нагружен источник входного сигнала и эле мент 4 младшего триггера, поэтому длина счетчика с одно временным переносом ограничивается величинами М или N используемой системы элементов. При необходимости пост роить счетчик на большее число разрядов, его разбивают на группы. В группу объединяют максимальное число разрядов, при котором еще можно построить всю группу с одновре менным переносом. Для получения переноса из группы на отдельный элемент И заводят выходы элементов 4 всех триг геров группы и входной сигнал (элементы 19 и 20, рис. 46).
Очевидно, сигнал на выходе элемента 20 появится, когда во всех триггерах группы будут «единицы», т. е. именно тогда, когда по правилам счета должен появиться перенос из этой группы разрядов. Распространенные системы элементов поз воляют изготавливать группы на 4—8 разрядов. Такие груп пы используются разработчиками в виде унифицированных >злов, они могут также выпускаться в виде СИС.
Многоразрядный счетчик набирается из необходимого числа групп (рис. 47). При этом из-за задержек на элемен тах 19 и 20 каждая следующая группа включается в работу
е - 7 9 5 |
81 |
О задержкой 2т. Время регистрации такого счетчика, состав ленного из h групп, оценивается выражением
7 \ = 2 т ( Л — 1 ) + 4 т ,
где первое слагаемое определяет задержку группового пере носа, а второе — срабатывание последней группы. Для счет чика на 16 разрядов Тг примерно в 4 раза меньше, чем для счетчика с последовательным переносом.
Рис. 47. Соединение групп для получения многоразрядного счетчика
При построении группового счетчика (рис. 47) обратим внимание на то, что цепи группового переноса независимы от цепей образования суммы внутри группы. Это наводит на
г й |
0 — |
|
г ® |
В |
--------- |
г ® |
В - |
1 |
E h |
- |
|
|
|
|
Е Ь |
Н З д |
- Е Ь |
В |
т п |
|
|||
|
|
|
|
|
|||
B n |
L t i |
|
|
|
|
|
|
Вход
*1 —
и .
Рис. 48. Трехразряднаг группа счетчика с последователе>ным пере носом внутри группы
мысль использовать идею группового переноса для ускорения работы многоразрядного счетчика с последовательным пере носом. Для этого счетчик нужно разбить на группы, одна из которых показана на рис. 48. Триггеры в группе, как обычно, связаны цепью последовательного переноса, которая служит только для переключения триггеров, т. е. для образования суммы. Выход переноса последнего триггера не используется. Цепь формирования переноса выполнена независимо, точно
82
так же, как на рис. 46. Группа рис. 48 при числе триггеров в группе больше 3 экономичнее по оборудованию, чем груп па рис. 46 за счет того, что тракт последовательного перено са экономичнее тракта одновременного. Из таких групп можно строить многоразрядные счетчики, соединяя группы последовательно, как на рис. 47. Время распространения пе реноса в таком счетчике Тр совпадает с Тр счетчика с одно временным переносом в группе, а время регистрации будет несколько больше за счет большего времени регистрации последней группы — ведь перенос в ней распространяется последовательно:
Тг = 2 т (/1 - 1) + |2т -- 1 j + 4тj .
В результате при длине групп в 4—8 разрядов Тг счетчика с последовательным переносом в группе будет примерно в 1,5 раза больше, чем Тг счетчика с одновременными переносами в группах. Читатель может определить оптимальную длину группы для заданной разрядности счетчика п. Если все груп
пы одинаковы, она будет равна V п•Закономерность та же, что и в прямоугольных дешифраторах.
Итак, для уменьшения Тр и Тг необходимо ускорить рас пространение переноса. В коротких счетчиках целесообразно применять одновременный перенос, длинные — разбивать на группы. Перенос внутри группы может быть как последова тельный, так и одновременный, в зависимости от ограниче ний по оборудованию и времени и требований унификации.
5-3. Реверсивный счетчик
Реверсивным называется счетчик, который может пере ключаться как на сложение входных сигналов, так и на вы читание их. Сначала рассмотрим работу вычитающего счет чика. Напишите таблицу первых восьми двоичных чисел и проследите, как они изменяются при движении вниз и вверх по таблице. Младший разряд в обоих случаях по каждому входному сигналу изменяет свое состояние на обратное. По этому вход у вычитающего счетчика такой же, как и у сум мирующего; это 7-вход младшего триггера. Дальше можно заметить, что при сложении (при просмотре таблицы сверху вниз) старший разряд изменяет свое состояние, когда его младший сосед переключается из 1 в 0. При вычитании (при просмотре таблицы снизу вверх) старший разряд изменяет
6* |
83 |
свое состояние, когда его младший сосед переключается из О в 1, а инверсный выход его, соответственно, переключается из 1 в 0. Других отличий нет. Тогда, чтобы суммирующий счетчик превратить в вычитающий, достаточно все сигналы управления более старшими разрядами снимать с противопо ложных выходов триггера. В вычитающем счетчике с после довательным переносом сигналы переноса нужно снимать не со 2, а с / элемента, т. е. на старший разряд направлять не перенос Р, а заем Z; в счетчике с одновременным переносом нужно заводить сигналы на входы триггеров старших разря дов и на вентили групповых переносов не с элемента 4, а конъюнкцию выходных сигналов элементов 3 и 2, или проинвертированный на дополнительном элементе сигнал с выхода 4 и т. д. Очевидно, что для построения вычитающего счетчи ка годятся все типы триггеров и цепей переносов, которые годятся для суммирующего счетчика.
Рис. 49. Реверсивный асинхронный счетчик с одновременным переносом
В реверсивном счетчике управляющий сигнал подключает ко входу цепи связи между триггерами или выходные эле менты триггера, предназначенные для работы на сложение или для работы на вычитание. Вариант 'реверсивного счет чика на асинхронных триггерах с одновременным переносом показан на рис. 49. Читателю полезно построить реверсивный счетчик на другом типе триггера с другим способом распро странения переноса. Обратите внимание на требования к уп-
84
равляющим сигналам: они должны изменяться лишь в мо мент отсутствия входного сигнала (по второму подтакту).
5-4. Счетчики по произвольному основанию
В ряде случаев необходим счетчик, имеющий емкость k, не равную целой степени двойки. Наиболее распространен ным примером является десятичный счетчик. Он должен считать поступающие сигналы от 0 до 9, на десятом входном сигнале выдавать выходной сигнал десятичного переноса, сбрасываться в 0 и быть готовым к новому такому же циклу.
Впредь будем полагать, что k — число нечетное. Если за данное основание пересчета четно, и вообще кратно целой степени двойки, мы весь счетчик можем представить как по следовательное соединение двух счетчиков: одного просто двоичного, который нам хорошо знаком, а другого — по ос нованию k, где k уже нечетно. Как будет ясно из дальней шего, это позволит упростить некоторые цепи.
Наиболее естественный способ построения счетчиков для пересчета на число k следующий: сначала нужно построить двоичный счетчик с наименьшим возможным числом разря дов, но достаточным для того, чтобы емкость счетчика была больше k (для пересчета дней на недели с k = 7 нужно 3 дво ичных разряда, для пересчета дней на годы — 9 и т. д.). К выходам триггеров счетчика нужно подключить многовходо вой элемент И, который будет реагировать на двоичный кол числа k. Сигнал от указанного элемента И можно использо вать для сброса счетчика в нулевое состояние и как выход &-ичного переноса. Чтобы лучше понимать дальнейшее, пост ройте самостоятельно счетчик для k = 7 и по мере чтения этого раздела модифицируйте его, если в этом возникнет не обходимость.
Заметим, что для пересчета на k счетчик не обязательно должен считать от 0 до k. Группа запрещенных состояний может лежать в любом участке диапазона исходного счетчи ка. Можно считать от 2"—k до 2", где 2” — полная емкость исходного счетчика. Можно оканчивать счет па любом коде q, а по сигналу элемента И, обнаруживающего это состоя ние, установить в счетчике код q—k. Эти варианты показаны на рис. 50. Заметим, что в варианте г необходимо начинать счет не с q—k, а с 2n + q—k. Особенности показанных четы рех вариантов разберем несколько позже, а пока будем счи тать, что в любом случае нам надо в работающем счетчике
85
обнаружить некоторую комбинацию и по полученному сиг налу установить некоторую другую комбинацию, не сбивая его работы.
Воспользоваться для установки начального состояния не посредственно выходом элемента И, обнаруживающего код q, нельзя, так как при установке кода q—k, «ак только самый «быстрый» триггер перейдет в новое состояние, код, на кото рый реагирует элемент И, ис чезнет, вместе с ним исчезнет сигнал с элемента И, я «медлен ные» триггеры не успеют уста новиться в новое состояние.
о |
2". |
=> ■ Рабочие комбинации
Чтобы этого избежать, нужно,
ввести |
дополнительный |
триггер |
||||
и запомнить |
на |
нем |
тот |
факт, |
||
что |
элемент |
И |
сработал. |
Сиг |
||
нал |
с |
выхода |
триггера |
можно |
||
——Запретные комбинации использовать для установки на
Р и с . 50. |
С п о с о б ы |
п ол у ч ен и я |
сч е тч и к о в |
п о п р о и з в о л ь н о м у |
|
|
о с н о в а н и ю k |
|
чального состояния счетчика. Этот сигнал уже не исчезнет, как только начнется процесс пе реключения счетчика.
Если q нечетное (а выбор q в наших руках), то при пос туплении k-ro сигнала первый триггер начнет переключаться в 1 и переноса в старшие разряды не будет. Поэтому при до стижении состояния q только первый триггер нужно устанав ливать по универсальному входу Ri, который не зависит от
наличия или отсутствия |
входного сигнала (см. |
рис. 25), а |
все остальные триггеры |
можно устанавливать |
по простым |
/?з5з-входам, работающим при отсутствии сигнала на Г-вхо- де. Вот одно из преимуществ нечетного q. Еще необходимо позаботиться о сбросе управляющего триггера. Это можно сделать по исчезновению входного сигнала.
Недостатком счетчика, построенного по описанному прин ципу, является то, что он требует большой длительности входного сигнала. За время действия входного сигнала в счетчике должен успеть установиться код q, сработать уп равляющий триггер и окончиться установка счетчика в на чальное состояние. Если длительность тактового сигнала не позволяет этого, можно построить счетчик по другому вари анту, показанному па рис. 51. Элемент И, реагирующий на
86
нужный код в счетчике, обнаруживает не код q, а код q~—1, т. е. не k -й, а (k — 1)-й входной сигнал. Управляющим триг гером является Г-триггер, на счетный вход которого подан
Вход
Число 6 счётчике
1 —
г _
3_
4—
5 —
6—
б)
Р и с. 51. С ч етч и к п о п р о и з в о л ь н о м у о с н о в а н и ю
входной сигнал. Элементом И, реагирующим на q— I состоя ние счетчика является конъюнктивный вход элемента 1 уп равляющего триггера. Его входы помечены буквой а на рис. 51,а. Только совпадение всех единиц на входах элемен
87
та 1 разрешит управляющему триггеру переключиться под воздействием входного сигнала. Это произойдет по k— 1 входному сигналу (см. рис. 51,6). При k-м входном сигнале управляющий триггер вернется в исходное состояние, и при этом на выходе его элемента 2 появится нулевой сигнал. (При построении обычного двоичного счетчика мы использо вали его как сигнал переноса триггера.) Этот сигнал устано вит счетчик в исходное состояние, его же можно использо вать как сигнал й-нчиого переноса (переполнения счетчика). Как уже отмечалось, все триггеры счетчика, кроме первого, можно устанавливать по /?353-входам (рис. 25), поскольку при нечетном q переносов на k-м сигнале не будет. Первый триггер находится в 0 после k— 1 сигнала и должен остаться в этом состоянии после k-vo сигнала. Проще всего задержать его, подав на вход его элемента 1 (вход Я2) сигнал с эле мента 3 управляющего триггера (показано точками на рис. 51). Этот сигнал появляется еще до k-ro входного сигнала (см. диаграмму) и не дает триггеру переключиться. Можно держать его в 0 и с помощью общей цепи начальной уста новки счетчика по универсальным входам триггеров Яь ко торые не зависят от действия входного сигнала. Нам потре бовался в качестве управляющего именно Г-триггер из-за то го, что на заданный код нужно реагировать не сразу, а только по следующему входному сигналу.
Если в схему рис. 51,а в качестве управляющего блока поставить схему рис. 51,в, получится счетчик, в котором факт срабатывания элемента И запоминается не па счетном, а на A'S-триггере, и в котором процессы установления кода q и сброса счетчика в начальное состояние происходят за время действия k-ro входного сигнала, т. е. счетчик, построение ко торого описано в начале данного раздела. Постройте вре менную диаграмму этого счетчика, обратив внимание на не обходимую длительность входного сигнала.
Вернемся к вопросу о выборе числа q (рис. 50). Отметим несколько моментов, влияющих на выбор q и имеющих раз личный вес в зависимости от предъявленных требований и конкретных условий.
1. Счетчик, построенный но варианту а (рис. 50) с q — k регистрирует число поступивших сигналов в виде естествен ной последовательности двоичных чисел, начинающейся от 0. Во всех других вариантах код счетчика сдвинут на величину q—k. Установка счетчика в начальное состояние может про исходить по унифицированным цепям гашения счетчика,
88
