Троичный 'RS-триттер'

Уравновешенная троичная система счисления - форум переехал с http://ternary.info

Moderator: haqreu

User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Троичный 'RS-триттер'

Post by Lavr »

Lavr wrote:
Lavr wrote:
Shaos wrote:А что из себя должен представлять троичный триггер? :)
Ну по той-же индукции у двоичного триггера полжения 0 и 1 ...,
а у троичного - 1, 0, -1 ...
Как должен выглядеть троичный RS-триггер попробуем представить,
отталкиваясь от принципов функционирования двоичного RS-триггера,
с учётом специфики троичной функции инверсии.

Image

Здесь главная особенность, что троичный логический "0" при операции
инверсии
остается нулём.
При этом учитываем также, что работаем в троичной симметричной
(уравновешенной) системе
, где логические уровни 1, 0, -1 передаются
по одному проводу и не требуют никаких трёхпроводных линий.

Теперь вспомним определение двоичного RS-триггера, а это у нас устройство
с обратными связями, и двумя устойчивыми состояниями (бистабильная
ячейка), способное к хранению информации в пределах одного бита (0
или 1), и способное скачком переходить из одного состояния в другое
.

При этом выводы исторически получили названия: Setустановка триггера в
единичное состояние
и ReSetустановка триггера в нулевое состояние (сброс).
Подразумевается также, что состояние триггера – это логическое состояние его
прямого выхода Q (Quit).
Схемотехнически обычно всегда присутствует и инверсный выход /Q, но в ряде
случаев он не выводится из корпуса микросхемы.

Image

По активным уровням управляющих сигналов у нас есть RS-триггеры, /R/S-триггеры,
хотя нетрудно представить и смешанные версии, если ввести в схему дополнительные
инверторы.
Будем также учитывать одно из известных свойств двоичного RS-триггера: будучи
единожды установленным (сброшенным) активным управляющим сигналом
по соответствующему входу, триггер более не реагирует на изменение сигнала
на этом входе и может быть переведён в противоположное состояние только
активным сигналом по другому входу
.

Теперь по аналогии представим себе троичный RS-триггер:

Image

Сигнал троичной логической 1 на входе S устанавливает прямой выход Q в состояние
троичной логической 1 (P)
, то есть выполняет операцию Set_P. На инверсном выходе
при этом устанавливается троичная логическая -1 или N.
В дальнейшем изменение состояния на входе S в пределах 0…1 не влияет на состояние
выхода Q
.
Сигнал троичной логической -1 на входе S устанавливает прямой выход Q в состояние
троичной логической -1 (N)
, то есть выполняет операцию Set_N. На инверсном
выходе при этом устанавливается троичная логическая 1 или P.
В дальнейшем изменение состояния на входе S в пределах 0…-1 не влияет на состояние
выхода Q
, а вот переход к троичной логической 1 на входе S – снова вызовет переход -
Set_P.

Активный троичный логический уровень на входе R сбросит триггер в состояние Q = 0 и
/Q = 0, то есть, в состояние троичного логического 0.
Активный троичный логический уровень может быть тот, который будет удобен с точки
зрения схемотехники
.

Это описание справедливо для троичного RS-триггера. Если же троичной логической 1 на
входе S устанавливается прямой выход Q в состояние троичной логической -1 (N), то это,
соответственно, будет троичный /R/S-триггер.

Мне кажется, такой подход в условиях троичной симметричной (уравновешенной) системы
не противоречив, и троичный RS-триггер не нуждается как в отдельных входах S+ и S-, так и в
трёх раздельных выходах, поскольку все три состояния одной позиции в нашей системе передаются
по одному проводу. А триггер, по сути, и есть ячейка для хранения состояния одной позиции.

Триггеры на трёх элементах с тремя выходами – это многоустойчивые триггеры, а вовсе не
троичные.

Если против такого позиционирования троичного RS-триггера возражений нет, то перейдём далее
к троичным D-триггерам ?
Я немного поигрался с порогами срабатывания "дефолтных" SPICE-моделей MOSFET-транзисторов,
и "допилил" одну из ранее тестируемых мною здесь моделей троичного NAND до устойчивой работы.
Tri_NAND.gif
(к сожалению, не нашел я, где я это здесь показывал - были у меня там трабблы с асимметрией переключения)
Ёмкость 5 пФ на выходе - чисто облегчает расчет переходных процессов SPICE-движку, иначе он
заметно притормаживает рассчет в момент переключения.

