Conversores Analógico-Digitais (ADC): Princípios e Aplicações

Classificado em Eletrônica

Escrito em em português com um tamanho de 23,21 KB

Microcontroladores, controles industriais, computadores e circuitos que processam dados obtidos de sensores operam exclusivamente com sinais digitais. Assim, se a saída de um sensor for um sinal analógico e for necessário transferir este sinal para um circuito digital, como o de um computador, será preciso convertê-lo.

Para converter um sinal da forma analógica para a forma digital, utiliza-se uma configuração denominada conversor analógico/digital, ADC ou simplesmente conversor A/D. Esses conversores são amplamente usados em placas de aquisição de dados e controle que fazem a interface entre computadores e dispositivos de medida. Em laboratórios, por exemplo, um conversor desse tipo pode ser usado em um sistema de aquisição de dados para converter as indicações de um sensor de temperatura para a forma digital que o computador possa processar, permitindo tomar decisões para ativar circuitos externos ou simplesmente armazenar as temperaturas em horários programados na memória (conforme sugere a Figura 1).

Para entender o funcionamento dos conversores analógicos/digitais, é fundamental compreender as diferenças entre os dois tipos de grandezas.

Sinais Analógicos e Sinais Digitais

Ao usar um sensor como um NTC (Negative Temperature Coefficient Resistor) para medir temperaturas, obtém-se um sinal analógico em sua saída, ou seja, uma tensão análoga a uma determinada temperatura. Neste sensor, conforme o gráfico da Figura 2, há uma correspondência direta entre a temperatura e a resistência apresentada.

Na faixa de uso do sensor, existe uma correspondência em uma faixa contínua de valores entre a resistência e a temperatura. Assim, para cada valor possível da temperatura, existe uma correspondência da resistência que o dispositivo apresenta. Não importa quão pequena seja a variação da temperatura a partir de um certo valor, haverá sempre uma variação correspondente da resistência.

Isso significa que, entre os dois extremos de temperatura em que este sensor pode ser usado, existem infinitos valores possíveis. Diz-se, nessas condições, que a faixa de cobertura deste tipo de sensor é contínua e que existe uma analogia entre a temperatura e a resistência.

Trata-se, portanto, de um sensor que fornece uma saída analógica.

Podemos converter esta saída de resistência em outras grandezas que também variam de maneira contínua, como pressão, nível de um reservatório, etc., ou em outras grandezas elétricas que variam continuamente, como tensão e corrente.

Podemos fazer com que a tensão varie de modo contínuo entre dois valores, dentro dos quais o sensor deve operar, conforme a Figura 3.

Evidentemente, nem sempre as coisas são tão simples: suponhamos que, em vez de converter a temperatura em resistência, desejemos indicá-la por uma escala de LEDs, conforme a Figura 4.

Se cada LED indicar um grau e tivermos 10 LEDs para medir temperaturas de 20 a 30 graus Celsius, é evidente que não podemos ter uma indicação de valores de temperatura que não sejam representados por números inteiros. O sistema não consegue indicar 22,4 ou 22,6 graus Celsius. Ou ele indica 22 ou 23.

Para ter maior precisão na indicação com este tipo de indicador, precisamos de mais LEDs. Com 20 LEDs, podemos ter a indicação de meio em meio grau na escala indicada. No entanto, o que fica claro é que, com este sistema, as indicações só podem ocorrer "aos saltos" e esses saltos têm valores bem definidos.

Diz-se que, neste caso, a indicação ocorre de forma discreta e os LEDs acesos podem ser associados a quantidades bem definidas ou dígitos. Assim, se usarmos uma representação digital na forma binária, podemos associar os 10 estados indicativos dos LEDs por uma escala, mostrada na Figura 5.

Como temos 10 estados possíveis para os LEDs, quatro bits são suficientes para representá-los todos. No entanto, se precisarmos de maior definição para as indicações, por exemplo, com 20 LEDs e indicação de meio em meio grau, precisaremos de pelo menos 5 bits.

Na prática, indicações que cobrem uma escala com poucos pontos não são interessantes, pois não significam boa precisão. Quanto mais pontos tiver a "escada" de indicações, melhor será a precisão na conversão da grandeza, por exemplo, a resistência de um sensor.

O circuito que realiza este tipo de conversão é um conversor A/D ou um conversor analógico digital. Um bargraph, como os usados em aparelhos de som, pode ser considerado um conversor A/D simplificado.

Quanto mais bits de saída um conversor A/D tiver, melhor ele será.

Um conversor A/D com saída de 4 bits tem 16 "degraus" de indicação, ou pode definir uma escala de 16 valores diferentes. Já um indicador de 8 bits de saída pode definir uma escala com 256 valores diferentes; um de 12 bits pode definir uma escala de 4096 pontos; e um de 16 bits pode definir uma escala de 65.536 pontos, conforme a Figura 6.

Veja que um conversor A/D que define 256 valores diferentes em uma escala de medidas tem uma precisão melhor que 0,4%, e com 4096 valores diferentes, a precisão é melhor que 0,024%.

Os conversores A/D existentes no mercado possuem justamente essas características.

Os Conversores na Prática

Evidentemente, a escala de LEDs não corresponde ao que se deseja na prática para um conversor. Para 10 LEDs, teremos uma saída para acionar cada um diretamente. No entanto, não podemos ter 4096 saídas em um conversor que trabalha com uma escala de 16 bits.

É melhor ter acesso direto aos bits e, com isso, dotar o circuito de 16 saídas. A Figura 7 mostra um exemplo de como isso pode ser feito.

O circuito conta com uma entrada onde aplicamos o sinal analógico, sendo especificada normalmente uma faixa de tensões para a conversão. Por exemplo, se o circuito converte sinais na faixa de 0 a 1 Volt, devemos garantir que o sensor usado (ou a fonte de informação analógica) trabalhe nesta faixa.

Um amplificador operacional pode ter seu ganho programado para realizar exatamente isso. As saídas consistem, então, em 16 pinos nos quais os níveis lógicos 0 ou 1 são obtidos conforme a tensão de entrada.

Para a maioria dos tipos de conversores A/D existentes no mercado, estas saídas são compatíveis com tecnologia TTL (nível alto com 5V e nível baixo com 0V), podendo ser conectadas diretamente à porta I/O de um computador (Figura 8), ou CMOS, onde os 5V de nível alto também podem ser usados sem problemas.

Basta apenas programar o computador para "ler" os valores da porta no instante desejado e fazer a conversão para a escala desejada. Por exemplo, se a faixa de entrada corresponde a temperaturas de 0 a 30 graus Celsius e, por sua vez, leva a tensões de 0 a 1 Volt na entrada do conversor, o conversor gerará na sua saída valores digitais entre 0 e 4096 (se for de 12 bits). O computador deve ser programado para dividir a escala de 0 a 30 graus Celsius em 4096 valores (cada unidade lida corresponderá a 0,00732 graus).

O valor 010010010010 (binário) lido na entrada I/O ou saída do conversor, que corresponde a 1070 (decimal), corresponde a uma temperatura de 8,5644 graus Celsius.

Quantização

Os valores instantâneos da tensão do sinal de entrada, obtidos na saída do circuito de amostragem e retenção, precisam ser convertidos para a forma digital. Este processo recebe o nome de "quantização".

Os DSPs (Processadores Digitais de Sinais) processam os sinais analógicos convertidos para a forma digital e fazem uso deste processo.

O que um DSP pode fazer com o sinal dependerá justamente da precisão com que a quantização é feita.

A representação dos valores instantâneos amostrados pelos circuitos anteriores depende do nível de quantização realizado, ou seja, quantos bits são usados para representar cada valor amostrado.

Assim, se usarmos 2 bits, teremos uma precisão menor do que se usarmos 4 bits para fazer a quantização, conforme a Figura A.

Comparando os níveis quantizados nos dois exemplos, percebemos facilmente os erros introduzidos no processo, conforme a Figura B.

Nos exemplos dados, os níveis de quantização foram muito baixos, aparecendo grandes erros. Na prática, os DSPs usam níveis de quantização de 10 ou 12 bits e até mais, obtendo-se com isso um erro desprezível.

Lembramos que esta é uma das desvantagens de operar com sinais na forma digital, pois sua representação só pode ser feita em "degraus" cuja altura determinará o grau de precisão. Quanto maior o número de degraus que pode ser usado, maior é a precisão no valor analógico que é representado na forma digital.

Na prática, quando o DSP trabalha com o processamento de voz, os efeitos dos erros na quantização são mais sensíveis, havendo modos de correção adotados para evitar isso, como o uso da compressão, que compensa os efeitos da largura constante dos passos usados na quantização, fazendo com que os sons mais altos de certas vogais e consoantes sejam trabalhados de forma mais real.

O Circuito Interno do Conversor A/D

Para realizar uma conversão A/D como na escala de LEDs, podemos ter circuitos relativamente simples. Uma simples escala de comparadores que tenham tensões de referência diferentes pode ser usada, conforme a Figura 9.

