Троичный счётчик заработал!

топ 100 блогов nabbla122.12.2025 И года не прошло, как удалось запустить ПОСЛЕДОВАТЕЛЬНУЮ ТРОИЧНУЮ ЛОГИКУ, до этого ковырялись с комбинаторной. Честно говоря, только скользнули по поверхности, но всё же что-то начинает проявляться...

Троичный счётчик заработал!


Опробовали прозрачные троичные триггеры, затем из них построили один непрозрачный (срабатывающий по фронту).

Соединили его вход с инверсным выходом - и получили счётчик, который (в зависимости от начальных условий) либо переключается -1, +1, -1, +1, ...., либо держится в нуле.

Дополнив эту схему "девушкой", наконец, получили "правильный" троичный счётчик, пока что на один трит.

Троичный счётчик заработал!

Весьма громоздко для ОДНОТРИТНОГО счётчика, но это лишь из-за отсутствия микросхем хотя бы средней степени интеграции, приходится собирать по 1-2 транзисторам. А так-то наш однотритный счётчик требует лишь ОДНИМ транзистором больше, чем обычный однобитный счётчик по технологии КМОП

А ещё опробовали индикацию логических состояний на двухцветном светодиоде, используя "лишние" инверторы. И всё бы давным-давно заработало, если б не пришлось ещё устранять самовозбуды по питанию и переделывать генератор тактовой частоты - наошибался где мог...


На текущий момент уже набралась приличная номенклатура троичных КМОП элементов, из которых, как из кирпичиков, мне хочется собрать что-нибудь посложнее:

Троичный счётчик заработал!


Пока что мне нравится идея, что все унарные элементы (с одним входом, пусть даже для упрощения самого элемента мы принимаем второй, инверсный сигнал) на схеме будут треугольниками. Буферы и инверторы и так "всю жизнь" изображались так. А теперь мы ещё треугольник перевернём, и будет у нас "девушка в платье", она же прекрасная Дельта, она же "стрелочка вверх", т.к (-1) превращается в 0, (0) превращается в +1, а (+1) в -1, чтоб в будущем другой элемент включил бы перенос в следующий разряд. Либо развернём этот треугольник ещё на 180° - и будет "дипломат в смокинге", он же "стрелочка вниз".

Ну а за триггером как-то специального символа не закрепилось, просто квадратик с выводами D, Q, nQ, и clk, разумеется. Небольшая стрелочка напротив clk традиционно означает, что элемент реагирует на ФРОНТ, а не на логический уровень, т.е это НЕПРОЗРАЧНЫЙ триггер.

А вот схема простейшего троичного счётчика, которую я собирался собрать:
Троичный счётчик заработал!


Сверху - структурная схема. D-триггер, вход которого подключён к выходу "девушки". Когда на выходе триггера -1, на выходе "девушки" будет 0, который поступит на вход триггера. По фронту тактовой частоты этот 0 защёлкнется, и через некоторое время на выходе "девушки" сформируется +1, и так далее.

Ниже показана принципиальная схема. Триггер спаян на одной платке, "девушка" - на другой. На плате триггера оказались незадействованными 2 инвертора из состава К561ЛН2. Их я решил применить для индикации "состояния триггера" на двухцветном светодиоде. Сложность в том, что микросхемы К561 у меня получают питание -1,35 и +1,35 вольта (суммарно 2,7), при этом по уровню около +1 вольта должен зажигаться зелёный, а по -1 вольту - красный, в противном случае не должен гореть ни один. Этим светодиодам нужно около 2 вольт, чтобы зажечься, поэтому они были подключены "по мостовой схеме". Единственное, в этой схеме я забыл ещё показать резистор от первого выхода инвертора к общему проводу (GND), для обеспечения стабильного нулевого уровня. Методом проб и ошибок я обнаружил, что здесь достаточно вообще 150 кОм, и на центральном, нулевом уровне (0, он же НЕ ЗНАЮ) ни один светодиод гореть не будет. Но впоследствии будут ставить поменьше, как минимум 100 кОм.