Ну и поскольку появился у меня рабочий экземпляр троичного NAND, я сразу же решил попробовать
на них модель троичного 'RS-триттера', вокруг которого мы тут как-то активно ломали копья... :wink:
И троичный 'RS-триттер' заработал! :o Но... весьма своеобразно... :roll:
Tri_Trig.gif
Как видно из схемы, переключается этот троичный 'RS-триттер' логическим уровнем -1.
Здесь - всё, как мы привыкли: /S = -1, /R = 1 ==> Q = 1, /Q = -1.
И /S = 1, /R = -1 ==> Q = -1, /Q = 1, т.е. функции Set и Reset работают привычно.

А вот где начинаются отличия, делающие этот троичный 'RS-триттер' чем-то похожим на двоичный JK-триггер.
Во-первых, получается так, что "запрещенного состояния" у троичного 'RS-триттера' нет! :o
Если /S = -1, /R = -1 ==> Q = 1, /Q = 1, - т.е. Вы просили? Я так и сделал! :mrgreen:

Если при включении /S = 1, /R = 1, "триттер" установится в Q = 0, /Q = 0.

Если "триттер" был установлен ранее /S = -1, /R = 1 ==> Q = 1, /Q = -1, а после установили /S = 1, /R = 1 ,
"триттер" хранит это состояние, но если подать /S = 1, /R = 0 , он сбросится в Q = 0, /Q = 0.
Состояние /S = 0, /R = 1 , при этом не влияет.

Если же "триттер" был установлен ранее /S = 1, /R = -1 ==> Q = -1, /Q = 1, а после установили /S = 1, /R = 1 ,
"триттер" также хранит это состояние, но если подать /S = 0, /R = 1 , он также сбросится в Q = 0, /Q = 0.
Состояние /S = 1, /R = 0 , при этом не влияет.

Ну... логика RS-триггера соблюдается по меньшей мере - будучи единожды включенным или сброшенным
по входам /S или /R, он больше не реагирует на состояние этого входа.

Ну и "троичный" нюанс - "триттер" можно переключить активным сигналом по противоположному
входу, а можно и установить в состояние неопределенности: Q = 0, /Q = 0, если
подать сигнал логического "0".
You do not have the required permissions to view the files attached to this post.
Last edited by Lavr on 20 Sep 2017 17:48, edited 1 time in total.
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный 'RS-триттер'

Post by Shaos »

а 3_NAND это что?
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный 'RS-триттер'

Post by Lavr »

Shaos wrote:а 3_NAND это что?
Это троичный NAND - он же - троичное отрицание троичной конъюнкции.
Tri_NANDT.gif
А ты что подумал?
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный 'RS-триттер'

Post by Shaos »

т.е. INV-MIN :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный 'RS-триттер'

Post by Lavr »

Shaos wrote:т.е. INV-MIN :)
Да хоть "MINI-...опой" назови... :wink:

Кстати, сам вопрос-то какой-то неуместный... :-?
Написано же:
Lavr wrote:Ну и поскольку появился у меня рабочий экземпляр троичного NAND...
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный 'RS-триттер'

Post by Lavr »

Ну и поскольку троичный NAND работает правильно, и троичный 'RS-триттер' работает вроде как верно,
то вполне естественное желание - сделать троичный 'D-триттер' ! :roll:

Развивая изложенный ранее "метод индукции", делать троичный 'D-триттер' я буду, естественно, вот так:
Tri_03.gif
А ещё точнее - вот так:
Tri_04.gif
Потому что модель троичного инвертора на "дефолтных" MOSFET я пока не чинил, возрадовавшись,
что троичный NAND правильно и устойчиво заработал...

"И таки Ви будите смеяцца, Щюра, но троичный 'D-триттер' робит-таки як належно!" :roll:
Tri_DTrig.gif
то есть: по стробу на C запоминает со входа D "1", "0" и "-1" ! 8)

И таки кто угадает, шо я дальше зроблю? :wink:
(Пересмотрел в выходные "Ликвидацию")
You do not have the required permissions to view the files attached to this post.
iLavr
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Re: Троичный 'RS-триттер'

Post by jdigreze »

Lavr wrote:И таки кто угадает, шо я дальше зроблю?
В качестве предположения: сЩётчик? :roll:
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный 'RS-триттер'

Post by Lavr »

jdigreze wrote:
Lavr wrote:И таки кто угадает, шо я дальше зроблю?
В качестве предположения: сЩётчик? :roll:
- Именно его! :mrgreen: А иначе - зачем городить троичные 'D-триттеры'? :wink:

Ну и, если и дальше действовать "по индукции", то я должен соединить выход /Q со входом D:
Tri_05.gif
Но тут уже элементарная логика и "дедукция" подсказывают, что ничего хорошего не получится,
поскольку и троичный 'D-триттер' записывает по стробу С состояние входа D на выход Q.
A в троичной инверсии отрицание лог.'0' и есть сам '0' - мы это проходили:
Image
Поэтому так троичный счетчик считать не будет - он застрянет в состоянии Q=0, /Q=0.
А как он должен считать - мы уже тоже знаем:
Image

