Para dos DAC, uno enviado D0-D7 y el otro enviado D8-D15, con una fuente de alimentación de 5 V, si se agregan 5 V a la salida del 2 ° DAC y luego se suman las dos salidas de DAC, debería producir un DAC de 16 bits compuesto por dos DAC de 8 bits.
El único problema es que si el segundo DAC tiene una entrada de 0x00, entonces la adición de 5V debe cancelarse, lo que no estoy seguro de cómo hacer. La suma se puede hacer sumando el amplificador. El circuito solo necesita funcionar hasta unos 10s de kHz.
¿Hay algo fundamentalmente mal con esta idea?
operational-amplifier
dac
summing
quantum231
fuente
fuente
Respuestas:
Es posible, pero no funcionará bien.
En primer lugar, existe el problema de combinar las dos salidas, con una escala a 1/256 de la otra. (Ya sea que atenúe uno en 1/256, amplifique el otro en 256, o algún otro arreglo, * 16 y / 16, por ejemplo, no importa).
Sin embargo, el gran problema es que es probable que un DAC de 8 bits sea preciso a algo mejor que 8 bits: puede tener una especificación "DNL" de 1/4 LSB y una especificación "INL" de 1 / 2LSB. Estas son las especificaciones de no linealidad "Diferencial" e "Integral", y son una medida de cuán grande es realmente cada paso entre códigos adyacentes. (DNL proporciona una garantía entre dos códigos adyacentes, INL entre dos códigos cualesquiera en todo el rango del DAC).
Idealmente, cada paso sería exactamente 1/256 del valor de escala completa; pero una especificación de 1 / 4LSB DNL indica que los pasos adyacentes pueden diferir de ese ideal en un 25%; esto es normalmente un comportamiento aceptable en un DAC.
¡El problema es que un error de 0.25 LSB en su MSB DAC contribuye con un error de 64 LSB (1/4 del rango completo) en su LSB DAC!
En otras palabras, su DAC de 16 bits tiene la linealidad y la distorsión de un DAC de 10 bits, que para la mayoría de las aplicaciones de un DAC de 16 bits es inaceptable.
Ahora, si puede encontrar un DAC de 8 bits que garantice una precisión de 16 bits (INL y DNL mejor que 1/256 LSB), continúe: sin embargo, no son económicos, por lo que la única forma de obtener uno es comenzar con un DAC de 16 bits!
Otra respuesta sugiere "compensación de software" ... mapear los errores exactos en su MSB DAC y compensarlos agregando el error inverso al LSB DAC: algo meditado por los ingenieros de audio en los días en que los DAC de 16 bits eran caros. ..
En resumen, se puede hacer que funcione hasta cierto punto, pero si el DAC de 8 bits varía con la temperatura o la edad (probablemente no fue diseñado para ser ultraestable), la compensación ya no es lo suficientemente precisa como para valer la pena. Complejidad y gastos.
fuente
Tenga en cuenta cómo eso se multiplica, no es una adición (como sucedería cuando suma las salidas de dos DAC de 8 bits).
Si tomara dos DAC de 8 bits y sumara sus salidas, ¿cuáles son los valores posibles?
Respuesta: 0, 1, 2, ..., 256, 257, 258, ... 511, 512 y eso es todo.
Un DAC de 16 bits puede hacer 0,1,2 ..., 65535, 65536, ¡eso es mucho más!
Teóricamente es posible, pero luego deberá multiplicar la salida de uno de los DAC de 8 bits por exactamente 256 y conectar los bits LSB al 1x DAC y los bits MSB al 256x DAC. ¡Pero no se sorprenda si la precisión y la linealidad sufren!
fuente
La técnica es viable si el voltaje de escala completa del DAC "interno" es mayor que el tamaño del escalón del DAC externo, y uno tiene un medio para medir con precisión (aunque no necesariamente rápidamente) los voltajes de salida generados por diferentes códigos de salida y aplicar ajustes de linealidad adecuados en software. Si el voltaje de escala completa del DAC interno puede ser menor que el tamaño del escalón en el peor de los casos entre dos voltajes en el DAC externo (teniendo en cuenta que los escalones rara vez son absolutamente perfectamente uniformes) puede haber voltajes que no se pueden obtener con ninguna combinación de valores DAC internos y externos. Sin embargo, si se asegura que hay una superposición en los rangos, el uso de la corrección de linealidad del software puede permitir buenos resultados.
Por cierto, el antiguo diseño del chip Cypress PSOC (no sé sobre los más nuevos) emula un DAC de nueve bits utilizando dos DAC de seis bits que se escalan uno con respecto al otro. No utiliza la corrección de linealidad del software, pero solo está tratando de agregar tres bits de precisión a un DAC de seis bits. Es probable que tratar de agregar más de 3-4 bits de precisión a cualquier tipo de DAC sin utilizar la compensación de software no funcione muy bien.
fuente
Hace 21 años, cuando era un estudiante universitario pobre (y solo podía pagar DAC de 8 bits), usé esta técnica para combinar dos DAC de 8 bits en un DAC de bit más alto, sabiendo que no obtendría una precisión de 16 bits, porque de no linealidad integral (INL) y no linealidad diferencial (DNL). DNL en el byte más significativo DAC es el asesino en este caso; si tiene INL, la salida está distorsionada pero sigue siendo suave. DNL dicta el tamaño de un paso DAC al siguiente, y si varía lo suficiente, verá discontinuidades o reversiones al cruzar límites de 8 bits: 0x07ff <-> 0x0800, por ejemplo, a medida que el MSB DAC cambia de 0x07 <-> 0x08, podría cambiar no por los 256 recuentos ideales del LSB DAC, sino por 384 recuentos o 128 recuentos (± 1/2 de su propio bit menos significativo). Un buen DAC tendrá solo 1/2 LSB DNL, un DAC mediocre tendrá peor DNL, aunque se vuelve más difícil cuanto mayor sea la resolución, por lo que debería ser bastante fácil encontrar 1/2 LSB DNL en un DAC de 8 bits pero no en un DAC de 16 bits.
No recuerdo cuál fue la resolución efectiva en mi caso, tal vez 12 o 13 bits, y tuve que ajustar la ganancia de la segunda etapa manualmente con un potenciómetro.
fuente
He visto esto en la práctica en un Detector UV HPLC para aumentar el rango dinámico. Uno de los DAC se ofende por la cantidad necesaria. Digamos que el primer DAC maneja de 0 a 10 V y el segundo maneja de 10 a 20 voltios.
fuente
Es posible y ya se ha hecho antes. Vea esta excelente implementación en EDN.com http://www.edn.com/design/analog/4329365/Combine-two-8-bit-outputs-to-make-one-16-bit-DAC
fuente
Tengo una opinión diferente ... Solo use un DAC de 8 bits. Usted mencionó que solo necesita trabajar hasta unos 10 segundos de Hz, por lo que podría usar solo un DAC (que probablemente puede funcionar hasta 100 kHz) y usarlo como modulador. La idea básica es generar 256 ciclos del valor MSB más el indicador de desbordamiento / acarreo de un bit desde un acumulador de 8 bits al que se agrega el LSB en cada ciclo. Obtiene solo 254 como el MSB máximo debido al 'bit de modulación' adicional del LSB, pero esto no reduce mucho el rango.
Ejemplo: si ejecuta el ciclo a 30 kHz, los 256 ciclos se repiten a 117 Hz, por lo que podría colocar un filtro de paso bajo de 50 Hz en la salida para obtener una señal bastante suave y precisa que pueda funcionar hasta la velocidad que necesita.
La precisión de este método depende mucho del tamaño de los pasos de bit, pero no más que cualquier otro método. Lo he usado para la generación de voltaje de referencia en el pasado, y funciona sorprendentemente bien.
fuente