научите работать с ЦАП

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
foton6
Встал на лапы
Сообщения: 146
Зарегистрирован: Вс сен 16, 2012 22:00:40

научите работать с ЦАП

Сообщение foton6 »

Покопался вообщем на просторах интернета, почитал.
Все что прочел было на тему "железа".
Не нашел статеек по программной части.
Точнее меня интересует реализация ЦАП, допустим на Atmega8.
Почтила про R 2R. тут все понятно. Отдаленно начал представлять что происходит в МК.
Хотелось бы точнее знать, что и как писать.
Поделитесь информацией пожалуйста.(пойдут любые статьи и т.п. на русском языке)
Реклама
Аватара пользователя
eess9
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Ср фев 29, 2012 01:58:32
Откуда: Харьков, Украина

Re: научите работать с ЦАП

Сообщение eess9 »

Аппаратного ЦАП в mega8 нет.
Я решал эту проблему ШИМ-ом + интегрирующая цепочка.
Реклама
foton6
Встал на лапы
Сообщения: 146
Зарегистрирован: Вс сен 16, 2012 22:00:40

Re: научите работать с ЦАП

Сообщение foton6 »

Тоесть ты хочешь сказать что нельзя при помощи R2R реализовать ЦАП?)
Аватара пользователя
eess9
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Ср фев 29, 2012 01:58:32
Откуда: Харьков, Украина

Re: научите работать с ЦАП

Сообщение eess9 »

При помощи R2R реализовать ЦАП можно, но внутри mega8 его нет. Вот это я и хочу сказать. Хотите городите внешний на резуках (если есть большое желание), но, по моему, это того не стоит. Легче купить внешний готовый.
Реклама
Эиком - электронные компоненты и радиодетали
foton6
Встал на лапы
Сообщения: 146
Зарегистрирован: Вс сен 16, 2012 22:00:40

Re: научите работать с ЦАП

Сообщение foton6 »

Мне интересно на данный момент как на осциллографе рисуют разную "ахинею" (программная часть)
http://cxem.net/beginner/beginner90-21.png к примеру.
Реклама
foton6
Встал на лапы
Сообщения: 146
Зарегистрирован: Вс сен 16, 2012 22:00:40

Re: научите работать с ЦАП

Сообщение foton6 »

Реклама
Аватара пользователя
eess9
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Ср фев 29, 2012 01:58:32
Откуда: Харьков, Украина

Re: научите работать с ЦАП

Сообщение eess9 »

Минусы:
1. Используется количество ног контроллера равное разрядности ЦАП. Если вы хотите получить хорошую разрядность (к примеру, восемь) надо отдать весь порт на отступление ЦАП. Не всегда это возможно.
2. Во второй ссылке, автор ясно говорит что точность так себе. Надо 1% резисторы. От себя могу сказать, что 0.1% еще лучше.
3. Сопротивление резисторов ЦАП надо согласовывать с нагрузкой. Это легко решается буфером на операционнике, но +1 корпус.
Плюсы:
1. Дешевезна.

P.S. Может кто-то что-то добавит к выше перечисленному.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: научите работать с ЦАП

Сообщение Gudd-Head »

Есть разные виды ЦАП с разными характеристиками. Определитесь что вам надо.
Вот ещё: http://radiokot.ru/circuit/digital/game/03/
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: научите работать с ЦАП

Сообщение Аlex »

eess9 писал(а):Плюсы:
1. Дешевезна.
2. Скорость вывода значительно выше, чем у PWM+RC.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: научите работать с ЦАП

Сообщение Gudd-Head »

Аlex писал(а):PWM+RC.
ШИМ+ФНЧ.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
foton6
Встал на лапы
Сообщения: 146
Зарегистрирован: Вс сен 16, 2012 22:00:40

Re: научите работать с ЦАП

Сообщение foton6 »

Пока задача довольна банальна, управлять напряжением от 0 до 5в. (предположительно)
Портов достаточно, ценовой вопрос играет роль.
Управление 2 кнопки + и - , и еще автоматическая поддержка выбранного уровня исходя из сигнала поступающего с датчика управляемого устройства.
foton6
Встал на лапы
Сообщения: 146
Зарегистрирован: Вс сен 16, 2012 22:00:40

Re: научите работать с ЦАП

Сообщение foton6 »

Да и тут не так важно решение по железу. Мне сейчас важнее освоить сам ЦАП, попутно и АЦП ))))
Все таки в первую очередь я этим занимаюсь для себя нежеле для кого то))
Я вроде уже додумался как надо организовывать программу, но еще не на столько что бы пытаться реализовать что-то.

Тема создана с целью найти хотя бы 1 простенькую программу , желательно для работы с R2R. ибо на подобной проге понятно будет все до безобразия.
Может у кого то есть простенькая прога или хотя бы какой нибудь алгоритм. в GCC ибо АСМ не знаю, пока что))))
А статье в которой разбиралась бы прога и вовсе очень рад был бы)
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: научите работать с ЦАП

Сообщение uk8amk »

R2R ЦАП бывают не только самодельные. К572ПА1 к примеру тоже содержит такую матрицу. Помню также отдельно выпускались и сборки резисторов для построения преобразователей. Но сейчас это уже как динозавры.
foton6 писал(а):Может у кого то есть простенькая прога или хотя бы какой нибудь алгоритм.
Прога, делающая пилу через ЦАП с периодом 256 мс.
На PORTA висит сам ЦАП.

Код: Выделить всё

uint16_t i;

while( 1 )
{
 for(i=0; i<256; i++)
  {
  PORTA = i;
  delay_ms( 1 );
  };
};
foton6
Встал на лапы
Сообщения: 146
Зарегистрирован: Вс сен 16, 2012 22:00:40

Re: научите работать с ЦАП

Сообщение foton6 »

Да ладно)

у меня весь вопрос шол в выстроении единичек в порту последовательно от меньшей к большей))))
неужто они соответствуют значениям в десятичной виде?)))))

А я уж начал выдумывать как бы побитными операциями двигать нолики и единички по порту)
foton6
Встал на лапы
Сообщения: 146
Зарегистрирован: Вс сен 16, 2012 22:00:40

Re: научите работать с ЦАП

Сообщение foton6 »

тоесть чем больше десятичное число тем соответственно больше напряжение?))))))
А если прогнать с 1 до 256 через синус а получаемое число "втыкать в таймер" то можно получить рисунок синусойды????
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: научите работать с ЦАП

Сообщение uk8amk »

Напряжение выхода обычно пропорционально коду.
0x00 = 0V
0x7F = 2.5V
0xFF = 5V.

Если требуется двухполярный выход(-U...+U), то часто используется дополнительный код. Но это не ваш случай.

Следовательно синусоида для 8-битного значения:
PORTA = sin( x ) * 0xFF;
x=[-1...+1]

Поскольку вычисление синусов для простых микроконтроллеров - сложная и долгая задача, то для ускорения помещают заранее посчитанный массив значений в ПЗУ.
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: научите работать с ЦАП

Сообщение uk8amk »

foton6 писал(а):тоесть чем больше десятичное число тем соответственно больше напряжение?))))))
Хочу отметить, что процессор ничего не знает о десятичных числах. Все представляется в двоичном коде, он же идет в ЦАП.
foton6
Встал на лапы
Сообщения: 146
Зарегистрирован: Вс сен 16, 2012 22:00:40

Re: научите работать с ЦАП

Сообщение foton6 »

Всем огромное спасибо)))))
Особенно за это:

Спойлер
uk8amk писал(а):R2R ЦАП бывают не только самодельные. К572ПА1 к примеру тоже содержит такую матрицу. Помню также отдельно выпускались и сборки резисторов для построения преобразователей. Но сейчас это уже как динозавры.
foton6 писал(а):Может у кого то есть простенькая прога или хотя бы какой нибудь алгоритм.
Прога, делающая пилу через ЦАП с периодом 256 мс.
На PORTA висит сам ЦАП.

Код: Выделить всё

uint16_t i;

while( 1 )
{
 for(i=0; i<256; i++)
  {
  PORTA = i;
  delay_ms( 1 );
  };
};
Теперь все стало ясно до нельзя))))
Дальше будем разгадывать осциллограмму обратно в цифру))))
foton6
Встал на лапы
Сообщения: 146
Зарегистрирован: Вс сен 16, 2012 22:00:40

Re: научите работать с ЦАП

Сообщение foton6 »

Оу и вопрос на последок)

А ведь проще шимом регулировать от 0 до 5 вольт? (что-то типо автоматического потенциометра)
Аватара пользователя
eess9
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Ср фев 29, 2012 01:58:32
Откуда: Харьков, Украина

Re: научите работать с ЦАП

Сообщение eess9 »

Gudd-Head писал(а):ШИМ+ФНЧ.
Аналог ЦАПа.
Ответить

Вернуться в «Разные вопросы по МК»