nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 28 May 2018 02:08



Reply to topic  [ 50 posts ]  Go to page 1, 2, 3, 4  Next
как спроектировать троичный счётчик? 
Author Message
Novelist

Joined: 10 Feb 2016 17:59
Posts: 25
Reply with quote
Hi Everybody! :kruto:
Я - программист, и хочу подучить цифровую технику "в железе".
В частности, меня интересует троичная логика.
Я поставил перед собой практическую задачку - реализовать трёхтритный счётчик в железе.

Для наглядности я накидал демонстрационную веб-программку

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

моя основная задача - разобраться, как такое вообще можно реализовать в железе, и сделать это 8)
в частности, мне требуется понять, как я мог бы сделать
- троичную ячейку памяти(трит)
- троичный регистр(набор ячеек-тритов, котрый можно считать на шину светодиодов или алу, а также записать результат алу)
- простое троичное АЛУ (тоесть как её увеличить+1?, уменьшить-1?, и сбросить?)
- как реализовать перенос разряда?
- как реализовать переполнение регистра?

какие есть предложения?
с чего мне начать?
из каких узлов такое вообще можно составить?


10 Feb 2016 18:03
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16532
Location: Colorado
Reply with quote
Перенёс в "Ternary" - всё уже сделано ;)

И вместо пары светодиодов надо юзать один где в одном корпусе подцеплено 2 светодиода навстречу друг-другу - красный и зелёный...

_________________
:eugeek: https://twitter.com/Shaos1973


10 Feb 2016 21:47
Profile WWW
Novelist

Joined: 10 Feb 2016 17:59
Posts: 25
Reply with quote
а можно логику работы, хотябы в двух словах? :ebiggrin:

и ещё, там цена устройства примерно указана, ээмм, а откуда цифра 333$? :esurprised:

вот я посмотрел http://www.chipdip.ru/product/dg403dyz/
1 штука переключатель стоит 24р, а нужно их 50 штук = 1200р = 15 usd.
текстолит тоже не может стоить 300$, потом у меня уже есть
какие ещё компоненты потребуются, чтобы собрать?


10 Feb 2016 22:00
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16532
Location: Colorado
Reply with quote
50 штучек DG403 только на счётчик секунд, а для часов надо ещё минуты и часы - и того 150 штучек, а это по местным (американским) ценам за DIP (кстати микрухи подешевели!) 150*$1.25=$187.5 плюс 150 танталовых конденсаторов 0.1 мкФ (по питанию) это порядка 150*$0.25=$37.5 плюс плата примерно 75 квадратных дюйма - это порядка $125 (если делать через oshpark.com) т.е. всё вместе $348 (если делать плат много, то можно снизить себестоимость одной платы раза в 3)...

P.S. В случае 3-тритного счётчика надо сделать только 3 каскада - оно будет несколько дешевле, чем полноценные часы

_________________
:eugeek: https://twitter.com/Shaos1973


10 Feb 2016 22:15
Profile WWW
Novelist

Joined: 10 Feb 2016 17:59
Posts: 25
Reply with quote
В троичной системе считать "человеческие" часы минуты.. - это немного неудобно! :ebiggrin:
у меня было изыскание, согласно которому на часы необходим 12-тритный счётчик, работающий на частоте 3^12/(24*3600)=6.1509375 Hz. Чтобы обеспечить точность до секунды, ему потребуется 10,35 трит..
именно такие часы я и хочу, которые поделят сутки на трое :rotate:

Но изначальная моя цель - понять реализацию. Желательно на транзисторах, примерно я представляю это как вот тут. Для задачки, которую я описал в первом посте в виде веб-програмки достаточно 3-тритного счётчика, 3 светодиодов и трёх кнопок. Могли бы вы предложить "блок-схему" подобного устройства, и разобрать со мной реализацию каждого блока, в целях ликбеза такскть?) Энергопотребление и скорость работы не критична, мне требуется понять принципы постоения логических схем для троичной логики в железе.


10 Feb 2016 23:31
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
А Вы не пробовали удовлетворить свои хотения хотя бы системой поиска по сайту? :lol:
Уверяю Вас, что ответы на большинство Ваших вопросов здесь есть и даже в весьма
развернутом виде...
А админ наш как бы и никому не обязан заниматься троичным ликбезом и выступать
в роли "просветителя славянства"... :ebiggrin:

_________________
iLavr


10 Feb 2016 23:45
Profile
Novelist

Joined: 10 Feb 2016 17:59
Posts: 25
Reply with quote
да пробовал я всё, проглядывал сайт ещё пару лет назад. только всё слишком сложно и запутанно для начинающего, и непонятно как оно работает. вижу восновном схемы, предполагающие опыт работы в данной области.. это как новичку в программировании предлагать в одиночку разобрать движок javascript v8 по загугленному открытому исходному коду.. сами понимаете, неподъёмно. и, разумеется, я никого ни к чему не обязываю! я лишь спросил - есть ли, навскидку, простенькая схема, реализующая сабж на сотне-другой транзисторов? и можете ли вы со мной ею заделиться, с десятком-другим сопутствующих комментов? ведь форум для того и создан, чтобы общаться и передавать знания! :ebiggrin:


11 Feb 2016 00:42
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
xakepp35 wrote:
ведь форум для того и создан, чтобы общаться и передавать знания! :ebiggrin:

Совершенно с Вами согласен, я и сам всегда об этом говорю!

