nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 31 May 2020 03:21



Reply to topic  [ 45 posts ]  Go to page Previous  1, 2, 3  Next
Троичное АЦП 
Author Message
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18605
Location: Silicon Valley
Reply with quote
Shaos wrote:
Теперь осталось понять как заставить работать троичный вариант...


После долгих размышлений и экспериментов я пришел к выводу, что троичный АЦП надо строить совершенно иначе, а вышеприведенный подход в случае уравновешенной троичной системы уже не работает :(


12 Feb 2006 22:55
Profile WWW
Reply with quote
Quote:
По поводу 4 битов - ежу понятно что АЦП по такой схеме с большой точностью работать не будет (идеальных инверторов с бесконечным входным сопротивлением, как и идеально точных резисторов в природе не существует)


Потрясающе!

Расскажи мне тогда как влияет входное сопротивление инвертора на наращивание разрядности? (Можешь для начала открыть любую документацию и посмотреть его типовое значение.)
Мне будет очень интересно почитать новые откровения от Shaos.
С резисторами ты подумал минут так 45 и попал пальцем в небо.
Еще один наводящий вопрос: какая точность резисторов требуется для восьми разрядов? Корректна ли такая формулировка? Почему?

Два следующих вопроса:

1) чего не хватает в оригинальной схеме?

2) какие типовые методы обойти указанные выше недостатки?

Quote:
Я посчитал коэффициенты сопротивлений и написал...


Долго считал? Сочувствую - непросто конечно. Дифференциальные уравнения второго порядка в частных производных. И что получил?
(1) (2) (4) (8) (16) - замечательно!
Главное с ответом в статье сходится.

Quote:
После долгих размышлений и экспериментов я пришел к выводу, что троичный АЦП надо строить совершенно иначе...


Может поделишься размышлениями? Или ты пришел к выводу что делитель напряжения в троичной системе превращается в резонансный контур?
А заклинание на языке Java при этом говорить не надо?


13 Feb 2006 03:54
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18605
Location: Silicon Valley
Reply with quote
Зачем дифференциальные уравнения? Просто по теореме Мильмана посчитал, что:
U3 = inv(U)
U2 = inv(2/3*U + 1/3*U3)
U1 = inv(4/7*U + 2/7*U3 + 1/7*U2)
U0 = inv(8/15*U + 4/15*U3 + 2/15*U2 + 1/15*U1)
И кстати тут скорее не деление напряжения, а суммирование напряжений с учётом весовых коэффициентов. Причем сложение идет с инвертированными значениями - т.е. вычитание. Каждый из очередных полученных разрядов вычитается при получении следующих. Вот исходник на Java:

Code:
public class ADC2
{
 static double co[] = new double[4];
 static double u[] = new double[5];

 static double ti(double u)
 {
  if(u > +2.5) return 0;
  return 5;
 }

 static double fun(int n, double u1)
 {
  double sum = 0;
  double res = 0;
  u[4] = u1; // trick
  for(int i=0;i<n;i++) sum+=co[i];
  for(int i=0;i<n;i++) res+=co[n-i-1]*u[4-i]/sum;
  return res;
 }
 
 public static void main(String arg[])
 {
  co[0] = 1;
  co[1] = 2;
  co[2] = 4;
  co[3] = 8;
  double U = 0;
  double Us = 0.05;
  while(U<=5.0)
  {
   u[3] = ti(fun(1,U));
   u[2] = ti(fun(2,U));
   u[1] = ti(fun(3,U));
   u[0] = ti(fun(4,U));
   String uval = "";
   for(int i=3;i>=0;i--)
   {
     uval += " "+u[i];
   }
   System.out.println("U=" + U + " ADC =" + uval);
   U += Us;
  }
 }
}


С уравновешенной троичной логикой такой фокус не пройдет - там можно сделать похоже, но иначе (пока не догадался как, но скоро должен).

P.S. Alik, тебе еще не надоело делать вид что ты знаешь ответы на все вопросы и что вокруг тебя одни идиоты? Чем упорнее ты будешь доказывать окружающим что ты самый умный, тем сильнее они будут подозревать обратное ;)

P.P.S. Корректировать чужие цитаты нехорошо - это я о "посчитал коэффициенты сопротивлений"


13 Feb 2006 19:27
Profile WWW
Reply with quote
Shaos, посмотри на этот диалог об АЦП еще раз:

Сначала ты дал ссылку на схему
http://www.trinary.cc/Tutorial/Interface/Analog.htm
которая неинтересна только потому, что требует больших аппаратных затрат и реализует последовательное приближение по аналогии с двоичным.
Далее в ответ на мою схему следует реплика: "А какое отношение это имеет к АЦП?"
Потом ты пишешь о несовместимости характеристик. Как будто уже есть заказ на построение 10000 троичных АЦП с абсолютно одинаковыми параметрами.
Тебе, как выясняется "...больше по душе троичный инвертор на оптопарах". Да, хорошие приборы, но как интегрировать их в микросхему - непонятно.
Со ссылкой на твой преподавательский опыт, ты подробно пишешь о порогах троичного инвертора, хотя дальше идет фраза: "По поводу центральной точки - я понятия не имею почему ты её к земле не подцепил".
Переходим к моим вопросам на понимание принципа работы такого АЦП именно на КМОП-инверторах.
Ты не ответил ни на один из них.
Могу повторить:
1) Какая точность резисторов требуется для восьми разрядов? Корректна ли такая формулировка? Почему?
2) Чего не хватает в оригинальной схеме?
3) Какие типовые методы обойти указанные выше недостатки?

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

По поводу всего этого мне только остается надпомнить тебе басню "Лебедь, Щука и Рак"


