¿Por qué los microcontroladores generalmente no tienen DAC en el chip?

44

En esta respuesta , leí que los microcontroladores generalmente no tienen DAC, mientras que sí tienen ADC. ¿Porqué es eso?

editar
Aprecio que la integración de resistencias como en un DAC R-2R es costosa en términos de bienes raíces (gracias Mike, por su respuesta), pero pensé que los DAC actuales conmutados pueden hacerse muy pequeños ya que solo necesitan un puñado de transistores.

Federico Russo
fuente
+1 esa es una muy buena pregunta. Me he preguntado lo mismo también.
sybreon el
Necesito medir 2 voltajes con A / D, luego generar 2 señales D / A simultáneamente. Esto es para controlar la corriente a través de 2 transistores al mismo tiempo. El ruido y la no linealidad de los métodos PWM filtrados monopolares o bipolares son un problema real. A veces quieres "volver a lo analógico". Parece la solución de Cypress para mí. Toda la razón para ir con un micro en primer lugar es reducir el recuento de piezas. Agregar cosas como D / A fuera de borda derrota eso fuera de la puerta.

Respuestas:

30

Primero, algunos microcontroladores TIENEN convertidores D / A. Sin embargo, estos son mucho menos comunes que los convertidores A / D.

Aparte de los problemas técnicos, la razón principal es la demanda del mercado. Piénsalo. ¿Qué tipo de aplicación requeriría un D / A real? Es bastante raro querer que un micro produzca una señal analógica de velocidad razonablemente alta a menos que el punto sea el procesamiento de la señal. Sin embargo, el mercado principal para eso es el audio, y eso necesita mucha más resolución de la que puede construir con el mismo proceso utilizado para hacer el microcontrolador digital. Por lo tanto, el audio utilizará A / D y D / As externos de todos modos. Los DSP destinados a tales aplicaciones tienen un hardware de comunicación integrado para comunicarse con dichos dispositivos externos, como I2S.

De lo contrario, para las aplicaciones de control ordinarias, la estrategia es convertir a digital lo antes posible en el proceso y luego mantener las cosas digitales. Esto argumenta a favor de los A / D, pero los D / As son inútiles ya que no desea volver a lo analógico.

Las cosas que los microcontroladores suelen controlar se controlan con PWM (modulación de ancho de pulso). Las fuentes de alimentación conmutadas y el audio de clase D funcionan inherentemente en pulsos. El control del motor, el control del solenoide, etc., se realiza con pulsos para mayor eficiencia. Desea que el elemento de paso esté completamente encendido o completamente apagado porque un interruptor ideal no puede disipar ninguna potencia. En sistemas grandes o donde la potencia de entrada es escasa o costosa (como el funcionamiento con batería), la eficiencia de los sistemas de conmutación es importante. En muchos casos medios, la potencia total utilizada no es el problema, sino deshacerse de la energía desperdiciada como lo es el calor. Un circuito de conmutación que disipa 1 W en lugar de 10 W puede costar un poco más en componentes electrónicos que el circuito lineal de 10 W, pero en general es mucho más barato porque no necesita un disipador de calor con el tamaño y el peso asociados,

Tenga en cuenta que las salidas PWM, que son muy comunes en los microcontroladores, se pueden usar para hacer señales analógicas en los casos inusuales donde las necesita. El filtrado de paso bajo de una salida PWM es la forma más fácil y agradable de hacer una señal analógica desde un micro siempre que tenga una resolución suficiente * producto de velocidad. Las salidas PWM filtradas son muy monótonas y altamente lineales, y la resolución frente a la compensación de velocidad puede ser útil.

¿Tenía algo específico en mente que deseaba que un micro tuviera un convertidor D / A? Lo más probable es que esto se pueda resolver con PWM filtrado de paso bajo o de todos modos necesitaría un D / A externo para una mayor resolución * velocidad. La brecha entre el PWM filtrado y el externo es bastante estrecha, y el tipo de aplicaciones que realmente necesitan dicha señal también lo es.

Olin Lathrop
fuente
Además del audio, un Generador de funciones arbitrarias (ARB) es la única aplicación que se me ocurre cuando no se puede usar PWM.
stevenvh
El único punto donde un DAC me parece útil cuando se desea alta resolución Y alta velocidad. Un PWM tiene una resolución limitada debido a su contador o temporizador, y con una cierta velocidad de actualización requiere una referencia de velocidad muy alta.
Hans
El otro lugar en el que es útil es cuando necesita un voltaje de compensación para algún sensor análogo de desplazamiento aleatorio.
Rocketmagnet
1
@Rocket: las compensaciones de recorte tienen un ancho de banda muy bajo, por lo que un PWM filtrado de paso bajo funciona bien para ellos. Eso no requiere muchas piezas adicionales porque generalmente desea cambiar y atenuar el rango de salida completo para un ajuste de recorte de todos modos.
Olin Lathrop
1
No estoy seguro de cuán representativos de otros fabricantes de µc, pero aproximadamente el 10% de los PIC µc tienen D / A integrados, creo que todos son de 10 bits. 16 PIC (principalmente en las familias PIC24 y dsPIC33 pero un par PIC16) tienen dos D / A.
tcrosley
12

