terça-feira, novembro 09, 2021

ADC (Conversor Analógico Digital) - Parte 7 - RP2040

Chegou a vez de falar do conversor analógico digital do RP2040, que é o microcontrolador usado na Raspberry Pi Pico.

Diagrama de Blocos do ADC do RP2040 (fonte: datasheet)


Especificações 

Os dados abaixo vem do datasheet, atenção para os detalhes no resto do texto:

  • Tipo: aproximação sucessiva
  • Resolução: 12 bits
  • Clock: 48MHz
  • Tempo de conversão: 2 microsegundos (500kS/s)
  • Referência: externa (na PiPico é usada a alimentação de 3,3V)
  • Entradas multiplexadas: 4 + sensor interno de temperatura (na PiPico apenas três das entradas estão disponíveis)
Disparo e término da conversão e leitura do resultado

O disparo da conversão é sempre feito por software. O ADC do RP2040 pode operar em um modo de conversão única ou em um modo de conversão contínua (free running). Independente do modo existe a opção de automaticamente chavear para outra entrada ao final da conversão.

O término da conversão pode ser detectado em um bit de registrador ou (opcionalmente) usando uma interrupção. O resultado da conversão é colocado em uma fila de quatro posições, pode-se configurar em qual nível de uso da fila será gerada a interrupção. Isto permite reduzir o overhead das interrupções, acumulando 1 a 4 leituras.

O ADC pode também ser usado em conjunto com o DMA. Neste caso os resultados serão transferidos automaticamente da fila para a memória.


Uma análise muito detalhada do ADC do RP2040 pode ser vista neste site. Um dos resultados dos testes foi detectar um problema de fabricação do RP2040 (componentes internos com erro menor de 1%) que prejudica a precisão do ADC.

Nenhum comentário: