Используя суммирующий усилитель, вы можете суммировать два выхода ЦАП. Вы можете использовать R1 = 100 кОм, R2 = R3 = 100 Ом. Таким образом, выход будет Vout = - (V1 + V2 / 1000). Вам понадобится двойной источник питания, и если вы хотите, чтобы он не инвертировался, вам нужно установить еще один инвертирующий усилитель с коэффициентом усиления = 1. Итак, допустим, у вас есть 12-битный ЦАП с 2 выходами и опорным напряжением 4,096 В. Затем (если у вас есть второй инвертирующий усилитель) одно приращение от ЦАП 1 увеличит выход на 1 мкВ, а одно приращение от ЦАП 2 увеличит выход на 1 мВ. Это не 24 бит в сумме. Это около 22 бит. Теоретически вы можете выбрать R1 в 4096 раз больше, чем R2 и R3 и получить 24 бита, но вы не получите лучших результатов. У вас будет много проблем с шумом в диапазоне микровольт, даже если вы выберете хороший малошумящий операционный усилитель.
Обновление
Я думаю, что это вопрос о ЦАП, потому что я искал ЦАП. Вот как вы применяете подобный принцип с АЦП. Вместо суммирования вы должны вычесть результат ADC1, а затем умножить на 1000, прежде чем измерять с помощью ADC2.
Исправление - ADC3 должен быть на VGnd (Vref / 2), а не на Vref, чтобы соответствовать формуле результата
Вместо AZ431 вы можете использовать любую другую ссылку 2.5V или другую регулируемую ссылку с правильными пассивами, чтобы получить именно 4.096V. Чем меньше температурный дрейф у эталона, тем лучше результаты. Также это должен быть низкий уровень шума. Обратите внимание, что это, вероятно, недостаточно точно. Было бы неплохо установить 500-омный многооборотный тримпот между R7 и R8 со стеклоочистителем на эталонный вход и точно настроить его на Vref = 4.096V. Также будет необходим тримпот (2) между R1 и R2 с положительным входом стеклоочистителя на U1. Настройте его на 2.048V на VGnd. U1 - это просто любой малошумящий операционный усилитель. (КСТАТИ AZ431 ужасно для работы. Я положил его, потому что у меня был символ).
Для U2, U3 и U4 очень важно использовать усилители с нулевым смещением. U2 более важен, потому что он умножается на 100. каждый 1 мкВ достигает 100 мкВ. Если вы используете OP07 и правильно обнуляете его, а температура изменяется на 10 градусов, то вы получите смещение 13 мкВ, что соответствует 1,3 мВ на выходе U4. Это 13 мВ на выходе АЦП, что делает АЦП2 практически бесполезным.
Также U3 должен иметь возможность достигать 6,048 В - это VGnd (2,048 В) + 2xVinmax (2x2 В = 4 В). Вот и вся идея иметь Vcc = + 12V блок питания. VCC может быть низким, как 6,5 В, когда используется MAX44252. Поскольку MAX44252 является рельсовым усилителем, отрицательный источник питания может быть пропущен, а Vss операционного усилителя может быть заземлен. Это верно для любого операционного усилителя, который может выходить до 48 мВ на своем выходе.
MAX44252 имеет напряжение смещения 2-4 мкВ (обычно) и температурный дрейф от 1 до 5 нВ. Он стоит $ 2,64 на digikey в количестве 1, и это квадропампа, так что только один чип будет работать.
Как это работает? Например, 10-разрядный ЦАП. Разрешение составляет 4,096 / 1024 = 4 мВ. Входной сигнал должен быть относительно VGnd, который составляет половину Vref. ADC1 измеряет входное напряжение как обычно. Затем выводит значение через DAC1. Разница между Vin и DAC1 заключается в ошибке, которую необходимо усилить, измерить и добавить к результату ADC1. U2 усиливает разницу Vin - DAC1 относительно DAC1 с коэффициентом усиления 100. U4 усиливает эту разницу на 10, а также вычитает DAC1 относительно VGnd. Это делает ADC2 = (Vin - DAC1) * 1000 относительно VGnd. Другими словами, если у вас 1,234567 В на Vin, относительно VGnd. АЦП1 будет измерять значение 821потому что разрешение составляет 4 мВ и (2,048 + 1,234567) / 0,004 = 820,64175. Таким образом, значение ЦАП будет установлено на 309, что составляет 309 * 0,004 В = 1,236 В. Теперь ADC2 получит 1,234567-1,236 = -0,001433 * 1000 = -1,433 В относительно VGnd (в идеале). Это 2,048-1,433 = 0,615 В синфазного режима. 0,615 В / 0,004 = 153,75. Так что значение ADC2 = 154, Проще вычислить значение в микровольтах, чтобы избежать использования поплавка. Чтобы преобразовать ADC2 в мВ, мы должны умножить значение на 4: VADC1 = 821 * 4 = 3284 мВ. Чтобы преобразовать в uV, нам нужно умножить на 1000. Или это значение ADC1, умноженное на 4000. 821 * 4000 = 3284000. Таким образом, напряжение ADC1 относительно VGnd составляет 3284000-2048000 = 1236000uV. АЦП2 уже умножен на 1000, поэтому нам нужно умножить только на 4: VADC2 = 154 * 4 = 616. Чтобы получить напряжение относительно VGnd, нам нужно вычесть VGnd: 616-2048 = -1432uV. Мы принимаем VGnd = 2048 мкВ, потому что у нас усиление x1000. Теперь мы добавляем VADC1 и VADC2: 1236000 + (-1432) = 1234568 мкВ или 1,234568 В
Конечно, это просто мечты, потому что, когда вы имеете дело с микровольтами, будут возникать всевозможные ужасные проблемы - шум усилителя, шум резисторов, смещение напряжения, температурный дрейф, погрешность усиления ... Но если вы используете приличные части, резисторы не менее 1% и Вы программно обнуляете смещение и корректируете усиление, которое можете получить достаточно хороший результат. Конечно, вы не можете ожидать стабильного ввода последней цифры. возможно, вы можете ограничить разрешение до 10 мкВ (разделите результат на 10). Также умножить на 4 можно, суммируя 4 последовательных результата, чтобы получить некоторое усреднение.
Имейте в виду, что ничего из этого не проверено. Я моделировал только каскад усилителя без учета шума и смещения операционного усилителя. Если кто-то решит построить его, напишите результаты в комментариях.