Los DAC son relativamente caros en el área de silicio. Muchas menos aplicaciones necesitan salida analógica que entrada, y la funcionalidad DAC necesaria para una gran proporción de aplicaciones se puede lograr de manera más económica utilizando PWM y una pequeña cantidad de filtrado externo.

mikeselectricstuff
fuente
6

Dos cuestiones más, aún no mencionadas:

  • Hay muchos casos en los que una parte necesitará poder medir los voltajes en muchos pines, pero no simultáneamente. Es posible utilizar un solo ADC junto con una puerta de acceso por pin para lograr esto. Por el contrario, la mayoría de las partes que necesitarían múltiples salidas DAC las necesitarían simultáneamente.

  • Los circuitos que conectan un ADC con el mundo exterior deben poder transferir solo suficiente corriente para cargar o descargar cualquier capacitancia deliberada o parásita en los circuitos de entrada del ADC. No solo es una cantidad muy pequeña de corriente, sino que es esencialmente independiente de la aplicación. El área adicional requerida para manejar los requisitos de manejo de corriente del "peor de los casos" sería insignificante en comparación con lo que se requeriría para algo que podría funcionar en circunstancias de aplicación favorables. Por el contrario, las diferentes aplicaciones de DAC tendrán diferentes requisitos actuales de abastecimiento o hundimiento, y la cantidad de área de chip requerida para manejar esos requisitos variará enormemente. Gastar el 20% del área del chip de uno en un par de DAC que se ajustan con precisión a los requisitos de una aplicación sería sensato,

Por cierto, una técnica que no he visto usar mucho es combinar un DAC con un PWM. Cuando se utiliza un DAC R / 2R, es fácil agregar una entrada adicional cuyo peso sea el mismo que el LSB (por ejemplo, un DAC de 3 + 1 entradas tendría pesos de 1/2, 1/4, 1/8 y 1/8). Tomar un DAC de 8 bits y agregarle una señal PWM puede generar un resultado de 12 bits con 1/128 del ruido de un PWM de 12 bits, pero a un costo menor que el uso de un DAC de 12 bits de linealidad comparable.

Super gato
fuente
1

Como dijo Olin, algunas MCU tienen DAC. Echa un vistazo a Cypress PSoC3 y PSoC5. Contienen hasta dos DAC. Estos pueden ser extremadamente útiles en aplicaciones de detección analógica que requieren un voltaje de compensación antes de la amplificación.

Por ejemplo, utilizamos uno para medir las salidas de los sensores de presión. Cada chip del sensor de presión tiene un desplazamiento de voltaje aleatorio. Cuando la MCU se restablece, establece el voltaje de DAC a solo menos que la salida del sensor. Luego amplifica la diferencia entre estos voltajes.

Es genial poder tener el ADC, DAC, Opamps y MCU todo en un chip.

Rocketmagnet
fuente
1
Sobre su uso del DAC con sensor de presión, donde aplicó el voltaje de compensación. Por supuesto, no conozco los detalles de sus circuitos. Pero, ¿no sería más fácil grabar el desplazamiento en la memoria uC y aplicar la corrección digitalmente en el firmware?
Nick Alexeev
Es posible que @NickAlexeevit no sea lo mejor, ya que de esta manera está desperdiciando una fracción del rango del ADC, reduciendo la precisión.
clabacchio
Exactamente. Si desea aplicar amplificación (x50), debe tener el voltaje diferencial más bajo a presión cero.
Rocketmagnet
0

Revisando esto en 2017, ahora hay una serie de familias de microcontroladores que incluyen DAC (además del Cypress PSOC y PIC enumerados anteriormente):

  • Dispositivos analógicos ADuC70xx
  • Atmel AVR XMEGA (algunas partes)
  • Infineon XMC4100 / XMC4200
  • NXP Kinetis series, otros
  • Renesas H8, R8, otros
  • Laboratorios de silicio
  • STMicroelectronics algunas de las series STM32
  • TI, algunas de la serie MSP430, también algunas series C2000
  • Zilog (con procesador Z8)

Buscar en Digikey Índice de productos> Circuitos integrados (IC)> Integrado - Microcontroladores da una lista, con una de las columnas etiquetadas "Convertidores de datos"

Patrick Pribyl
fuente