01 - Botão de Energia e Fonte de Alimentação
video: https://youtu.be/... no frontmatter da nota.1. A Física do Botão de Energia: Do Sinal Analógico ao Chaveamento Digital
O ciclo de vida operacional de um sistema computacional rodando Linux não se inicia com lógica binária, mas sim com fenômenos eletromecânicos e transições de potencial elétrico. O botão de energia de um computador moderno (padrão ATX ou superior) não funciona como um interruptor residencial clássico do tipo "liga/desliga", o qual fisicamente retém ou interrompe o fluxo de corrente principal de forma contínua. Em vez disso, o botão de energia é um interruptor de contato momentâneo (normalmente aberto).
Quando o usuário pressiona o botão, ocorre o fechamento mecânico temporário de um circuito de sinal de baixa tensão (geralmente $+3.3\text{V}$ ou $+5\text{V}$ Standby), conectando-o momentaneamente ao aterramento físico (GND ou Ground). Essa ação força uma transição de nível lógico: o sinal passa de High (Alto - 1) para Low (Baixo - 0). Este evento é conhecido tecnicamente como uma queda de borda (falling edge).
Sinal Elétrico no Pino PWR_SW:
+5V/3.3V (Standby) -------\ /------- (Estado Estável)
\ /
0V (GND) \_________/ <-- Clique do Botão (Contato Momentâneo)
Este sinal elétrico é roteado diretamente através do conector do painel frontal da placa-mãe para um circuito integrado especializado de gerenciamento de energia de baixo nível, tipicamente o chip Super I/O (Super Input/Output) ou o PCH (Platform Controller Hub). Este componente atua como uma sentinela que permanece alimentada ininterruptamente, mesmo quando o computador encontra-se desligado.
O chip lógico monitora o pino de entrada associado ao botão (frequentemente rotulado como PWR_SW ou Power Button). Para mitigar o ruído elétrico analógico gerado pelo atrito físico dos contatos metálicos do interruptor — fenômeno conhecido como bouncing —, o hardware do Super I/O aplica um circuito de filtragem ou um algoritmo de debouncing em nível de silício. Se o sinal lógico permanecer em nível baixo por um limiar de tempo qualificado (geralmente entre 16 a 64 milissegundos), o circuito o reconhece como uma requisição válida de inicialização do sistema.
2. A Fonte de Alimentação (PSU) e os Estados de Energia ACPI
A Fonte de Alimentação (PSU - Power Supply Unit) é um sistema de conversão de energia chaveada que transforma a corrente alternada (AC) da rede elétrica externa em múltiplas linhas de corrente contínua (DC) estáveis, necessárias para a operação dos semicondutores.
O Papel Fundamental da Linha Standby (+5VSB)
Antes de qualquer acionamento do botão de energia, desde o momento em que a PSU é conectada à tomada elétrica e sua chave física traseira é ligada, ela estabelece uma linha de alimentação independente de corrente contínua chamada +5VSB (+5V Standby). Esta linha provê uma corrente contínua de $+5\text{V}$ constante para componentes críticos da placa-mãe. É essa energia residual que mantém ativos:
-
O chip Super I/O / PCH para escutar o botão de energia.
-
A interface de rede integrada para responder a pacotes mágicos de Wake-on-LAN (WoL).
-
Os controladores controladores de gerenciamento de base (BMC - Baseboard Management Controllers) em servidores corporativos.
Mapeamento de Estados Globais de Energia (ACPI)
A interação entre o hardware da fonte de alimentação e a lógica do sistema é padronizada pela especificação ACPI (Advanced Configuration and Power Interface). O acionamento do botão de energia dispara transições entre os seguintes estados lógicos formais:
| Estado ACPI | Nome Técnico | Descrição Operacional do Hardware |
|---|---|---|
| G3 | Mechanical Off | Desligamento mecânico total. A fonte está sem energia externa ou a chave traseira está desligada. Corrente zero. |
| G2 / S5 | Soft Off | Desligamento por software. O sistema operacional Linux encerrou todas as atividades. Apenas a linha +5VSB está ativa. |
| S4 | Hibernation | Estado de hibernação (Suspend-to-Disk). O estado do Linux é salvo no disco (swap). O hardware assume um estado eletricamente idêntico ao S5. |
| S3 | Standby / Sleep | Estado de suspensão (Suspend-to-RAM). A CPU e a maioria dos periféricos perdem energia, mas os módulos de memória RAM permanecem energizados em modo de autorefresh. |
| S0 | Working | Estado operacional total. Todas as linhas de tensão da PSU estão ativas, reguladas e a CPU executa instruções nativas. |
3. O Protocolo de Inicialização Elétrica: PS_ON# e as Linhas de Tensão
Assim que o chip Super I/O valida a intenção de boot decorrente do pressionamento do botão de energia no estado S5, ele inicia o protocolo de inicialização elétrica da PSU. Este protocolo ocorre em nível estritamente de hardware por meio do conector principal da placa-mãe (padrão ATX de 24 pinos).
Ativação do Sinal PS_ON#
O chip Super I/O altera o estado de um pino de controle específico direcionado à fonte de alimentação, denominado PS_ON# (Power Supply On, onde o caractere # denota lógica invertida ou ativa em nível baixo). Em modo Standby (S5), a PSU mantém a linha PS_ON# em nível lógico alto ($+5\text{V}$). Para ligar a fonte principal, o Super I/O aterra este pino (0V).
Ao detectar o aterramento de PS_ON#, os circuitos internos de chaveamento de alta frequência da PSU despertam de seu estado de repouso. A fonte começa a converter e bombear corrente elétrica através de seus barramentos principais de saída:
-
Linha de $+12\text{V}$: Alimenta os reguladores de tensão da CPU (VRMs), slots PCIe de alta potência, motores de discos rígidos e ventoinhas.
-
Linha de $+5\text{V}$: Alimenta circuitos lógicos integrados, portas USB e dispositivos de armazenamento de 2.5 polegadas.
-
Linha de $+3.3\text{V}$: Destinada a chips de memória RAM, sinalização de barramentos na placa-mãe e dispositivos M.2 NVMe.
4. O Sinal de Estabilização: Power Good (PWR_OK)
A eletrônica de transistores de efeito de campo (MOSFETs) presentes na CPU e nas pontes lógicas exige tensões elétricas extremamente precisas para operar de forma determinística. Durante os primeiros milissegundos após o acionamento de PS_ON#, as tensões elétricas das linhas de $+12\text{V}$, $+5\text{V}$ e $+3.3\text{V}$ sofrem oscilações severas e transientes de subida antes de atingirem a estabilidade nominal estável.
Se a CPU tentasse ler código de boot ou executar instruções durante este período de flutuação, as portas lógicas computariam dados inválidos, resultando em corrupção catastrófica de memória e comportamento indefinido do processador (glitching).
Para mitigar este problema, a PSU contém um circuito interno de monitoramento de tensão. Esse circuito analisa continuamente a qualidade e a amplitude de todas as linhas de energia de saída. Somente quando todas as tensões operacionais se estabilizam dentro das tolerâncias especificadas de design (geralmente $\pm5\%$), a fonte de alimentação gera um sinal digital dedicado de validação chamado Power Good (também conhecido como PWR_OK ou Power OK).
O sinal Power Good é injetado no pino 8 do conector ATX de 24 pinos e enviado de volta à placa-mãe. Este sinal consiste em uma tensão de $+5\text{V}$ constante. O protocolo dita que o sinal Power Good deve ser emitido entre 100 e 500 milissegundos após a linha PS_ON# ser aterrada. Se o sinal sofrer uma queda repentina abaixo do limite operacional de segurança, o circuito receptor força o desligamento imediato do hardware para proteção dos dados e chips.
5. A Desativação do Reset da CPU e o Início da Execução do Código
A placa-mãe mantém o pino de reinicialização física da CPU (RESET#) fixado em nível lógico baixo (0V) durante todo o processo de estabilização elétrica descrito anteriormente. Enquanto o pino RESET# permanecer ativo em nível baixo, a CPU fica em um estado de congelamento absoluto de hardware. Seus registradores internos não mudam de estado, seu ponteiro de instrução não avança e ela é incapaz de buscar instruções na memória ROM ou RAM.
O fluxo de liberação do processador obedece estritamente à seguinte cadeia cronológica de eventos de baixo nível:
-
O chip Super I/O / PCH recebe o sinal estável de $+5\text{V}$ do pino
Power Goodvindo da fonte de alimentação. -
O chipset da placa-mãe inicializa seus próprios geradores de clock internos e estabiliza a frequência de barramento do sistema (BCLK).
-
Após uma breve janela de atraso para garantir a estabilidade do clock da plataforma, o circuito lógico do chipset eleva o pino de controle
RESET#da CPU para nível lógico alto (desativando o reset do processador).
Com a desativação do reset elétrico, os circuitos lógicos internos da CPU sofrem uma transição síncrona conhecida como inicialização de registradores de fábrica (Hardware Initialization State). Como o processador opera nesse exato microssegundo na arquitetura x86 em Modo Real de 16 bits, o seletor de segmento de código (CS) e o ponteiro de instrução (IP) são forçados a carregar valores fixados em nível de hardware.
O endereço físico composto gerado aponta invariavelmente para o endereço de memória física 0xFFFFFFF0 (conhecido na ciência da computação como o Reset Vector). A partir deste instante de tempo, a CPU efetua sua primeira requisição de leitura de ciclo de barramento (Instruction Fetch). Esta requisição é mapeada pelo chipset para o circuito integrado da Flash ROM onde reside o código binário de firmware da máquina (BIOS ou UEFI). A física do hardware encerra sua exclusividade de atuação e o controle do computador passa a ser ditado pelo primeiro nível de software de baixo nível do sistema.