Страницы

Поиск по вопросам

четверг, 12 декабря 2019 г.

Возможно ли программно на Си организовать цифро-аналоговый преобразователь

#c #микроконтроллеры #avr


Можно ли используя восьмиразрядный микроконтроллер AVR, без встроенного ЦАП организовать
его программно на Си? Суть в том, что хочется получить пилообразный сигнал!    


Ответы

Ответ 1



Да это возможно. Что же для этого нужно! Первое - это применить не сложное схемотехническое решение. Схемку накидал быстро, поэтому строго не судите. Это так называемый R2R ЦАП, который позволяет превратить 8 обычных портов ввода-вывода в оди полноценный 8 битный цифро-аналоговый преобразователь. Вот схема: Далее пишем программу которая будет генерировать Ваш пилообразный сигнал! #include #include void main(void) { DDRA=(0< 0; i--) { PORTB = i; } } } Хочу добавить , что используя R2R цап собирал wav плеер, то есть возможности очень широки. Ниже вид сигнала который я получил этой программкой. 9393 Я даже видел как генерируют эротические сигналы, правда не знаю функцию которая за это отвечает, но можно разбить на несколько for по нарастанию и убыванию.

Ответ 2



Ещё один способ организации ЦАП - использование широтно-импульсного модулятора и сглаживающего фильтра (RC или LC цепочка). В этом случае напряжение ЦАПа задается коэффициентом заполнения ШИМа. Чем больше заполнение - тем больше напряжение. Такой подход позволяет экономить выводы микроконтроллера (один канал ЦАПа - один вывод), но не может обеспечить такую высокую частоту, как описанный vanyamelikov способ. Сигналы необычной формы необязательно генерировать в процессе работы. Обычно эффективнее на этапе написания программы сгенерировать массив, состоящий из значений этого сигнала, и в процессе выполнения последовательно выдавать каждое значение на ЦАП.

Комментариев нет:

Отправить комментарий