Cada vez que a tensão de entrada atinge o nível de disparo de um dos comparadores do conjunto, ele comuta, acionando o LED correspondente ou mudando o nível lógico de sua saída.

Este tipo é sequencial e tem um comportamento pouco interessante nas aplicações mais críticas: cada vez que um comparador comuta porque seu nível de acionamento é atingido, o anterior que estava comutado não volta ao estado inicial.

Com um circuito mais sofisticado, podemos obter esta comutação e, assim, passar de um sistema de barra móvel para ponto móvel, conforme a Figura 10.

Mas, para as aplicações que envolvem a aquisição de dados, este tipo de conversor não atende às necessidades mais críticas: precisamos converter os níveis em indicações em decimal codificado em binário, binário puro ou mesmo hexadecimal, para obter a maior definição possível e compatibilizar o circuito com a tecnologia digital mais comum. Isso pode ser feito com a ajuda de circuitos mais complexos, que, além dos comparadores, envolvem configurações lógicas e outros circuitos que facilitem seu uso.

Para entender melhor como funcionam estes circuitos, devemos começar pelo modo como a amostragem do sinal deve ser feita, que é um bloco comum a todos os conversores: o circuito de amostragem e retenção (sample and hold).

O Circuito de Captura e Retenção ou "Sample and Hold"

O valor dos sinais analógicos que devem ser convertidos para a forma digital corresponde a um determinado instante, cuja duração, em alguns casos, não ultrapassa alguns milionésimos de segundo.

Assim, um primeiro bloco importante do conversor é um circuito que lê o valor do sinal a ser convertido em um determinado instante e o armazena, de modo que, mesmo que o sinal varie depois, os circuitos que fazem a conversão tenham seu valor em uma memória. Esse circuito é mostrado em blocos na Figura 11.

O sinal a ser amostrado é amplificado por um buffer de entrada, cuja finalidade é não sobrecarregar o circuito externo e, ao mesmo tempo, proporcionar isolamento do circuito de conversão.

Na saída desse circuito, temos uma chave eletrônica ou chaveador que determina o instante exato em que a leitura do sinal deve ser feita. A chave fecha por uma fração de segundo (uma frequência que depende da velocidade de amostragem), permitindo que o sinal carregue o capacitor C.

Assim, quando a chave abre, esperando a próxima leitura, o capacitor tem armazenado o valor da grandeza analógica a ser convertida. Esta tensão no capacitor é mantida no circuito conversor através de um buffer de saída, durante o tempo que ele necessita para isso.

Na Figura 12, representamos um gráfico do modo como a tensão de entrada varia e o circuito de amostragem e retenção mantém a saída constante durante os intervalos de conversão (que correspondem aos "degraus").

a) Sistema de Conversão Simultânea

O sistema de conversão simultânea (o mais simples) tem a configuração mostrada na Figura 13.

Neste circuito, temos uma escala de 8 valores possíveis de saída, o que pode ser coberto por um sistema de 3 bits. Trata-se, portanto, de um conversor A/D de 3 bits. Os comparadores possuem em suas entradas de referência tensões escalonadas, que determinam o instante em que devem comutar. Assim, para 8 níveis de acionamento, temos 7 tensões escalonadas de 1/8 a 8/8 de Vcc, que é a máxima tensão que o circuito pode medir em sua entrada.

Evidentemente, este tipo de circuito é seriamente limitado pela quantidade de comparadores que podemos usar. Para um sistema de 16 bits, por exemplo, seriam necessários 4095 comparadores!

Voltando ao circuito, os níveis lógicos obtidos nas saídas dos comparadores são sequenciais, como vimos. Para obter uma saída codificada em binário, precisamos usar uma matriz codificadora.

Esta matriz pode ser elaborada nesta configuração mais simples a partir de inversores, portas AND e portas OR. Obtemos, com isso, em sua saída, sinais que correspondem aos 8 níveis de tensão possíveis:

  • 000
  • 001
  • 010
  • 011
  • 100
  • 101
  • 110
  • 111

Neste circuito, temos um sistema adicional de RESET e porta de leitura (READ). A porta de leitura é interessante, pois permite transferir os dados digitais ao circuito externo somente no instante desejado. Assim, podemos dar tempo ao circuito para se estabilizar, o que pode ser importante se usarmos sensores rápidos, impedindo que os valores oscilem rapidamente na saída, o que causaria uma interpretação errática pelo computador ou microprocessador ao qual está ligado.

Aplicando um pulso de curta duração nessa entrada (READ), lemos o valor digitalizado naquele instante. No circuito indicado, esse valor é armazenado em um registrador formado por um conjunto de flip-flops.

Assim, esse valor se fixa na entrada e pode manter acionado, por exemplo, um indicador. Para a próxima leitura, o valor armazenado no registrador precisa ser apagado antes de ser feita nova leitura. Isso é conseguido por meio de um pulso de RESET.

b) Circuito de Conversão Por Contador

Na Figura 14, temos um diagrama de blocos de um conversor que usa esta técnica.

Destaca-se neste circuito o comparador único que tem duas entradas. Em uma entrada é aplicado o sinal que vai ser medido (uma tensão dentro de uma determinada faixa de valores). Na outra entrada, aplicamos um sinal produzido por um gerador especial denominado "gerador de escada".

Este sinal consiste em uma tensão que sobe "aos saltos" com tantos degraus quantos necessários para a saída digital. Por exemplo, em um conversor de 8 bits, este sinal consiste em 256 "degraus" iguais de tensão.

Este sinal pode ser gerado facilmente por um oscilador de clock que aplica seu sinal a um contador ligado a uma rede R/2R, conforme a Figura 15.

Observamos que o clock deste circuito é habilitado pelo próprio circuito comparador. Assim, supondo que exista uma certa tensão na entrada e a conversão seja habilitada, o oscilador de clock entra imediatamente em funcionamento. Supondo que o contador esteja zerado, começa então a produção da "escada" de tensão que passa a ser aplicada ao comparador.

No instante exato em que a escada gera um degrau que se iguala à tensão de entrada, o comparador comuta. O resultado disso é a parada do clock e, portanto, da contagem. Neste instante, o contador terá registrado o número de degraus contados, ou seja, saberá em que valor binário ocorreu a comutação.

Basta então transferir este valor para o circuito externo, o que pode ser feito, da mesma forma que no processo anterior, através de um registrador. Para nova conversão, que pode ocorrer uma fração de segundo depois, ou no tempo necessário, basta resetar o contador e reabilitar o clock.

Conversor Digital / Analógico

No mundo moderno, os equipamentos eletrônicos são frequentemente utilizados em ramos de atividades tão diferentes como comunicação, transporte, entretenimento, etc. Daí que o Conversor Analógico Digital (CAD/ADC) e o Conversor Digital Analógico (CDA) sejam componentes importantes nos equipamentos eletrônicos. Uma vez que a maior parte dos sinais do mundo real são analógicos, estes dois interfaces conversores são necessários para permitir que os equipamentos eletrônicos digitais processem os sinais analógicos. Por exemplo, no processamento do som (Figura 1), o CAD converte o sinal analógico, obtido através de um equipamento de entrada de áudio, como o microfone, em um sinal digital que pode ser processado por um computador. O CDA, por sua vez, converte o sinal digital processado novamente em um sinal analógico, que pode ser reproduzido por um equipamento de saída de áudio, como o alto-falante.

Figura 1: Processamento do sinal áudio

O conversor CDA pode ser construído utilizando um Amplificador Somador e colocando em sua entrada um conjunto de resistências R, 2R, 4R e 8R (Figura 2). Os valores das resistências são escalonados para representar os pesos dos diferentes bits de entrada.

Figura 2: Um Amplificador Somador trabalhando como um conversor CAD simples

A resistência de valor mais baixo R corresponde à entrada binária de maior peso, Bit 3, Bit Mais Significativo (BMS/MSB) [$2^3 = 8$]. Sendo que 2R, 4R e 8R correspondem, respectivamente, aos pesos binários do Bit 2 ($2^2 = 4$), Bit 1 ($2^1 = 2$), e Bit 0 (LSB) [$2^0 = 1$]. A relação entre as entradas digitais (Bit 0 a Bit 3) e a saída analógica $V_{OUT}$ é dada por:

$$V_{OUT} = V_{ref} \left( \frac{B_3}{8} + \frac{B_2}{4} + \frac{B_1}{2} + \frac{B_0}{1} \right)$$

na qual $V_{ref}$ é a Tensão de Referência do circuito. Assumindo que o valor de $V_{ref}$ é de 5 V, as Tensões Analógicas de Saída correspondentes aos Códigos Digitais de Entrada são mostradas na Tabela 1.

Tabela 1: Correspondência entre os Códigos Digitais de Entrada e as Tensões Analógicas de Saída quando $V_{ref} = 5 \text{ V}$

Conversor Analógico / Digital

