AVR: overclocking ADC

8

Ceci est une citation de la fiche technique ATmega32 :

By default, the successive approximation circuitry requires an input clock frequency between
50kHz and 200kHz to get maximum resolution. If a lower resolution than 10 bits is needed, the
input clock frequency to the ADC can be higher than 200kHz to get a higher sample rate.

Je prévois d'utiliser 8 bits d'ADC. La question est: à quelle fréquence supérieure à 200 kHz puis-je aller? Je n'ai trouvé aucune information à ce sujet dans la fiche technique. Est-il possible d'utiliser un prédéfinisseur de 64 ou 32 et donc d'exécuter l'ADC à 250 kHz ou 500 kHz respectivement sans erreurs de conversion lorsque l'UC fonctionne à 16 MHz? Et quelles sont les conséquences possibles de l'exécution d'ADC hors spécifications?

Ashton H.
la source

Réponses:

12

La fréquence maximale de l'ADC est spécifiée à 1 MHz.

Le problème réel n'est pas exactement l'ADC lui-même, mais le dispositif d'échantillonnage et de maintien, qui dans les 2 premières horloges de l'ADC doit obtenir un échantillon de la tension d'entrée.

Lorsque ces 2 horloges sont deux courtes, le condensateur de stockage du S / H n'est pas en mesure de suivre le signal d'entrée avec une précision suffisante.

BTW, c'est pourquoi il y a aussi une fréquence minimale. Dans ce cas, le temps de conversion énorme permet au condensateur de stockage de se décharger pendant la conversion.

Sur une horloge de 1 MHz, vous obtiendrez un temps de conversion de 13us ou environ 77 kps. Sur une horloge à 200 kHz - 15 kps.

johnfound
la source
bonne réponse mec +1. Je me demande si le S&H interne peut rester libre et utiliser le S&H externe beaucoup plus rapidement?
Andy aka
1
@Andyaka - probablement pas. Le S / H interne est contrôlé uniquement par le matériel. Peut-être qu'un piratage est possible en changeant le diviseur de fréquence pendant la conversion - le make est lent pour les 2 premières horloges puis plus haut ... Mais il faut vérifier le manuel est-il possible du tout puis faire une expérience.
johnfound
Merci pour la réponse. Donc, fondamentalement, il est sûr d'aller jusqu'à 1 MHz lorsque vous utilisez 8 bits d'ADC?
Ashton H.
@AshtonHearts - Oui, je pense que oui. Pourquoi ne pas faire quelques tests? Ce n'est qu'une question de programme.
johnfound
2
@AshtonHearts - ce n'est pas l'overclocking. Il s'agit d'un comportement documenté. Vous obtiendrez seulement une précision inférieure.
johnfound