Jump to content

    
Sign in to follow this  
majorka65

Троичный ЦАП

Recommended Posts

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

Кстати давайте на равных, Вы чем пользуетесь?

Edited by Karim

Share this post


Link to post
Share on other sites
- ресурсов МК расходуется меньше

А частота на которой работает контроллер, это ресурс или нет? это я в тому, что

... 16-бит ШИМ, т.к. выходная частота низкая - 300Гц.

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

Share this post


Link to post
Share on other sites

Можно конкретнее свою позицию, Вы За или Против PWM с использованием Z . Или Вы хотите выразить свое отношение к Троичному ЦАП?

Что Вы думаете по первому посту?

Share this post


Link to post
Share on other sites
Что Вы думаете по первому посту?

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

Share this post


Link to post
Share on other sites
Что Вы думаете по первому посту?

Хотя к ЦАПу на ШИМ испытываю недоверие, Ваше решение тоже не вдохновляет.

Дешевый STM32 обеспечивает два канала синуса с точностью процентов на частоте несколько десятков килогерц без загрузки контроллера.

Так что Ваше решение годится в качестве учебной задачи, не более того.

Share this post


Link to post
Share on other sites
Дешевый STM32 обеспечивает два канала синуса с точностью процентов на частоте несколько десятков килогерц

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

Либо в каком месте будем осетра урезать?

Share this post


Link to post
Share on other sites
Либо в каком месте будем осетра урезать?

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

 

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

Share this post


Link to post
Share on other sites

Что ж Вы так, к своему времени неуважительно. Я ж не спрашиваю Вас " что будет если?", я написал "то-то работает, нужна помощь". А Вы мне что в ответ? Кто не хочет помогать, вон, соседних веток море. Хотим помогать- обсуждаем алгоритм. А кто хочет и схему готовую и прогу пусть ждет в тряпочку. Устроили дискуссию как в доме опытных-переопытных ветеранов с замерзшими паяльниками. Мы же с Вами электронщики, у нас всегда было есть и будет здоровая конкуренция в упряжке с взаимопомощью.

Кому понятен первый пост, отвечаем по существу, пожалуйста.

Давайте лучше сравним случай записи в 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 битного при одинаковой значимости параметров, думаю найдется приложение или чел, которым параллельны скорость и объем.

Прошу не удивляться если на других форумах найдете меня с одинаковым содержанием постов.

Share this post


Link to post
Share on other sites
...

Вы уже осознали источники погрешностей своего ЦАП? Если да, то к чему эти среднепотолочные расчёты? Если нет, то ... продолжайте.

Такие ЦАПы пытались использовать, когда объём кода считался в корпусах логики. :) Сейчас они могут быть интересны в плане теоретическом (студентам, изучающим метрологию), но не практическом.

Share this post


Link to post
Share on other sites
Хотим помогать- обсуждаем алгоритм. А кто хочет и схему готовую и прогу пусть ждет в тряпочку.

Алгоритм вообще-то зависит от требований к быстродействию.

Естественно напрашивается массив значений PORTA/DDRA/константа в таймер.

Загрузили константу в таймер ->

пришло прерывание ->

записали значение PORTA ->

записали значение DDRA ->

инкремент индекса массива и проверка

выход из прерывания

поделали что-то полезное

прерывание повторяется.

 

Требуется подготовка таблицы, вполне удобен EXEL.

Успехов.

А от схемы и проги увольте, они никому не нужны. ;)

Share this post


Link to post
Share on other sites
Прошу не удивляться если на других форумах найдете меня с одинаковым содержанием постов.

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

Share this post


Link to post
Share on other sites

xemul, кроме недостатков вижу способы преодоления некоторых.

Dog Pawlowa, спасибо за пожелания и пересказ вложения первого поста. А я юзаю Excel.

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

За меня не беспокойтесь, не сверну.

Чем объяснить, то что гуру, профессионалы и знающие, которые уже помогли сотням и тысячам, ни один не предложил помощи здесь? Некоторым из них времени потребуется в тысячу раз меньше, чем мне. Кроме высказанных ими причин может еще отсутствие библиотечных заготовок? Высшим пилотажем у микроконтроллерщиков считается быстро из либы достать и подладить под себя в эксклюзивном алгоритме. Говоря словами zltigo, заколебался клянчить, наверно придется в однеху маяться.

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

Спасибо всем. Кому интересно, что дальше, обращайтесь majorka65@mail.ru

zltigo, можно закрывать ветку.

Share this post


Link to post
Share on other sites
ни один не предложил помощи здесь

Подобный случай описан у Конан Дойля.

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

 

.. дивным набором резисторов ...

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

Ностальгия. Мой диплом 30 лет назад был - генерация синуса в цифре :)

Share this post


Link to post
Share on other sites
.. и написал прогу перевода двоички в троичку.

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

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

ну тогда еще подскажу, что можно зубы через анус лечить - это все именно то, чем Вы занимаетесь :(.

За меня не беспокойтесь, не сверну.

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

 

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

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

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

Share this post


Link to post
Share on other sites
xemul, кроме недостатков вижу способы преодоления некоторых.

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

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

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

Поэтому и было сказано, что интерес к ЦАПу на R-3R матрице может быть теоретический (типа - так тоже можно), но практического смысла в его реализации чуть да маленько.

 

(все вышенатоптанные буквы - не более, чем хо (humble opinion), не должное остановить полёт мысли)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this