Em eletrônica, o Conversor Analógico / Digital (CAD/ADC) é um dispositivo que serve para converter um sinal analógico (corrente, tensão, etc.) em um código digital, normalmente binário. No mundo real, a maior parte dos sinais sentidos e processados pelos humanos são sinais analógicos. A conversão Analógico-Digital é um meio pelo qual o sinal analógico é convertido em sinal digital, que pode ser processado pelo computador para fins diversos (Figura 3).

Figura 3: Processamento do Sinal Áudio

Existem vários tipos de CAD para aplicações diferentes, e o mais barato entre eles é o CAD de Aproximação Sucessiva. A Figura 4 mostra a curva de transferência de um CAD de 4 bits. Num CAD de Aproximação Sucessiva, séries de código digital, cada um correspondente a um nível analógico fixo, são geradas por um contador interno, para comparar com o sinal analógico sujeito à conversão. O processo para quando o nível analógico se torna maior que o sinal analógico. O código digital correspondente a este nível analógico é a representação desejada do sinal analógico.

Figura 4: Curva de Transferência Ideal do CAD(ADC) de 4 bit

O desempenho dos conversores CAD e CDA depende da Resolução e da Velocidade.

A Resolução de um conversor é expressa pelo número de Bits. Para um CAD, a Resolução define o número de intervalos ou níveis que podem ser divididos para uma escala de entrada análoga. Um CAD de $n$ bits tem uma resolução de $1 / 2^n$. Por exemplo, a Resolução de um CAD de 16 bits é $1 / 65536$, uma vez que $2^{16} = 65536$. Se a escala de medição da tensão for 10 V, a escala da entrada pode ser resolvida com uma precisão de $10 \text{ V} / 65536 \approx 0,153 \text{ mV}$.

A Velocidade de um conversor é expressa pela sua Frequência de Amostragem, que é o número de vezes que o conversor amostra o sinal análogo, e sua unidade é o Hertz (Hz). No processamento do sinal áudio, as Frequências de Amostragem mais comuns são de 44 kHz, 22 kHz e 11 kHz. Usar uma Frequência de Amostragem de 44 kHz significa que o conversor amostra o sinal áudio analógico e converte esta amostra analógica em formato digital 44.000 vezes por segundo. Quanto maior a Frequência de Amostragem, menor é a distorção e melhor é a qualidade do som.

ADCs são usados virtualmente em todo lugar. Sempre que um sinal analógico precisa ser transportado, ele é processado e armazenado em forma digital. São sempre usados em conjunto com transdutores diferentes para converter a grandeza física ou medida, tais como temperatura, pressão, umidade, velocidade, vibração, som, imagem, etc., em sinal digital. Em seguida, o sinal é processado pelo microprocessador.

Voltímetro de 1 Dígito

Um Voltímetro é um instrumento de medição que mede a Tensão entre dois pontos em um circuito elétrico.

Esta demonstração é uma aplicação simples do CAD para medir o valor da entrada analógica. A Figura 4 é seu diagrama de blocos, que consiste em um CAD, um Gerador de Relógio, um Contador Binário de 4 bits, um Descodificador entre o DCB (BCD) e os 7 Segmentos, e um Mostrador DEL (LED) de 7 Segmentos.

Figura 1: Diagrama de Blocos do Voltímetro de 1 Dígito

O curso da operação é o seguinte:

  1. Inicialmente, a Tensão de Referência do DAC é menor do que a Entrada Analógica, consequentemente o Comparador produz um sinal que ativa o Gerador de Relógio.
  2. O Contador Binário recebe o Sinal do Relógio e o Código Binário aumenta de $(0000)_2$ para $(1111)_2$.
  3. O DAC converte este Código Binário de 4 bits em uma nova Tensão de Referência.
  4. Esta Tensão de Referência é comparada à Entrada Analógica. Se for menor que a Entrada Analógica, o ciclo acima mencionado continua. Se for maior do que a Entrada Analógica, o Comparador mudará sua saída e incapacitará o Gerador de Relógio. O Contador Binário para de aumentar, e a conversão entre a Entrada Analógica e um Código Binário é feita.
  5. Este Código Binário resultante faz com que o CAD produza uma tensão analógica que esteja o mais perto possível da entrada analógica, sem exceder este valor.
  6. Este Código Binário é alimentado ao Descodificador entre o DCB (BCD) e os 7 Segmentos, que conduz a um Mostrador DEL (LED) de 7 Segmentos para mostrar o valor decimal de 1 dígito.

Entradas relacionadas: