Питание устройства через вывод GPIO обычно плохая идея. В режиме очень низкой мощности, возможно, вам это сойдет с рук, но я бы не стал его рекомендовать, если у вас нет очень жестких ограничений.
Вы уже отметили, что проверили, что требования АЦП ниже, чем возможности привода на выводе. Это обычно то, что многие люди не проверяют. Если потребление находится в требуемых пределах, то вы можете быть в порядке на этот счет. Тем не менее, убедитесь, что любые требования к переходному току от АЦП также содержатся в возможностях привода GPIO. Вы, по крайней мере, потребовали бы достаточно тяжелой развязки от источника АЦП. Помните тот факт, что выход GPIO не является линией питания с низким импедансом, и будет медленнее реагировать на требования переходного тока.
Во-вторых, поскольку вы используете АЦП, и при этом АЦП, который не встроен в УЦ (что вам следует делать при очень низком энергопотреблении), я предполагаю, что у вас есть некоторые требования, которые не ' Т удовлетворены внутренним АЦП. GPIO, не являющийся линией питания и, что более важно, будучи GPIO микроконтроллера, будет определенно загрязнен по крайней мере тактовой частотой uC, его гармониками и, возможно, субгармониками. Поскольку вы также будете пропускать через него какой-то существенный ток, я не удивлюсь, если появятся и другие эффекты. Вы даже можете в конечном итоге увидеть небольшие компоненты вашего SPI / I2C / что у вас в запасе, в зависимости от того, какой GPIO вы используете и насколько тяжелым является разделение. Если разрешение АЦП и шумовые характеристики важны,
FET на более высокой стороне намного лучше и безопаснее. Вы также можете рассмотреть возможность использования любого количества микросхем, связанных с питанием, которые имеют контроль включения, таких как LDO и тому подобное. LDO, близкий к источнику АЦП, также может помочь в улучшении производительности. Обратите внимание, что это означает, что ваш АЦП должен будет работать при несколько более низком напряжении. Это произойдет и с простым транзисторным переключателем, и с низким полевым транзистором Рдсона эффект, по общему признанию, будет намного меньше, но он будет существовать.
Одна вещь, на которую следует обратить внимание, это то, что подключение цифровых линий микросхемы без питания к GPIO с питанием от UC не очень хорошая идея. Вы в конечном итоге включите свой АЦП через его цифровые устройства ввода-вывода и вызовете странное и потенциально опасное поведение. В частности, я был бы удивлен, если бы ваш АЦП не отвечал, даже когда выключен. Это способно вызвать долгосрочное ухудшение и, в первую очередь, приводит к преимуществу энергосбережения. Для того, чтобы он хорошо отключился, вы должны использовать буфер преобразования уровня для каждой цифровой линии между двумя с возможностью отключения (тристат) выходов. Это может быть сделано либо с помощью контакта EN, возможно, либо с помощью буфера с другими механизмами для отключения (например, SN74LVC1T45 отключается, если источник питания на одной стороне тянется к земле). Полезность схемы зависит от потребления буфера в выключенном состоянии, потребления во включенном состоянии и рабочего цикла (доли времени, на которое вы хотите включить его), а также потребления АЦП (900 мкА), который Вы можете сэкономить, делая это. Если вы будете очень осторожны, вы сможете избежать необходимости в буферах, сделав трюк для ввода-вывода uC, которые подключены к АЦП, прежде чем отключать его, и, таким образом, производить примерно такой же эффект.