Alimenter un appareil via une broche GPIO est généralement une mauvaise idée. Dans le régime de très faible puissance, vous pourriez peut-être vous en tirer, mais je ne le recommanderais pas à moins d'avoir des contraintes très sévères.
Vous avez déjà noté que vous avez vérifié que les exigences de l'ADC sont inférieures à la capacité d'entraînement de la broche. C'est généralement ce que beaucoup de gens ne prennent pas la peine de vérifier. Si la consommation se situe dans les limites requises, cela peut vous convenir. Cependant, assurez-vous que toutes les exigences de courant transitoire de l'ADC sont également contenues dans la capacité du lecteur GPIO. Vous auriez au moins besoin d'un découplage raisonnablement lourd sur l'alimentation ADC. N'oubliez pas que la sortie GPIO n'est pas une ligne d'alimentation à faible impédance et sera plus lente à répondre aux exigences de courant transitoire.
Deuxièmement, puisque vous utilisez un ADC, et à cela un ADC qui n'est pas intégré dans un uC (ce qui serait ce que vous devriez faire pour une très faible consommation d'énergie), je suppose que vous avez des exigences qui ne sont pas ' t satisfait par l'ADC interne. Le GPIO, n'étant pas une ligne d'alimentation, et plus important encore, étant un GPIO d'un microcontrôleur, sera très certainement contaminé par au moins la fréquence d'horloge de l'uC, ses harmoniques et peut-être des sous-harmoniques. Étant donné que vous allez également entraîner un courant important à travers elle, je ne serais pas surpris que d'autres effets soient également associés. Vous pouvez même finir par voir de petits composants de votre SPI / I2C / ce que vous avez dans la livraison, selon le GPIO que vous utilisez et la force du découplage. Si la résolution ADC et les performances de bruit sont importantes,
Le FET côté haut est une bien meilleure mise et est plus sûr. Vous pouvez également envisager d'utiliser n'importe quel nombre de circuits intégrés liés à l'alimentation qui ont un contrôle d'activation, tels que les LDO et similaires. Un LDO proche de l'alimentation ADC peut également aider à améliorer les performances. Notez cependant que cela signifie que votre ADC devra fonctionner à une tension légèrement inférieure. Cela se produira également avec un simple commutateur à transistor, et avec un FET Rdson faible, l'effet sera certes beaucoup plus faible, mais il existera.
Une chose que vous devez noter est que la connexion des lignes numériques d'un CI non alimenté aux GPIO d'un uC alimenté n'est pas une bonne idée. Vous finirez par alimenter votre ADC via ses E / S numériques et provoquerez un comportement étrange et potentiellement dangereux. Plus précisément, je serais surpris si votre ADC ne répondait pas même lorsqu'il est éteint. Ceci est capable de provoquer une dégradation à long terme et profite en premier lieu de l'économie d'énergie. Afin de bien le désactiver, vous devez utiliser un tampon de traduction de niveau pour chaque ligne numérique entre les deux avec la possibilité de désactiver (tristate) les sorties. Cela peut être fait en utilisant une broche EN, peut-être, ou en utilisant un tampon avec d'autres mécanismes pour désactiver (le SN74LVC1T45 tristate si l'alimentation d'un côté est tirée à la terre, par exemple). L'utilité du schéma dépend de la consommation du tampon dans son état OFF, de la consommation dans son état ON et du rapport cyclique (la fraction de temps pendant laquelle vous souhaitez l'activer) et de la consommation ADC (900uA) qui vous pouvez économiser en faisant cela. Si vous faites très attention, vous pourrez peut-être éviter d'avoir besoin des tampons en tristant les E / S uC qui sont connectées à l'ADC avant de le fermer, et produisant ainsi à peu près le même effet.