R2R ЦАП

Иногда бывает нужно воспроизвести с помощью микроконтроллера сигнал сложной формы, звук или чего-другое. Имея при себе лишь цифровые порты, просто так аналоговый сигнал мы не получим. Необходим ЦАП (Цифро-Аналоговый-Преобразователь). 

Одним из типов которого является ЦАП лестничного типа или R2RЭто самый простой и наглядный преобразователь, название R2R он получил из-за используемых в нем двух номиналов резисторов —  R и 2*R. Для такого преобразователя необходимо большое количество цифровых портов.

Принцип работы основан на том, что каждый цифровой выход имеет свое результирующее напряжение, при этом каждый может оказывать влияние на остальных, что позволяет комбинировать выходную амплитуду. Самый верхний пин оказывает наибольшее влияние. Количество этих комбинаций — основная характеристика любого ЦАП, ее называют разрядностью.

200px-Zeroorderhold.signal.svg

Разрядность, по-другому, определяет точность ЦАП, чем выше точность, тем выше качество. Ее принято измерять в битах. В нашем случае разрядность равна 8бит256 комбинаций — 256 значений амплитуды.

Из-за своей лестничной структуры амплитуду удобно представлять в виде бинарного кода. Если на цифровых выходах: 11111111, то это будет наивысшее значение, с остальными аналогично. Если добавить еще один разряд, мы получаем уже 512 возможных значений.

Резисторы для удобства использовать SMD и не самого большого номинала, иначе на выходе вы ничего не услышите. В случае с напряжение питания 5В, шаг 8бит ЦАП будет ~20мВ, чего хватит для воспроизведения неплохой синусоиды.

Программная часть

Если вы используете какой-нибудь AVR микроконтроллер, подключать ЦАП следует к «целому» порту. Тогда вывести определенное значение на ЦАП будет очень просто

1
2
3
4
5
PORT(Буква порта куда подключен ЦАП) = 256;
 
//Например:
 
PORTD = 256;

Пример звучания 8бит ЦАП, взятого с avrdevices.ru:

На этом все.

Вы можите оставить комментарий, или поставить трэкбек со своего сайта.

Написать комментарий

XHTML: Вы можете использовать эти теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Bug Report
Локализовано: шаблоны Wordpress