Чт 22 декабря 2016
By Oleg Mazko
In Electronics .
tags: gEDA ngspice gate
Продолжаем осваивать NGSPICE в целом и цифровую схемотехнику в частности.
В цифровой схемотехнике понятия «счетчик импульсов» и «делитель частоты» тесно связаны.
Под делителем частоты понимается устройство, которое принимает входной сигнал с заданной частотой и генерирует выходной сигнал, частота которого меньше входной в n раз. На каждые n импульсов на входе формируется один импульс на выходе. Простейший двоичный счётчик может быть построен на основе T-триггера, который является модифицированным двухступенчатым D-триггером с обратной связью. Такой триггер делит частоту поступающих на вход импульсов на два по модулю. Один триггер считает до двух, два соединенных последовательно до четырех, n до 2^n импульсов. Результат счета формируется в двоичном коде, где каждый разряд храниться в памяти соответствующего триггера. Двоичный код при необходимости может быть считан и преобразован другим узлами - например двоично-десятичным дешифратором.
В следующих схемах для симуляции использовались SPICE модели логических вентилей И-НЕ | ИЛИ-НЕ . SPICE модель двухступенчатого D-триггера выделена как подсхема из предыдущего материала (плюс-минус парочка резисторов для красивой симуляции) по аналогии с вентилями .
асинхронный двоичный счётчик на T-триггерах | netlist | ngspice.js
ngspice 1 -> source t.net
ngspice 2 -> tran 18m 18
ngspice 3 -> plot clock+7 out2+3.5 out4
На принципиальной схеме при условном графическом обозначении (УГО) триггера треугольничек указывает на то, что тот переключается по фронту импульса и в данном конкретном случае это передний фронт. Если же к треугольнику дорисовать кружочек как на инверсном выходе Q, то переключение триггера происходит по заднему фронту. Двухступенчатый D-триггер, у которого инверсный выход замкнут на собственный вход для данных Data, называется T-триггером. Такой триггер называют счетным триггером, он имеет только один вход (без учёта аппаратного сброса) и делит количество входных импульсов на два т.к. переключается только по одному из двух фронтов.
Главным недостатком у асинхронных счётчиков является то, что каждый T-триггер переключаются последовательно, ожидая соседа, т.е. в различные моменты времени с задержкой по мере распространения цифрового сигнала - отсюда и название асинхронный. Например чтобы построить цифровой таймер, используя кварц на 32768 Гц (2^15 ), для получения на выходе счётчика 1 Гц необходимо 15 включённых последовательно T-триггеров, а каждый триггер добавляет свою задержку и как результат переключения на выходе будут запаздывать уже на 15*x по отношению к входному сигналу. Данный недостаток устранён у синхронных счётчиков.
синхронный счётчик | netlist | ngspice.js
ngspice 1 -> source st.net
ngspice 2 -> tran 18m 18
ngspice 3 -> plot clock+7 out2+3.5 out4
Вентили U3-U6 образуют исключающее «ИЛИ» (XOR) - если логические уровни на входах равны между собой, то на выходе «0», в противном случае «1».
Временная диаграмма выхода OUT4 у синхронного счётчика немного отличается от асинхронного. Входной сигнал Clock поступает на оба триггера в одинаковые моменты времени. По первому переднему фронту Clock на OUT2 и OUT4 логические «0», т.к. до этого был аппаратный сброс. При «0» на всех входах XOR выдаёт «0» и триггер U2 запомнит «0». По второму переднему фронту Clock на OUT2 уже «1», на OUT4 по-прежнему «0» и XOR даст «1», триггер U2 переключается. В итоге частота Clock всё также делится на 4 на выходе U2, но все триггеры переключаются одновременно без нежелательных задержек.
счётчик до 3 | netlist | ngspice.js
ngspice 1 -> source 3.net
ngspice 2 -> tran 18m 18
ngspice 3 -> plot clock+3.5 out3
Можно даже смастерить синхронный делитель не кратный двум, например 3. Правда в данном случае на выходе получится не меандр - коэффициент заполнения выходных импульсов не равен 50%.
Цифровые счетчики импульсов являются неотъемлемыми узлами современной электротехники.
Они находят широкое применение в микропроцессорах, электронных часах, таймерах, частотомерах, системах с фазовой автоподстройкой частоты (ФАПЧ) и многих других устройствах.
There are comments .