nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 19 Apr 2024 05:53



Reply to topic  [ 195 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 13  Next
Проектирование троичных элементов (4) - пробуем CMOS-ключи 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22542
Location: Silicon Valley
Reply with quote
poisk wrote:
Аналог DG403, как и DG190, DG191, DG390, HI5043, HI5151, HI5151. Схема здешняя, плату развёл на один инвертор относительно 0 и универсальный троичный элемент. Размер 26х26мм, но расположение выводов не по принятому стандарту: не получилась бы такая маленькая.


А я и не знал, что у DG403 есть советские аналоги :)

Image

И что, всё работает точно также?


19 Dec 2010 10:44
Profile WWW
Writer
User avatar

Joined: 02 Jan 2009 05:23
Posts: 21
Location: Киров, РФ
Reply with quote
А как же) Есть даже в планарном исполнении. Причём в 2008 году всё ещё производили..
Может быть просто повезло, но навряд ли.


19 Dec 2010 11:51
Profile ICQ
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22542
Location: Silicon Valley
Reply with quote
Почитал описалово - у этого "аналога" нету питания VL, т.е. фокус со свдигом порога вниз не пройдёт...

P.S. Ещё странно что в ихних "этикетках" не написано какие ключи нормально замкнутые, а какие нормально разомкнутые - как по такой "документации" изделия строить непонятно.


19 Dec 2010 12:50
Profile WWW
Writer
User avatar

Joined: 02 Jan 2009 05:23
Posts: 21
Location: Киров, РФ
Reply with quote
VL действительно нет, но работоспособность схемы от этого не изменилась :-?
В наших "этикетках" мало чего полезного пишут, лучше справочники смотреть.


19 Dec 2010 14:11
Profile ICQ
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22542
Location: Silicon Valley
Reply with quote
poisk wrote:
VL действительно нет, но работоспособность схемы от этого не изменилась :-?


И это странно. Попробуем разобраться:

Image

пин 1 - S1 (первый IN)
пин 2 - C1 (первый OUT)
пин 3 - P1 (RP)
пин 4 - V-NEG (-5В) - подключено кроме всего прочего к земле левой микросхемы (нога 13)
пин 5 - N1 (RN)
пин 6 - GND (земля) - тут странность, т.к. у левой микросхемы оно подключено к неиспользуемой ноге 12 (VL), а нога 13 (GND) правой микросхемы висит в воздухе?
пин 7 - V-POS (+5В) - тут оно также подключено к неиспользуемой ноге 12 (VL) правой микросхемы
пин 8 - O1 (RO)
пин 9 - С2 (второй OUT)
пин 10 - S2 (второй IN)

"Этикетка" намекает, что логический вход считается низким если оно ниже 0.8В (относительно земли) и высоким если оно выше 4В. Значит подключив землю левой микросхемы к -5В, мы заставляем её срабатывать при напряжении на входе выше -1В и отключаться при ниже -4.2В. У правой же висящая в воздухе земля возможно сама усредняется между напряжениями питания, т.е. предположим что оно 0В, тогда правая микросхема будет срабатывать при 4В и отключаться при 0.8В. Выходит что действительно оно будет работать как надо, т.к. у этой микрухи входы ТТЛ, а у реальной DG403 уровни ТТЛ обещаются только при 5-вольтовом питании, а во всех остальных случаях - CMOS (что значит срабатывание практически при напряжении логического питания).

Quote:
В наших "этикетках" мало чего полезного пишут, лучше справочники смотреть.


Ну например в моих справочниках ничего нету про серию КР590 (справочники начала 90-х). И кроме того в наше время производитель должен по каждому камню в онлайне держать даташит, который является самодостаточным документом, полностью описывающим соответствующий камень...


19 Dec 2010 18:33
Profile WWW
Writer
User avatar

Joined: 02 Jan 2009 05:23
Posts: 21
Location: Киров, РФ
Reply with quote
Shaos wrote:
пин 6 - GND (земля) - тут странность, т.к. у левой микросхемы оно подключено к неиспользуемой ноге 12 (VL), а нога 13 (GND) правой микросхемы висит в воздухе?

