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

 
 
> ЦАП на ШИМ Atmega, Реализация ЦАП с помощью ШИМ атмеги
_Ie0nid
сообщение Dec 2 2009, 10:18
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 20-09-08
Пользователь №: 40 344



Добрый день.
Использую ШИМ в качестве ЦАП, и в будущем, допустим RC фильтр. С помощью, также местного АЦП, выборками в 6.6 раз чаще частоты сигнала (допустим 1кГц) оцифровываю аналоговый сигнал, закидываю значение выборки в ОЗУ и тут же ШИМю. ВОпрос-Могу ли я быстро ШИМить данную выборку, потом отключать ШИМ и производить различные вычисления? У меня в таком случае будут получаться очень тонкие печки с длинными промежутками. Правильно ли это?
И еще, есть ли возможность, выдрать из ОЗУ накопленные значения выборок взятых с частотой 6.6345 кГц и отправить их на ШИМ. Мне кажется я должен их выпленуть их точно с такой же частотой. Но мне также кажется что я ошибаюсь, потому как кооффициент заполнения, на котором все основано, не меняется. Пожалуста поясните этот момент.
И еще, если есть какие-то принципиальные моменты для построения бюджетного ЦАП на ШИМ, пожалуйста поделитесь.
Заранее спасибо.

Сообщение отредактировал _Ie0nid - Dec 2 2009, 10:44
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
V_G
сообщение Dec 2 2009, 11:11
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



ЦАП на ШИМ для формирования сигнала в реальном времени выглядит примерно так: новый отсчет (значение OCR) загружаете по прерыванию таймера от переполнения. При этом прерывания по переполнению должны следовать, понятно, с частотой дискретизации. Есть в меге128 (и в других, наверное) режим PWM, когда коэффициент переcчета (определяющий частоту дискретизации) можно менять довольно плавно значениями регистров ICRn или OCRnA, но при этом надо заботиться, чтобы в регистры сравнения PWM загружались числа, не превышающие модуля счета.

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

2. Выборки выплевываются не сразу по получении с АЦП, а синхронно с перепролнением счетчика ШИМ (по прерыванию). Времени это особо не занимает, так что можно спокойно делать другие расчеты (если они не затрагивают выводимое значение)

Сообщение отредактировал V_G - Dec 2 2009, 11:12
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 21:30
Рейтинг@Mail.ru


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