|
Троичный ЦАП, Ternary DAC R-3R-9R-27R... |
|
|
|
May 4 2010, 05:06
|
Участник

Группа: Участник
Сообщений: 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
Эскизы прикрепленных изображений
|
|
|
|
|
 |
Ответов
(15 - 29)
|
May 21 2010, 02:30
|
Участник

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

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

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

|
Цитата(ae_ @ May 20 2010, 07:38)  - ресурсов МК расходуется меньше А частота на которой работает контроллер, это ресурс или нет? это я в тому, что Цитата ... 16-бит ШИМ, т.к. выходная частота низкая - 300Гц. Даже на 300Hz у PWM (и соответственно в случае AVR) и ядра под 20MHz. Причем 300Hz это частота дискретизации. Сколько хотите ступенек на период? тоже соответствующие 16 бит разрядности? Что получаем? Получаем даже не пшик  ибо 300Hz/65536 это менее, чем 0.0046Hz. На 16MHz тактовой 8bit PWM и 256 отсчетах на период максимальная частота 244Hz. Это если атмеговский Fast PWM. Для 'точного' вдвое ниже. Занавес.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 21 2010, 05:15
|
Участник

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

|
Можно конкретнее свою позицию, Вы За или Против PWM с использованием Z . Или Вы хотите выразить свое отношение к Троичному ЦАП? Что Вы думаете по первому посту?
|
|
|
|
|
May 21 2010, 10:10
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(Karim @ May 21 2010, 08:15)  Что Вы думаете по первому посту? Хотя к ЦАПу на ШИМ испытываю недоверие, Ваше решение тоже не вдохновляет. Дешевый STM32 обеспечивает два канала синуса с точностью процентов на частоте несколько десятков килогерц без загрузки контроллера. Так что Ваше решение годится в качестве учебной задачи, не более того.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
May 21 2010, 12:28
|
Участник

Группа: Участник
Сообщений: 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 битного при одинаковой значимости параметров, думаю найдется приложение или чел, которым параллельны скорость и объем. Прошу не удивляться если на других форумах найдете меня с одинаковым содержанием постов.
|
|
|
|
|
May 21 2010, 12:58
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(Karim @ May 21 2010, 15:28)  Хотим помогать- обсуждаем алгоритм. А кто хочет и схему готовую и прогу пусть ждет в тряпочку. Алгоритм вообще-то зависит от требований к быстродействию. Естественно напрашивается массив значений PORTA/DDRA/константа в таймер. Загрузили константу в таймер -> пришло прерывание -> записали значение PORTA -> записали значение DDRA -> инкремент индекса массива и проверка выход из прерывания поделали что-то полезное прерывание повторяется. Требуется подготовка таблицы, вполне удобен EXEL. Успехов. А от схемы и проги увольте, они никому не нужны.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
May 21 2010, 14:30
|

Гуру
     
Группа: Свой
Сообщений: 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
|
|
|
|
|
May 21 2010, 17:44
|
Участник

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

|
xemul, кроме недостатков вижу способы преодоления некоторых. Dog Pawlowa, спасибо за пожелания и пересказ вложения первого поста. А я юзаю Excel. zltigo, не удивляюсь, всегда знал, что дубину можно рычагом, чтоб подтолкнуть, можно спицей деревянного не совсем круглого колеса, но чтоб катилось, можно поперек этих спиц, а можно и в черно-белую полоску использовать, Вы могли помочь, но не только не помогли, но еще ... За меня не беспокойтесь, не сверну. Чем объяснить, то что гуру, профессионалы и знающие, которые уже помогли сотням и тысячам, ни один не предложил помощи здесь? Некоторым из них времени потребуется в тысячу раз меньше, чем мне. Кроме высказанных ими причин может еще отсутствие библиотечных заготовок? Высшим пилотажем у микроконтроллерщиков считается быстро из либы достать и подладить под себя в эксклюзивном алгоритме. Говоря словами zltigo, заколебался клянчить, наверно придется в однеху маяться. В заключении хочу поблагодарить ARV с форума Радиокот, который просто взял и написал прогу перевода двоички в троичку. Спасибо всем. Кому интересно, что дальше, обращайтесь majorka65@mail.ru zltigo, можно закрывать ветку.
|
|
|
|
|
May 21 2010, 18:01
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(Karim @ May 21 2010, 20:44)  ни один не предложил помощи здесь Подобный случай описан у Конан Дойля. Вы, видимо, решили, что когда нищий говорит колкости, ему больше дают. Цитата(zltigo @ May 21 2010, 17:30)  .. дивным набором резисторов ... Мне кажется, тут есть один интересный момент. Если этот ЦАП предназначен только для синуса, то можно установить переменный индивидуальный интервал между моментами установки параллельных данных, компенсируя тем самым особенность набора резисторов. Ностальгия. Мой диплом 30 лет назад был - генерация синуса в цифре
--------------------
Уходя, оставьте свет...
|
|
|
|
|
May 21 2010, 18:30
|

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

|
Цитата(Karim @ May 21 2010, 20:44)  .. и написал прогу перевода двоички в троичку. Наверное телепат, ибо никто из присутствующих не смог догадаться, что Вы просите этого. Цитата всегда знал, что дубину можно рычагом, чтоб подтолкнуть, можно спицей деревянного не совсем круглого колеса, но чтоб катилось, можно поперек этих спиц, а можно и в черно-белую полоску использовать, ну тогда еще подскажу, что можно зубы через анус лечить - это все именно то, чем Вы занимаетесь  . Цитата За меня не беспокойтесь, не сверну. Дык, это и печально. Цитата(Dog Pawlowa @ May 21 2010, 21:01)  Если этот ЦАП предназначен только для синуса, то можно установить переменный индивидуальный интервал между моментами установки параллельных данных, компенсируя тем самым особенность набора резисторов. А почему синус? Любой сигнал - просто подстройка шириной импульса, т.е. ШИМом нелинейности. Проблема в том, что разрешающую способность таймера надо будет иметь, как у ШИМ. Просто будет ШИМ работающий не на весь диапазон. Круг замкнулся.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 21 2010, 19:58
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(Karim @ May 21 2010, 21:44)  xemul, кроме недостатков вижу способы преодоления некоторых. Чтобы удобнее было преодолевать, разделите проблемы на смехотехнические и алгоритмические. Смехотехнические одинаковы для ЦАПов и на R-2R, и на R-3R матрицах - точность матриц, опор, влияние сопротивлений ключей. Здесь у R-3R никаких преимуществ (кроме рукопашного подбора резисторов  ) нет. Алгоритмические... Dog Pawlowa уже описАл алгоритм формирования произвольного сигнала с помощью ЦАП. Основные проблемы - целочисленность таймера и ЦАП, и джиттер выдачи кода в ЦАП. Здесь R-3R от R-2R тоже ничем не отличается. Поэтому и было сказано, что интерес к ЦАПу на R-3R матрице может быть теоретический (типа - так тоже можно), но практического смысла в его реализации чуть да маленько. (все вышенатоптанные буквы - не более, чем хо (humble opinion), не должное остановить полёт мысли)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|