Тут моя ошибка: землю довести забыл. С ней работает так же.
Shaos wrote:
"Этикетка" намекает, что логический вход считается низким если оно ниже 0.8В (относительно земли) и высоким если оно выше 4В. Значит подключив землю левой микросхемы к -5В, мы заставляем её срабатывать при напряжении на входе выше -1В и отключаться при ниже -4.2В. У правой же висящая в воздухе земля возможно сама усредняется между напряжениями питания, т.е. предположим что оно 0В, тогда правая микросхема будет срабатывать при 4В и отключаться при 0.8В. Выходит что действительно оно будет работать как надо, т.к. у этой микрухи входы ТТЛ, а у реальной DG403 уровни ТТЛ обещаются только при 5-вольтовом питании, а во всех остальных случаях - CMOS (что значит срабатывание практически при напряжении логического питания).

Ясно, значит "аналог" годится.
Shaos wrote:
И кроме того в наше время производитель должен по каждому камню в онлайне держать даташит, который является самодостаточным документом, полностью описывающим соответствующий камень...

"Этикетки" очень похожи на Specsheet. Где-то писали на форумах, что при запросе полной документации, не стеснялись просить денежку(это не про КР590КН4).


19 Dec 2010 22:44
Profile ICQ
Retired

Joined: 03 Aug 2003 22:37
Posts: 1474
Location: Moscow
Reply with quote
Очень интересная тема. Попробую на днях воспроизвести на макетной плате и посмотреть как будет работать.


20 Dec 2010 02:14
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22542
Location: Silicon Valley
Reply with quote
poisk wrote:
Ясно, значит "аналог" годится.


Возможно дешёвые CMOS-ключи серии 74HCT (быстрый CMOS с TTL входами) ведут себя аналогичным образом - как минимум те, где землю можно двигать.


20 Dec 2010 06:50
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22542
Location: Silicon Valley
Reply with quote
Shaos wrote:

Возможно дешёвые CMOS-ключи серии 74HCT (быстрый CMOS с TTL входами) ведут себя аналогичным образом - как минимум те, где землю можно двигать.


Поизучал вопрос - к сожалению этот фокус с 74HCT4051/2/3 не пройдёт, т.к. во-первых у них двигается не земля, а минимально возможное аналоговое напряжение, а между землёй и максимальным напряжением должно быть не более 5.5 вольт. 74HC4051/2/3 тоже не пойдут, т.к. уровень срабатывания приближен к положительному напряжению (которое хоть и может быть 10 вольт, если брать ключи производства PHILIPS/NXP), т.е. мультиплексор вида XYY не получить.


23 Dec 2010 21:42
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22542
Location: Silicon Valley
Reply with quote
Вот ручная визуализация полного суматора в Logisim:

Code:
/* Generated by DDTc v0.5
   Solution is 12 x DG403
   See www.ternary.info */

#include "ddt.h"

int ddt_sum(int f, DDT i1, DDT i2, DDT i3, DDT* o1, DDT* o2)
{
 DDT r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14;
 int f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14;
 f1 = ddt_mux(f,i1,O,P,N,&r1);
 if(f1 < 0) return f1;
 f2 = ddt_mux(f,i1,P,N,O,&r2);
 if(f2 < 0) return f2;
 f3 = ddt_mux(f,i2,r1,r2,i1,&r3);
 if(f3 < 0) return f3;
 f4 = ddt_mux(f,i2,r2,i1,r1,&r4);
 if(f4 < 0) return f4;
 f5 = ddt_mux(f,i2,i1,r1,r2,&r5);
 if(f5 < 0) return f5;
 f6 = ddt_mux(f,i3,r3,r4,r5,&r6);
 if(f6 < 0) return f6;
 f7 = ddt_e21(f,i1,N,O,&r7);
 if(f7 < 0) return f7;
 f8 = ddt_e12(f,i1,N,O,&r8);
 if(f8 < 0) return f8;
 f9 = ddt_e21(f,i1,O,P,&r9);
 if(f9 < 0) return f9;
 f10 = ddt_e12(f,i1,O,P,&r10);
 if(f10 < 0) return f10;
 f11 = ddt_mux(f,i2,r7,r8,O,&r11);
 if(f11 < 0) return f11;
 f12 = ddt_mux(f,i2,r8,O,r9,&r12);
 if(f12 < 0) return f12;
 f13 = ddt_mux(f,i2,O,r9,r10,&r13);
 if(f13 < 0) return f13;
 f14 = ddt_mux(f,i3,r11,r12,r13,&r14);
 if(f14 < 0) return f14;
 if(o1) *o1 = r6;
 if(o2) *o2 = r14;
 return f1+f2+f3+f4+f5+f6+f7+f8+f9+f10+f11+f12+f13+f14;
}


