La plupart des microcontrôleurs (uC) ont un convertisseur analogique-numérique (ADC) dans leur ensemble périphérique, ce qui est phénoménal car il intègre deux composants dans un seul boîtier. Ces ADC sont généralement également mappés par registre, ce qui permet d'extraire les données rapidement et facilement.
Malgré cette intégration étroite, vous pouvez toujours acheter des ADC externes. Je peux voir plusieurs cas pour ceux-ci:
- L'ADC doit être isolé de l'UC.
- La profondeur de bits des échantillons ADC doit être supérieure à celle de l'ADC uC.
- La tension à détecter est loin du microcontrôleur et les longues lignes analogiques ne sont pas acceptables.
- La tension à détecter est dans un environnement hostile non adapté à l'UC.
- L'ADC externe échantillonne beaucoup plus rapidement que l'ADC de l'UC.
- La tension de référence pour certains échantillons est différente de celle d'autres, nécessitant plusieurs broches Vref (et donc plusieurs ADC externes).
- L'uC actuelle n'a pas assez de canaux ADC et le coût de mise en place d'un nouvel uC est prohibitif.
- L'ADC externe consomme moins d'énergie que l'ADC de l'UC (j'aurais besoin d'un exemple pour le croire).
- Les canaux ADC doivent être échantillonnés simultanément (scénario rare).
- Le coût de programmation du micrologiciel au moment de la fabrication l'emporte sur le coût de la partie ADC la plus chère (peu probable).
- Le PCB a une contrainte d'espace et aucun uC ne peut s'adapter (peu probable).
Tout cela est bien beau, mais ce qui me semble étrange, c'est que les ADC externes sont généralement un peu plus chers que leurs homologues uC, tout en offrant des fonctionnalités équivalentes. Par exemple, vous pouvez acheter une pièce EFM32Z avec un ADC 12 bits 1 Mps (avec référence interne) pour environ 1 $ , ou vous pouvez acheter un ADC équivalent 12 bits 200 kps pour environ 3,50 $ (mêmes vitesses (ish), mêmes numéros de puissance, etc.) et effectuer la même tâche (extraire les données ADC).
La question devient alors: y a-t-il des raisons impérieuses pour un ingénieur de préférer un ADC externe à l'ADC d'un uC lorsque ce dernier peut exécuter la même fonctionnalité?