Ещё здесь не видно токоограничивающих резисторов - а они и не нужны, на таком низком напряжении транзисторы ещё не могут толком открыться, так что ток ограничен ими. Впрочем, и здесь, наверное, я потом внесу коррекцию. Когда троичный счётчик, наконец, заработал от тактовой частоты, я ожидал увидеть жёлтое свечение (красный + зелёный по аддитивной схеме цветопередачи), но увидел зелёное - почему-то зелёный ярче горит. Чтобы выровнять их по яркости, последовательно с одним из кремниевых диодов КД522 я всё-таки воткну резистор.

Но прежде чем собрать эту схему, я раз за разом испытывал её компоненты по отдельности. Двухступенчатый триггер был разбит на два прозрачных. Первое их испытание было в двоичном режиме, как двухбитный счётчик Грея. И, как показала практика, не зря! Попила моей кровушки микросхема К561КТ3, хотя пару тузов она ещё припасла в рукаве...

Далее, я впаял к выходу каждого инвертора по резистору 2,7 кОм, это один из вариантов получения троичности в К561ЛН2 - питание 2,7 вольта + резисторы 2,7 кОм, см исследуем троичный КМОП инвертор, а также к 2 "лишним" инверторам подключил светодиод.

И вот первый успех, защёлкивание значения по нажатию кнопки "clk" (подача одиночного импульса):


Далее я, наконец, соединил между собой две половинки, чтобы получить непрозрачный триггер, т.е срабатывающий по фронту. Если подавать на него сигнал с рычажка, то всё работает. Но вся прелесть непрозрачного триггера в том, что можно соединять входы и выходы, не боясь, что в момент записи нового значения у нас пропадёт выходное, и мы застрянем где-то посередине (или самовозбудимся).

Для упрощения, я подсоединил вход триггера к его же инверсному выходу и ожидал "смены полярности" при каждом нажатии на кнопку, т.е +1 сменится на -1, а тот снова на +1, и так далее. Но увы, первое же нажатие кнопки "сбросило" его в ноль, и так он в нуле и остался.

Вскоре стало ясно, в чём дело. Вот как отзывается выход триггера на фронт clk:
Троичный счётчик заработал!


Задержка около 300 наносекунд. Возможно, даже, что здесь я "неправильный" триггер собрал, где от входа до выхода сигнал проходит через ЧЕТЫРЕ инвертора подряд. Но не суть важно. Вот как у меня, оказывается, выглядели прямой и инверсный сигналы clk:

Троичный счётчик заработал!


Задержка на 4 микросекунды! Немудрено, что информацию теряем! В оконечный триггер уже записали новое значение (он стал прозрачным), а предварительный так и остался в прозрачном состоянии. Нда, использовать NE556 было далеко не лучшей идеей... Там его первая половинка действительно генерит, а вторая включена как "инвертор". И хотя фронты неплохие, есть эта странная 4 мкс задержка! Ладно, впаиваем туда на "материнскую плату" микросхему К561ЛА7. Для троичной логики она не подходит (см. Троичные И-НЕ и ИЛИ-НЕ: первый блин комом), пусть хоть поможет тактовую частоту сформировать. Примерно такие изменения в этой части стенда:
Троичный счётчик заработал!


Коррекция слева (запитать тактовую частоту примерно на 0,6 вольта больше, чем напряжения UD+ / UD-) была введена, когда оказалось, что К561КТ3 как-то хитро "защёлкивается" от чрезмерной амплитуды управляющих сигналов. Ну а теперь одну из двух половинок NE556 "вывели из игры", вместо них 4 логических элемента, соединённых параллельно. В КМОП такие параллельные соединения допустимы!

Оффтоп. А причина тому - повышение сопротивления канала МОП транзистора при разогреве, поэтому ток автоматически выравнивается между несколькими параллельными транзисторами. Если один взял больше тока, он стал сильнее других греться, сопротивление повысилось и ток распределился по более холодным. По той же причине до недавнего времени МОП транзисторы не страдали от вторичного пробоя. См. МОП, ты должен был побороть вторичный пробой, а не примкнуть к нему!

Посмотрим, как выглядят clk прямой и инверсный теперь:
Троичный счётчик заработал!


Уже сильно лучше. И действительно, счётчик заработал в этом "двоично-троичном режиме":


Возможно, я не очень правильно про метастабильность упомянул. В одном из значений я прав, но применительно к этой технике обычно под метастабильностью подразумевается более конкретное явление, здесь не об нём речь.

