Um aprofundamento no sono profundo (Deep Sleep)

Como funciona o deep sleep (sono profundo)? Um sinal de relógio é usado para solicitar que um microprocessador processe tarefas. Sem esse relógio, o microprocessador paralisa e deixa de consumir energia quase completamente. No entanto, o processador requer um sinal de relógio para iniciar uma requisição para despertar. Para evitar que o relógio pare completamente (o que nos impediria de ativar o dispositivo final novamente), precisamos de uma solução alternativa.

Processos de deep sleep (sono profundo)

A estrutura do sinal de clock em um microprocessador começa no oscilador. O sinal de clock do oscilador é passado para o clock global (GCLK), que fornece o sinal de clock para o núcleo da CPU, gerenciador de energia e periféricos.

Por que um relógio é tão importante para o uso de energia? A resposta está no consumo de energia do próprio relógio, bem como no consumo de energia que ocorre por causa do relógio. Os clocks são geralmente classificados em um consumo de corrente por MHz. O consumo de corrente tem uma correlação linear com a frequência do relógio. Um relógio requer 24 vezes mais energia quando funciona em 48 MHz do que quando funciona em 2 MHz. Para iniciar a suspensão, o relógio opera na frequência mais baixa possível (geralmente um relógio 32.768 kHz projetado para baixo consumo de energia em vez de alta precisão). Isso significa que o processador fica parado, com o controlador de interrupção monitorando o sinal de clock e as interrupções. Assim, o microprocessador desliga quase totalmente e entra em sono profundo. No entanto, em alguns casos, um sono mais leve pode ser iniciado quando um relógio de frequência mais alta é mantido ativo (1MHz , por exemplo).

Depois que o dispositivo está dormindo, ele deve ser capaz de acordar novamente; caso contrário, não faz sentido colocá-lo para dormir em primeiro lugar. A ativação do processador geralmente depende do modo de sono do dispositivo final. Em quase todos os cenários, ativar o processador no dispositivo final requer uma interrupção. Isso pode ser qualquer interrupção em um pino físico, por exemplo, um botão sendo pressionado ou uma interrupção gerada por um periférico interno (como um temporizador que dispara em um intervalo predefinido).


Last modified: Tuesday, August 30, 2022, 12:52 AM