Следовательно, чтобы получить троичный счетчик в пределах одного разряда, я должен подавать
на вход D не инверсию выхода Q, а его троичную правую циклическую инверсию:
Tri_06.gif
Её также иногда называют "троичным инкрементом":
Image

В результате получился самый натуральный троичный счетчик в пределах одного разряда.
Tri_CTrig.gif
Поскольку 'D-триттер' - с потенциальным управлением, счетный импульс должен быть коротким,
но не совсем, чтобы все элементы успели сработать.
Но если длительность слишком велика, по цепи обратной связи успевает вернуться на вход сигнал
циклического отрицания. Чтобы этого точно не произошло - я подзадержал его RC-цепью...
Ну а сам сЩётчик сЩитает вполне себе троично! :lol:


P.S. Кстати, если подать на вход D троичную правую циклическую инверсию выхода /Q,
то счетчик должен начать работать на вычитание...
You do not have the required permissions to view the files attached to this post.
iLavr
haqreu
Maniac
Posts: 318
Joined: 10 Mar 2017 05:30

Re: Троичный 'RS-триттер'

Post by haqreu »

А, стесняюсь спросить, чем тримуксы не угодили?
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный 'RS-триттер'

Post by Lavr »

haqreu wrote:А, стесняюсь спросить, чем тримуксы не угодили?
Прямо стесняюсь полюбопытствовать - кому не угодили? :o
iLavr
haqreu
Maniac
Posts: 318
Joined: 10 Mar 2017 05:30

Re: Троичный 'RS-триттер'

Post by haqreu »

Ну счётчик на тримуксах делается легко и непринуждённо, Александр приводил схему c триггерами, срабатывающими по фронту сигнала.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный 'RS-триттер'

Post by Lavr »

haqreu wrote:Ну счётчик на тримуксах делается легко и непринуждённо...
Во-первых, нигде не звучало, что "тримуксы кому-то не угодили".

Во-вторых, я не заметил ни принуждения, ни того, что перетрудился, делая всё это на троичных NAND.

В-третьих, 22 сентября 2012 я задался вопросом:
Lavr wrote:Как должен выглядеть троичный RS-триггер попробуем представить...
Я это всё последовательно и непротиворечиво представил, не так ли?
А делать троичный RS-триггер на "тримуксах" - я не ставил себе такой задачи.
Тут, как говорится, "Кому нравится поп, кому - попадья, а кому и - попова дочка..." :wink:
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный 'RS-триттер'

Post by Lavr »

Lavr wrote:"И таки Ви будите смеяцца, Щюра, ..." :roll:
Кстати, Shaos, а знаешь, с чего это меня вроде так неожиданно подкинуло позаниматься троичностью? :o
Да вот полистывал я лениво наш форум Ternary... почитывал дела минувших дней... на некоторые ссылочки нажимал...
И вдруг по одной из ссылочек неожиданно вижу:
patent1.gif
- Ух ты! - сказал я себе - нарушать чужие патенты нехорошо... но и патенты, оказывается, не вечны! :wink:
И решил я срочно починить свой троичный NAND... 8)
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный 'RS-триттер'

Post by Shaos »

да - бывает :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный 'RS-триттер'

Post by Lavr »

Shaos wrote:Использование стандартных КМОП микросхем и КМОП транзисторов
P.P.P.S. А вот элементы памяти внутри придётся делать двоичными - разделять троичный сигнал на два двоичных и управлять ими двумя двоичными ячейками статической памяти (это если Lavr раньше не придумает флип-флап-флоп на троичных элементах MAX и MIN ; ) ...
Я уже теперь не помню, "раньше" это или "позже", но флип-флап-флоп на троичных элементах MAX и MIN
я придумал, хотя "истина была рядом" ещё тогда.
Собственно, вся проблема в полевиках - я их "подшаманил" методом "ненаучного тыка", и они стали
куда лучше, чем были, но всё же не настолько хороши, как бы мне хотелось... :-?

Тем не менее, проверить идею с троичным "триттером" они мне сейчас позволили...


P.S. И кстати, ты всегда говоришь про тактирование синусоидой - якобы это снизит шумы и гармоники,
я тебе говорил, что это в принципе не так, но сегодня встретил интересные рассуждения по этому поводу.
Оставлю здесь, чтобы и самому не забыть:
Lynx wrote:Основное отличие ЭСЛ - генераторов - это "мягкое" переключение тока транзисторами в активном режиме, без отсечек и насыщений и без имульсного тока помехи переключения. Другие типы ЛЭ указанными свойствами не обладают и, соответственно, имеют больший ФШ либо за счет собственных же помех, либо за счет амплитудно-фазовой конверсии собственных шумов КМОП элементов.
iLavr