реклама на сайте
подробности

 
 
> Троичный ЦАП, Ternary DAC R-3R-9R-27R...
Karim
сообщение May 4 2010, 05:06
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



Генератор синуса 4bit без ступенек на базе интегратора, Atmega32, 1Мгц RC, TDA2030, резисторы в пропорции R-3R-9R-27R. Выход около 300Гц, амплитуда около 0,8Вольт. Превращение инвертирующей схемы в интегратор: резистор обратной связи ОУ заменен кондером 4,7мкФ, с выхода ОУ на минус 0,47мкФ. Синус неправильный, при формировании длительностей не учтены длительности чтения+выполнения самих команд. Помеха на дне отрицательной полуволны искусственная, закодирована.
Мой интерес: проггер я никудышный, прошу помощи в написании кодов для этой схемы. В моей проге тупая запись в DDR и PORT.
Последние две фотки без кондера 4bit 81step ternary DAC (остальные весовые резисторы отключены)

Сообщение отредактировал Karim - May 4 2010, 05:22
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  sin4bit.zip ( 56.04 килобайт ) Кол-во скачиваний: 59
Прикрепленный файл  mega32_dac_5bit_243step_20mV_a.zip ( 59.68 килобайт ) Кол-во скачиваний: 51
 
Go to the top of the page
 
+Quote Post
3 страниц V  < 1 2 3 >  
Start new topic
Ответов (15 - 29)
Karim
сообщение May 21 2010, 02:30
Сообщение #16


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



Что ж Вы утаиваете не выгодные для обычного ШИМ результаты анализа? Во сколь раз палка от Тактовой деленной на два в степени 16 у 16-бит ШИМ ЦАП выше аналогичной 1-бит интегрирующего троичного ЦАП? Так не честно, а если я частоту ZШИМ в 2 раза подниму?
Кстати давайте на равных, Вы чем пользуетесь?

Сообщение отредактировал Karim - May 21 2010, 02:32
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 21 2010, 03:41
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(ae_ @ May 20 2010, 07:38) *
- ресурсов МК расходуется меньше

А частота на которой работает контроллер, это ресурс или нет? это я в тому, что
Цитата
... 16-бит ШИМ, т.к. выходная частота низкая - 300Гц.

Даже на 300Hz у PWM (и соответственно в случае AVR) и ядра под 20MHz. Причем 300Hz это частота дискретизации. Сколько хотите ступенек на период? тоже соответствующие 16 бит разрядности? Что получаем? Получаем даже не пшик sad.gif ибо 300Hz/65536 это менее, чем 0.0046Hz. На 16MHz тактовой 8bit PWM и 256 отсчетах на период максимальная частота 244Hz. Это если атмеговский Fast PWM. Для 'точного' вдвое ниже. Занавес.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Karim
сообщение May 21 2010, 05:15
Сообщение #18


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



Можно конкретнее свою позицию, Вы За или Против PWM с использованием Z . Или Вы хотите выразить свое отношение к Троичному ЦАП?
Что Вы думаете по первому посту?
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 21 2010, 09:47
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Karim @ May 21 2010, 08:15) *
Что Вы думаете по первому посту?

Заколебаетесь изображать приличный DAC из фиг знает чего и крутить подстроечники. Возьмите контроллер с DAC на борту и не майтесь ни PWM для которого Вам, как уже выяснилось, банально не хватит мегагерцев, ни самодельщиной подверженной влиянию цены на дрова в Кабуле.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение May 21 2010, 10:10
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Karim @ May 21 2010, 08:15) *
Что Вы думаете по первому посту?

Хотя к ЦАПу на ШИМ испытываю недоверие, Ваше решение тоже не вдохновляет.
Дешевый STM32 обеспечивает два канала синуса с точностью процентов на частоте несколько десятков килогерц без загрузки контроллера.
Так что Ваше решение годится в качестве учебной задачи, не более того.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 21 2010, 11:33
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Dog Pawlowa @ May 21 2010, 13:10) *
Дешевый STM32 обеспечивает два канала синуса с точностью процентов на частоте несколько десятков килогерц

Несколько это 20KHz? 20KHz*256(разрядность PWM)*256(количество отсчетов на период) = 1.3GHz Дешовые STM уже дошли и перешли за ГИГАГЕРЦ???
Либо в каком месте будем осетра урезать?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение May 21 2010, 11:45
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(zltigo @ May 21 2010, 14:33) *
Либо в каком месте будем осетра урезать?

Не будем. Сорри, неудачно сформулировал, мыслей оказалось больше, перепрыгнул smile.gif

Я не имел ввиду ШИМ, я имел ввиду Таймер + ПДП + ЦАП.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Karim
сообщение May 21 2010, 12:28
Сообщение #23


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



Что ж Вы так, к своему времени неуважительно. Я ж не спрашиваю Вас " что будет если?", я написал "то-то работает, нужна помощь". А Вы мне что в ответ? Кто не хочет помогать, вон, соседних веток море. Хотим помогать- обсуждаем алгоритм. А кто хочет и схему готовую и прогу пусть ждет в тряпочку. Устроили дискуссию как в доме опытных-переопытных ветеранов с замерзшими паяльниками. Мы же с Вами электронщики, у нас всегда было есть и будет здоровая конкуренция в упряжке с взаимопомощью.
Кому понятен первый пост, отвечаем по существу, пожалуйста.
Давайте лучше сравним случай записи в DDR PORT готовых кодов из тела программы, когда вся сложность ПО- в предварительном переводе двоички в троичку. Любой для себя это сделает раз в жизни (вдумываясь, дальше на автомате)
.....................................троичка......двоичка
Комбинаций при 8 битах.......6561.......256
проигрыш в объеме.......... ...2........1
проигрыш в скорости...........2........1
6561:2:2:256=6.4... При одинаковой значимости объема, скорости и количества ступенек выигрыш был бы таким, если бы не помехи переключений. Это отдельный разговор. Но мы же знаем, значимость параметра - это понятие пластилиновое.
................................... троичка....двоичка
Комбинаций при 3 битах........27.......8
проиг.в объеме.....................2........1
проиг.в скорости..................2........1
28:2:2:8= 0.875 Это проигрыш если только значимость параметров по 0.333. Даже при явном проигрыше 3 битного при одинаковой значимости параметров, думаю найдется приложение или чел, которым параллельны скорость и объем.
Прошу не удивляться если на других форумах найдете меня с одинаковым содержанием постов.
Go to the top of the page
 
+Quote Post
xemul
сообщение May 21 2010, 12:53
Сообщение #24



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(Karim @ May 21 2010, 16:28) *
...

Вы уже осознали источники погрешностей своего ЦАП? Если да, то к чему эти среднепотолочные расчёты? Если нет, то ... продолжайте.
Такие ЦАПы пытались использовать, когда объём кода считался в корпусах логики. smile.gif Сейчас они могут быть интересны в плане теоретическом (студентам, изучающим метрологию), но не практическом.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение May 21 2010, 12:58
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Karim @ May 21 2010, 15:28) *
Хотим помогать- обсуждаем алгоритм. А кто хочет и схему готовую и прогу пусть ждет в тряпочку.

Алгоритм вообще-то зависит от требований к быстродействию.
Естественно напрашивается массив значений PORTA/DDRA/константа в таймер.
Загрузили константу в таймер ->
пришло прерывание ->
записали значение PORTA ->
записали значение DDRA ->
инкремент индекса массива и проверка
выход из прерывания
поделали что-то полезное
прерывание повторяется.

Требуется подготовка таблицы, вполне удобен EXEL.
Успехов.
А от схемы и проги увольте, они никому не нужны. wink.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 21 2010, 14:30
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Karim @ May 21 2010, 15:28) *
Прошу не удивляться если на других форумах найдете меня с одинаковым содержанием постов.

Прошу не удивляться, что там Вам расскажут много более доходчиво, что думают о таком DAC. Практический смысл равен 0. Все разговоры за экономию тактов и выводов полностью гробятся двухполярным питанием, которое заодно является и опорным, дивным набором резисторов и непредсказуемостью утечек и переходных процессов. Если Вы лично или кто другой загнали себя в угол, например, количеством выводов у контроллера и вместо того того, что-бы взять другой контроллер пусть даже не с DAC, а с количеством выводов достаточным для банальной R-2R матрицы, и вместо этого начали городить дивный набор резисторов и двухполярное питание, то .... воздержусь от дальнейших комментариев.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Karim
сообщение May 21 2010, 17:44
Сообщение #27


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-11-08
Из: Уфа
Пользователь №: 41 659