Допаиваем "девушку", пробуем включить уже всё вместе - и ОПЯТЬ НИЧЕГО НЕ РАБОТАЕТ. Как оказалось, самовозбуд по питанию UΔ:
Троичный счётчик заработал!


Как я и боялся, когда шину "нагрузили" керамическими конденсаторами, операционник "взбесился". На кабели их тоже напрямую обычно не нагружают, ставят "защитный" резистор и чуть более сложную обратную связь. Ладно, поставил тоже такой резистор 100 Ом, и ещё пару керамических по питанию самих операционников:
Троичный счётчик заработал!


эх, если бы ИБП сдохнул на пару недель раньше, я бы питалово стенда сделал аккурат из его потрохов! Тут и три розетки в кассу - мне сейчас катастрофически их не хватает для всех осциллографов, паяльника, питания стенда, настольной лампы. А главное - совершенно безумная моща, так что два диода Шоттки + два больших электролита + 7805 + 7905, а от них тупо здоровенные потенциометры, ватт по 5 каждый. Никаких самовозбудов, о чём вы! На фоне своего родного нихрома он просто не почувствует, что туда ещё что-то подключили! Ну, что теперь поделаешь. Тоже полезный навык, эти ОУ приводить к послушанию.

В итоге самовозбуд устранил, но схема всё равно не заработала - сопля припоя соединила несколько ножек К176ЛП1. Убрал лишнее - и УРА:
https://rutube.ru/shorts/a2d6fdcec40b4c53ac68d348860d348e/?r=wd

Теперь посмотрим осциллограммы. Вот первая, которая "картинка для привлечения внимания":
Троичный счётчик заработал!


Сверху clk, снизу выход "девушки", он же вход триггера. Только выбросы напрягают... Я сразу же поспешил повторно обвинить в этом NE556: там же выход на 200 мА, и при переключении наверняка очень нехилые сквозные токи проходят, вот они мне что-то просаживают. Уже начал искать, какой бы конденсатор ему по питанию воткнуть. Там висел керамический на 47 нФ, подумал что-нибудь вроде К53-1 вставить, красивые они, и в отличие от электролитов у них ESR (ЭПС) пониже. Но всё-таки ещё пошерудил осциллографом и обнаружил: НА ШИНАХ ПИТАНИЯ ВЫБРОСОВ НЕТ!

И на выходах триггера тоже всё чистенько:
Троичный счётчик заработал!


Интересная картина: оба входа "девушки" без выбросов, а на выходе они каким-то образом появляются, аккурат на спаде clk, при том, что в "девушку" тактовая частота в принципе не заведена!

Троичный счётчик заработал!

Выход триггера (сверху) и выход "девушки" (снизу). Необычное зрелище в цифровых схемах, фазовый сдвиг в 120°. А ведь какие-нибудь контроллеры бесколлекторных двигателей, где нужно формировать трёхфазные последовательности, могут оказаться ОЧЕНЬ ПРОСТЫМИ при реализации на троичной логике!

Наконец, дошло: это ВХОД ТРИГГЕРА НАПРЯЖЕНИЕ ПРОСАЖИВАЕТ! Там же стоят аналоговые ключи. Выходит перекрытие, когда вход буфера запитан одновременно от двух источников - и от своего собственного выхода, и от входа D, вот и происходит провал. Проверим догадку, между выходом "девушки" и входом триггера поставив резистор 100 кОм:
Троичный счётчик заработал!


Ага, всё хорошо! Пора повысить тактовую частоту раз в 10:
Троичный счётчик заработал!

Хоть сейчас в учебник.

Впрочем, на входе всё не так благостно:
Троичный счётчик заработал!


Но пока работает. Это же СИНХРОННАЯ СХЕМА: она будет работать, покуда на входах триггеров напряжения будут успевать установиться к фронту clk, или, если точнее, за время tsu до него (setup time, для здешней элементной базы это что-то вроде десятка наносекунд).

И всё ж опять NE556 показывает свою несостоятельность для данного стенда:
Троичный счётчик заработал!


