Alimentare un dispositivo tramite un pin GPIO è di solito una cattiva idea. Nel regime a bassissima potenza, forse potresti cavartela, ma non lo consiglierei a meno che tu non abbia vincoli molto severi.
Hai già notato che hai verificato che il requisito dell'ADC è inferiore alla capacità dell'unità del pin. Questo è in genere ciò che molte persone non si preoccupano di controllare. Se il consumo rientra nei limiti richiesti, è possibile che tu stia bene su quel punto. Tuttavia, assicurarsi che eventuali requisiti di corrente transitoria dall'ADC siano contenuti anche nella capacità dell'unità GPIO. Come minimo occorrerebbe un disaccoppiamento ragionevolmente pesante sulla fornitura di ADC. Ricorda che l'uscita GPIO non è una linea di alimentazione a bassa impedenza e sarà più lenta a rispondere ai requisiti di corrente transitoria.
In secondo luogo, dal momento che stai usando un ADC, e quindi un ADC che non è integrato in un uC (che sarebbe quello che dovresti fare per un consumo di energia molto basso), presumo che tu abbia alcuni requisiti che non sono t soddisfatto dall'ADC interno. Il GPIO, non essendo una linea di alimentazione e, cosa più importante, essendo un GPIO di un microcontrollore, sarà sicuramente contaminato da almeno la frequenza di clock dell'uC, le sue armoniche e forse la subarmonica. Dal momento che stai anche guidando un po 'di corrente sostanziale attraverso di essa, non sarei sorpreso se anche altri effetti fossero introdotti. Potresti persino vedere piccoli componenti del tuo SPI / I2C / cosa hai in dotazione, a seconda di quale GPIO usi e di quanto sia pesante il disaccoppiamento. Se la risoluzione ADC e le prestazioni del rumore sono importanti,
La FET high side è una scommessa molto migliore ed è più sicura. Si potrebbe anche prendere in considerazione l'utilizzo di un numero qualsiasi di circuiti integrati relativi all'alimentazione che dispongono del controllo Enable, come LDO e simili. Un LDO vicino alla fornitura ADC può anche aiutare a migliorare le prestazioni. Nota, tuttavia, che questo significa che il tuo ADC dovrà funzionare a una tensione leggermente inferiore. Ciò accadrà anche con un semplice interruttore a transistor e, con un basso FET Rdson, l'effetto sarà, certamente, molto più piccolo, ma esisterà.
Una cosa che dovresti notare è che collegare le linee digitali di un IC non alimentato ai GPIO di un uC alimentato non è una buona idea. Finirai per alimentare il tuo ADC attraverso i suoi IO digitali e causerai comportamenti strani e potenzialmente pericolosi. In particolare, sarei sorpreso se il tuo ADC non avesse risposto anche quando era OFF. Questo è in grado di causare un degrado a lungo termine e, in primo luogo, è un vantaggio per il risparmio energetico. Per farlo spegnere bene, dovresti usare un buffer di traduzione di livello per ogni linea digitale tra i due con la possibilità di disabilitare (tristare) le uscite. Questo può essere fatto usando un pin EN, forse, o usando un buffer con altri meccanismi per disabilitare (SN74LVC1T45 si interrompe se l'alimentazione su un lato viene tirata a terra, per esempio). L'utilità dello schema dipende dal consumo del buffer nello stato OFF, dal consumo nello stato ON e dal ciclo di lavoro (la frazione di tempo per cui si desidera attivarlo) e dal consumo ADC (900uA) che puoi salvare facendo questo. Se state molto attenti, potreste essere in grado di evitare la necessità dei buffer tristando gli I / O U che sono collegati all'ADC prima di spegnerlo e producendo quindi lo stesso effetto.