Perché i microcontrollori generalmente non hanno DAC su chip?


44

In questa risposta ho letto che i microcontrollori di solito non hanno DAC, mentre hanno ADC. Perché?

modifica
Apprezzo il fatto che l'integrazione di resistori come in un DAC R-2R sia costoso in termini di proprietà immobiliari (grazie Mike, per la tua risposta), ma ho pensato che i DAC a corrente commutata possano essere ridotti in quanto necessitano solo di una manciata di transistor.


+1 è un'ottima domanda. mi sono chiesto lo stesso.
sybreon,

Devo misurare 2 tensioni con A / D, quindi generare 2 segnali D / A contemporaneamente. Questo per controllare la corrente attraverso 2 transistor contemporaneamente. Il rumore e la non linearità dei metodi PWM filtrati a polo singolo o doppio rappresentano un vero problema. A volte vuoi "tornare all'analogico". Sembra la soluzione Cypress per me. L'intero motivo per andare con un micro in primo luogo è quello di ridurre il conteggio delle parti. L'aggiunta di elementi come i fuoribordo di D / A li sconfigge fuori dal cancello.

Risposte:


30

Innanzitutto, alcuni microcontrollori hanno convertitori D / A. Tuttavia, questi sono molto meno comuni dei convertitori A / D.

A parte le questioni tecniche, il motivo principale è la domanda del mercato. Pensaci. Che tipo di applicazione richiederebbe un vero D / A? È abbastanza raro desiderare che un micro produca un segnale analogico ad alta velocità ragionevole a meno che il punto non stia elaborando il segnale. Il mercato principale per questo è tuttavia l'audio, che richiede una risoluzione molto maggiore di quella che è possibile creare con lo stesso processo utilizzato per realizzare il microcontrollore digitale. Quindi l'audio utilizzerà comunque A / D e D / As esterni. I DSP destinati a tali applicazioni dispongono di hardware di comunicazione integrato per comunicare con tali dispositivi esterni, come I2S.

Altrimenti per le normali applicazioni di controllo, la strategia è quella di convertire in digitale fin dall'inizio del processo e quindi mantenere le cose digitali. Questo vale per A / D, ma D / As sono inutili poiché non si desidera tornare all'analogico.

Le cose che in genere controllano i microcontrollori sono controllate con PWM (PulseWidth Modulation). Gli alimentatori a commutazione e l'audio di classe D funzionano intrinsecamente sugli impulsi. Il controllo del motore, il controllo del solenoide, ecc., È tutto fatto con impulsi per l'efficienza. Volete che l'elemento pass sia completamente acceso o completamente spento perché un interruttore ideale non può dissipare alcuna potenza. Nei sistemi di grandi dimensioni o in cui la potenza in ingresso è scarsa o costosa (come il funzionamento a batteria), l'efficienza dei sistemi di commutazione è importante. In molti casi medi la potenza totale utilizzata non è il problema, ma sbarazzarsi di energia sprecata come il calore. Un circuito di commutazione che dissipa 1 W invece di 10 W può costare un po 'più in parti elettroniche rispetto al circuito lineare da 10 W, ma è molto più economico in generale perché non è necessario un dissipatore di calore con dimensioni e peso associati,

Si noti che le uscite PWM, che sono molto comuni nei microcontrollori, possono essere utilizzate per creare segnali analogici nei casi insoliti in cui sono necessari. Il filtro passa-basso di un'uscita PWM è il modo più semplice e piacevole per inviare un segnale analogico da un micro, purché si disponga di una risoluzione * di velocità sufficiente. Le uscite PWM filtrate sono piacevolmente monotoniche e altamente lineari, e la risoluzione rispetto al compromesso della velocità può essere utile.

Avevi in ​​mente qualcosa di specifico per cui desideri che un micro abbia un convertitore D / A? È probabile che questo possa essere risolto con PWM filtrato passa-basso o avrebbe comunque bisogno di un D / A esterno per una risoluzione * maggiore velocità. Il divario tra PWM filtrato ed esterno è piuttosto ridotto e anche il tipo di applicazioni che necessitano effettivamente di tale segnale è ridotto.


Oltre all'audio, un Arbitrary Function Generator (ARB) riguarda l'unica applicazione a cui riesco a pensare dove non è possibile utilizzare PWM.
Stevenvh,

L'unico punto in cui un DAC mi sembra utile quando si desidera l'alta risoluzione E l'alta velocità. Un PWM ha una risoluzione limitata a causa del suo contatore o timer e con una certa velocità di aggiornamento richiede un riferimento di velocità molto elevata.
Hans,

L'altro posto utile è quando è necessaria una tensione di trim per alcuni sensori analogici con offset casuale.
Rocketmagnet,

1
@Rocket: gli offset di taglio hanno una larghezza di banda molto bassa, quindi un PWM filtrato passa-basso funziona bene per loro. Ciò non richiede molte parti extra perché di solito si desidera spostare e attenuare l'intera gamma di uscita per una regolazione del trim comunque.
Olin Lathrop,