14 Feb 2006 08:15
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18605
Location: Silicon Valley
Reply with quote
Quote:
По поводу всего этого мне только остается надпомнить тебе басню "Лебедь, Щука и Рак"


А после твоей нецензурщины на этом форуме мне только остается забанить тебя раз и навсегда.

Прощай Alik, мы тебя никогда не забудем...

P.S. А тем временм я прикинул схему троичного АЦП на операционниках, работающую по аналогичному принципу.


14 Feb 2006 18:13
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18605
Location: Silicon Valley
Reply with quote
Shaos wrote:

P.S. А тем временм я прикинул схему троичного АЦП на операционниках, работающую по аналогичному принципу.


А вот и схема:

Image

Это модуль троичного АЦП, который генерирует один трит и аналоговую ошибку, которую надо передать на вход следующего модуля. Как видно один модуль АЦП состоит из двух компараторов и двух операционников. В окончательной схеме по-видимому надо добавить еще по одному операционнику на трит - чтобы буферизировать выходы (ну или можно двухтранзисторные буфера приделать). Схема нарисована и отлажена в программе MULTISIM.


15 Feb 2006 21:59
Profile WWW
Retired

Joined: 03 Aug 2003 23:37
Posts: 1480
Location: Moscow
Reply with quote
Очень красиво :-) Один вопрос: а где там что ? :-)


16 Feb 2006 11:38
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18605
Location: Silicon Valley
Reply with quote
Mac Buster wrote:
Очень красиво :-) Один вопрос: а где там что ? :-)


Ну вобщем аналоговый сигнал подается слева внизу - там где генератор синусоиды нарисован. Сигнал подается на инвертирующий операционный усилитель с коэффициентом усиления 1. Потом идём на троичный инвертор на двух компараторах и двух диодах (слева вверху) с порогами срабатывания -U/3 и +U/3. Выход троичного инвертора подается на суммирующий операционный усилитель с инверсией, считающий по следующей формуле:

Uout = -3*(-Uin) - 2*Uinv3 = 3*Uin - 2*Uinv3

где -Uin - инвертированный входной сигнал, а Uinv3 - выход троичного инвертора (троично инветрирующий аналогово инвертированный входной сигнал).

Выход троичного инвертора (точка между двумя диодами, с которой идет сигнал на вольтметр) является выходом вычисленного трита.

Выход вычисляющего операционника Uout можно считать ошибкой вычисления, нормализованной до всего диапазона -U...+U. Эту ошибку вычисления можно подавать на следующий точно такой же модуль в качестве входного сигнала для вычисления следующего трита и получения следующей ошибки, подаваемой далее и т.д.


16 Feb 2006 17:31
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18605
Location: Silicon Valley
Reply with quote
Кстати на тех же принципах можно сделать 3-тритный сумматор - ЦАПы на одном операционнике для оцифровки слагаемых, затем складывающий операционник (у него можно также сделать настраиваемые коэффициенты сложения) и после него - АЦП для получения 3-тритного результата и одного флага переноса.


20 Feb 2006 16:22
Profile WWW
Reply with quote
Можно ли сравнить сложность двоичного и троичного АЦП? Исходя из схемы выше у меня сложилось впечатление, что троичный АЦП потребует примерно в 2 раза больше компонент, чем двоичный.


29 Nov 2009 13:03
Retired

Joined: 03 Aug 2003 23:37
Posts: 1480
Location: Moscow
Reply with quote
Это не совсем верный подход, т.к. кроме количества элементов следует учесть количество соединений и качество преобразования.


29 Nov 2009 15:27
Profile
Reply with quote
Можно ли оценить количество соединений и количество элементов для, скажем 8-ми битного двоичного ацп и 5-ти тритного троичного ацп? Качество у них грубо можно считать одинаковым.


30 Nov 2009 07:04
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18605
Location: Silicon Valley
Reply with quote
исходя из первоначальной "двоичной" схемы можно увидеть, что для двоичного АЦП используется один операционник на один двоичный разряд, а в троичной схеме - 2 операционника и 2 компаратора на один троичный разряд - что вроде бы многовато, однако схема троичного АЦП может быть упрощена путём объединения суммирующего операционника предыдущего разряда и инвертирующего операционника следующего разряда в один - правда в этом случае через один потребуется организовать схему троичной инверсии (отрицания), или ещё один вариант упрощения - сделать АЦП последовательным, когда одна и таже схема, изображённая на рисунке, будет считать каждый из разрядов последовательно, сохраняя разряды (а также промежуточное значение ошибки) на конденсаторах


30 Nov 2009 22:20
Profile WWW
Reply with quote
Если я правильно понимаю сложность троичного ацп все равно значительно превосходит двоичный.

К слову, а можно ли как-то сравнить сложность двоичного и троичного процессора? Если взять минимальный набор команд и реализовать для них двоичное и троичное железо?

Возможно даже не надо сравнивать сложность процессоров. В книге Ч. Петзольда "КОД - тайный язык информатики" подробно расписывается устройство двоичного сумматора. Для создания 8-ми разрядного сумматора требуется 144 гейта (примеры в книге базирутся на обычных реле). Можно ли оценить сложность троичного сумматора на 5 разрядов?


01 Dec 2009 14:35
Reply with quote
это не совсем корректно
во-первых в связи с предстьавлением к примеру троичный сумматор стоит сравнивать не с сумматором а с сумматором-вычитателем в двоичной
есть и другие алгоритмические особенности не позволяющие адекватно сравнить реализации по емкости железа


01 Dec 2009 14:46
Display posts from previous:  Sort by  
Reply to topic   [ 45 posts ]  Go to page Previous  1, 2, 3  Next

Who is online

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