Image

P.S. Интересно, что этот сненерённый полный сумматор по сути повторяет троичный полный сумматор из вот этой статьи 1996 года:
A.SRIVASTAVA and K.VENKATAPATHY "Design and Implementation of a Low Power Ternary Full Adder"
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.615.9736&rep=rep1&type=pdf


07 Jan 2011 07:40
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22542
Location: Silicon Valley
Reply with quote
А вот полусумматор (или что тоже самое - схема инкремента/декремента одного трита):

Code:
/* Generated by DDTc v0.5
   Solution is 6 x DG403
   See www.ternary.info */

#include "ddt.h"

int ddt_inde1_(int f, DDT i1, DDT i2, DDT* o1, DDT* o2)
{
 DDT r1,r2,r3,r4,r5,r6;
 int f1,f2,f3,f4,f5,f6;
 f1 = ddt_mux(f,i1,P,N,O,&r1);
 if(f1 < 0) return f1;
 f2 = ddt_mux(f,i1,O,P,N,&r2);
 if(f2 < 0) return f2;
 f3 = ddt_mux(f,i2,r1,i1,r2,&r3);
 if(f3 < 0) return f3;
 f4 = ddt_e12(f,i1,N,O,&r4);
 if(f4 < 0) return f4;
 f5 = ddt_e21(f,i1,O,P,&r5);
 if(f5 < 0) return f5;
 f6 = ddt_mux(f,i2,r4,O,r5,&r6);
 if(f6 < 0) return f6;
 if(o1) *o1 = r3;
 if(o2) *o2 = r6;
 return f1+f2+f3+f4+f5+f6;
}


Image

Вот так можно из них вручную построить 3-тритную схему инкремента-декремента:

Image

P.S. DDT сгенерировал более быструю схему 3-тритного инкремента-декремента где использованы 16 микросхем DG403


07 Jan 2011 07:46
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22542
Location: Silicon Valley
Reply with quote
Надумал я тут объединить MUX и MEM в единый элемент, который может уже по праву называться "универсальный троичный логический элемент", т.к. для построения ЛЮБЫХ троичных автоматов НИЧЕГО больше и не потребуется :)

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

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

P.S. Попоробовал собрать в симуляторе гибрид MUX+MEM - тяжеловато получается - может тормозить и глючить...


10 Jan 2011 20:17
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22542
Location: Silicon Valley
Reply with quote
Shaos wrote:
Развёл сдвоенный универсальный троичный элемент TRIMUX:

Image

Ширина короткой стороны треугольника (которых две) - 2.2 дюйма (или 56 мм), а длинной - соответственно 3.1 дюйм (или 79 мм).

Image

P.S. Планирую начать торговать долларов за 13 (меньше к сожалению будет себе в убыток)

P.P.S. См. http://www.trimux.com ;)


Компоненты для сборки:
IC1,IC2: DG403 (DIP16),
C1-C4: 0.1uF (tantalum),
JP1,JP2: right-angle 5-pin headers,
JP3: right-angle 3-pin header

