Para dois DACs, um sendo enviado D0-D7 e outro sendo enviado D8-D15, com a fonte de alimentação sendo 5V, se 5V for adicionado à saída do 2º DAC e depois as duas saídas do DAC forem somadas, resultará em um DAC de 16 bits composto por dois DACs de 8 bits.
O único problema é que, se o segundo DAC tiver uma entrada 0x00, a adição de 5V precisará ser cancelada, o que não tenho certeza de como fazer. A soma pode ser feita somando o amplificador. O circuito precisa apenas trabalhar até alguns 10s de kHz.
Existe algo fundamentalmente errado com essa ideia?
operational-amplifier
dac
summing
quantum231
fonte
fonte
Respostas:
É possível, mas não vai funcionar bem.
Em primeiro lugar, há o problema de combinar as duas saídas, com uma escala precisamente 1/256 da outra. (Se você atenua um em 1/256, amplifica o outro em 256 ou algum outro arranjo, * 16 e / 16 por exemplo, não importa).
O grande problema, no entanto, é que um DAC de 8 bits provavelmente será preciso para algo melhor que 8 bits: pode ter uma especificação "DNL" de 1/4 LSB e uma especificação "INL" de 1 / 2LSB. Essas são as especificações de não linearidade "Diferencial" e "Integral" e são uma medida de quão grande cada etapa entre os códigos adjacentes realmente é. (DNL fornece uma garantia entre dois códigos adjacentes, INL entre dois códigos em toda a faixa do DAC).
Idealmente, cada etapa seria precisamente 1/256 do valor da escala completa; mas uma especificação DNL 1 / 4LSB indica que as etapas adjacentes podem diferir desse ideal em 25% - esse é um comportamento normalmente aceitável em um DAC.
O problema é que um erro de 0,25 LSB no seu MSB DAC contribui com um erro de 64 LSB (1/4 de todo o intervalo) no seu LSB DAC!
Em outras palavras, seu DAC de 16 bits possui a linearidade e distorção de um DAC de 10 bits, o que para a maioria das aplicações de um DAC de 16 bits é inaceitável.
Agora, se você puder encontrar um DAC de 8 bits que garanta precisão de 16 bits (INL e DNL melhor que 1/256 LSB), vá em frente: no entanto, eles não são econômicos, portanto, a única maneira de obter um é começar com um DAC de 16 bits!
Outra resposta sugere "compensação de software" ... mapeando os erros exatos no seu MSB DAC e compensando-os adicionando o erro inverso ao LSB DAC: algo muito ponderado pelos engenheiros de áudio nos dias em que os DACs de 16 bits eram caros. ..
Em resumo, ele pode funcionar até certo ponto, mas se o DAC de 8 bits deriva com a temperatura ou a idade (provavelmente não foi projetado para ser ultra-estável), a compensação não será mais precisa o suficiente para valer a pena. complexidade e despesa.
fonte
Observe como isso se multiplica, não é uma adição (como aconteceria quando você soma as saídas de dois DACs de 8 bits).
Se eu pegar dois DACs de 8 bits e somar suas saídas, quais são os valores possíveis?
Resposta: 0, 1, 2, ..., 256, 257, 258, .... 511, 512 e é isso!
Um DAC de 16 bits pode fazer 0,1,2 ..., 65535, 65536, muito mais!
Teoricamente, é possível, mas você precisará multiplicar a saída de um dos DACs de 8 bits por exatamente 256 e conectar os bits LSB ao DAC 1x e os bits MSB ao DAC 256x. Mas não se surpreenda se a precisão e a linearidade sofrem!
fonte
A técnica é viável se a tensão de escala completa do DAC "interno" for maior que o tamanho da etapa do DAC externo e se houver um meio de medir com precisão (embora não necessariamente rapidamente) as tensões de saída geradas por diferentes códigos de saída e aplicar ajustes de linearidade adequados no software. Se a tensão de escala completa do DAC interno puder ser menor que o pior tamanho de passo entre duas tensões no DAC externo (tendo em mente que os passos raramente são absolutamente perfeitamente uniformes), pode haver tensões que não podem ser obtidas com nenhum combinação de valores DAC interno e externo. Se alguém garantir que haja sobreposição nas faixas, no entanto, o uso da correção da linearidade do software poderá permitir bons resultados.
BTW, o antigo design do chip Cypress PSOC (eu não conheço os mais novos) emula um DAC de nove bits usando dois DACs de seis bits que são dimensionados um em relação ao outro. Ele não usa correção de linearidade de software, mas está apenas tentando adicionar três bits de precisão a um DAC de seis bits. Tentar adicionar mais de 3-4 bits de precisão a qualquer tipo de DAC sem usar a compensação de software provavelmente não funcionará muito bem.
fonte
Há 21 anos, quando eu era um Estudante Universitário Pobre (e só podia pagar DACs de 8 bits), usei essa técnica para combinar dois DACs de 8 bits em um DAC de bit superior, sabendo que não obteria precisão de 16 bits, porque de não-linearidade integrante (INL) e a não-linearidade diferencial (DNL). O DNL no DAC de byte mais significativo é o assassino nesse caso; se você tiver INL, a saída será distorcida, mas ainda suave. DNL determina o tamanho de uma etapa do DAC para a próxima e, se variar o suficiente, você verá descontinuidades ou reversões ao cruzar os limites de 8 bits: 0x07ff <-> 0x0800 por exemplo, conforme o DAC do MSB muda de 0x07 <-> 0x08, pode mudar não pelas 256 contagens ideais do LSB DAC, mas pelas 384 ou 128 contagens (± 1/2 do seu próprio bit menos significativo). Um bom DAC terá apenas 1/2 LSB DNL, um DAC medíocre terá pior DNL, embora fique mais difícil quanto maior a resolução, portanto, deve ser bastante fácil encontrar 1/2 LSB DNL em um DAC de 8 bits, mas não em um DAC de 16 bits.
Não me lembro qual era a resolução efetiva no meu caso, talvez 12 ou 13 bits, e tive que ajustar o ganho do segundo estágio manualmente com um potenciômetro.
fonte
Eu já vi isso na prática em um detector de HPLC UV para aumentar a faixa dinâmica. Um dos DACs é compensado pela quantidade necessária. Digamos que o 1º DAC lida com 0 a 10 V e o 2º lida com 10 a 20 Volts.
fonte
É possível e já foi feito antes. Veja esta excelente implementação em EDN.com http://www.edn.com/design/analog/4329365/Combine-two-8-bit-outputs-to-make-one-16-bit-DAC
fonte
Eu tenho uma opinião diferente sobre isso ... Basta usar um DAC de 8 bits. Você mencionou que ele precisa trabalhar apenas alguns 10s de Hz, portanto, você pode usar apenas um DAC (que provavelmente pode funcionar até 100kHz) e usá-lo como modulador. A idéia básica é produzir 256 ciclos do valor MSB mais o sinal de estouro / transporte de um bit de um acumulador de 8 bits ao qual o LSB é adicionado a cada ciclo. Você obtém apenas 254 como o MSB máximo por causa do 'bit modulador' extra do LSB, mas isso não reduz muito o alcance.
Exemplo: se você executar o ciclo em 30kHz, os 256 ciclos se repetem em 117Hz, para que você possa colocar um filtro passa-baixa de 50Hz na saída para obter um sinal bastante suave e preciso que possa atingir a taxa necessária.
A precisão desse método depende bastante do tamanho das etapas de bits, mas não mais do que qualquer outro método. Eu o usei para geração de tensão de referência no passado e funciona surpreendentemente bem.
fonte