Самый простой способ снизить энергопотребление в системе — отключить все периферийные устройства. При отключении ядер процессора или логических схем базовый ток, или ток покоя, снижается до нуля за пределами системного контроллера питания. Такой тип энергосбережения можно реализовать автоматически с помощью набора GPIO, которые могут использоваться во встраиваемом приложении.
Хотя это может показаться очень простой для реализации функцией, итоговая схема и влияние на кодовую базу устройства могут оказаться не такими уж простыми. Чаще всего мы полагаемся на функции пробуждения и сна в конкретных устройствах, которые, как известно, являются основными потребителями энергии, например в крупных микроконтроллерах или FPGA. В частности, для микроконтроллеров такие функции стали более распространенными и, безусловно, полезны для отключения встраиваемой системы.
Однако для набора ASIC функция пробуждения и сна редко бывает встроена в устройство, и часто существуют другие периферийные узлы, которые нельзя было бы отключить, даже если бы такая возможность была встроена в ваши ASIC. В этом случае вам уже приходится добавлять сложный микроконтроллер, таймер и схему сброса для управления системой. Вместо этого рассмотрите этот пример применения GreenPAK, который позволяет реализовать функциональность таймера пробуждения/сна и запускать ее на основе любого набора логических условий.
Таймеры пробуждения/сна, независимо от того, реализованы ли они как часть интегральной схемы или специально спроектированы на PCB, выполняют две основные функции:
Это кажется достаточно простым, пока вы не начнете подсчитывать список необходимых схем: секвенсор отключения питания, секвенсор включения питания, таймеры задержки, цифровой или аналоговый входной каскад для обнаружения сигнала пробуждения и периферийные узлы, которые можно отключать переключением логического сигнала. Это показано на блок-схеме ниже.
Базовая блок-схема таймера пробуждения/сна включает входной каскад обнаружения, который фиксирует сигнал пробуждения, блок таймера, отсчитывающий активный период, секвенсор, управляющий порядком включения и отключения питания периферийных устройств, а также выходные драйверы, которые устанавливают сигналы enable или reset на последующих устройствах. Входной каскад передает сигнал в таймер, который по истечении времени запускает секвенсор отключения; при получении нового события пробуждения секвенсор запуска снова включает периферийные устройства в правильном порядке.
В полностью цифровой области сигнал пробуждения фактически представляет собой один бит (или набор битов) с требуемым логическим уровнем, который активирует вход(ы) во входной логической схеме цепи пробуждения/сна. Для аналогового сигнала пробуждения необходим некоторый входной каскад, специально спроектированный для рассматриваемого сигнала, который по сути выполняет измерение сигнала (амплитуды, фазы, частоты и т. д.), чтобы определить, выполнено ли условие пробуждения.
Сигналы пробуждения могут поступать практически от любого типа источника, если входной каскад в таймере пробуждения/сна спроектирован для его поддержки. Это открывает возможность для смешанных интерфейсов, где цифровые и аналоговые входы используются для формирования условий срабатывания таймера пробуждения/сна.
В общем случае ответ на этот вопрос — да, но это добавляет сложности в стандартную схему таймера пробуждения/сна. Обычно таймер пробуждения/сна работает с одним цифровым входом или с одним аналоговым входом, который превысил порог, определяемый с помощью компаратора. Например, это может быть выходной индикаторный сигнал от сенсорного устройства или кнопки, либо выход датчика, превышающий некоторый уровень напряжения. В целом несколько сигналов можно объединить в единый входной интерфейс как часть условия пробуждения для этой схемы.
Однако для этого требуется дополнительный блок логической обработки на входе таймера пробуждения/сна. Самое простое решение реализуется на логических элементах, а любой аналоговый входной сигнал можно оцифровать с помощью компаратора. Можно было бы рассмотреть использование микроконтроллера для этой задачи, но это противоречит самой цели таймера пробуждения/сна, которая обычно заключается в отключении периферийных устройств и цифровых процессоров.
Программируемая смешанная сигнальная ИС Renesas GreenPAK хорошо подходит для реализации таймера пробуждения/сна, поскольку объединяет аналоговые компараторы, логические элементы, счетчики, блоки задержки и конфигурируемый ввод/вывод в одном устройстве. Полностью настраиваемый смешанный интерфейс может служить входным каскадом для таймера пробуждения/сна, одновременно принимая как цифровые, так и аналоговые входные сигналы.
Например, аналоговый компаратор внутри GreenPAK может контролировать напряжение датчика, в то время как отдельный цифровой вход отслеживает событие логического уровня от периферийного устройства; эти сигналы подаются на конфигурируемую логику, которая оценивает комбинированное условие пробуждения. После выполнения критериев пробуждения внутренние счетчики и блоки задержки управляют последовательностью включения и отключения внешних линий питания или линий сброса.
Инструменты разработки Go Configure дают проектировщикам возможность создавать полностью настраиваемые таймеры пробуждения/сна, которые могут использовать смешанные сигналы и даже последовательный интерфейс как часть функции пробуждения. Эти программируемые процессоры смешанных сигналов позволяют создавать более компактные и эффективные системы.
Чтобы узнать больше, ознакомьтесь с компонентами GreenPAK и справочными примерами.
Если вам нужно создавать надежную силовую электронику или современные цифровые системы, используйте полный набор функций проектирования PCB и CAD-инструменты мирового класса, предлагаемые Altium, для реализации ваших решений на базе GreenPAK. Altium предоставляет ведущую в мире платформу для разработки электронных изделий, включающую лучшие в отрасли инструменты проектирования PCB и средства междисциплинарного взаимодействия для передовых команд разработчиков. Свяжитесь со специалистом Altium уже сегодня!