Коннектор JP1 (большой слева):
1) S1 - выбирает путь следования сигнала в первом мультиплексоре
2) N1 - подсоединяется к C1 если S1=N ("negative" или -5V)
3) O1 - подсоединяется к C1 если S1=O ("zero" или 0V)
4) P1 - подсоединяется к C1 если S1=P ("positive" или +5V)
5) C1 - переключаемый сигнал первого мультиплексора

Коннектор JP2 (большой по середине):
1) S2 - выбирает путь следования сигнала во втором мультиплексоре
2) N2 - подсоединяется к C2 если S2=N ("negative" или -5В)
3) O2 - подсоединяется к C2 если S2=O ("zero" или 0В)
4) P2 - подсоединяется к C2 если S2=P ("positive" или +5В)
5) C2 - переключаемый сигнал второго мультиплексора

Коннектор JP3 (маленький справа):
1) V-NEG - отрицательное питание (обычно -5В)
2) GND - заземление
3) V-POS - положительное питание (обычно +5В)

Мультиплексор на самом деле мультиплексирует аналоговые сигналы, причём в обе стороны - т.е. его также можно использовать и как демультиплексор

Image

Ещё в декабре протестировал вышеприведённую плату на питающие напряжения -5В и +5В - пороги срабатывания получилсь -3.4В и +1.9В. А в январе придумал как на печатной плате TRIMUX собрать упрощённые троичные мультиплексоры E12 и E21 (для реализации функций XYY и XXY соответственно) - при этом на плату устанавливается только одна микросхема DG403 - либо слева (для E12), либо справа (для E21), плюс несколько перемычек. Контакты O1 и O2 в этом случае остаются незадействованы - работают только N1/N2 и P1/P2, причём для E12 порог при котором входы будут переключаться это -3.4В, а для E21 это +1.9В.

По лого нашёл, что производитель этих DG403 - "Siliconix Inc" (в настоящий момент этим брэндом владеет Vishay):

Image

Официальный даташит тут

P.S. Начал торговать плату через BatchPCB по $13 (из них мне пойдёт меньше доллара) - пока никто не покупает :(
на форумах буржуйских хоббистов попробовал изложить - ноль реакции...


21 Jul 2011 19:33
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22542
Location: Silicon Valley
Reply with quote
Shaos wrote:
А вот полусумматор (или что тоже самое - схема инкремента/декремента одного трита):

Code:
/* Generated by DDTc v0.5
   Solution is 6 x DG403
   See www.ternary.info */

#include "ddt.h"

int ddt_inde1_(int f, DDT i1, DDT i2, DDT* o1, DDT* o2)
{
 DDT r1,r2,r3,r4,r5,r6;
 int f1,f2,f3,f4,f5,f6;
 f1 = ddt_mux(f,i1,P,N,O,&r1);
 if(f1 < 0) return f1;
 f2 = ddt_mux(f,i1,O,P,N,&r2);
 if(f2 < 0) return f2;
 f3 = ddt_mux(f,i2,r1,i1,r2,&r3);
 if(f3 < 0) return f3;
 f4 = ddt_e12(f,i1,N,O,&r4);
 if(f4 < 0) return f4;
 f5 = ddt_e21(f,i1,O,P,&r5);
 if(f5 < 0) return f5;
 f6 = ddt_mux(f,i2,r4,O,r5,&r6);
 if(f6 < 0) return f6;
 if(o1) *o1 = r3;
 if(o2) *o2 = r6;
 return f1+f2+f3+f4+f5+f6;
}


Image


А вот тоже самое на "тримуксах":

Image


21 Jul 2011 22:08
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22542
Location: Silicon Valley
Reply with quote
Shaos wrote:
начал торговать плату через BatchPCB по $13 (из них мне пойдёт меньше доллара) - пока никто не покупает :(
на форумах буржуйских хоббистов попробовал изложить - ноль реакции...


есть реакция! сказали что плата кул, но надо больше примеров использования и хороший объясняющий материал про троичность нужен...


23 Jul 2011 20:13
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 195 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 13  Next

Who is online

Users browsing this forum: No registered users and 16 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.