ЦАП на основе резистивной матрицы R-2R и его реализация на микроконтроллере

1) Использование матрицы R-2R в качестве параллельного ЦАП.

Схема ЦАП на матрице R-2R

Рассмотрим матрицу, изображенную на рисунке слева.

Очевидно, что если все ключи находятся в положении "0", то выходное напряжение будет равно нулю.

Можно посчитать, что если ключ нулевого разряда установлен в положение "1", а все остальные в положение "0", то

Uвых=V*1/16,

если ключ первого разряда установлен в положение "1", а все остальные в положение "0", то

Uвых=V*1/8,

если ключи нулевого и первого разрядов установлены в положение "1", а все остальные в положение "0", то

Uвых=V*(1/16+1/8), и так далее…

В общем случае получим: Uвых=V*(А0*1/16+А1*1/8+А2*1/4+А3*1/2), где Аi=1, если соответствующий ключ (Кi) находится в положении "1" и Аi=0, если соответствующий ключ находится в положении "0".

То есть, замыкая различными способами ключи К0…К3 (или, по другому говоря, подавая на вход четырехбитное число A3A2A1A0) мы можем получить 24=16 различных значений выходного напряжения (от Uвых=0 до Uвых=V*(1-1/16) с шагом Δ=V*1/16).

Таким образом, данная схема представляет собой простейший параллельный четырехбитный цифро-аналоговый преобразователь.

Аналогично можно построить восьми, десяти, двенадцати и вообще n-битный ЦАП.

В общем случае, для n-битного ЦАП будем иметь: Uвых=V*∑(Ai*1/2n-i), где i — номер разряда (i=0, 1, 2 … n-1), Ai=1, если соответствующий ключ замкнут на шину питания и Ai=0, если соответствующий ключ замкнут на общий провод.

шаг в этом случае определяется по формуле: Δ=V/2n, где n — общее число разрядов

2)Реализация ЦАП по схеме R-2R на микроконтроллере.

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

Возьмём, к примеру, контроллер PIC16F628A и посмотрим в документации, как устроены его выходы:

Схема выхода порта микроконтроллера PIC

Как видим, — для организации выхода используются два полевика, когда на выходе "0" — верхний полевик (подключенный к шине питания) закрыт, нижний (подключенный к общему проводу) — открыт, когда на выходе "1" — наоборот, верхний открыт, нижний закрыт. Это как раз то, что нужно, — мы можем подтянуть выход или к земле, или к питанию. Тогда, задействовав восемь таких выводов и матрицу R-2R, — получим восьмибитный цифро-аналоговый преобразователь:

Схема ЦАП R-2R на микроконтроллере PIC

Замечания.

Когда мы рассматривали матрицу R-2R, мы считали ключи идеальными (сопротивление замкнутого ключа равно нулю), но в реальности сопротивление замкнутых ключей (открытых транзисторов) не равно нулю. Для того, чтобы влияние этих паразитных сопротивлений можно было не учитывать, рекомендуется выбирать сопротивление R в 2n (n — разрядность ЦАП) раз больше сопротивления замкнутого ключа.

Поскольку в рассмотренной схеме нет никаких интегрирующих цепочек, то быстродействие такого ЦАП определяется исключительно быстродействием контроллера.

Для обеспечения точности преобразований необходимо обеспечить достаточную для заданной точности стабильность питания.

Добавить комментарий