xemul, кроме недостатков вижу способы преодоления некоторых.
Dog Pawlowa, спасибо за пожелания и пересказ вложения первого поста. А я юзаю Excel.
zltigo, не удивляюсь, всегда знал, что дубину можно рычагом, чтоб подтолкнуть, можно спицей деревянного не совсем круглого колеса, но чтоб катилось, можно поперек этих спиц, а можно и в черно-белую полоску использовать, Вы могли помочь, но не только не помогли, но еще ...
За меня не беспокойтесь, не сверну.
Чем объяснить, то что гуру, профессионалы и знающие, которые уже помогли сотням и тысячам, ни один не предложил помощи здесь? Некоторым из них времени потребуется в тысячу раз меньше, чем мне. Кроме высказанных ими причин может еще отсутствие библиотечных заготовок? Высшим пилотажем у микроконтроллерщиков считается быстро из либы достать и подладить под себя в эксклюзивном алгоритме. Говоря словами zltigo, заколебался клянчить, наверно придется в однеху маяться.
В заключении хочу поблагодарить ARV с форума Радиокот, который просто взял и написал прогу перевода двоички в троичку.
Спасибо всем. Кому интересно, что дальше, обращайтесь majorka65@mail.ru
zltigo, можно закрывать ветку.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение May 21 2010, 18:01
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Karim @ May 21 2010, 20:44) *
ни один не предложил помощи здесь

Подобный случай описан у Конан Дойля.
Вы, видимо, решили, что когда нищий говорит колкости, ему больше дают.

Цитата(zltigo @ May 21 2010, 17:30) *
.. дивным набором резисторов ...

Мне кажется, тут есть один интересный момент. Если этот ЦАП предназначен только для синуса, то можно установить переменный индивидуальный интервал между моментами установки параллельных данных, компенсируя тем самым особенность набора резисторов.
Ностальгия. Мой диплом 30 лет назад был - генерация синуса в цифре smile.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 21 2010, 18:30
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Karim @ May 21 2010, 20:44) *
.. и написал прогу перевода двоички в троичку.

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

ну тогда еще подскажу, что можно зубы через анус лечить - это все именно то, чем Вы занимаетесь sad.gif.
Цитата
За меня не беспокойтесь, не сверну.

Дык, это и печально.

Цитата(Dog Pawlowa @ May 21 2010, 21:01) *
Если этот ЦАП предназначен только для синуса, то можно установить переменный индивидуальный интервал между моментами установки параллельных данных, компенсируя тем самым особенность набора резисторов.

А почему синус? Любой сигнал - просто подстройка шириной импульса, т.е. ШИМом нелинейности. Проблема в том, что разрешающую способность таймера надо будет иметь, как у ШИМ.
Просто будет ШИМ работающий не на весь диапазон. Круг замкнулся.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
xemul
сообщение May 21 2010, 19:58
Сообщение #30



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(Karim @ May 21 2010, 21:44) *
xemul, кроме недостатков вижу способы преодоления некоторых.

Чтобы удобнее было преодолевать, разделите проблемы на смехотехнические и алгоритмические.
Смехотехнические одинаковы для ЦАПов и на R-2R, и на R-3R матрицах - точность матриц, опор, влияние сопротивлений ключей. Здесь у R-3R никаких преимуществ (кроме рукопашного подбора резисторов smile.gif) нет.
Алгоритмические... Dog Pawlowa уже описАл алгоритм формирования произвольного сигнала с помощью ЦАП. Основные проблемы - целочисленность таймера и ЦАП, и джиттер выдачи кода в ЦАП. Здесь R-3R от R-2R тоже ничем не отличается.
Поэтому и было сказано, что интерес к ЦАПу на R-3R матрице может быть теоретический (типа - так тоже можно), но практического смысла в его реализации чуть да маленько.

(все вышенатоптанные буквы - не более, чем хо (humble opinion), не должное остановить полёт мысли)
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 23:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.04026 секунд с 7
ELECTRONIX ©2004-2016