Но для общения на техническом форуме нужен некоторый базовый уровень,
и тут никто не знает, какой он у Вас.
Ну, скажем, совершенно бестолково общаться на тему электроники, не зная
хотя бы закона Ома.
Так и в цифровой технике - не зная законов алгебры логики, трудно что-то
понять... Но обычно фундаментальные вещи есть практически везде, а здесь
мы говорим, как из них что-то посложнее сделать.

Ну давайте так - покажите, что Вы у нас тут подходящее для себя нашли, и
что в нем непонятно.

А стартовый курс троичной логики, я считаю, хорошо изложен здесь:
http://trilog.narod.ru/4.htm ну и практически там всё
очень неплохо изложено: http://trilog.narod.ru/contents.htm

_________________
iLavr


11 Feb 2016 02:25
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16532
Location: Colorado
Reply with quote
Lavr, по твоим ссылкам неправильная троичная логика - не уравновешанная ;)

Ну если строить всё на моих троичных мультиплексорах (TRIMUX-ах), то для каждого трита троичного счётчика нужно 2 элемента троичной памяти:

Image

и один троичный полусумматор:

Image

соединённых как в моих троичных часах:

Image

логика сброса в начальное состояние (справа) нужна только если надо чтобы счётчик не считал насквозь...

_________________
:eugeek: https://twitter.com/Shaos1973


11 Feb 2016 09:34
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Lavr, по твоим ссылкам неправильная троичная логика - не уравновешанная ;)

Ну тогда и просвещай славянство правильной логике сам, а не расписывай из чего сложились $333
в тот момент, когда человек хочет познать основы троичности, как он сам и говорит.

_________________
iLavr


11 Feb 2016 14:28
Profile
Novelist

Joined: 10 Feb 2016 17:59
Posts: 25
Reply with quote
Shaos, благодарю вас.
по схеме половина ясно, половина нет.

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

при таком раскладе чтобы второй полусумматор выдал правильный ответ, он должен дождаться результата вычисления флага переноса с первого полусумматора, полученного на предыдущем шаге-такте. неясно - как это достигается?

далее непонятно что такое mux? что такое e12? blp? bln? как достигается запись выходного регистра во входной? как определяется момент что выходной регистр заполнен правильно? (тоесть что флаг переноса распространился до конца стека полусумматоров)

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

TRIMUX прикольный интересный проект, нно слишком дорого для славянских зарплат. и не даёт понимания как это работает на уровне электрических сигналов. Как бы мне собрать троичную ячейку памяти на транзисторах? хоть на биполярных, важна максимально дешёвая цена (чтоб по-русски было массово доступно) и понимание структуры и принципов работы. энергопотребление и быстродействие неважны.


11 Feb 2016 16:22
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
xakepp35 wrote:
lavr, не, знания кое какие есть, но не по железу

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

Но эти материалы все есть и на нашем форуме... впрочем, не буду более надоедать своими
"неправильными" советами. 8)

И, кстати, Shaos, может, у него математическая запись логики в некошерной, на твой взгляд, форме,
но на транзисторах он это воплотил в самом, что ни на есть, уравновешенном виде.

Image

_________________
iLavr


11 Feb 2016 16:38
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16532
Location: Colorado
Reply with quote
На транзисторах будет сильно больше элементов нежели на троичных мультиплексорах. Троичный мультиплексор/демультиплексор - это по сути трёхпозиционный переключатель и первый сигнал управляет тем, какой из следующих трёх входов будет подключен к выходу - на них можно построить всё остальное. E12 и E21 это упрощённые мультиплексоры, являющиеся двухпозиционными переключателями - у первого средний уровень и положительный уровень подключают к выходу второй сигнал (соответственно негативный уровень подключает первый), а у второго - негативный и средний подключают первый (а положительный - второй). BLP и BLN - это по сути диод, который гасит плюс либо гасит минус (подключён в одну сторону в первом случае и в другую во втором). MEM запоминает то, что было на входе, когда сигнал управления был не равен нулю - соответственно имея двухфазную синхронизацию (полученную из синусодиального тактирования путём выпрямления прямым и обратным диодами), мы щёлкаем поочередно первым и вторым набором MEM-ов, считая, что перенос успеет распостраниться в паузе между этими фазами - вобщем как-то так...

_________________
:eugeek: https://twitter.com/Shaos1973


11 Feb 2016 22:07
Profile WWW
Novelist

Joined: 10 Feb 2016 17:59
Posts: 25
Reply with quote
кажется можно упростить схему, избавившись от второго регистра - заставить полусумматоры выдавать результат на вход B первого регистра, а выход его соединить не только с полусумматорами но и непосредственно со светодиодами. для счётчика нам же только нужно увеличить? значит записать мы можем туда же, откуда и считали (по принципу ассемблерной команды INC AX), сэкономив мультиплексоров..


Last edited by xakepp35 on 11 Feb 2016 23:55, edited 2 times in total.



11 Feb 2016 23:01
Profile
Novelist

Joined: 10 Feb 2016 17:59
Posts: 25
Reply with quote
хотя.. я подумал - если сделать кнопку "+1", которая записывала бы в исходный регистр, откуда читают сумматоры, значения их выходов, то по её нажатию в системе началась бы дичь - значение в регистре начало бы изменяться хаотически. получается, без второго буферного регистра - никак? или как-то эта задача ещё решается?


11 Feb 2016 23:33
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 50 posts ]  Go to page 1, 2, 3, 4  Next

Who is online

Users browsing this forum: Bing [Bot] and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.