Хотя отчасти это я слишком большой времязадающий конденсатор поставил, 10 нФ. Поэтому для повышения частоты приходится довольно маленькие резисторы ставить, и они заметно так подгружают выход. Он сваливается на 1,4 вольта (там сплошь npn транзисторы в выходном каскаде, поэтому в верхнем плече эмиттерный повторитель Дарлингтона, под нагрузкой просаживается хорошо так), из-за чего падает скважность, и в целом сигнал очень искажён. Видимо, один раз поделить частоту не помешало бы, для формирования ровного меандра. Но это уже не сегодня...

В общем, на тактовой частоте 170 кГц счётчик ещё работал, а при повышении до 330 кГц уже "сдох", начал время от времени импульсы пропускать. Но винить его сложно, ведь тактовая частота у нас стала такой:
Троичный счётчик заработал!


С такими часами у кого угодно кукуха полетит!

Я уверен, рабочую частоту можно ещё повысить. Для этого нужен нормальный генератор тактовой частоты, ещё может правильно сфазировать clk и nclk, чтобы снизить сквозные токи (или, если речь об аналоговых ключах - кроссфейдинг?). Напряжения настроить. Сейчас у меня всё просто было: питающие +1,35 и -1,35 как для К561, так и для К176, и ещё +2,58 В для "девушки". Можно для К176 все приподнять, чуть позже ещё разок всё подрихтуем.


Что ж, год прошёл не совсем бездарно, хоть и не так продуктивно, как хотелось бы. Лично я прихожу к убеждению, что троичная логика на КМОП вполне реальна, а заодно, знаю ответ на вопрос "если это так здОрово и очень просто, почему никто до сих пор не сделал??" Одну половинку ответа уже давал. Вторая - а хрен сделаешь! Оно только задним числом просто. Граблей там понатыкано... И как-то так получилось, у нас радиолюбители страшно недолюбливали полевые транзисторы и КМОП в частности. Как оно работает, зачастую никого не учили, а ещё пугали статическим электричеством, и вообще биполярные как-то свои, родные, а тут подложки какие-то. А "шаг вправо, шаг влево", оно вообще чудит только в путь, с карманами этими, тиристорами повсюду расставленными...

PS. В процессе работы усмотрел уже ДВА приятных пряника троичных цепей:
1. Не нужны цепи глобального сброса. Питание снял, питание подал - все триггеры установились в ноль. Стоит об этом вспомнить - оказывается, что секция в 1 трит троичного счётчика занимает НА ТРИ ТРАНЗИСТОРА МЕНЬШЕ, чем двоичная на 1 бит! Ибо двоичному всяко нужен Reset, который делается превращением одного из двух инверторов в элемент И-НЕ / ИЛИ-НЕ, в каждом из двух прозрачных триггеров. А троичному это ни к чему.
2. Не страшны "висящие в воздухе" входы: два транзистора разом всяко не откроются, зверских сквозных токов не будет.

View Poll: Троичный компьютер

Оставить комментарий

Архив записей в блогах:
Кадрирование - важная шняга в работе продвинутого фотографа. Правильное обрезание может радикально менять сущность сюжета. Например, берем вроде бы нейтральный снимок: Теперь режем его, как хотим. И сразу получаем на выходе сюжет "с намёком"! О, как! ...
Весна на дворе, ласточка в сени,  а ежевечерний дайджест блогерского марафона снова с вами! Пожалуйста, оставляйте ссылки на ваши свежие записи, заметки фотоистории в комментариях под этим постом: ...
Еще меня сегодня :) Ребенка 7 лет периодически рвет по ночам. За лето было 2 эпизода. Первый - когда переел чипсов у соседа. Второй - когда съел 3 гриль колбаски и запил квасом. Было еще раньще после запеченых крылышек и чего-то еще подобного. Рвет один раз ночью со второго этажа ...
Вдогонку... Спасибо huholya , а то так бы и жила в неведении. Я думала, что, мол, австралийцы вон какие креативные, какого Циолковского сваяли. А это вовсе и не австралийцы, а вовсе даже россиянский скульптор Сергей Бычков. И оригинал памятника стоит в России в городе Боровске, гд ...
Одним из главных условий квест-марафона, прошедшего в минувшую субботу, было приходить с детьми. Но на этом мероприятии было интересно всем, от мала до велика. Мотоциклы, полицейские автомобили из разных эпох,квадроциклы, служебные собаки, показательные выступления бойцов ...