1
Non sono sicuro di quanto siano rappresentativi di altri produttori di µc, ma circa il 10% dei PIC µc ha D / A integrati, credo che siano tutti a 10 bit. 16 PIC (principalmente nelle famiglie PIC24 e dsPIC33 ma un paio di PIC16) hanno due D / A.
Tcrosley,

12

I DAC sono relativamente costosi nell'area del silicio. Molte meno applicazioni richiedono un output analogico rispetto all'input e la funzionalità DAC necessaria per una grande proporzione di applicazioni può essere ottenuta in modo più economico utilizzando PWM e una piccola quantità di filtri esterni.


6

Altre due questioni, non ancora menzionate:

  • Ci sono molti casi in cui una parte dovrà essere in grado di misurare le tensioni su molti pin, ma non contemporaneamente. A tale scopo è possibile utilizzare un singolo ADC insieme a un pass-gate per pin. Al contrario, la maggior parte delle parti che avrebbero bisogno di più uscite DAC ne avrebbero bisogno contemporaneamente.

  • I circuiti che interfacciano un ADC con il mondo esterno devono essere in grado di trasferire solo abbastanza corrente per caricare o scaricare qualsiasi capacità deliberata o parassita sui circuiti di ingresso dell'ADC. Non solo è una quantità piuttosto piccola di corrente, ma è essenzialmente indipendente dall'applicazione. L'area aggiuntiva necessaria per gestire i requisiti di gestione della corrente "nel peggiore dei casi" sarebbe trascurabile rispetto a quanto sarebbe necessario per qualcosa che potrebbe funzionare in circostanze favorevoli di applicazione. Al contrario, le diverse applicazioni DAC avranno requisiti di approvvigionamento o di affondamento attuali diversi e la quantità di area del chip richiesta per gestire tali requisiti varierebbe enormemente. Spendere il 20% della propria area chip su un paio di DAC che si adattano esattamente ai requisiti di un'applicazione sarebbe sensato,

Per inciso, una tecnica che non ho visto molto usata è quella di combinare un DAC con un PWM. Quando si utilizza un DAC R / 2R, è facile aggiungere un ulteriore input il cui peso è uguale a quello dell'LSB (quindi ad esempio un DAC a 3 + 1 input avrebbe pesi di 1/2, 1/4, 1/8 e 1/8). Prendere un DAC a 8 bit e aggiungere un segnale PWM ad esso può produrre un risultato a 12 bit con 1/128 del rumore di un PWM a 12 bit, ma a un costo inferiore rispetto all'utilizzo di un DAC a 12 bit di linearità comparabile.


1

Come ha detto Olin, alcuni MCU hanno DAC. Dai un'occhiata a Cypress PSoC3 e PSoC5. Contengono fino a due DAC. Questi possono essere estremamente utili nelle applicazioni di rilevamento analogico che richiedono una tensione di trim prima dell'amplificazione.

Ad esempio, ne abbiamo usato uno per misurare le uscite dei sensori di pressione. Ogni chip del sensore di pressione ha un offset di tensione casuale. Quando la MCU si reimposta, imposta la tensione DAC su appena meno dell'uscita del sensore. Amplifica quindi la differenza tra queste tensioni.

È bello poter avere ADC, DAC, Opamps e MCU in un unico chip.


1
Informazioni sull'utilizzo del DAC con sensore di pressione, in cui è stata applicata la tensione di offset. Certo, non conosco i dettagli dei tuoi circuiti. Ma non sarebbe più facile registrare l'offset nella memoria degli Stati Uniti e applicare la correzione digitale nel firmware?
Nick Alexeev

@NickAlexeevit potrebbe non essere la cosa migliore, dal momento che in questo modo stai sprecando una frazione della gamma dell'ADC, riducendo la precisione.
clabacchio

Esattamente. Se si desidera applicare l'amplificazione (x50), è necessario disporre della tensione differenziale più bassa a pressione zero.
Rocketmagnet,

0

Rivisitando questo nel 2017, ora ci sono un certo numero di famiglie di microcontrollori che includono DAC (oltre ai PSOC Cypress e PIC elencati sopra):

  • Analog Devices ADuC70xx
  • Atmel AVR XMEGA (alcune parti)
  • Infineon XMC4100 / XMC4200
  • Serie NXP Kinetis, altre
  • Renesas H8, R8, altri
  • Silicon Labs
  • STMicroelectronics alcune serie STM32
  • TI, alcuni della serie MSP430, anche alcuni della serie C2000
  • Zilog (con processore Z8)

Ricerca su Digikey Indice prodotti> Circuiti integrati (CI)> Incorporato - I microcontrollori fornisce un elenco, con una delle colonne etichettata "Convertitori di dati"

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.