#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 способ. Сигналы необычной формы необязательно генерировать в процессе работы. Обычно эффективнее на этапе написания программы сгенерировать массив, состоящий из значений этого сигнала, и в процессе выполнения последовательно выдавать каждое значение на ЦАП.
Комментариев нет:
Отправить комментарий